diff --git a/.eslintignore b/.eslintignore index e113dbfc54..68de49f031 100644 --- a/.eslintignore +++ b/.eslintignore @@ -3,4 +3,3 @@ dist/ types/ /test/restDocs/*.json /test/restDocs/results/ -/test/restDocs/snapshots/ diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 6c69e1546a..203d688f11 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -11,8 +11,5 @@ module.exports = { sourceType: 'module', project: './tsconfig.json', }, - env: { - mocha: true, - }, root: true, }; diff --git a/.mocharc.json b/.mocharc.json deleted file mode 100644 index 723cd285b5..0000000000 --- a/.mocharc.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/mocharc", - "extension": ["ts"], - "loader": "ts-node/esm", - "file": ["test/setup.ts"] -} diff --git a/.prettierignore b/.prettierignore index 0f1c2acbef..57a3c50644 100644 --- a/.prettierignore +++ b/.prettierignore @@ -4,4 +4,3 @@ /test/*cache.json /test/restDocs/*.json /test/restDocs/results/ -/test/restDocs/snapshots/ diff --git a/README.md b/README.md index efe6b1143c..cebbb266a2 100644 --- a/README.md +++ b/README.md @@ -118,8 +118,7 @@ GAPI_MAX_PARALLEL=3 npm run lint #### Unit (WIP) -Unit tests for this generator project are written with [Jasmine](https://jasmine.github.io/) and -[Mocha](https://mochajs.org/). They can be run via: +Unit tests for this generator project are written with [Jest](https://jestjs.io/). They can be run via: ```sh npm run test diff --git a/bin/cspell.ts b/bin/cspell.ts index 551887ca64..6acfe880b7 100644 --- a/bin/cspell.ts +++ b/bin/cspell.ts @@ -6,5 +6,5 @@ const files = (await sh.runSh('npx -y ls-ignore --paths')).stdout .filter(x => x.trim() !== '') .filter(x => !(x.startsWith('test/restDocs') && x.endsWith('.json'))) .filter(x => !x.startsWith('test/restDocs/results/')) - .filter(x => !x.startsWith('test/restDocs/snapshots/')); + .filter(x => !x.startsWith('test/restDocs/__snapshots__/')); await sh.runSh(`npx -y cspell ${files.join(' ')}`); diff --git a/jest.config.ts b/jest.config.ts new file mode 100644 index 0000000000..75ed563233 --- /dev/null +++ b/jest.config.ts @@ -0,0 +1,12 @@ +import {JestConfigWithTsJest} from 'ts-jest'; +import {defaultsESM} from 'ts-jest/presets'; + +const config: JestConfigWithTsJest = { + ...defaultsESM, + moduleNameMapper: { + '^(\\.{1,2}/.*)\\.js$': '$1', + }, + testRegex: '/test/.*(?=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", @@ -618,6 +629,11 @@ "node": ">=6.9.0" } }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", @@ -705,14 +721,6 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, "node_modules/@eslint/eslintrc/node_modules/ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", @@ -721,18 +729,6 @@ "node": ">= 4" } }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -788,14 +784,6 @@ "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -804,157 +792,269 @@ "node": ">=6" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "engines": { "node": ">=8" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.1.0.tgz", + "integrity": "sha512-yNoFMuAsXTP8OyweaMaIoa6Px6rJkbbG7HtgYKGP3CY7lE7ADRA0Fn5ad9O+KefKcaf6W9rywKpCWOw21WMsAw==", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "@jest/types": "^29.1.0", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.1.0", + "jest-util": "^29.1.0", + "slash": "^3.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "node_modules/@jest/core": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.1.1.tgz", + "integrity": "sha512-ppym+PLiuSmvU9ufXVb/8OtHUPcjW+bBlb8CLh6oMATgJtCE3fjDYrzJi5u1uX8q9jbmtQ7VADKJKIlp68zi3A==", "dependencies": { - "p-locate": "^4.1.0" + "@jest/console": "^29.1.0", + "@jest/reporters": "^29.1.0", + "@jest/test-result": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.0.0", + "jest-config": "^29.1.1", + "jest-haste-map": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.0", + "jest-resolve-dependencies": "^29.1.1", + "jest-runner": "^29.1.1", + "jest-runtime": "^29.1.1", + "jest-snapshot": "^29.1.0", + "jest-util": "^29.1.0", + "jest-validate": "^29.1.0", + "jest-watcher": "^29.1.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.1.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "node_modules/@jest/environment": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.1.tgz", + "integrity": "sha512-69WULhTD38UcjvLGRAnnwC5hDt35ZC91ZwnvWipNOAOSaQNT32uKYL/TVCT3tncB9L1D++LOmBbYhTYP4TLuuQ==", "dependencies": { - "p-try": "^2.0.0" + "@jest/fake-timers": "^29.1.1", + "@jest/types": "^29.1.0", + "@types/node": "*", + "jest-mock": "^29.1.1" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.1.0.tgz", + "integrity": "sha512-qWQttxE5rEwzvDW9G3f0o8chu1EKvIfsMQDeRlXMLCtsDS94ckcqEMNgbKKz0NYlZ45xrIoy+/pngt3ZFr/2zw==", + "dependencies": { + "expect": "^29.1.0", + "jest-snapshot": "^29.1.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "node_modules/@jest/expect-utils": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.0.tgz", + "integrity": "sha512-YcD5CF2beqfoB07WqejPzWq1/l+zT3SgGwcqqIaPPG1DHFn/ea8MWWXeqV3KKMhTaOM1rZjlYplj1GQxR0XxKA==", "dependencies": { - "p-limit": "^2.2.0" + "jest-get-type": "^29.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "node_modules/@jest/fake-timers": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.1.tgz", + "integrity": "sha512-5wTGObRfL/OjzEz0v2ShXlzeJFJw8mO6ByMBwmPLd6+vkdPcmIpCvASG/PR/g8DpchSIEeDXCxQADojHxuhX8g==", + "dependencies": { + "@jest/types": "^29.1.0", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^29.1.0", + "jest-mock": "^29.1.1", + "jest-util": "^29.1.0" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/@jest/globals": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.1.1.tgz", + "integrity": "sha512-yTiusxeEHjXwmo3guWlN31a1harU8zekLBMlZpOZ+84rfO3HDrkNZLTfd/YaHF8CrwlNCFpDGNSQCH8WkklH/Q==", + "dependencies": { + "@jest/environment": "^29.1.1", + "@jest/expect": "^29.1.0", + "@jest/types": "^29.1.0", + "jest-mock": "^29.1.1" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "node_modules/@jest/reporters": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.0.tgz", + "integrity": "sha512-szSjHjVuBQ7aZUdBzTicCoQAAQsQFLk+/PtMfO0RQxL5mQ1iw+PSKOpyvMZcA5T6bH9pIapue5U9UCrxfOtL3w==", "dependencies": { - "@jest/types": "^28.1.3", + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.1.0", + "@jest/test-result": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", + "@jridgewell/trace-mapping": "^0.3.15", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.1.0", + "jest-util": "^29.1.0", + "jest-worker": "^29.1.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@jest/expect-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz", - "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==", + "node_modules/@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", "dependencies": { - "jest-get-type": "^28.0.2" + "@sinclair/typebox": "^0.24.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "node_modules/@jest/source-map": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz", + "integrity": "sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==", "dependencies": { - "@sinclair/typebox": "^0.24.1" + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.0.tgz", + "integrity": "sha512-RMBhPlw1Qfc2bKSf3RFPCyFSN7cfWVSTxRD8JrnvqdqgaDgrq4aGJT1A/V2+5Vq9bqBd187FpaxGTQ4zLrt08g==", "dependencies": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/console": "^29.1.0", + "@jest/types": "^29.1.0", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.0.tgz", + "integrity": "sha512-1diQfwNhBAte+x3TmyfWloxT1C8GcPEPEZ4BZjmELBK2j3cdqi0DofoJUxBDDUBBnakbv8ce0B7CIzprsupPSA==", + "dependencies": { + "@jest/test-result": "^29.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/transform": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", - "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.1.0.tgz", + "integrity": "sha512-NI1zd62KgM0lW6rWMIZDx52dfTIDd+cnLQNahH0YhH7TVmQVigumJ6jszuhAzvKHGm55P2Fozcglb5sGMfFp3Q==", "dependencies": { "@babel/core": "^7.11.6", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", + "@jest/types": "^29.1.0", + "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", + "jest-haste-map": "^29.1.0", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.1.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", "write-file-atomic": "^4.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/transform/node_modules/write-file-atomic": { @@ -970,11 +1070,11 @@ } }, "node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.0.tgz", + "integrity": "sha512-lE30u3z4lbTOqf5D7fDdoco3Qd8H6F/t73nLOswU4x+7VhgDQMX5y007IMqrKjFHdnpslaYymVFhWX+ttXNARQ==", "dependencies": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -982,7 +1082,7 @@ "chalk": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jridgewell/gen-mapping": { @@ -1314,6 +1414,35 @@ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==" }, + "node_modules/@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, "node_modules/@types/babel__traverse": { "version": "7.18.1", "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.1.tgz", @@ -1327,11 +1456,6 @@ "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" }, - "node_modules/@types/chai": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz", - "integrity": "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==" - }, "node_modules/@types/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/@types/dedent/-/dedent-0.7.0.tgz", @@ -1384,6 +1508,15 @@ "@types/istanbul-lib-report": "*" } }, + "node_modules/@types/jest": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.0.tgz", + "integrity": "sha512-CqlKkMNaUhFSRvqVKniNhbcy9fc/Rj2cmFD5t8Jtu4HlHzSit27h7XKfP5kkxBeROQ8WAvQQmy93FIz9or8jKg==", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, "node_modules/@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", @@ -1399,11 +1532,6 @@ "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" }, - "node_modules/@types/mocha": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", - "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==" - }, "node_modules/@types/n-readlines": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@types/n-readlines/-/n-readlines-1.0.3.tgz", @@ -1428,9 +1556,9 @@ "integrity": "sha512-FwAQwMRbkhx0J6YELkwIpciVzCcgEqXEbIrIn3a2P5d3kGEHQ3wVhlN3YdVepYP+bZzCYO6OjmD4o9TGOZ40rA==" }, "node_modules/@types/prettier": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.0.tgz", - "integrity": "sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A==" + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==" }, "node_modules/@types/request": { "version": "2.48.8", @@ -1888,11 +2016,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" - }, "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", @@ -2065,9 +2188,12 @@ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } }, "node_modules/array-union": { "version": "2.1.0", @@ -2101,14 +2227,6 @@ "node": ">=0.8" } }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "engines": { - "node": "*" - } - }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -2208,6 +2326,26 @@ "node": ">=0.8.0" } }, + "node_modules/babel-jest": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.0.tgz", + "integrity": "sha512-0XiBgPRhMSng+ThuXz0M/WpOeml/q5S4BFIaDS5uQb+lCjOzd0OfYEN4hWte5fDy7SZ6rNmEi16UpWGurSg2nQ==", + "dependencies": { + "@jest/transform": "^29.1.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.0.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", @@ -2223,6 +2361,20 @@ "node": ">=8" } }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz", + "integrity": "sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg==", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", @@ -2245,6 +2397,21 @@ "@babel/core": "^7.0.0" } }, + "node_modules/babel-preset-jest": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz", + "integrity": "sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA==", + "dependencies": { + "babel-plugin-jest-hoist": "^29.0.2", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2282,14 +2449,6 @@ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -2320,11 +2479,6 @@ "node": ">=8" } }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - }, "node_modules/browserslist": { "version": "4.21.4", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", @@ -2352,6 +2506,17 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", @@ -2492,9 +2657,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001402", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001402.tgz", - "integrity": "sha512-Mx4MlhXO5NwuvXGgVb+hg65HZ+bhUYsz8QtDGDo2QmaJS2GBX47Xfi2koL86lc8K+l+htXeTEB/Aeqvezoo6Ew==", + "version": "1.0.30001409", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001409.tgz", + "integrity": "sha512-V0mnJ5dwarmhYv8/MzhJ//aW68UpvnQBXv8lJ2QUsvn2pHcmAuNtu8hQEDz37XnA1iE+lRR9CIfGWWpgJ5QedQ==", "funding": [ { "type": "opencollective", @@ -2511,23 +2676,6 @@ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, - "node_modules/chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -2543,6 +2691,14 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "engines": { + "node": ">=10" + } + }, "node_modules/chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", @@ -2556,40 +2712,6 @@ "inherits": "^2.0.1" } }, - "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", - "engines": { - "node": "*" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, "node_modules/chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", @@ -2603,6 +2725,11 @@ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==" }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" + }, "node_modules/cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -2632,6 +2759,15 @@ "wrap-ansi": "^6.2.0" } }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, "node_modules/code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -2841,17 +2977,6 @@ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" }, - "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=0.12" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -2876,6 +3001,14 @@ "node": ">=0.10.0" } }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", @@ -2918,6 +3051,14 @@ "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "engines": { + "node": ">=8" + } + }, "node_modules/diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", @@ -2927,11 +3068,11 @@ } }, "node_modules/diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", + "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==", "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/dir-glob": { @@ -3038,9 +3179,20 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.254", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.254.tgz", - "integrity": "sha512-Sh/7YsHqQYkA6ZHuHMy24e6TE4eX6KZVsZb9E/DvU1nQRIrH4BflO/4k+83tfdYvDl+MObvlqHPRICzEdC9c6Q==" + "version": "1.4.257", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.257.tgz", + "integrity": "sha512-C65sIwHqNnPC2ADMfse/jWTtmhZMII+x6ADI9gENzrOiI7BpxmfKFE84WkIEl5wEg+7+SfIkwChDlsd1Erju2A==" + }, + "node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -3407,14 +3559,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/eslint/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, "node_modules/eslint/node_modules/eslint-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", @@ -3453,18 +3597,6 @@ "node": ">= 4" } }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/eslint/node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -3580,19 +3712,27 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.0.tgz", + "integrity": "sha512-1NCfR0FEArn9Vq1KEjhPd1rggRLiWgo87gfMK4iKn6DcVzJBRMyDNX22hyND5KiSRPIPQ5KtsY6HLxsQ0MU86w==", "dependencies": { - "@jest/expect-utils": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3" + "@jest/expect-utils": "^29.1.0", + "jest-get-type": "^29.0.0", + "jest-matcher-utils": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-util": "^29.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/extend": { @@ -3676,9 +3816,9 @@ } }, "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dependencies": { "bser": "2.1.1" } @@ -3727,24 +3867,16 @@ "node": ">=8" } }, - "node_modules/find-package-json": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/find-package-json/-/find-package-json-1.2.0.tgz", - "integrity": "sha512-+SOGcLGYDJHtyqHd87ysBhmaeQ95oWspDKnMXBrnQ9Eq4OkLNqejgoaD8xVWu6GPa0B6roa6KinCMEMcVeqONw==" - }, "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dependencies": { - "locate-path": "^6.0.0", + "locate-path": "^5.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/find-yarn-workspace-root": { @@ -3755,14 +3887,6 @@ "micromatch": "^4.0.2" } }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "bin": { - "flat": "cli.js" - } - }, "node_modules/flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -3992,14 +4116,6 @@ "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", - "engines": { - "node": "*" - } - }, "node_modules/get-intrinsic": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", @@ -4303,14 +4419,6 @@ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "optional": true }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "bin": { - "he": "bin/he" - } - }, "node_modules/hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -4330,6 +4438,11 @@ "node": ">=14" } }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, "node_modules/http-cache-semantics": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", @@ -4422,6 +4535,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -4509,17 +4640,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", @@ -4617,6 +4737,14 @@ "node": ">=8" } }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "engines": { + "node": ">=6" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -4747,17 +4875,6 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -4834,215 +4951,652 @@ "semver": "bin/semver.js" } }, - "node_modules/jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=8" } }, - "node_modules/jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" } }, - "node_modules/jest-haste-map": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", - "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", + "node_modules/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", "dependencies": { - "@jest/types": "^28.1.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.1.1.tgz", + "integrity": "sha512-Doe41PZ8MvGLtOZIW2RIVu94wa7jm/N775BBloVXk/G/vV6VYnDCOxBwrqekEgrd3Pn/bv8b5UdB2x0pAoQpwQ==", + "dependencies": { + "@jest/core": "^29.1.1", + "@jest/types": "^29.1.0", + "import-local": "^3.0.2", + "jest-cli": "^29.1.1" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/jest-matcher-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", - "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", + "node_modules/jest-changed-files": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz", + "integrity": "sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "execa": "^5.0.0", + "p-limit": "^3.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "node_modules/jest-circus": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.1.tgz", + "integrity": "sha512-Ii+3JIeLF3z8j2E7fPSjPjXJLBdbAcZyfEiALRQ1Fk+FWTIfuEfZrZcjSaBdz/k/waoq+bPf9x/vBCXIAyLLEQ==", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", + "@jest/environment": "^29.1.1", + "@jest/expect": "^29.1.0", + "@jest/test-result": "^29.1.0", + "@jest/types": "^29.1.0", + "@types/node": "*", "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.1.0", + "jest-matcher-utils": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-runtime": "^29.1.1", + "jest-snapshot": "^29.1.0", + "jest-util": "^29.1.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.1.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-message-util/node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "node_modules/jest-cli": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.1.tgz", + "integrity": "sha512-nz/JNtqDFf49R2KgeZ9+6Zl1uxSuRsg/tICC+DHMh+bQ0co6QqBPWKg3FtW4534bs8/J2YqFC2Lct9DZR24z0Q==", "dependencies": { - "@babel/highlight": "^7.18.6" + "@jest/core": "^29.1.1", + "@jest/test-result": "^29.1.0", + "@jest/types": "^29.1.0", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.1.1", + "jest-util": "^29.1.0", + "jest-validate": "^29.1.0", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "jest-resolve": "*" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "peerDependenciesMeta": { - "jest-resolve": { + "node-notifier": { "optional": true } } }, - "node_modules/jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node_modules/jest-cli/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/jest-resolve": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", - "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", + "node_modules/jest-cli/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/jest-snapshot": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", - "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", + "node_modules/jest-cli/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-cli/node_modules/yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^28.1.3", - "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "natural-compare": "^1.4.0", - "pretty-format": "^28.1.3", - "semver": "^7.3.5" + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=12" + } + }, + "node_modules/jest-cli/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" } }, - "node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "node_modules/jest-config": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.1.1.tgz", + "integrity": "sha512-o2iZrQMOiF54zOw1kOcJGmfKzAW+V2ajZVWxbt+Ex+g0fVaTkk215BD/GFhrviuic+Xk7DpzUmdTT9c1QfsPqg==", "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.1.0", + "@jest/types": "^29.1.0", + "babel-jest": "^29.1.0", "chalk": "^4.0.0", "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "jest-circus": "^29.1.1", + "jest-environment-node": "^29.1.1", + "jest-get-type": "^29.0.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.0", + "jest-runner": "^29.1.1", + "jest-util": "^29.1.0", + "jest-validate": "^29.1.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.1.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/jest-validate": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", - "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", + "node_modules/jest-config/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dependencies": { - "@jest/types": "^28.1.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", - "leven": "^3.1.0", - "pretty-format": "^28.1.3" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "node_modules/jest-config/node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-diff": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.0.tgz", + "integrity": "sha512-ZJyWG30jpVHwxLs8xxR1so4tz6lFARNztnFlxssFpQdakaW0isSx9rAKs/6aQUKQDZ/DgSpY6HjUGLO9xkNdRw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.0.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz", + "integrity": "sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.1.0.tgz", + "integrity": "sha512-ELSZV/L4yjqKU2O0bnDTNHlizD4IRS9DX94iAB6QpiPIJsR453dJW7Ka7TXSmxQdc66HNNOhUcQ5utIeVCKGyA==", + "dependencies": { + "@jest/types": "^29.1.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.0.0", + "jest-util": "^29.1.0", + "pretty-format": "^29.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.1.tgz", + "integrity": "sha512-0nwTca4L2N8iM33A+JMfBdygR6B3N/bcPoLe1hEd9o87KLxDZwKGvpTGSfXpjtyqNQXiaL/3G+YOcSoeq/syPw==", + "dependencies": { + "@jest/environment": "^29.1.1", + "@jest/fake-timers": "^29.1.1", + "@jest/types": "^29.1.0", + "@types/node": "*", + "jest-mock": "^29.1.1", + "jest-util": "^29.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", + "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.0.tgz", + "integrity": "sha512-qn+QVZ6JHzzx6g8XrMrNNvvIWrgVT6FzOoxTP5hQ1vEu6r9use2gOb0sSeC3Xle7eaDLN4DdAazSKnWskK3B/g==", + "dependencies": { + "@jest/types": "^29.1.0", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.1.0", + "jest-worker": "^29.1.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.0.tgz", + "integrity": "sha512-7ZdlIA2UXBIzXBNadta7pohrrvbD/Jp5T55Ux2DE1BSGul4RglIPHt7cZ0V3ll+ppBC1pGaBiWPBfLcQ2dDc3Q==", + "dependencies": { + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.0.tgz", + "integrity": "sha512-pfthsLu27kZg+T1XTUGvox0r3gP3KtqdMPliVd/bs6iDrZ9Z6yJgLbw6zNc4DHtCcyzq9UW0jmszCX8DdFU/wA==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.1.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.0.tgz", + "integrity": "sha512-NzGXD9wgCxUy20sIvyOsSA/KzQmkmagOVGE5LnT2juWn+hB88gCQr8N/jpu34CXRIXmV7INwrQVVwhnh72pY5A==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.1.0", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.1.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/jest-mock": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.1.tgz", + "integrity": "sha512-vDe56JmImqt3j8pHcEIkahQbSCnBS49wda0spIl0bkrIM7VDZXjKaes6W28vKZye0atNAcFaj3dxXh0XWjBW4Q==", + "dependencies": { + "@jest/types": "^29.1.0", + "@types/node": "*", + "jest-util": "^29.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz", + "integrity": "sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.0.tgz", + "integrity": "sha512-0IETuMI58nbAWwCrtX1QQmenstlWOEdwNS5FXxpEMAs6S5tttFiEoXUwGTAiI152nqoWRUckAgt21FP4wqeZWA==", + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.1.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.1.0", + "jest-validate": "^29.1.0", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.1.tgz", + "integrity": "sha512-AMRTJyiK8caRXq3pa9i4oXX6yH+am5v0HwCUq1yk9lxI3ARihyT2OfEySJJo3ER7xpxf3b6isfp1sO6PQY3N0Q==", + "dependencies": { + "jest-regex-util": "^29.0.0", + "jest-snapshot": "^29.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.1.tgz", + "integrity": "sha512-HqazsMPXB62Zi2oJEl+Ta9aUWAaR4WdT7ow25pcS99PkOsWQoYH+yyaKbAHBUf8NOqPbZ8T4Q8gt8ZBFEJJdVQ==", + "dependencies": { + "@jest/console": "^29.1.0", + "@jest/environment": "^29.1.1", + "@jest/test-result": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.0.0", + "jest-environment-node": "^29.1.1", + "jest-haste-map": "^29.1.0", + "jest-leak-detector": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-resolve": "^29.1.0", + "jest-runtime": "^29.1.1", + "jest-util": "^29.1.0", + "jest-watcher": "^29.1.0", + "jest-worker": "^29.1.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.1.tgz", + "integrity": "sha512-DA2nW5GUAEFUOFztVqX6BOHbb1tUO1iDzlx+bOVdw870UIkv09u3P5nTfK3N+xtqy/fGlLsg7UCzhpEJnwKilg==", + "dependencies": { + "@jest/environment": "^29.1.1", + "@jest/fake-timers": "^29.1.1", + "@jest/globals": "^29.1.1", + "@jest/source-map": "^29.0.0", + "@jest/test-result": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-mock": "^29.1.1", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.0", + "jest-snapshot": "^29.1.0", + "jest-util": "^29.1.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.0.tgz", + "integrity": "sha512-nHZoA+hpbFlkyV8uLoLJQ/80DLi3c6a5zeELgfSZ5bZj+eljqULr79KBQakp5xyH3onezf4k+K+2/Blk5/1O+g==", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.1.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.1.0", + "jest-get-type": "^29.0.0", + "jest-haste-map": "^29.1.0", + "jest-matcher-utils": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-util": "^29.1.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.1.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.0.tgz", + "integrity": "sha512-5haD8egMAEAq/e8ritN2Gr1WjLYtXi4udAIZB22GnKlv/2MHkbCjcyjgDBmyezAMMeQKGfoaaDsWCmVlnHZ1WQ==", + "dependencies": { + "@jest/types": "^29.1.0", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.0.tgz", + "integrity": "sha512-EQKRweSxmIJelCdirpuVkeCS1rSNXJFtSGEeSRFwH39QGioy7qKRSY8XBB4qFiappbsvgHnH0V6Iq5ASs11knA==", + "dependencies": { + "@jest/types": "^29.1.0", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.0.0", + "leven": "^3.1.0", + "pretty-format": "^29.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-watcher": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.0.tgz", + "integrity": "sha512-JXw7+VpLSf+2yfXlux1/xR65fMn//0pmiXd6EtQWySS9233aA+eGS+8Y5o2imiJ25JBKdG8T45+s78CNQ71Fbg==", + "dependencies": { + "@jest/test-result": "^29.1.0", + "@jest/types": "^29.1.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^29.1.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.0.tgz", + "integrity": "sha512-yr7RFRAxI+vhL/cGB9B0FhD+QfaWh1qSxurx7gLP16dfmqhG8w75D/CQFU8ZetvhiQqLZh8X0C4rxwsZy6HITQ==", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-worker/node_modules/supports-color": { @@ -5065,11 +5619,12 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dependencies": { - "argparse": "^2.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" @@ -5204,6 +5759,14 @@ "graceful-fs": "^4.1.11" } }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -5244,17 +5807,14 @@ } }, "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dependencies": { - "p-locate": "^5.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/lodash": { @@ -5267,6 +5827,11 @@ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -5277,29 +5842,6 @@ "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", - "dependencies": { - "get-func-name": "^2.0.0" - } - }, "node_modules/lowercase-keys": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", @@ -5322,6 +5864,28 @@ "node": ">=10" } }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -5404,356 +5968,124 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", - "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mocha": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz", - "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==", - "dependencies": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" - }, - "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" - } - }, - "node_modules/mocha-chai-jest-snapshot": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/mocha-chai-jest-snapshot/-/mocha-chai-jest-snapshot-1.1.4.tgz", - "integrity": "sha512-ybwtS10P8BXDJQn9B3QyQA8Lxr/CcYxtuyWKk1PxD9vJorH8VL3edB7re4GcG9dRAdDPE/B0BsfwmCo6W43O7w==", - "dependencies": { - "@jest/test-result": "^28.1.1", - "chalk": "^4.1.2", - "find-package-json": "^1.2.0", - "jest-snapshot": "^28.1.1", - "jest-util": "^28.1.1", - "slash": "^3.0.0", - "yargs": "^17.5.1" - }, - "peerDependencies": { - "chai": "^4.3.6" - } - }, - "node_modules/mocha-chai-jest-snapshot/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/mocha-chai-jest-snapshot/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/mocha-chai-jest-snapshot/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/mocha-chai-jest-snapshot/node_modules/yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/mocha-chai-jest-snapshot/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/mocha/node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dependencies": { - "balanced-match": "^1.0.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" } }, - "node_modules/mocha/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" } }, - "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "brace-expansion": "^2.0.1" + "mime-db": "1.52.0" }, "engines": { - "node": ">=10" + "node": ">= 0.6" } }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } }, - "node_modules/mocha/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mocha/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "has-flag": "^4.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": "*" } }, - "node_modules/mocha/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">= 6" } }, - "node_modules/mocha/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "node_modules/minipass": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", + "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/mocha/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">= 8" } }, - "node_modules/mocha/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "engines": { - "node": ">=10" + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, "node_modules/ms": { @@ -5774,17 +6106,6 @@ "node": ">=6.x.x" } }, - "node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -6244,14 +6565,25 @@ } }, "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dependencies": { - "p-limit": "^3.0.2" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=10" + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -6532,14 +6864,6 @@ "node": ">=8" } }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "engines": { - "node": "*" - } - }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -6588,6 +6912,17 @@ "node": ">= 6" } }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -6622,17 +6957,16 @@ } }, "node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.0.tgz", + "integrity": "sha512-dZ21z0UjKVSiEkrPAt2nJnGfrtYMFBlNW4wTkJsIp9oB5A8SUQ8DuJ9EUgAvYyNfMeoGmKiDnpJvM489jkzdSQ==", "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/pretty-format/node_modules/ansi-styles": { @@ -6660,6 +6994,18 @@ "node": ">=0.4.0" } }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/propagate": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", @@ -6724,14 +7070,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, "node_modules/react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", @@ -6766,34 +7104,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/read-pkg-up/node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/read-pkg-up/node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -6805,31 +7120,6 @@ "validate-npm-package-license": "^3.0.1" } }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/read-pkg-up/node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -6933,17 +7223,6 @@ "node": ">= 6" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/redent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", @@ -7069,6 +7348,25 @@ "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -7226,14 +7524,6 @@ "node": ">=10" } }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -7298,6 +7588,11 @@ "url": "https://opencollective.com/sinon" } }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -7322,12 +7617,29 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/slide": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", - "integrity": "sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==", - "engines": { - "node": "*" + "node_modules/slide": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==", + "engines": { + "node": "*" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, "node_modules/spdx-correct": { @@ -7425,6 +7737,18 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -7540,6 +7864,18 @@ "node": ">=8" } }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -7628,6 +7964,21 @@ "node": ">=10" } }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -7711,6 +8062,56 @@ "node": ">=8" } }, + "node_modules/ts-jest": { + "version": "29.0.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz", + "integrity": "sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==", + "dependencies": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.1", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, "node_modules/ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", @@ -7806,14 +8207,6 @@ "node": ">=4" } }, - "node_modules/tslint/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, "node_modules/tslint/node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -7869,18 +8262,6 @@ "node": ">=4" } }, - "node_modules/tslint/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/tslint/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -8076,6 +8457,19 @@ "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" }, + "node_modules/v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -8182,11 +8576,6 @@ "node": ">=0.10.0" } }, - "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" - }, "node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -8255,39 +8644,6 @@ "node": ">=10" } }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs-unparser/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "engines": { - "node": ">=8" - } - }, "node_modules/yargs/node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -8296,54 +8652,6 @@ "node": ">=6" } }, - "node_modules/yargs/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/yargs/node_modules/yargs-parser": { "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", @@ -8673,6 +8981,14 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", @@ -8799,6 +9115,11 @@ "to-fast-properties": "^2.0.0" } }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, "@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", @@ -8881,28 +9202,11 @@ "strip-json-comments": "^3.1.1" }, "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -8945,61 +9249,11 @@ "resolve-from": "^5.0.0" }, "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -9013,61 +9267,193 @@ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" }, "@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.1.0.tgz", + "integrity": "sha512-yNoFMuAsXTP8OyweaMaIoa6Px6rJkbbG7HtgYKGP3CY7lE7ADRA0Fn5ad9O+KefKcaf6W9rywKpCWOw21WMsAw==", "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.1.0", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", + "jest-message-util": "^29.1.0", + "jest-util": "^29.1.0", "slash": "^3.0.0" } }, + "@jest/core": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.1.1.tgz", + "integrity": "sha512-ppym+PLiuSmvU9ufXVb/8OtHUPcjW+bBlb8CLh6oMATgJtCE3fjDYrzJi5u1uX8q9jbmtQ7VADKJKIlp68zi3A==", + "requires": { + "@jest/console": "^29.1.0", + "@jest/reporters": "^29.1.0", + "@jest/test-result": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.0.0", + "jest-config": "^29.1.1", + "jest-haste-map": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.0", + "jest-resolve-dependencies": "^29.1.1", + "jest-runner": "^29.1.1", + "jest-runtime": "^29.1.1", + "jest-snapshot": "^29.1.0", + "jest-util": "^29.1.0", + "jest-validate": "^29.1.0", + "jest-watcher": "^29.1.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.1.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/environment": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.1.tgz", + "integrity": "sha512-69WULhTD38UcjvLGRAnnwC5hDt35ZC91ZwnvWipNOAOSaQNT32uKYL/TVCT3tncB9L1D++LOmBbYhTYP4TLuuQ==", + "requires": { + "@jest/fake-timers": "^29.1.1", + "@jest/types": "^29.1.0", + "@types/node": "*", + "jest-mock": "^29.1.1" + } + }, + "@jest/expect": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.1.0.tgz", + "integrity": "sha512-qWQttxE5rEwzvDW9G3f0o8chu1EKvIfsMQDeRlXMLCtsDS94ckcqEMNgbKKz0NYlZ45xrIoy+/pngt3ZFr/2zw==", + "requires": { + "expect": "^29.1.0", + "jest-snapshot": "^29.1.0" + } + }, "@jest/expect-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-28.1.3.tgz", - "integrity": "sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.0.tgz", + "integrity": "sha512-YcD5CF2beqfoB07WqejPzWq1/l+zT3SgGwcqqIaPPG1DHFn/ea8MWWXeqV3KKMhTaOM1rZjlYplj1GQxR0XxKA==", + "requires": { + "jest-get-type": "^29.0.0" + } + }, + "@jest/fake-timers": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.1.tgz", + "integrity": "sha512-5wTGObRfL/OjzEz0v2ShXlzeJFJw8mO6ByMBwmPLd6+vkdPcmIpCvASG/PR/g8DpchSIEeDXCxQADojHxuhX8g==", + "requires": { + "@jest/types": "^29.1.0", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^29.1.0", + "jest-mock": "^29.1.1", + "jest-util": "^29.1.0" + } + }, + "@jest/globals": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.1.1.tgz", + "integrity": "sha512-yTiusxeEHjXwmo3guWlN31a1harU8zekLBMlZpOZ+84rfO3HDrkNZLTfd/YaHF8CrwlNCFpDGNSQCH8WkklH/Q==", "requires": { - "jest-get-type": "^28.0.2" + "@jest/environment": "^29.1.1", + "@jest/expect": "^29.1.0", + "@jest/types": "^29.1.0", + "jest-mock": "^29.1.1" + } + }, + "@jest/reporters": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.0.tgz", + "integrity": "sha512-szSjHjVuBQ7aZUdBzTicCoQAAQsQFLk+/PtMfO0RQxL5mQ1iw+PSKOpyvMZcA5T6bH9pIapue5U9UCrxfOtL3w==", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.1.0", + "@jest/test-result": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.1.0", + "jest-util": "^29.1.0", + "jest-worker": "^29.1.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^9.0.1" } }, "@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", "requires": { "@sinclair/typebox": "^0.24.1" } }, + "@jest/source-map": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.0.0.tgz", + "integrity": "sha512-nOr+0EM8GiHf34mq2GcJyz/gYFyLQ2INDhAylrZJ9mMWoW21mLBfZa0BUVPPMxVYrLjeiRe2Z7kWXOGnS0TFhQ==", + "requires": { + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, "@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.0.tgz", + "integrity": "sha512-RMBhPlw1Qfc2bKSf3RFPCyFSN7cfWVSTxRD8JrnvqdqgaDgrq4aGJT1A/V2+5Vq9bqBd187FpaxGTQ4zLrt08g==", "requires": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/console": "^29.1.0", + "@jest/types": "^29.1.0", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, + "@jest/test-sequencer": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.0.tgz", + "integrity": "sha512-1diQfwNhBAte+x3TmyfWloxT1C8GcPEPEZ4BZjmELBK2j3cdqi0DofoJUxBDDUBBnakbv8ce0B7CIzprsupPSA==", + "requires": { + "@jest/test-result": "^29.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.1.0", + "slash": "^3.0.0" + } + }, "@jest/transform": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-28.1.3.tgz", - "integrity": "sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.1.0.tgz", + "integrity": "sha512-NI1zd62KgM0lW6rWMIZDx52dfTIDd+cnLQNahH0YhH7TVmQVigumJ6jszuhAzvKHGm55P2Fozcglb5sGMfFp3Q==", "requires": { "@babel/core": "^7.11.6", - "@jest/types": "^28.1.3", - "@jridgewell/trace-mapping": "^0.3.13", + "@jest/types": "^29.1.0", + "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", + "jest-haste-map": "^29.1.0", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.1.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -9086,11 +9472,11 @@ } }, "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.0.tgz", + "integrity": "sha512-lE30u3z4lbTOqf5D7fDdoco3Qd8H6F/t73nLOswU4x+7VhgDQMX5y007IMqrKjFHdnpslaYymVFhWX+ttXNARQ==", "requires": { - "@jest/schemas": "^28.1.3", + "@jest/schemas": "^29.0.0", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -9363,6 +9749,35 @@ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==" }, + "@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, "@types/babel__traverse": { "version": "7.18.1", "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.1.tgz", @@ -9376,11 +9791,6 @@ "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" }, - "@types/chai": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.3.tgz", - "integrity": "sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==" - }, "@types/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/@types/dedent/-/dedent-0.7.0.tgz", @@ -9433,6 +9843,15 @@ "@types/istanbul-lib-report": "*" } }, + "@types/jest": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.0.tgz", + "integrity": "sha512-CqlKkMNaUhFSRvqVKniNhbcy9fc/Rj2cmFD5t8Jtu4HlHzSit27h7XKfP5kkxBeROQ8WAvQQmy93FIz9or8jKg==", + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, "@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", @@ -9448,11 +9867,6 @@ "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" }, - "@types/mocha": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz", - "integrity": "sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw==" - }, "@types/n-readlines": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@types/n-readlines/-/n-readlines-1.0.3.tgz", @@ -9477,9 +9891,9 @@ "integrity": "sha512-FwAQwMRbkhx0J6YELkwIpciVzCcgEqXEbIrIn3a2P5d3kGEHQ3wVhlN3YdVepYP+bZzCYO6OjmD4o9TGOZ40rA==" }, "@types/prettier": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.0.tgz", - "integrity": "sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A==" + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==" }, "@types/request": { "version": "2.48.8", @@ -9759,11 +10173,6 @@ "eslint-visitor-keys": "^3.3.0" } }, - "@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" - }, "@yarnpkg/lockfile": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", @@ -9898,9 +10307,12 @@ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } }, "array-union": { "version": "2.1.0", @@ -9925,11 +10337,6 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" - }, "astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -10007,6 +10414,20 @@ } } }, + "babel-jest": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.0.tgz", + "integrity": "sha512-0XiBgPRhMSng+ThuXz0M/WpOeml/q5S4BFIaDS5uQb+lCjOzd0OfYEN4hWte5fDy7SZ6rNmEi16UpWGurSg2nQ==", + "requires": { + "@jest/transform": "^29.1.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.0.2", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, "babel-plugin-istanbul": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", @@ -10019,6 +10440,17 @@ "test-exclude": "^6.0.0" } }, + "babel-plugin-jest-hoist": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.0.2.tgz", + "integrity": "sha512-eBr2ynAEFjcebVvu8Ktx580BD1QKCrBG1XwEUTXJe285p9HA/4hOhfWCFRQhTKSyBV0VzjhG7H91Eifz9s29hg==", + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, "babel-preset-current-node-syntax": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", @@ -10038,6 +10470,15 @@ "@babel/plugin-syntax-top-level-await": "^7.8.3" } }, + "babel-preset-jest": { + "version": "29.0.2", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.0.2.tgz", + "integrity": "sha512-BeVXp7rH5TK96ofyEnHjznjLMQ2nAeDJ+QzxKnHAAMs0RgrQsCywjAN8m4mOm5Di0pxU//3AoEeJJrerMH5UeA==", + "requires": { + "babel-plugin-jest-hoist": "^29.0.2", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -10061,11 +10502,6 @@ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, "bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -10093,11 +10529,6 @@ "fill-range": "^7.0.1" } }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - }, "browserslist": { "version": "4.21.4", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", @@ -10109,6 +10540,14 @@ "update-browserslist-db": "^1.0.9" } }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, "bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", @@ -10204,29 +10643,15 @@ } }, "caniuse-lite": { - "version": "1.0.30001402", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001402.tgz", - "integrity": "sha512-Mx4MlhXO5NwuvXGgVb+hg65HZ+bhUYsz8QtDGDo2QmaJS2GBX47Xfi2koL86lc8K+l+htXeTEB/Aeqvezoo6Ew==" + "version": "1.0.30001409", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001409.tgz", + "integrity": "sha512-V0mnJ5dwarmhYv8/MzhJ//aW68UpvnQBXv8lJ2QUsvn2pHcmAuNtu8hQEDz37XnA1iE+lRR9CIfGWWpgJ5QedQ==" }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, - "chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -10236,6 +10661,11 @@ "supports-color": "^7.1.0" } }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + }, "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", @@ -10249,26 +10679,6 @@ "inherits": "^2.0.1" } }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==" - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, "chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", @@ -10279,6 +10689,11 @@ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==" }, + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" + }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -10302,6 +10717,11 @@ "wrap-ansi": "^6.2.0" } }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" + }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -10467,14 +10887,6 @@ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "requires": { - "type-detect": "^4.0.0" - } - }, "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -10498,6 +10910,11 @@ } } }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, "defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", @@ -10528,15 +10945,20 @@ "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" + }, "diff": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" }, "diff-sequences": { - "version": "28.1.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-28.1.1.tgz", - "integrity": "sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==" + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.0.0.tgz", + "integrity": "sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA==" }, "dir-glob": { "version": "3.0.1", @@ -10613,9 +11035,14 @@ } }, "electron-to-chromium": { - "version": "1.4.254", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.254.tgz", - "integrity": "sha512-Sh/7YsHqQYkA6ZHuHMy24e6TE4eX6KZVsZb9E/DvU1nQRIrH4BflO/4k+83tfdYvDl+MObvlqHPRICzEdC9c6Q==" + "version": "1.4.257", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.257.tgz", + "integrity": "sha512-C65sIwHqNnPC2ADMfse/jWTtmhZMII+x6ADI9gENzrOiI7BpxmfKFE84WkIEl5wEg+7+SfIkwChDlsd1Erju2A==" + }, + "emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==" }, "emoji-regex": { "version": "8.0.0", @@ -10743,14 +11170,6 @@ "v8-compile-cache": "^2.0.3" }, "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, "eslint-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", @@ -10776,15 +11195,6 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -10995,16 +11405,21 @@ "strip-final-newline": "^2.0.0" } }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" + }, "expect": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-28.1.3.tgz", - "integrity": "sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.0.tgz", + "integrity": "sha512-1NCfR0FEArn9Vq1KEjhPd1rggRLiWgo87gfMK4iKn6DcVzJBRMyDNX22hyND5KiSRPIPQ5KtsY6HLxsQ0MU86w==", "requires": { - "@jest/expect-utils": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3" + "@jest/expect-utils": "^29.1.0", + "jest-get-type": "^29.0.0", + "jest-matcher-utils": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-util": "^29.1.0" } }, "extend": { @@ -11078,9 +11493,9 @@ } }, "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "requires": { "bser": "2.1.1" } @@ -11116,17 +11531,12 @@ "to-regex-range": "^5.0.1" } }, - "find-package-json": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/find-package-json/-/find-package-json-1.2.0.tgz", - "integrity": "sha512-+SOGcLGYDJHtyqHd87ysBhmaeQ95oWspDKnMXBrnQ9Eq4OkLNqejgoaD8xVWu6GPa0B6roa6KinCMEMcVeqONw==" - }, "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "requires": { - "locate-path": "^6.0.0", + "locate-path": "^5.0.0", "path-exists": "^4.0.0" } }, @@ -11138,11 +11548,6 @@ "micromatch": "^4.0.2" } }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - }, "flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -11321,11 +11726,6 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==" - }, "get-intrinsic": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", @@ -11537,11 +11937,6 @@ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "optional": true }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, "hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -11555,6 +11950,11 @@ "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.0.0.tgz", "integrity": "sha512-SCleE2Uc1bM752ymxg8QXYGW0TWtAV4ZW3TqH1aOnyi6T6YW2xadCcclm5qeVjvMvfQ2RKNtZxO7uVb9CTPt1A==" }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, "http-cache-semantics": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", @@ -11611,6 +12011,15 @@ "resolve-from": "^4.0.0" } }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -11683,14 +12092,6 @@ "has-bigints": "^1.0.1" } }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, "is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", @@ -11751,6 +12152,11 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + }, "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -11830,11 +12236,6 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" - }, "is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -11895,64 +12296,293 @@ } } }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.1.1.tgz", + "integrity": "sha512-Doe41PZ8MvGLtOZIW2RIVu94wa7jm/N775BBloVXk/G/vV6VYnDCOxBwrqekEgrd3Pn/bv8b5UdB2x0pAoQpwQ==", + "requires": { + "@jest/core": "^29.1.1", + "@jest/types": "^29.1.0", + "import-local": "^3.0.2", + "jest-cli": "^29.1.1" + } + }, + "jest-changed-files": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.0.0.tgz", + "integrity": "sha512-28/iDMDrUpGoCitTURuDqUzWQoWmOmOKOFST1mi2lwh62X4BFf6khgH3uSuo1e49X/UDjuApAj3w0wLOex4VPQ==", + "requires": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + } + }, + "jest-circus": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.1.tgz", + "integrity": "sha512-Ii+3JIeLF3z8j2E7fPSjPjXJLBdbAcZyfEiALRQ1Fk+FWTIfuEfZrZcjSaBdz/k/waoq+bPf9x/vBCXIAyLLEQ==", + "requires": { + "@jest/environment": "^29.1.1", + "@jest/expect": "^29.1.0", + "@jest/test-result": "^29.1.0", + "@jest/types": "^29.1.0", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.1.0", + "jest-matcher-utils": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-runtime": "^29.1.1", + "jest-snapshot": "^29.1.0", + "jest-util": "^29.1.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.1.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-cli": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.1.tgz", + "integrity": "sha512-nz/JNtqDFf49R2KgeZ9+6Zl1uxSuRsg/tICC+DHMh+bQ0co6QqBPWKg3FtW4534bs8/J2YqFC2Lct9DZR24z0Q==", + "requires": { + "@jest/core": "^29.1.1", + "@jest/test-result": "^29.1.0", + "@jest/types": "^29.1.0", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.1.1", + "jest-util": "^29.1.0", + "jest-validate": "^29.1.0", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "dependencies": { + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + } + } + }, + "jest-config": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.1.1.tgz", + "integrity": "sha512-o2iZrQMOiF54zOw1kOcJGmfKzAW+V2ajZVWxbt+Ex+g0fVaTkk215BD/GFhrviuic+Xk7DpzUmdTT9c1QfsPqg==", + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.1.0", + "@jest/types": "^29.1.0", + "babel-jest": "^29.1.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.1.1", + "jest-environment-node": "^29.1.1", + "jest-get-type": "^29.0.0", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.0", + "jest-runner": "^29.1.1", + "jest-util": "^29.1.0", + "jest-validate": "^29.1.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.1.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + } + } + }, "jest-diff": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-28.1.3.tgz", - "integrity": "sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.0.tgz", + "integrity": "sha512-ZJyWG30jpVHwxLs8xxR1so4tz6lFARNztnFlxssFpQdakaW0isSx9rAKs/6aQUKQDZ/DgSpY6HjUGLO9xkNdRw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.0.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.0" + } + }, + "jest-docblock": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.0.0.tgz", + "integrity": "sha512-s5Kpra/kLzbqu9dEjov30kj1n4tfu3e7Pl8v+f8jOkeWNqM6Ds8jRaJfZow3ducoQUrf2Z4rs2N5S3zXnb83gw==", + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.1.0.tgz", + "integrity": "sha512-ELSZV/L4yjqKU2O0bnDTNHlizD4IRS9DX94iAB6QpiPIJsR453dJW7Ka7TXSmxQdc66HNNOhUcQ5utIeVCKGyA==", "requires": { + "@jest/types": "^29.1.0", "chalk": "^4.0.0", - "diff-sequences": "^28.1.1", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "jest-get-type": "^29.0.0", + "jest-util": "^29.1.0", + "pretty-format": "^29.1.0" + } + }, + "jest-environment-node": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.1.tgz", + "integrity": "sha512-0nwTca4L2N8iM33A+JMfBdygR6B3N/bcPoLe1hEd9o87KLxDZwKGvpTGSfXpjtyqNQXiaL/3G+YOcSoeq/syPw==", + "requires": { + "@jest/environment": "^29.1.1", + "@jest/fake-timers": "^29.1.1", + "@jest/types": "^29.1.0", + "@types/node": "*", + "jest-mock": "^29.1.1", + "jest-util": "^29.1.0" } }, "jest-get-type": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-28.0.2.tgz", - "integrity": "sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==" + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.0.0.tgz", + "integrity": "sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw==" }, "jest-haste-map": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-28.1.3.tgz", - "integrity": "sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.0.tgz", + "integrity": "sha512-qn+QVZ6JHzzx6g8XrMrNNvvIWrgVT6FzOoxTP5hQ1vEu6r9use2gOb0sSeC3Xle7eaDLN4DdAazSKnWskK3B/g==", "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.1.0", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "fsevents": "^2.3.2", "graceful-fs": "^4.2.9", - "jest-regex-util": "^28.0.2", - "jest-util": "^28.1.3", - "jest-worker": "^28.1.3", + "jest-regex-util": "^29.0.0", + "jest-util": "^29.1.0", + "jest-worker": "^29.1.0", "micromatch": "^4.0.4", "walker": "^1.0.8" } }, + "jest-leak-detector": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.0.tgz", + "integrity": "sha512-7ZdlIA2UXBIzXBNadta7pohrrvbD/Jp5T55Ux2DE1BSGul4RglIPHt7cZ0V3ll+ppBC1pGaBiWPBfLcQ2dDc3Q==", + "requires": { + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.0" + } + }, "jest-matcher-utils": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz", - "integrity": "sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.0.tgz", + "integrity": "sha512-pfthsLu27kZg+T1XTUGvox0r3gP3KtqdMPliVd/bs6iDrZ9Z6yJgLbw6zNc4DHtCcyzq9UW0jmszCX8DdFU/wA==", "requires": { "chalk": "^4.0.0", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "pretty-format": "^28.1.3" + "jest-diff": "^29.1.0", + "jest-get-type": "^29.0.0", + "pretty-format": "^29.1.0" } }, "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.0.tgz", + "integrity": "sha512-NzGXD9wgCxUy20sIvyOsSA/KzQmkmagOVGE5LnT2juWn+hB88gCQr8N/jpu34CXRIXmV7INwrQVVwhnh72pY5A==", "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", + "@jest/types": "^29.1.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", + "pretty-format": "^29.1.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -11967,6 +12597,16 @@ } } }, + "jest-mock": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.1.tgz", + "integrity": "sha512-vDe56JmImqt3j8pHcEIkahQbSCnBS49wda0spIl0bkrIM7VDZXjKaes6W28vKZye0atNAcFaj3dxXh0XWjBW4Q==", + "requires": { + "@jest/types": "^29.1.0", + "@types/node": "*", + "jest-util": "^29.1.0" + } + }, "jest-pnp-resolver": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", @@ -11974,62 +12614,136 @@ "requires": {} }, "jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==" + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.0.0.tgz", + "integrity": "sha512-BV7VW7Sy0fInHWN93MMPtlClweYv2qrSCwfeFWmpribGZtQPWNvRSq9XOVgOEjU1iBGRKXUZil0o2AH7Iy9Lug==" }, "jest-resolve": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-28.1.3.tgz", - "integrity": "sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.0.tgz", + "integrity": "sha512-0IETuMI58nbAWwCrtX1QQmenstlWOEdwNS5FXxpEMAs6S5tttFiEoXUwGTAiI152nqoWRUckAgt21FP4wqeZWA==", "requires": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^28.1.3", + "jest-haste-map": "^29.1.0", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^28.1.3", - "jest-validate": "^28.1.3", + "jest-util": "^29.1.0", + "jest-validate": "^29.1.0", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" } }, + "jest-resolve-dependencies": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.1.tgz", + "integrity": "sha512-AMRTJyiK8caRXq3pa9i4oXX6yH+am5v0HwCUq1yk9lxI3ARihyT2OfEySJJo3ER7xpxf3b6isfp1sO6PQY3N0Q==", + "requires": { + "jest-regex-util": "^29.0.0", + "jest-snapshot": "^29.1.0" + } + }, + "jest-runner": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.1.tgz", + "integrity": "sha512-HqazsMPXB62Zi2oJEl+Ta9aUWAaR4WdT7ow25pcS99PkOsWQoYH+yyaKbAHBUf8NOqPbZ8T4Q8gt8ZBFEJJdVQ==", + "requires": { + "@jest/console": "^29.1.0", + "@jest/environment": "^29.1.1", + "@jest/test-result": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.0.0", + "jest-environment-node": "^29.1.1", + "jest-haste-map": "^29.1.0", + "jest-leak-detector": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-resolve": "^29.1.0", + "jest-runtime": "^29.1.1", + "jest-util": "^29.1.0", + "jest-watcher": "^29.1.0", + "jest-worker": "^29.1.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + } + }, + "jest-runtime": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.1.tgz", + "integrity": "sha512-DA2nW5GUAEFUOFztVqX6BOHbb1tUO1iDzlx+bOVdw870UIkv09u3P5nTfK3N+xtqy/fGlLsg7UCzhpEJnwKilg==", + "requires": { + "@jest/environment": "^29.1.1", + "@jest/fake-timers": "^29.1.1", + "@jest/globals": "^29.1.1", + "@jest/source-map": "^29.0.0", + "@jest/test-result": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-mock": "^29.1.1", + "jest-regex-util": "^29.0.0", + "jest-resolve": "^29.1.0", + "jest-snapshot": "^29.1.0", + "jest-util": "^29.1.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + } + } + }, "jest-snapshot": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-28.1.3.tgz", - "integrity": "sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.0.tgz", + "integrity": "sha512-nHZoA+hpbFlkyV8uLoLJQ/80DLi3c6a5zeELgfSZ5bZj+eljqULr79KBQakp5xyH3onezf4k+K+2/Blk5/1O+g==", "requires": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^28.1.3", - "@jest/transform": "^28.1.3", - "@jest/types": "^28.1.3", + "@jest/expect-utils": "^29.1.0", + "@jest/transform": "^29.1.0", + "@jest/types": "^29.1.0", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^28.1.3", + "expect": "^29.1.0", "graceful-fs": "^4.2.9", - "jest-diff": "^28.1.3", - "jest-get-type": "^28.0.2", - "jest-haste-map": "^28.1.3", - "jest-matcher-utils": "^28.1.3", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", + "jest-diff": "^29.1.0", + "jest-get-type": "^29.0.0", + "jest-haste-map": "^29.1.0", + "jest-matcher-utils": "^29.1.0", + "jest-message-util": "^29.1.0", + "jest-util": "^29.1.0", "natural-compare": "^1.4.0", - "pretty-format": "^28.1.3", + "pretty-format": "^29.1.0", "semver": "^7.3.5" } }, "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.0.tgz", + "integrity": "sha512-5haD8egMAEAq/e8ritN2Gr1WjLYtXi4udAIZB22GnKlv/2MHkbCjcyjgDBmyezAMMeQKGfoaaDsWCmVlnHZ1WQ==", "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.1.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -12038,22 +12752,37 @@ } }, "jest-validate": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-28.1.3.tgz", - "integrity": "sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.0.tgz", + "integrity": "sha512-EQKRweSxmIJelCdirpuVkeCS1rSNXJFtSGEeSRFwH39QGioy7qKRSY8XBB4qFiappbsvgHnH0V6Iq5ASs11knA==", "requires": { - "@jest/types": "^28.1.3", + "@jest/types": "^29.1.0", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^28.0.2", + "jest-get-type": "^29.0.0", "leven": "^3.1.0", - "pretty-format": "^28.1.3" + "pretty-format": "^29.1.0" + } + }, + "jest-watcher": { + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.0.tgz", + "integrity": "sha512-JXw7+VpLSf+2yfXlux1/xR65fMn//0pmiXd6EtQWySS9233aA+eGS+8Y5o2imiJ25JBKdG8T45+s78CNQ71Fbg==", + "requires": { + "@jest/test-result": "^29.1.0", + "@jest/types": "^29.1.0", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^29.1.0", + "string-length": "^4.0.1" } }, "jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.0.tgz", + "integrity": "sha512-yr7RFRAxI+vhL/cGB9B0FhD+QfaWh1qSxurx7gLP16dfmqhG8w75D/CQFU8ZetvhiQqLZh8X0C4rxwsZy6HITQ==", "requires": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -12076,11 +12805,12 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "requires": { - "argparse": "^2.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "jsbn": { @@ -12191,6 +12921,11 @@ "graceful-fs": "^4.1.11" } }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -12222,11 +12957,11 @@ } }, "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "requires": { - "p-locate": "^5.0.0" + "p-locate": "^4.1.0" } }, "lodash": { @@ -12239,6 +12974,11 @@ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -12249,23 +12989,6 @@ "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", - "requires": { - "get-func-name": "^2.0.0" - } - }, "lowercase-keys": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", @@ -12279,6 +13002,21 @@ "yallist": "^4.0.0" } }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -12423,180 +13161,6 @@ "minimist": "^1.2.6" } }, - "mocha": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz", - "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==", - "requires": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" - } - } - }, - "mocha-chai-jest-snapshot": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/mocha-chai-jest-snapshot/-/mocha-chai-jest-snapshot-1.1.4.tgz", - "integrity": "sha512-ybwtS10P8BXDJQn9B3QyQA8Lxr/CcYxtuyWKk1PxD9vJorH8VL3edB7re4GcG9dRAdDPE/B0BsfwmCo6W43O7w==", - "requires": { - "@jest/test-result": "^28.1.1", - "chalk": "^4.1.2", - "find-package-json": "^1.2.0", - "jest-snapshot": "^28.1.1", - "jest-util": "^28.1.1", - "slash": "^3.0.0", - "yargs": "^17.5.1" - }, - "dependencies": { - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - } - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -12612,11 +13176,6 @@ "resolved": "https://registry.npmjs.org/n-readlines/-/n-readlines-1.0.1.tgz", "integrity": "sha512-z4SyAIVgMy7CkgsoNw7YVz40v0g4+WWvvqy8+ZdHrCtgevcEO758WQyrYcw3XPxcLxF+//RszTz/rO48nzD0wQ==" }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==" - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -12953,11 +13512,21 @@ } }, "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "requires": { - "p-limit": "^3.0.2" + "p-limit": "^2.2.0" + }, + "dependencies": { + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + } } }, "p-try": { @@ -13165,11 +13734,6 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" - }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -13200,6 +13764,14 @@ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "^4.0.0" + } + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -13219,12 +13791,11 @@ } }, "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "version": "29.1.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.0.tgz", + "integrity": "sha512-dZ21z0UjKVSiEkrPAt2nJnGfrtYMFBlNW4wTkJsIp9oB5A8SUQ8DuJ9EUgAvYyNfMeoGmKiDnpJvM489jkzdSQ==", "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", + "@jest/schemas": "^29.0.0", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -13247,6 +13818,15 @@ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, "propagate": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", @@ -13282,14 +13862,6 @@ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, "react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", @@ -13346,28 +13918,11 @@ "type-fest": "^0.8.1" }, "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -13379,22 +13934,6 @@ "validate-npm-package-license": "^3.0.1" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -13446,14 +13985,6 @@ "util-deprecate": "^1.0.1" } }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, "redent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", @@ -13547,6 +14078,21 @@ "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + } + } + }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -13638,14 +14184,6 @@ "lru-cache": "^6.0.0" } }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "requires": { - "randombytes": "^2.1.0" - } - }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -13697,6 +14235,11 @@ "supports-color": "^7.2.0" } }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -13717,6 +14260,20 @@ "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", "integrity": "sha512-NwrtjCg+lZoqhFU8fOwl4ay2ei8PaqCBOUV3/ektPY9trO1yQ1oXEfmHAhKArUVUr/hOHvy5f6AdP17dCM0zMw==" }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -13797,6 +14354,15 @@ "safe-buffer": "~5.2.0" } }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -13876,6 +14442,15 @@ "has-flag": "^4.0.0" } }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -13943,6 +14518,15 @@ "readable-stream": "^3.1.1" } }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, "test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -14008,6 +14592,28 @@ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==" }, + "ts-jest": { + "version": "29.0.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz", + "integrity": "sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==", + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.1", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "^21.0.1" + }, + "dependencies": { + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + } + } + }, "ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", @@ -14068,14 +14674,6 @@ "color-convert": "^1.9.0" } }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -14119,15 +14717,6 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -14270,6 +14859,16 @@ "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" }, + "v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "requires": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + } + }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -14358,11 +14957,6 @@ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" }, - "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" - }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -14422,39 +15016,6 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, "yargs-parser": { "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", @@ -14471,29 +15032,6 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "dependencies": { - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - } - } - }, "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", diff --git a/package.json b/package.json index 8dcd83c11c..f403811d0f 100644 --- a/package.json +++ b/package.json @@ -34,24 +34,23 @@ "test": "npm run test:unit && npm run test:integration", "posttest": "npm run check", "postinstall": "patch-package", - "test:integration": "mocha test/**/*.integration.spec.ts", - "test:unit": "mocha 'test/**/!(*.integration).spec.ts'" + "jest": "node --experimental-vm-modules node_modules/jest/bin/jest.js", + "test:integration": "npm run jest -- --config jest.integration.config.ts", + "test:unit": "npm run jest" }, "dependencies": { "@expo/spawn-async": "^1.7.0", "@octokit/rest": "^19.0.4", - "@types/chai": "^4.3.3", "@types/dedent": "^0.7.0", "@types/dot": "^1.1.5", "@types/gapi.client.discovery": "^1.0.8", + "@types/jest": "^29.1.0", "@types/lodash": "^4.14.185", - "@types/mocha": "^9.1.1", "@types/n-readlines": "^1.0.3", "@types/node": "^18.7.19", "@types/request": "2.48.8", "@types/sinon": "^10.0.13", "@types/validate-npm-package-name": "^4.0.0", - "chai": "^4.3.6", "commander": "^9.4.0", "dedent": "^0.7.0", "deep-sort-object": "^1.0.2", @@ -62,24 +61,19 @@ "got": "^12.5.0", "gts": "^3.1.1", "hpagent": "^1.0.0", - "jest-resolve": "^28.1.3", + "jest": "^29.1.1", "lodash": "^4.17.21", - "mocha": "^10.0.0", - "mocha-chai-jest-snapshot": "^1.1.4", "n-readlines": "^1.0.1", "nock": "^13.2.9", "npm-run-all": "^4.1.5", "patch-package": "^6.4.7", "sinon": "^14.0.0", "strip-json-comments": "^5.0.0", + "ts-jest": "^29.0.3", "ts-node": "^10.9.1", "typescript": "^4.8.4", "validate-npm-package-name": "^4.0.0" }, - "dependenciesComments": { - "jest-resolve-1": "Only needed to fix TS error for @jest/test-result: Cannot find module 'jest-resolve' or its corresponding type declarations", - "jest-resolve-2": "Major version has to match the major version of @jest/test-result used by mocha-chai-jest-snapshot" - }, "engines": { "node": "18.2.0", "npm": "8.9.0" diff --git a/patches/jest-snapshot+28.1.3.patch b/patches/jest-snapshot+28.1.3.patch deleted file mode 100644 index 78f3713a98..0000000000 --- a/patches/jest-snapshot+28.1.3.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/node_modules/jest-snapshot/build/index.d.ts b/node_modules/jest-snapshot/build/index.d.ts -index 3f20807..b47c90a 100644 ---- a/node_modules/jest-snapshot/build/index.d.ts -+++ b/node_modules/jest-snapshot/build/index.d.ts -@@ -148,7 +148,7 @@ export declare class SnapshotState { - fail(testName: string, _received: unknown, key?: string): string; - } - --declare type SnapshotStateOptions = { -+export declare type SnapshotStateOptions = { - updateSnapshot: Config.SnapshotUpdateState; - prettierPath: string; - expand?: boolean; diff --git a/patches/mocha-chai-jest-snapshot+1.1.4.patch b/patches/mocha-chai-jest-snapshot+1.1.4.patch deleted file mode 100644 index e1fa0b5699..0000000000 --- a/patches/mocha-chai-jest-snapshot+1.1.4.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/node_modules/mocha-chai-jest-snapshot/dist/utils/jest-test-result-helper.d.ts b/node_modules/mocha-chai-jest-snapshot/dist/utils/jest-test-result-helper.d.ts -index 7ce132e..2453da2 100644 ---- a/node_modules/mocha-chai-jest-snapshot/dist/utils/jest-test-result-helper.d.ts -+++ b/node_modules/mocha-chai-jest-snapshot/dist/utils/jest-test-result-helper.d.ts -@@ -5,7 +5,7 @@ - * LICENSE file in the root directory of this source tree. - */ - import { SnapshotSummary, TestResult } from "@jest/test-result"; --import { SnapshotState } from "jest-snapshot"; -+import { SnapshotState, SnapshotStateOptions } from "jest-snapshot"; - declare type SnapshotResult = TestResult["snapshot"]; - export { SnapshotSummary }; - export declare const makeEmptySnapshotSummary: (options: SnapshotStateOptions) => SnapshotSummary; diff --git a/test/config.spec.ts b/test/config.spec.ts index a6e03b369a..53c6baad0f 100644 --- a/test/config.spec.ts +++ b/test/config.spec.ts @@ -1,4 +1,3 @@ -import assert from 'assert'; import {supportedApis} from '../bin/auto-publish/config.js'; import {excludedRestDescriptionIds} from '../src/app.js'; @@ -7,6 +6,6 @@ describe('Config validation', () => { const overlap = supportedApis.some(supportedApi => excludedRestDescriptionIds.includes(supportedApi) ); - assert.strictEqual(overlap, false); + expect(overlap).toBe(false); }); }); diff --git a/test/discovery.integration.spec.ts b/test/discovery.integration.spec.ts index 6ce6bbd398..f315522888 100644 --- a/test/discovery.integration.spec.ts +++ b/test/discovery.integration.spec.ts @@ -16,7 +16,7 @@ const __dirname = dirname(fileURLToPath(import.meta.url)); let proxy: ProxySetting | undefined; -before(async () => { +beforeAll(async () => { proxy = await getProxy(); }); @@ -31,7 +31,7 @@ describe('getRestDescriptionIfPossible', () => { ); console.warn = originalConsoleWarn; - assert.deepStrictEqual(consoleWarnCalledWith, [ + expect(consoleWarnCalledWith).toStrictEqual([ 'https://httpbin.org/status/404 returned 404, skipping...', ]); }); @@ -48,8 +48,7 @@ describe('getRestDescriptionIfPossible', () => { describe('discovery items', () => { let discoveryItems: DiscoveryItem[] = []; - before(async function () { - this.timeout(0); + beforeAll(async () => { const cacheFilePath = join(__dirname, 'discovery-items-cache.json'); if (existsSync(cacheFilePath)) { discoveryItems = JSON.parse(readFileSync(cacheFilePath, 'utf-8')); @@ -59,33 +58,33 @@ describe('discovery items', () => { encoding: 'utf-8', }); } - }); + }, 0); it('items exist', () => { - assert.strictEqual(discoveryItems.length > 0, true); + expect(discoveryItems.length > 0).toBe(true); }); it('there are a lot of items', () => { - assert.strictEqual(discoveryItems.length > 350, true); + expect(discoveryItems.length > 350).toBe(true); }); it('id is a non-empty string', () => { discoveryItems.forEach(item => { - assert.strictEqual(typeof item.id, 'string'); - assert.notStrictEqual(item.id?.trim(), ''); + expect(typeof item.id).toBe('string'); + expect(item.id?.trim()).not.toBe(''); }); }); it('id = name:version', () => { discoveryItems.forEach(item => { - assert.strictEqual(item.id, [item.name, item.version].join(':')); + expect(item.id).toBe([item.name, item.version].join(':')); }); }); it('id is unique', () => { const ids: DiscoveryItem['id'][] = []; discoveryItems.forEach(({id}) => { - assert.strictEqual(ids.includes(id), false); + expect(ids).not.toContain(id); ids.push(id); }); }); @@ -94,14 +93,14 @@ describe('discovery items', () => { const names = new Set(); discoveryItems.forEach(discoveryItem => { const name = getPackageName(discoveryItem); - assert.strictEqual(names.has(name), false); + expect(names).not.toContain(name); names.add(name); }); }); it('id does not have "-"', () => { discoveryItems.forEach(({id}) => { - assert.strictEqual(id?.includes('-'), false, id); + expect(id).not.toContain('-'); }); }); @@ -134,7 +133,7 @@ describe('discovery items', () => { // /^(([a-z]+_)?v\d+(\.\d+|[0-9a-z]+)?|alpha|beta)$/ // ); }); - assert.deepStrictEqual(versions.sort(), [ + expect(versions.sort()).toStrictEqual([ '*', 'v1', 'v1*', @@ -278,7 +277,7 @@ describe('discovery items', () => { }); Object.values(options).forEach(count => { - assert.notStrictEqual(count, 0); + expect(count).not.toBe(0); }); Object.keys(examples).forEach(pattern => { @@ -296,8 +295,14 @@ it('getExtraRestDescriptions works for google ads', async () => { ); // Assert - assert.deepStrictEqual( - googleAds.map(x => x.restDescription.version), - ['v4', 'v5', 'v6', 'v7', 'v8', 'v9', 'v10', 'v11'] - ); -}).timeout(0); // performs requests to the actual server + expect(googleAds.map(x => x.restDescription.version)).toStrictEqual([ + 'v4', + 'v5', + 'v6', + 'v7', + 'v8', + 'v9', + 'v10', + 'v11', + ]); +}, 0); // performs requests to the actual server diff --git a/test/discovery.spec.ts b/test/discovery.spec.ts index e5c2cee47b..fac39689d2 100644 --- a/test/discovery.spec.ts +++ b/test/discovery.spec.ts @@ -1,4 +1,3 @@ -import assert from 'assert'; import nock from 'nock'; import {getGoogleAdsRestDescription} from '../src/extra-apis.js'; @@ -29,7 +28,7 @@ describe('discovery', () => { const item3 = await generator.next(); // Assert - assert.deepStrictEqual(item1, { + expect(item1).toStrictEqual({ done: false, value: { restDescriptionSource: new URL( @@ -40,7 +39,7 @@ describe('discovery', () => { }, }, }); - assert.deepStrictEqual(item2, { + expect(item2).toStrictEqual({ done: false, value: { restDescriptionSource: new URL( @@ -51,6 +50,6 @@ describe('discovery', () => { }, }, }); - assert.deepStrictEqual(item3, {done: true, value: undefined}); + expect(item3).toStrictEqual({done: true, value: undefined}); }); }); diff --git a/test/nvmrc.spec.ts b/test/nvmrc.spec.ts index e81a13662d..c031d3f434 100644 --- a/test/nvmrc.spec.ts +++ b/test/nvmrc.spec.ts @@ -1,4 +1,3 @@ -import assert from 'assert'; import {readFileSync} from 'node:fs'; import path from 'node:path'; import {fileURLToPath} from 'node:url'; @@ -17,5 +16,5 @@ const packageJson = JSON.parse( ); it('node versions match in package.json engines section and .nvmrc file', () => { - assert.strictEqual(packageJson['engines']['node'], nvmrc.trimEnd()); + expect(packageJson['engines']['node']).toBe(nvmrc.trimEnd()); }); diff --git a/test/packageLockJson.spec.ts b/test/packageLockJson.spec.ts index 69f299738a..4ed710a050 100644 --- a/test/packageLockJson.spec.ts +++ b/test/packageLockJson.spec.ts @@ -1,4 +1,3 @@ -import assert from 'assert'; import {readFileSync} from 'node:fs'; import path from 'node:path'; import {fileURLToPath} from 'node:url'; @@ -19,15 +18,13 @@ const packageJson = JSON.parse( describe('versions match in package and package-lock.json', () => { it('node', () => { - assert.strictEqual( - packageJson['engines']['node'], + expect(packageJson['engines']['node']).toBe( JSON.parse(packageLockJson)['packages']['']['engines']['node'] ); }); it('npm', () => { - assert.strictEqual( - packageJson['engines']['npm'], + expect(packageJson['engines']['npm']).toBe( JSON.parse(packageLockJson)['packages']['']['engines']['npm'] ); }); diff --git a/test/restDocs/__snapshots__/test.spec.ts.snap b/test/restDocs/__snapshots__/test.spec.ts.snap new file mode 100644 index 0000000000..8cc92fd1cf --- /dev/null +++ b/test/restDocs/__snapshots__/test.spec.ts.snap @@ -0,0 +1,35839 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`admin DT works 1`] = ` +"// Type definitions for non-npm package Admin SDK API directory_v1 0.0 +// Project: https://developers.google.com/admin-sdk/ +// Definitions by: Maxim Mazurok +// Nick Amoscato +// Declan Vong +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// Referenced type definitions are generated by https://github.com/Maxim-Mazurok/google-api-typings-generator +// In case of any problems please open issue in https://github.com/Maxim-Mazurok/google-api-typings-generator/issues/new + +/// +" +`; + +exports[`admin DT works 2`] = ` +"{ + "private": true, + "dependencies": { + "@maxim_mazurok/gapi.client.admin-directory_v1": "latest" + } +} +" +`; + +exports[`admin DT works 3`] = ` +"{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "baseUrl": "../", + "typeRoots": ["../"], + "types": [] + }, + "files": ["index.d.ts"] +} +" +`; + +exports[`admin DT works 4`] = ` +"{ + "extends": "@definitelytyped/dtslint/dt.json", + "rules": { + "npm-naming": false + } +} +" +`; + +exports[`admin works 1`] = ` +"//registry.npmjs.org/:_authToken=\${NPM_PUBLISH_AUTOMATION_TOKEN} +" +`; + +exports[`admin works 2`] = ` +"/* Type definitions for non-npm package Admin SDK API directory_v1 0.0 */ +// Project: https://developers.google.com/admin-sdk/ +// Definitions by: Maxim Mazurok +// Nick Amoscato +// Declan Vong +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// IMPORTANT +// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. +// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator +// Generated from: http://localhost:3000/admin.json +// Revision: 20220628 + +/// + +declare namespace gapi.client { + /** Load Admin SDK API directory_v1 */ + function load(urlOrObject: "http://localhost:3000/admin.json"): Promise; + /** @deprecated Please load APIs with discovery documents. */ + function load(name: "admin", version: "directory_v1"): Promise; + /** @deprecated Please load APIs with discovery documents. */ + function load(name: "admin", version: "directory_v1", callback: () => any): void; + + namespace admin { + interface Alias { + alias?: string; + etag?: string; + id?: string; + kind?: string; + primaryEmail?: string; + } + interface Aliases { + aliases?: any[]; + etag?: string; + kind?: string; + } + interface Asp { + /** The unique ID of the ASP. */ + codeId?: number; + /** The time when the ASP was created. Expressed in [Unix time](https://en.wikipedia.org/wiki/Epoch_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](https://en.wikipedia.org/wiki/Epoch_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 Asps { + /** ETag of the resource. */ + etag?: string; + /** A list of ASP resources. */ + items?: Asp[]; + /** The type of the API resource. This is always \`admin#directory#aspList\`. */ + kind?: string; + } + interface AuxiliaryMessage { + /** Human readable message in English. Example: "Given printer is invalid or no longer supported." */ + auxiliaryMessage?: string; + /** Field that this message concerns. */ + fieldMask?: string; + /** Message severity */ + severity?: string; + } + interface BatchCreatePrintersRequest { + /** A list of Printers to be created. Max 50 at a time. */ + requests?: CreatePrinterRequest[]; + } + interface BatchCreatePrintersResponse { + /** A list of create failures. Printer IDs are not populated, as printer were not created. */ + failures?: FailureInfo[]; + /** A list of successfully created printers with their IDs populated. */ + printers?: Printer[]; + } + interface BatchDeletePrintersRequest { + /** A list of Printer.id that should be deleted. Max 100 at a time. */ + printerIds?: string[]; + } + interface BatchDeletePrintersResponse { + /** A list of update failures. */ + failedPrinters?: FailureInfo[]; + /** A list of Printer.id that were successfully deleted. */ + printerIds?: string[]; + } + interface Building { + /** + * The postal address of the building. See [\`PostalAddress\`](/my-business/reference/rest/v4/PostalAddress) for details. Note that only a single address line and region code are + * required. + */ + address?: BuildingAddress; + /** 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?: 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; + } + interface BuildingAddress { + /** Unstructured address lines describing the lower levels of an address. */ + addressLines?: string[]; + /** Optional. Highest administrative subdivision which is used for postal addresses of a country or region. */ + administrativeArea?: string; + /** Optional. BCP-47 language code of the contents of this address (if known). */ + 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 addressLines. + */ + locality?: string; + /** Optional. Postal code of the address. */ + postalCode?: string; + /** Required. CLDR region code of the country/region of the address. */ + regionCode?: string; + /** Optional. Sublocality of the address. */ + sublocality?: string; + } + interface BuildingCoordinates { + /** Latitude in decimal degrees. */ + latitude?: number; + /** Longitude in decimal degrees. */ + longitude?: number; + } + interface Buildings { + /** The Buildings in this page of results. */ + buildings?: 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; + } + interface 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; + /** Instances of features for the calendar resource. */ + 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; + } + interface CalendarResources { + /** ETag of the resource. */ + etag?: string; + /** The CalendarResources in this page of results. */ + items?: 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; + } + interface 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, which is \`api#channel\`. */ + kind?: string; + /** Additional parameters controlling delivery channel behavior. Optional. */ + params?: { [P in string]: string }; + /** 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 ChromeOsDevice { + /** List of active time ranges (Read-only). */ + activeTimeRanges?: Array<{ + /** Duration of usage in milliseconds. */ + activeTime?: number; + /** Date of usage */ + date?: string; + }>; + /** The asset identifier as noted by an administrator or specified during enrollment. */ + annotatedAssetId?: string; + /** The address or location of the device as noted by the administrator. Maximum length is \`200\` characters. Empty values are allowed. */ + annotatedLocation?: string; + /** The user of the device as noted by the administrator. Maximum length is 100 characters. Empty values are allowed. */ + annotatedUser?: string; + /** (Read-only) The timestamp after which the device will stop receiving Chrome updates or support */ + autoUpdateExpiration?: string; + /** + * The boot mode for the device. The possible values are: * \`Verified\`: The device is running a valid version of the Chrome OS. * \`Dev\`: The devices's developer hardware switch is + * enabled. When booted, the device has a command line shell. For an example of a developer switch, see the [Chromebook developer + * information](https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-series-5-chromebook#TOC-Developer-switch). + */ + bootMode?: string; + /** Information regarding CPU specs in the device. */ + cpuInfo?: Array<{ + /** The CPU architecture. */ + architecture?: string; + /** Information for the Logical CPUs */ + logicalCpus?: Array<{ + /** C-States indicate the power consumption state of the CPU. For more information look at documentation published by the CPU maker. */ + cStates?: Array<{ + /** Name of the state. */ + displayName?: string; + /** Time spent in the state since the last reboot. */ + sessionDuration?: string; + }>; + /** Current frequency the CPU is running at. */ + currentScalingFrequencyKhz?: number; + /** Idle time since last boot. */ + idleDuration?: string; + /** Maximum frequency the CPU is allowed to run at, by policy. */ + maxScalingFrequencyKhz?: number; + }>; + /** The max CPU clock speed in kHz. */ + maxClockSpeedKhz?: number; + /** The CPU model name. */ + model?: string; + }>; + /** Reports of CPU utilization and temperature (Read-only) */ + cpuStatusReports?: Array<{ + /** List of CPU temperature samples. */ + cpuTemperatureInfo?: Array<{ + /** CPU label */ + label?: string; + /** Temperature in Celsius degrees. */ + temperature?: number; + }>; + cpuUtilizationPercentageInfo?: number[]; + /** Date and time the report was received. */ + reportTime?: string; + }>; + /** List of device files to download (Read-only) */ + deviceFiles?: Array<{ + /** Date and time the file was created */ + createTime?: string; + /** File download URL */ + downloadUrl?: string; + /** File name */ + name?: string; + /** File type */ + type?: string; + }>; + /** The unique ID of the Chrome device. */ + deviceId?: string; + /** Reports of disk space and other info about mounted/connected volumes. */ + diskVolumeReports?: Array<{ + /** Disk volumes */ + volumeInfo?: Array<{ + /** Free disk space [in bytes] */ + storageFree?: string; + /** Total disk space [in bytes] */ + storageTotal?: string; + /** Volume id */ + volumeId?: string; + }>; + }>; + /** + * (Read-only) Built-in MAC address for the docking station that the device connected to. Factory sets Media access control address (MAC address) assigned for use by a dock. It is + * reserved specifically for MAC pass through device policy. The format is twelve (12) hexadecimal digits without any delimiter (uppercase letters). This is only relevant for some + * devices. + */ + dockMacAddress?: string; + /** ETag of the resource. */ + etag?: string; + /** The device's MAC address on the ethernet network interface. */ + ethernetMacAddress?: string; + /** + * (Read-only) MAC address used by the Chromebook’s internal ethernet port, and for onboard network (ethernet) interface. The format is twelve (12) hexadecimal digits without any + * delimiter (uppercase letters). This is only relevant for some devices. + */ + ethernetMacAddress0?: string; + /** The Chrome device's firmware version. */ + firmwareVersion?: string; + /** The type of resource. For the Chromeosdevices resource, the value is \`admin#directory#chromeosdevice\`. */ + kind?: string; + /** Date and time the device was last enrolled (Read-only) */ + lastEnrollmentTime?: string; + /** Contains last known network (Read-only) */ + lastKnownNetwork?: Array<{ + /** The IP address. */ + ipAddress?: string; + /** The WAN IP address. */ + wanIpAddress?: string; + }>; + /** Date and time the device was last synchronized with the policy settings in the G Suite administrator control panel (Read-only) */ + lastSync?: string; + /** The device's wireless MAC address. If the device does not have this information, it is not included in the response. */ + macAddress?: string; + /** (Read-only) The date the device was manufactured in yyyy-mm-dd format. */ + manufactureDate?: string; + /** + * The Mobile Equipment Identifier (MEID) or the International Mobile Equipment Identity (IMEI) for the 3G mobile card in a mobile device. A MEID/IMEI is typically used when adding a + * device to a wireless carrier's post-pay service plan. If the device does not have this information, this property is not included in the response. For more information on how to + * export a MEID/IMEI list, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-chrome-devices.html#export_meid). + */ + meid?: string; + /** The device's model information. If the device does not have this information, this property is not included in the response. */ + model?: string; + /** + * Notes about this device added by the administrator. This property can be [searched](https://support.google.com/chrome/a/answer/1698333) with the + * [list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method's \`query\` parameter. Maximum length is 500 characters. Empty values are allowed. + */ + notes?: string; + /** The device's order number. Only devices directly purchased from Google have an order number. */ + orderNumber?: string; + /** + * The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, + * orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. + * For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). + */ + orgUnitId?: string; + /** + * The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level + * organization, it is represented as a forward slash, \`/\`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the + * API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). + */ + orgUnitPath?: string; + /** The Chrome device's operating system version. */ + osVersion?: string; + /** The Chrome device's platform version. */ + platformVersion?: string; + /** List of recent device users, in descending order, by last login time. */ + recentUsers?: Array<{ + /** The user's email address. This is only present if the user type is \`USER_TYPE_MANAGED\`. */ + email?: string; + /** The type of the user. */ + type?: string; + }>; + /** List of screenshot files to download. Type is always "SCREENSHOT_FILE". (Read-only) */ + screenshotFiles?: Array<{ + /** Date and time the file was created */ + createTime?: string; + /** File download URL */ + downloadUrl?: string; + /** File name */ + name?: string; + /** File type */ + type?: string; + }>; + /** The Chrome device serial number entered when the device was enabled. This value is the same as the Admin console's *Serial Number* in the *Chrome OS Devices* tab. */ + serialNumber?: string; + /** The status of the device. */ + status?: string; + /** Final date the device will be supported (Read-only) */ + supportEndDate?: string; + /** Reports of amounts of available RAM memory (Read-only) */ + systemRamFreeReports?: Array<{ + /** Date and time the report was received. */ + reportTime?: string; + systemRamFreeInfo?: string[]; + }>; + /** Total RAM on the device [in bytes] (Read-only) */ + systemRamTotal?: string; + /** Trusted Platform Module (TPM) (Read-only) */ + tpmVersionInfo?: { + /** TPM family. We use the TPM 2.0 style encoding, e.g.: TPM 1.2: "1.2" -> 312e3200 TPM 2.0: "2.0" -> 322e3000 */ + family?: string; + /** TPM firmware version. */ + firmwareVersion?: string; + /** TPM manufacturer code. */ + manufacturer?: string; + /** TPM specification level. See Library Specification for TPM 2.0 and Main Specification for TPM 1.2. */ + specLevel?: string; + /** TPM model number. */ + tpmModel?: string; + /** Vendor-specific information such as Vendor ID. */ + vendorSpecific?: string; + }; + /** Determines if the device will auto renew its support after the support end date. This is a read-only property. */ + willAutoRenew?: boolean; + } + interface ChromeOsDeviceAction { + /** Action to be taken on the Chrome OS device. */ + action?: string; + /** + * Only used when the action is \`deprovision\`. With the \`deprovision\` action, this field is required. *Note*: The deprovision reason is audited because it might have implications on + * licenses for perpetual subscription customers. + */ + deprovisionReason?: string; + } + interface ChromeOsDevices { + /** List of Chrome OS Device objects. */ + chromeosdevices?: ChromeOsDevice[]; + /** ETag of the resource. */ + etag?: string; + /** Kind of resource this is. */ + kind?: string; + /** Token used to access the next page of this result. To access the next page, use this token's value in the \`pageToken\` query string of this request. */ + nextPageToken?: string; + } + interface ChromeOsMoveDevicesToOu { + /** Chrome OS devices to be moved to OU */ + deviceIds?: string[]; + } + interface CreatePrinterRequest { + /** Required. The name of the customer. Format: customers/{customer_id} */ + parent?: string; + /** Required. A printer to create. If you want to place the printer under particular OU then populate printer.org_unit_id filed. Otherwise the printer will be placed under root OU. */ + printer?: Printer; + } + interface 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 Google Workspace account. (Readonly) */ + id?: string; + /** Identifies the resource as a customer. Value: \`admin#directory#customer\` */ + kind?: string; + /** + * The customer's ISO 639-2 language code. See the [Language Codes](/admin-sdk/directory/v1/languages) page for the list of supported codes. Valid language codes outside the supported + * set will be accepted by the API but may lead to unexpected behavior. The default value is \`en\`. + */ + language?: string; + /** The customer's contact phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format. */ + phoneNumber?: string; + /** The customer's postal address information. */ + postalAddress?: CustomerPostalAddress; + } + interface 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](https://www.iso.org/iso/country_codes.htm). */ + 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; + } + interface DirectoryChromeosdevicesCommand { + /** The time at which the command will expire. If the device doesn't execute the command within this time the command will become expired. */ + commandExpireTime?: string; + /** Unique ID of a device command. */ + commandId?: string; + /** The result of the command execution. */ + commandResult?: DirectoryChromeosdevicesCommandResult; + /** The timestamp when the command was issued by the admin. */ + issueTime?: string; + /** The payload that the command specified, if any. */ + payload?: string; + /** Indicates the command state. */ + state?: string; + /** The type of the command. */ + type?: string; + } + interface DirectoryChromeosdevicesCommandResult { + /** The error message with a short explanation as to why the command failed. Only present if the command failed. */ + errorMessage?: string; + /** The time at which the command was executed or failed to execute. */ + executeTime?: string; + /** The result of the command. */ + result?: string; + } + interface DirectoryChromeosdevicesIssueCommandRequest { + /** The type of command. */ + commandType?: string; + /** + * The payload for the command, provide it only if command supports it. The following commands support adding payload: - SET_VOLUME: Payload is a stringified JSON object in the form: { + * "volume": 50 }. The volume has to be an integer in the range [0,100]. + */ + payload?: string; + } + interface DirectoryChromeosdevicesIssueCommandResponse { + /** The unique ID of the issued command, used to retrieve the command status. */ + commandId?: string; + } + interface 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; + } + interface DomainAliases { + /** List of domain alias objects. */ + domainAliases?: DomainAlias[]; + /** ETag of the resource. */ + etag?: string; + /** Kind of resource this is. */ + kind?: string; + } + interface Domains { + /** Creation time of the domain. Expressed in [Unix time](https://en.wikipedia.org/wiki/Epoch_time) format. (Read-only). */ + creationTime?: string; + /** List of domain alias objects. (Read-only) */ + domainAliases?: 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; + } + interface Domains2 { + /** List of domain objects. */ + domains?: Domains[]; + /** ETag of the resource. */ + etag?: string; + /** Kind of resource this is. */ + kind?: string; + } + // tslint:disable-next-line:no-empty-interface + interface Empty { + } + interface FailureInfo { + /** Canonical code for why the update failed to apply. */ + errorCode?: string; + /** Failure reason message. */ + errorMessage?: string; + /** Failed printer. */ + printer?: Printer; + /** Id of a failed printer. */ + printerId?: string; + } + interface Feature { + /** ETag of the resource. */ + etags?: string; + /** Kind of resource this is. */ + kind?: string; + /** The name of the feature. */ + name?: string; + } + interface FeatureInstance { + /** The feature that this is an instance of. A calendar resource may have multiple instances of a feature. */ + feature?: Feature; + } + interface FeatureRename { + /** New name of the feature. */ + newName?: string; + } + interface Features { + /** ETag of the resource. */ + etag?: string; + /** The Features in this page of results. */ + features?: 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; + } + interface Group { + /** Read-only. Value is \`true\` if this group was created by an administrator rather than a user. */ + adminCreated?: boolean; + /** Read-only. A list of a group's alias email addresses. */ + aliases?: string[]; + /** + * An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to + * the group, links to FAQs about the group, or related groups. Maximum length is \`4,096\` characters. + */ + description?: string; + /** + * The number of users that are direct members of the group. If a group is a member (child) of this group (the parent), members of the child group are not counted in the + * \`directMembersCount\` property of the parent group. + */ + directMembersCount?: string; + /** + * The group's email address. If your account has multiple domains, select the appropriate domain for the email address. The \`email\` must be unique. This property is required when + * creating a group. Group email addresses are subject to the same character usage rules as usernames, see the [help center](https://support.google.com/a/answer/9193374) for details. + */ + email?: string; + /** ETag of the resource. */ + etag?: string; + /** Read-only. The unique ID of a group. A group \`id\` can be used as a group request URI's \`groupKey\`. */ + id?: string; + /** The type of the API resource. For Groups resources, the value is \`admin#directory#group\`. */ + kind?: string; + /** The group's display name. */ + name?: string; + /** + * Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the + * group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored by the API service. + */ + nonEditableAliases?: string[]; + } + interface Groups { + /** ETag of the resource. */ + etag?: string; + /** List of group objects. */ + groups?: Group[]; + /** Kind of resource this is. */ + kind?: string; + /** Token used to access next page of this result. */ + nextPageToken?: string; + } + interface ListPrinterModelsResponse { + /** A token, which can be sent as \`page_token\` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ + nextPageToken?: string; + /** Printer models that are currently allowed to be configured for ChromeOs. Some printers may be added or removed over time. */ + printerModels?: PrinterModel[]; + } + interface ListPrintersResponse { + /** A token, which can be sent as \`page_token\` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ + nextPageToken?: string; + /** + * List of printers. If \`org_unit_id\` was given in the request, then only printers visible for this OU will be returned. If \`org_unit_id\` was not given in the request, then all + * printers will be returned. + */ + printers?: Printer[]; + } + interface Member { + /** Defines mail delivery preferences of member. This is only supported by create/update/get. */ + delivery_settings?: string; + /** + * The member's email address. A member can be a user or another group. This property is required when adding a member to a group. The \`email\` must be unique and cannot be an alias of + * another group. If the email address is changed, the API automatically reflects the email address changes. + */ + email?: string; + /** ETag of the resource. */ + etag?: string; + /** The unique ID of the group member. A member \`id\` can be used as a member request URI's \`memberKey\`. */ + id?: string; + /** The type of the API resource. For Members resources, the value is \`admin#directory#member\`. */ + kind?: string; + /** + * The member's role in a group. The API returns an error for cycles in group memberships. For example, if \`group1\` is a member of \`group2\`, \`group2\` cannot be a member of \`group1\`. + * For more information about a member's role, see the [administration help center](https://support.google.com/a/answer/167094). + */ + role?: string; + /** Status of member (Immutable) */ + status?: string; + /** The type of group member. */ + type?: string; + } + interface Members { + /** ETag of the resource. */ + etag?: string; + /** Kind of resource this is. */ + kind?: string; + /** List of member objects. */ + members?: Member[]; + /** Token used to access next page of this result. */ + nextPageToken?: string; + } + interface MembersHasMember { + /** Output only. Identifies whether the given user is a member of the group. Membership can be direct or nested. */ + isMember?: boolean; + } + interface MobileDevice { + /** Adb (USB debugging) enabled or disabled on device (Read-only) */ + adbStatus?: boolean; + /** + * The list of applications installed on an Android mobile device. It is not applicable to Google Sync and iOS devices. The list includes any Android applications that access Google + * Workspace data. When updating an applications list, it is important to note that updates replace the existing list. If the Android device has two existing applications and the API + * updates the list with five applications, the is now the updated list of five applications. + */ + applications?: Array<{ + /** The application's display name. An example is \`Browser\`. */ + displayName?: string; + /** The application's package name. An example is \`com.android.browser\`. */ + packageName?: string; + /** + * The list of permissions of this application. These can be either a standard Android permission or one defined by the application, and are found in an application's [Android + * manifest](https://developer.android.com/guide/topics/manifest/uses-permission-element.html). Examples of a Calendar application's permissions are \`READ_CALENDAR\`, or + * \`MANAGE_ACCOUNTS\`. + */ + permission?: string[]; + /** The application's version code. An example is \`13\`. */ + versionCode?: number; + /** The application's version name. An example is \`3.2-140714\`. */ + versionName?: string; + }>; + /** The device's baseband version. */ + basebandVersion?: string; + /** Mobile Device Bootloader version (Read-only) */ + bootloaderVersion?: string; + /** Mobile Device Brand (Read-only) */ + brand?: string; + /** The device's operating system build number. */ + buildNumber?: string; + /** The default locale used on the device. */ + defaultLanguage?: string; + /** Developer options enabled or disabled on device (Read-only) */ + developerOptionsStatus?: boolean; + /** The compromised device status. */ + deviceCompromisedStatus?: string; + /** The serial number for a Google Sync mobile device. For Android and iOS devices, this is a software generated unique identifier. */ + deviceId?: string; + /** DevicePasswordStatus (Read-only) */ + devicePasswordStatus?: string; + /** + * List of owner's email addresses. If your application needs the current list of user emails, use the [get](/admin-sdk/directory/v1/reference/mobiledevices/get.html) method. For + * additional information, see the [retrieve a user](/admin-sdk/directory/v1/guides/manage-users#get_user) method. + */ + 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; + /** + * The IMEI/MEID unique identifier for Android hardware. It is not applicable to Google Sync devices. When adding an Android mobile device, this is an optional property. When updating + * one of these devices, this is a read-only property. + */ + hardwareId?: string; + /** The device's IMEI number. */ + imei?: string; + /** The device's kernel version. */ + kernelVersion?: string; + /** The type of the API resource. For Mobiledevices resources, the value is \`admin#directory#mobiledevice\`. */ + 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. */ + managedAccountIsOnOwnerProfile?: boolean; + /** Mobile Device manufacturer (Read-only) */ + manufacturer?: string; + /** The device's MEID number. */ + meid?: string; + /** + * The mobile device's model name, for example Nexus S. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more information, see the + * [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile=devices#update_mobile_device). + */ + model?: string; + /** + * List of the owner's user names. If your application needs the current list of device owner names, use the [get](/admin-sdk/directory/v1/reference/mobiledevices/get.html) method. For + * more information about retrieving mobile device user information, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-users#get_user). + */ + name?: string[]; + /** Mobile Device mobile or network operator (if available) (Read-only) */ + networkOperator?: string; + /** + * The mobile device's operating system, for example IOS 4.3 or Android 2.3.5. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more + * information, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile-devices#update_mobile_device). + */ + 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; + /** The unique ID the API service uses to identify the mobile device. */ + resourceId?: string; + /** Mobile Device Security patch level (Read-only) */ + securityPatchLevel?: string; + /** The device's serial number. */ + serialNumber?: string; + /** The device's status. */ + status?: string; + /** Work profile supported on device (Read-only) */ + supportsWorkProfile?: boolean; + /** The type of mobile device. */ + type?: string; + /** Unknown sources enabled or disabled on device (Read-only) */ + unknownSourcesStatus?: boolean; + /** + * Gives information about the device such as \`os\` version. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more information, see the + * [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile-devices#update_mobile_device). + */ + userAgent?: string; + /** The device's MAC address on Wi-Fi networks. */ + wifiMacAddress?: string; + } + interface MobileDeviceAction { + /** The action to be performed on the device. */ + action?: string; + } + interface MobileDevices { + /** ETag of the resource. */ + etag?: string; + /** Kind of resource this is. */ + kind?: string; + /** List of Mobile Device objects. */ + mobiledevices?: MobileDevice[]; + /** Token used to access next page of this result. */ + nextPageToken?: string; + } + interface OrgUnit { + /** + * Determines if a sub-organizational unit can inherit the settings of the parent organization. The default value is \`false\`, meaning a sub-organizational unit inherits the settings of + * the nearest parent organizational unit. For more information on inheritance and users in an organization structure, see the [administration help + * center](https://support.google.com/a/answer/4352075). + */ + blockInheritance?: boolean; + /** Description of the organizational unit. */ + description?: string; + /** ETag of the resource. */ + etag?: string; + /** The type of the API resource. For Orgunits resources, the value is \`admin#directory#orgUnit\`. */ + kind?: string; + /** The organizational unit's path name. For example, an organizational unit's name within the /corp/support/sales_support parent path is sales_support. Required. */ + name?: string; + /** The unique ID of the organizational unit. */ + orgUnitId?: string; + /** + * The full path to the organizational unit. The \`orgUnitPath\` is a derived property. When listed, it is derived from \`parentOrgunitPath\` and organizational unit's \`name\`. For example, + * for an organizational unit named 'apps' under parent organization '/engineering', the orgUnitPath is '/engineering/apps'. In order to edit an \`orgUnitPath\`, either update the name + * of the organization or the \`parentOrgunitPath\`. A user's organizational unit determines which Google Workspace services the user has access to. If the user is moved to a new + * organization, the user's access changes. For more information about organization structures, see the [administration help center](https://support.google.com/a/answer/4352075). For + * more information about moving a user to a different organization, see [Update a user](/admin-sdk/directory/v1/guides/manage-users.html#update_user). + */ + orgUnitPath?: string; + /** The unique ID of the parent organizational unit. Required, unless \`parentOrgUnitPath\` is set. */ + parentOrgUnitId?: string; + /** The organizational unit's parent path. For example, /corp/sales is the parent path for /corp/sales/sales_support organizational unit. Required, unless \`parentOrgUnitId\` is set. */ + parentOrgUnitPath?: string; + } + interface OrgUnits { + /** ETag of the resource. */ + etag?: string; + /** The type of the API resource. For Org Unit resources, the type is \`admin#directory#orgUnits\`. */ + kind?: string; + /** List of organizational unit objects. */ + organizationUnits?: OrgUnit[]; + } + interface Printer { + /** Output only. Auxiliary messages about issues with the printer configuration if any. */ + auxiliaryMessages?: AuxiliaryMessage[]; + /** Output only. Time when printer was created. */ + createTime?: string; + /** Editable. Description of printer. */ + description?: string; + /** Editable. Name of printer. */ + displayName?: string; + /** Id of the printer. (During printer creation leave empty) */ + id?: string; + /** Editable. Make and model of printer. e.g. Lexmark MS610de Value must be in format as seen in ListPrinterModels response. */ + makeAndModel?: string; + /** The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) */ + name?: string; + /** Organization Unit that owns this printer (Only can be set during Printer creation) */ + orgUnitId?: string; + /** Editable. Printer URI. */ + uri?: string; + /** Editable. flag to use driverless configuration or not. If it's set to be true, make_and_model can be ignored */ + useDriverlessConfig?: boolean; + } + interface PrinterModel { + /** Display name. eq. "Brother MFC-8840D" */ + displayName?: string; + /** Make and model as represented in "make_and_model" field in Printer object. eq. "brother mfc-8840d" */ + makeAndModel?: string; + /** Manufacturer. eq. "Brother" */ + manufacturer?: string; + } + interface 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?: 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. This value is returned with [\`Privileges.list()\`](/admin-sdk/directory/v1/reference/privileges/list). */ + serviceId?: string; + /** The name of the service this privilege is for. */ + serviceName?: string; + } + interface Privileges { + /** ETag of the resource. */ + etag?: string; + /** A list of Privilege resources. */ + items?: Privilege[]; + /** The type of the API resource. This is always \`admin#directory#privileges\`. */ + kind?: string; + } + interface 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?: Array<{ + /** The name of the privilege. */ + privilegeName?: string; + /** The obfuscated ID of the service this privilege is for. This value is returned with [\`Privileges.list()\`](/admin-sdk/directory/v1/reference/privileges/list). */ + serviceId?: string; + }>; + } + interface RoleAssignment { + /** + * The unique ID of the entity this role is assigned to—either the \`user_id\` of a user or the \`uniqueId\` of a service account, as defined in [Identity and Access Management + * (IAM)](https://cloud.google.com/iam/docs/reference/rest/v1/projects.serviceAccounts). + */ + 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. */ + scopeType?: string; + } + interface RoleAssignments { + /** ETag of the resource. */ + etag?: string; + /** A list of RoleAssignment resources. */ + items?: RoleAssignment[]; + /** The type of the API resource. This is always \`admin#directory#roleAssignments\`. */ + kind?: string; + nextPageToken?: string; + } + interface Roles { + /** ETag of the resource. */ + etag?: string; + /** A list of Role resources. */ + items?: Role[]; + /** The type of the API resource. This is always \`admin#directory#roles\`. */ + kind?: string; + nextPageToken?: string; + } + interface Schema { + /** Display name for the schema. */ + displayName?: string; + /** The ETag of the resource. */ + etag?: string; + /** A list of fields in the schema. */ + fields?: SchemaFieldSpec[]; + /** Kind of resource this is. */ + kind?: string; + /** The unique identifier of the schema (Read-only) */ + schemaId?: string; + /** The schema's name. Each \`schema_name\` must be unique within a customer. Reusing a name results in a \`409: Entity already exists\` error. */ + schemaName?: string; + } + interface SchemaFieldSpec { + /** Display Name of the field. */ + displayName?: string; + /** The ETag of the field. */ + etag?: string; + /** The unique identifier of the field (Read-only) */ + fieldId?: string; + /** The name of the field. */ + fieldName?: string; + /** The type of the field. */ + fieldType?: string; + /** Boolean specifying whether the field is indexed or not. Default: \`true\`. */ + indexed?: boolean; + /** The kind of resource this is. For schema fields this is always \`admin#directory#schema#fieldspec\`. */ + kind?: string; + /** A boolean specifying whether this is a multi-valued field or not. Default: \`false\`. */ + 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?: { + /** Maximum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant. */ + maxValue?: number; + /** Minimum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant. */ + minValue?: number; + }; + /** + * Specifies who can view values of this field. See [Retrieve users as a non-administrator](/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin) for more information. + * Note: It may take up to 24 hours for changes to this field to be reflected. + */ + readAccessType?: string; + } + interface Schemas { + /** ETag of the resource. */ + etag?: string; + /** Kind of resource this is. */ + kind?: string; + /** List of UserSchema objects. */ + schemas?: Schema[]; + } + interface 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; + } + interface Tokens { + /** ETag of the resource. */ + etag?: string; + /** A list of Token resources. */ + items?: Token[]; + /** The type of the API resource. This is always \`admin#directory#tokenList\`. */ + kind?: string; + } + interface User { + /** A list of the user's addresses. The maximum allowed data size for this field is 10Kb. */ + addresses?: any; + /** Output only. This property is \`true\` if the user has completed an initial login and accepted the Terms of Service agreement. */ + agreedToTerms?: boolean; + /** Output only. A list of the user's alias email addresses. */ + aliases?: string[]; + /** Indicates if user is archived. */ + archived?: boolean; + /** + * Indicates if the user is forced to change their password at next login. This setting doesn't apply when [the user signs in via a third-party identity + * provider](https://support.google.com/a/answer/60224). + */ + changePasswordAtNextLogin?: boolean; + /** User's G Suite account creation time. (Read-only) */ + creationTime?: string; + /** + * Output only. The customer ID to [retrieve all account users](/admin-sdk/directory/v1/guides/manage-users.html#get_all_users). You can use the alias \`my_customer\` to represent your + * account's \`customerId\`. As a reseller administrator, you can use the resold customer account's \`customerId\`. To get a \`customerId\`, use the account's primary domain in the \`domain\` + * parameter of a [users.list](/admin-sdk/directory/v1/reference/users/list) request. + */ + customerId?: string; + /** Custom fields of the user. The key is a \`schema_name\` and its values are \`'field_name': 'field_value'\`. */ + customSchemas?: { [P in string]: UserCustomProperties }; + deletionTime?: string; + /** A list of the user's email addresses. The maximum allowed data size for this field is 10Kb. */ + emails?: any; + /** Output only. ETag of the resource. */ + etag?: string; + /** A list of external IDs for the user, such as an employee or network ID. The maximum allowed data size for this field is 2Kb. */ + externalIds?: any; + /** The user's gender. The maximum allowed data size for this field is 1Kb. */ + gender?: any; + /** + * Stores the hash format of the \`password\` property. The following \`hashFunction\` values are allowed: * \`MD5\` - Accepts simple hex-encoded values. * \`SHA1\` - Accepts simple + * hex-encoded values. * \`crypt\` - Compliant with the [C crypt library](https://en.wikipedia.org/wiki/Crypt_%28C%29). Supports the DES, MD5 (hash prefix \`$1$\`), SHA-256 (hash prefix + * \`$5$\`), and SHA-512 (hash prefix \`$6$\`) hash algorithms. If rounds are specified as part of the prefix, they must be 10,000 or fewer. + */ + hashFunction?: string; + /** The unique ID for the user. A user \`id\` can be used as a user request URI's \`userKey\`. */ + id?: string; + /** + * The user's Instant Messenger (IM) accounts. A user account can have multiple ims properties. But, only one of these ims properties can be the primary IM contact. The maximum allowed + * data size for this field is 2Kb. + */ + ims?: any; + /** + * Indicates if the user's profile is visible in the Google Workspace global address list when the contact sharing feature is enabled for the domain. For more information about + * excluding user profiles, see the [administration help center](https://support.google.com/a/answer/1285988). + */ + includeInGlobalAddressList?: boolean; + /** If \`true\`, the user's IP address is [whitelisted](https://support.google.com/a/answer/60752). */ + ipWhitelisted?: boolean; + /** + * Output only. Indicates a user with super admininistrator privileges. The \`isAdmin\` property can only be edited in the [Make a user an + * administrator](/admin-sdk/directory/v1/guides/manage-users.html#make_admin) operation ( [makeAdmin](/admin-sdk/directory/v1/reference/users/makeAdmin.html) method). If edited in the + * user [insert](/admin-sdk/directory/v1/reference/users/insert.html) or [update](/admin-sdk/directory/v1/reference/users/update.html) methods, the edit is ignored by the API service. + */ + isAdmin?: boolean; + /** + * Output only. Indicates if the user is a delegated administrator. Delegated administrators are supported by the API but cannot create or undelete users, or make users administrators. + * These requests are ignored by the API service. Roles and privileges for administrators are assigned using the [Admin console](https://support.google.com/a/answer/33325). + */ + isDelegatedAdmin?: boolean; + /** Output only. Is 2-step verification enforced (Read-only) */ + isEnforcedIn2Sv?: boolean; + /** Output only. Is enrolled in 2-step verification (Read-only) */ + isEnrolledIn2Sv?: boolean; + /** Output only. Indicates if the user's Google mailbox is created. This property is only applicable if the user has been assigned a Gmail license. */ + isMailboxSetup?: boolean; + /** The user's keywords. The maximum allowed data size for this field is 1Kb. */ + keywords?: any; + /** Output only. The type of the API resource. For Users resources, the value is \`admin#directory#user\`. */ + kind?: string; + /** The user's languages. The maximum allowed data size for this field is 1Kb. */ + languages?: any; + /** User's last login time. (Read-only) */ + lastLoginTime?: string; + /** The user's locations. The maximum allowed data size for this field is 10Kb. */ + locations?: any; + /** + * Holds the given and family names of the user, and the read-only \`fullName\` value. The maximum number of characters in the \`givenName\` and in the \`familyName\` values is 60. In + * addition, name values support unicode/UTF-8 characters, and can contain spaces, letters (a-z), numbers (0-9), dashes (-), forward slashes (/), and periods (.). For more information + * about character usage rules, see the [administration help center](https://support.google.com/a/answer/9193374). Maximum allowed data size for this field is 1Kb. + */ + name?: UserName; + /** Output only. List of the user's non-editable alias email addresses. These are typically outside the account's primary domain or sub-domain. */ + nonEditableAliases?: string[]; + /** Notes for the user. */ + notes?: any; + /** A list of organizations the user belongs to. The maximum allowed data size for this field is 10Kb. */ + organizations?: any; + /** The full path of the parent organization associated with the user. If the parent organization is the top-level, it is represented as a forward slash (\`/\`). */ + orgUnitPath?: string; + /** User's password */ + password?: string; + /** A list of the user's phone numbers. The maximum allowed data size for this field is 1Kb. */ + phones?: any; + /** A list of [POSIX](https://www.opengroup.org/austin/papers/posix_faq.html) account information for the user. */ + posixAccounts?: any; + /** The user's primary email address. This property is required in a request to create a user account. The \`primaryEmail\` must be unique and cannot be an alias of another user. */ + primaryEmail?: string; + /** Recovery email of the user. */ + recoveryEmail?: string; + /** Recovery phone of the user. The phone number must be in the E.164 format, starting with the plus sign (+). Example: *+16506661212*. */ + recoveryPhone?: string; + /** A list of the user's relationships to other users. The maximum allowed data size for this field is 2Kb. */ + relations?: any; + /** A list of SSH public keys. */ + sshPublicKeys?: any; + /** Indicates if user is suspended. */ + suspended?: boolean; + /** + * Output only. Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. The property is returned only if the \`suspended\` property + * is \`true\`. + */ + suspensionReason?: string; + /** Output only. ETag of the user's photo (Read-only) */ + thumbnailPhotoEtag?: string; + /** Output only. Photo Url of the user (Read-only) */ + thumbnailPhotoUrl?: string; + /** The user's websites. The maximum allowed data size for this field is 2Kb. */ + websites?: any; + } + interface 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; + } + interface 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; + } + interface UserCustomProperties { + [key: string]: any; + } + interface 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; + } + interface UserExternalId { + /** Custom type. */ + customType?: string; + /** The type of the Id. */ + type?: string; + /** The value of the id. */ + value?: string; + } + interface 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; + } + interface 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; + } + interface 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; + } + interface UserLanguage { + /** Other language. User can provide their own language name if there is no corresponding ISO 639 language code. If this is set, \`languageCode\` can't be set. */ + customLanguage?: string; + /** + * ISO 639 string representation of a language. See [Language Codes](/admin-sdk/directory/v1/languages) for the list of supported codes. Valid language codes outside the supported set + * will be accepted by the API but may lead to unexpected behavior. Illegal values cause \`SchemaException\`. If this is set, \`customLanguage\` can't be set. + */ + languageCode?: string; + /** + * Optional. If present, controls whether the specified \`languageCode\` is the user's preferred language. If \`customLanguage\` is set, this can't be set. Allowed values are \`preferred\` + * and \`not_preferred\`. + */ + preference?: string; + } + interface 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; + } + interface UserMakeAdmin { + /** Indicates the administrator status of the user. */ + status?: boolean; + } + interface UserName { + /** The user's last name. Required when creating a user account. */ + familyName?: string; + /** The user's full name formed by concatenating the first and last name values. */ + fullName?: string; + /** The user's first name. Required when creating a user account. */ + givenName?: string; + } + interface 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 millipercent 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; + } + interface 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; + } + interface UserPhoto { + /** ETag of the resource. */ + etag?: string; + /** Height of the photo in pixels. */ + height?: number; + /** The ID the API uses to uniquely identify the user. */ + id?: string; + /** The type of the API resource. For Photo resources, this is \`admin#directory#user#photo\`. */ + kind?: string; + /** The MIME type of the photo. Allowed values are \`JPEG\`, \`PNG\`, \`GIF\`, \`BMP\`, \`TIFF\`, and web-safe base64 encoding. */ + mimeType?: string; + /** + * The user photo's upload data in [web-safe Base64](https://en.wikipedia.org/wiki/Base64#URL_applications) format in bytes. This means: * The slash (/) character is replaced with the + * underscore (_) character. * The plus sign (+) character is replaced with the hyphen (-) character. * The equals sign (=) character is replaced with the asterisk (*). * For padding, + * the period (.) character is used instead of the RFC-4648 baseURL definition which uses the equals sign (=) for padding. This is done to simplify URL-parsing. * Whatever the size of + * the photo being uploaded, the API downsizes it to 96x96 pixels. + */ + photoData?: string; + /** The user's primary email address. */ + primaryEmail?: string; + /** Width of the photo in pixels. */ + width?: number; + } + interface UserPosixAccount { + /** A POSIX account field identifier. */ + 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; + } + interface 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; + } + interface 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?: User[]; + } + interface 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; + } + interface UserUndelete { + /** OrgUnit of User */ + orgUnitPath?: string; + } + interface 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; + } + interface 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; + } + interface VerificationCodes { + /** ETag of the resource. */ + etag?: string; + /** A list of verification code resources. */ + items?: VerificationCode[]; + /** The type of the resource. This is always \`admin#directory#verificationCodesList\`. */ + kind?: string; + } + interface ChannelsResource { + /** Stops watching resources through this channel. */ + stop(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Channel; + }): Request; + stop(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Channel): Request; + } + interface CommandsResource { + /** Gets command data a specific command issued to the device. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable. Immutable ID of Chrome OS Device Command. */ + commandId: string; + /** Immutable. Immutable ID of the Google Workspace account. */ + customerId: string; + /** Immutable. Immutable ID of Chrome OS Device. */ + deviceId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + } + interface ChromeosResource { + /** Issues a command for the device to execute. */ + issueCommand(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable. Immutable ID of the Google Workspace account. */ + customerId: string; + /** Immutable. Immutable ID of Chrome OS Device. */ + deviceId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: DirectoryChromeosdevicesIssueCommandRequest; + }): Request; + issueCommand(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable. Immutable ID of the Google Workspace account. */ + customerId: string; + /** Immutable. Immutable ID of Chrome OS Device. */ + deviceId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: DirectoryChromeosdevicesIssueCommandRequest): Request; + commands: CommandsResource; + } + interface DevicesResource { + chromeos: ChromeosResource; + } + interface CustomerResource { + devices: DevicesResource; + } + interface PrintersResource { + /** Creates printers under given Organization Unit. */ + batchCreatePrinters(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Required. The name of the customer. Format: customers/{customer_id} */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: BatchCreatePrintersRequest; + }): Request; + batchCreatePrinters(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Required. The name of the customer. Format: customers/{customer_id} */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: BatchCreatePrintersRequest): Request; + /** Deletes printers in batch. */ + batchDeletePrinters(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Required. The name of the customer. Format: customers/{customer_id} */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: BatchDeletePrintersRequest; + }): Request; + batchDeletePrinters(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Required. The name of the customer. Format: customers/{customer_id} */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: BatchDeletePrintersRequest): Request; + /** Creates a printer under given Organization Unit. */ + create(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Required. The name of the customer. Format: customers/{customer_id} */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Printer; + }): Request; + create(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Required. The name of the customer. Format: customers/{customer_id} */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Printer): Request; + /** Deletes a \`Printer\`. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** Required. The name of the printer to be updated. Format: customers/{customer_id}/chrome/printers/{printer_id} */ + name: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request<{}>; + /** Returns a \`Printer\` resource (printer's config). */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** Required. The name of the printer to retrieve. Format: customers/{customer_id}/chrome/printers/{printer_id} */ + name: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** List printers configs. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Search query. Search syntax is shared between this api and Admin Console printers pages. */ + filter?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** + * The order to sort results by. Must be one of display_name, description, make_and_model, or create_time. Default order is ascending, but descending order can be returned by + * appending "desc" to the order_by field. For instance, "description desc" will return the printers sorted by description in descending order. + */ + orderBy?: string; + /** + * Organization Unit that we want to list the printers for. When org_unit is not present in the request then all printers of the customer are returned (or filtered). When org_unit + * is present in the request then only printers available to this OU will be returned (owned or inherited). You may see if printer is owned or inherited for this OU by looking at + * Printer.org_unit_id. + */ + orgUnitId?: string; + /** The maximum number of objects to return. The service may return fewer than this value. */ + pageSize?: number; + /** A page token, received from a previous call. */ + pageToken?: string; + /** Required. The name of the customer who owns this collection of printers. Format: customers/{customer_id} */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Lists the supported printer models. */ + listPrinterModels(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Filer to list only models by a given manufacturer in format: "manufacturer:Brother". Search syntax is shared between this api and Admin Console printers pages. */ + filter?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** The maximum number of objects to return. The service may return fewer than this value. */ + pageSize?: number; + /** A page token, received from a previous call. */ + pageToken?: string; + /** Required. The name of the customer who owns this collection of printers. Format: customers/{customer_id} */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Updates a \`Printer\` resource. */ + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The list of fields to be cleared. Note, some of the fields are read only and cannot be updated. Values for not specified fields will be patched. */ + clearMask?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) */ + name: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The list of fields to be updated. Note, some of the fields are read only and cannot be updated. Values for not specified fields will be patched. */ + updateMask?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Printer; + }): Request; + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The list of fields to be cleared. Note, some of the fields are read only and cannot be updated. Values for not specified fields will be patched. */ + clearMask?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) */ + name: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The list of fields to be updated. Note, some of the fields are read only and cannot be updated. Values for not specified fields will be patched. */ + updateMask?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Printer): Request; + } + interface ChromeResource { + printers: PrintersResource; + } + interface CustomersResource { + chrome: ChromeResource; + } + + const channels: ChannelsResource; + + const customer: CustomerResource; + + const customers: CustomersResource; + } + namespace directory { + interface Alias { + alias?: string; + etag?: string; + id?: string; + kind?: string; + primaryEmail?: string; + } + interface Aliases { + aliases?: any[]; + etag?: string; + kind?: string; + } + interface Asp { + /** The unique ID of the ASP. */ + codeId?: number; + /** The time when the ASP was created. Expressed in [Unix time](https://en.wikipedia.org/wiki/Epoch_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](https://en.wikipedia.org/wiki/Epoch_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 Asps { + /** ETag of the resource. */ + etag?: string; + /** A list of ASP resources. */ + items?: Asp[]; + /** The type of the API resource. This is always \`admin#directory#aspList\`. */ + kind?: string; + } + interface AuxiliaryMessage { + /** Human readable message in English. Example: "Given printer is invalid or no longer supported." */ + auxiliaryMessage?: string; + /** Field that this message concerns. */ + fieldMask?: string; + /** Message severity */ + severity?: string; + } + interface BatchCreatePrintersRequest { + /** A list of Printers to be created. Max 50 at a time. */ + requests?: CreatePrinterRequest[]; + } + interface BatchCreatePrintersResponse { + /** A list of create failures. Printer IDs are not populated, as printer were not created. */ + failures?: FailureInfo[]; + /** A list of successfully created printers with their IDs populated. */ + printers?: Printer[]; + } + interface BatchDeletePrintersRequest { + /** A list of Printer.id that should be deleted. Max 100 at a time. */ + printerIds?: string[]; + } + interface BatchDeletePrintersResponse { + /** A list of update failures. */ + failedPrinters?: FailureInfo[]; + /** A list of Printer.id that were successfully deleted. */ + printerIds?: string[]; + } + interface Building { + /** + * The postal address of the building. See [\`PostalAddress\`](/my-business/reference/rest/v4/PostalAddress) for details. Note that only a single address line and region code are + * required. + */ + address?: BuildingAddress; + /** 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?: 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; + } + interface BuildingAddress { + /** Unstructured address lines describing the lower levels of an address. */ + addressLines?: string[]; + /** Optional. Highest administrative subdivision which is used for postal addresses of a country or region. */ + administrativeArea?: string; + /** Optional. BCP-47 language code of the contents of this address (if known). */ + 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 addressLines. + */ + locality?: string; + /** Optional. Postal code of the address. */ + postalCode?: string; + /** Required. CLDR region code of the country/region of the address. */ + regionCode?: string; + /** Optional. Sublocality of the address. */ + sublocality?: string; + } + interface BuildingCoordinates { + /** Latitude in decimal degrees. */ + latitude?: number; + /** Longitude in decimal degrees. */ + longitude?: number; + } + interface Buildings { + /** The Buildings in this page of results. */ + buildings?: 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; + } + interface 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; + /** Instances of features for the calendar resource. */ + 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; + } + interface CalendarResources { + /** ETag of the resource. */ + etag?: string; + /** The CalendarResources in this page of results. */ + items?: 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; + } + interface 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, which is \`api#channel\`. */ + kind?: string; + /** Additional parameters controlling delivery channel behavior. Optional. */ + params?: { [P in string]: string }; + /** 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 ChromeOsDevice { + /** List of active time ranges (Read-only). */ + activeTimeRanges?: Array<{ + /** Duration of usage in milliseconds. */ + activeTime?: number; + /** Date of usage */ + date?: string; + }>; + /** The asset identifier as noted by an administrator or specified during enrollment. */ + annotatedAssetId?: string; + /** The address or location of the device as noted by the administrator. Maximum length is \`200\` characters. Empty values are allowed. */ + annotatedLocation?: string; + /** The user of the device as noted by the administrator. Maximum length is 100 characters. Empty values are allowed. */ + annotatedUser?: string; + /** (Read-only) The timestamp after which the device will stop receiving Chrome updates or support */ + autoUpdateExpiration?: string; + /** + * The boot mode for the device. The possible values are: * \`Verified\`: The device is running a valid version of the Chrome OS. * \`Dev\`: The devices's developer hardware switch is + * enabled. When booted, the device has a command line shell. For an example of a developer switch, see the [Chromebook developer + * information](https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-series-5-chromebook#TOC-Developer-switch). + */ + bootMode?: string; + /** Information regarding CPU specs in the device. */ + cpuInfo?: Array<{ + /** The CPU architecture. */ + architecture?: string; + /** Information for the Logical CPUs */ + logicalCpus?: Array<{ + /** C-States indicate the power consumption state of the CPU. For more information look at documentation published by the CPU maker. */ + cStates?: Array<{ + /** Name of the state. */ + displayName?: string; + /** Time spent in the state since the last reboot. */ + sessionDuration?: string; + }>; + /** Current frequency the CPU is running at. */ + currentScalingFrequencyKhz?: number; + /** Idle time since last boot. */ + idleDuration?: string; + /** Maximum frequency the CPU is allowed to run at, by policy. */ + maxScalingFrequencyKhz?: number; + }>; + /** The max CPU clock speed in kHz. */ + maxClockSpeedKhz?: number; + /** The CPU model name. */ + model?: string; + }>; + /** Reports of CPU utilization and temperature (Read-only) */ + cpuStatusReports?: Array<{ + /** List of CPU temperature samples. */ + cpuTemperatureInfo?: Array<{ + /** CPU label */ + label?: string; + /** Temperature in Celsius degrees. */ + temperature?: number; + }>; + cpuUtilizationPercentageInfo?: number[]; + /** Date and time the report was received. */ + reportTime?: string; + }>; + /** List of device files to download (Read-only) */ + deviceFiles?: Array<{ + /** Date and time the file was created */ + createTime?: string; + /** File download URL */ + downloadUrl?: string; + /** File name */ + name?: string; + /** File type */ + type?: string; + }>; + /** The unique ID of the Chrome device. */ + deviceId?: string; + /** Reports of disk space and other info about mounted/connected volumes. */ + diskVolumeReports?: Array<{ + /** Disk volumes */ + volumeInfo?: Array<{ + /** Free disk space [in bytes] */ + storageFree?: string; + /** Total disk space [in bytes] */ + storageTotal?: string; + /** Volume id */ + volumeId?: string; + }>; + }>; + /** + * (Read-only) Built-in MAC address for the docking station that the device connected to. Factory sets Media access control address (MAC address) assigned for use by a dock. It is + * reserved specifically for MAC pass through device policy. The format is twelve (12) hexadecimal digits without any delimiter (uppercase letters). This is only relevant for some + * devices. + */ + dockMacAddress?: string; + /** ETag of the resource. */ + etag?: string; + /** The device's MAC address on the ethernet network interface. */ + ethernetMacAddress?: string; + /** + * (Read-only) MAC address used by the Chromebook’s internal ethernet port, and for onboard network (ethernet) interface. The format is twelve (12) hexadecimal digits without any + * delimiter (uppercase letters). This is only relevant for some devices. + */ + ethernetMacAddress0?: string; + /** The Chrome device's firmware version. */ + firmwareVersion?: string; + /** The type of resource. For the Chromeosdevices resource, the value is \`admin#directory#chromeosdevice\`. */ + kind?: string; + /** Date and time the device was last enrolled (Read-only) */ + lastEnrollmentTime?: string; + /** Contains last known network (Read-only) */ + lastKnownNetwork?: Array<{ + /** The IP address. */ + ipAddress?: string; + /** The WAN IP address. */ + wanIpAddress?: string; + }>; + /** Date and time the device was last synchronized with the policy settings in the G Suite administrator control panel (Read-only) */ + lastSync?: string; + /** The device's wireless MAC address. If the device does not have this information, it is not included in the response. */ + macAddress?: string; + /** (Read-only) The date the device was manufactured in yyyy-mm-dd format. */ + manufactureDate?: string; + /** + * The Mobile Equipment Identifier (MEID) or the International Mobile Equipment Identity (IMEI) for the 3G mobile card in a mobile device. A MEID/IMEI is typically used when adding a + * device to a wireless carrier's post-pay service plan. If the device does not have this information, this property is not included in the response. For more information on how to + * export a MEID/IMEI list, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-chrome-devices.html#export_meid). + */ + meid?: string; + /** The device's model information. If the device does not have this information, this property is not included in the response. */ + model?: string; + /** + * Notes about this device added by the administrator. This property can be [searched](https://support.google.com/chrome/a/answer/1698333) with the + * [list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method's \`query\` parameter. Maximum length is 500 characters. Empty values are allowed. + */ + notes?: string; + /** The device's order number. Only devices directly purchased from Google have an order number. */ + orderNumber?: string; + /** + * The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, + * orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. + * For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). + */ + orgUnitId?: string; + /** + * The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level + * organization, it is represented as a forward slash, \`/\`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the + * API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). + */ + orgUnitPath?: string; + /** The Chrome device's operating system version. */ + osVersion?: string; + /** The Chrome device's platform version. */ + platformVersion?: string; + /** List of recent device users, in descending order, by last login time. */ + recentUsers?: Array<{ + /** The user's email address. This is only present if the user type is \`USER_TYPE_MANAGED\`. */ + email?: string; + /** The type of the user. */ + type?: string; + }>; + /** List of screenshot files to download. Type is always "SCREENSHOT_FILE". (Read-only) */ + screenshotFiles?: Array<{ + /** Date and time the file was created */ + createTime?: string; + /** File download URL */ + downloadUrl?: string; + /** File name */ + name?: string; + /** File type */ + type?: string; + }>; + /** The Chrome device serial number entered when the device was enabled. This value is the same as the Admin console's *Serial Number* in the *Chrome OS Devices* tab. */ + serialNumber?: string; + /** The status of the device. */ + status?: string; + /** Final date the device will be supported (Read-only) */ + supportEndDate?: string; + /** Reports of amounts of available RAM memory (Read-only) */ + systemRamFreeReports?: Array<{ + /** Date and time the report was received. */ + reportTime?: string; + systemRamFreeInfo?: string[]; + }>; + /** Total RAM on the device [in bytes] (Read-only) */ + systemRamTotal?: string; + /** Trusted Platform Module (TPM) (Read-only) */ + tpmVersionInfo?: { + /** TPM family. We use the TPM 2.0 style encoding, e.g.: TPM 1.2: "1.2" -> 312e3200 TPM 2.0: "2.0" -> 322e3000 */ + family?: string; + /** TPM firmware version. */ + firmwareVersion?: string; + /** TPM manufacturer code. */ + manufacturer?: string; + /** TPM specification level. See Library Specification for TPM 2.0 and Main Specification for TPM 1.2. */ + specLevel?: string; + /** TPM model number. */ + tpmModel?: string; + /** Vendor-specific information such as Vendor ID. */ + vendorSpecific?: string; + }; + /** Determines if the device will auto renew its support after the support end date. This is a read-only property. */ + willAutoRenew?: boolean; + } + interface ChromeOsDeviceAction { + /** Action to be taken on the Chrome OS device. */ + action?: string; + /** + * Only used when the action is \`deprovision\`. With the \`deprovision\` action, this field is required. *Note*: The deprovision reason is audited because it might have implications on + * licenses for perpetual subscription customers. + */ + deprovisionReason?: string; + } + interface ChromeOsDevices { + /** List of Chrome OS Device objects. */ + chromeosdevices?: ChromeOsDevice[]; + /** ETag of the resource. */ + etag?: string; + /** Kind of resource this is. */ + kind?: string; + /** Token used to access the next page of this result. To access the next page, use this token's value in the \`pageToken\` query string of this request. */ + nextPageToken?: string; + } + interface ChromeOsMoveDevicesToOu { + /** Chrome OS devices to be moved to OU */ + deviceIds?: string[]; + } + interface CreatePrinterRequest { + /** Required. The name of the customer. Format: customers/{customer_id} */ + parent?: string; + /** Required. A printer to create. If you want to place the printer under particular OU then populate printer.org_unit_id filed. Otherwise the printer will be placed under root OU. */ + printer?: Printer; + } + interface 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 Google Workspace account. (Readonly) */ + id?: string; + /** Identifies the resource as a customer. Value: \`admin#directory#customer\` */ + kind?: string; + /** + * The customer's ISO 639-2 language code. See the [Language Codes](/admin-sdk/directory/v1/languages) page for the list of supported codes. Valid language codes outside the supported + * set will be accepted by the API but may lead to unexpected behavior. The default value is \`en\`. + */ + language?: string; + /** The customer's contact phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format. */ + phoneNumber?: string; + /** The customer's postal address information. */ + postalAddress?: CustomerPostalAddress; + } + interface 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](https://www.iso.org/iso/country_codes.htm). */ + 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; + } + interface DirectoryChromeosdevicesCommand { + /** The time at which the command will expire. If the device doesn't execute the command within this time the command will become expired. */ + commandExpireTime?: string; + /** Unique ID of a device command. */ + commandId?: string; + /** The result of the command execution. */ + commandResult?: DirectoryChromeosdevicesCommandResult; + /** The timestamp when the command was issued by the admin. */ + issueTime?: string; + /** The payload that the command specified, if any. */ + payload?: string; + /** Indicates the command state. */ + state?: string; + /** The type of the command. */ + type?: string; + } + interface DirectoryChromeosdevicesCommandResult { + /** The error message with a short explanation as to why the command failed. Only present if the command failed. */ + errorMessage?: string; + /** The time at which the command was executed or failed to execute. */ + executeTime?: string; + /** The result of the command. */ + result?: string; + } + interface DirectoryChromeosdevicesIssueCommandRequest { + /** The type of command. */ + commandType?: string; + /** + * The payload for the command, provide it only if command supports it. The following commands support adding payload: - SET_VOLUME: Payload is a stringified JSON object in the form: { + * "volume": 50 }. The volume has to be an integer in the range [0,100]. + */ + payload?: string; + } + interface DirectoryChromeosdevicesIssueCommandResponse { + /** The unique ID of the issued command, used to retrieve the command status. */ + commandId?: string; + } + interface 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; + } + interface DomainAliases { + /** List of domain alias objects. */ + domainAliases?: DomainAlias[]; + /** ETag of the resource. */ + etag?: string; + /** Kind of resource this is. */ + kind?: string; + } + interface Domains { + /** Creation time of the domain. Expressed in [Unix time](https://en.wikipedia.org/wiki/Epoch_time) format. (Read-only). */ + creationTime?: string; + /** List of domain alias objects. (Read-only) */ + domainAliases?: 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; + } + interface Domains2 { + /** List of domain objects. */ + domains?: Domains[]; + /** ETag of the resource. */ + etag?: string; + /** Kind of resource this is. */ + kind?: string; + } + // tslint:disable-next-line:no-empty-interface + interface Empty { + } + interface FailureInfo { + /** Canonical code for why the update failed to apply. */ + errorCode?: string; + /** Failure reason message. */ + errorMessage?: string; + /** Failed printer. */ + printer?: Printer; + /** Id of a failed printer. */ + printerId?: string; + } + interface Feature { + /** ETag of the resource. */ + etags?: string; + /** Kind of resource this is. */ + kind?: string; + /** The name of the feature. */ + name?: string; + } + interface FeatureInstance { + /** The feature that this is an instance of. A calendar resource may have multiple instances of a feature. */ + feature?: Feature; + } + interface FeatureRename { + /** New name of the feature. */ + newName?: string; + } + interface Features { + /** ETag of the resource. */ + etag?: string; + /** The Features in this page of results. */ + features?: 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; + } + interface Group { + /** Read-only. Value is \`true\` if this group was created by an administrator rather than a user. */ + adminCreated?: boolean; + /** Read-only. A list of a group's alias email addresses. */ + aliases?: string[]; + /** + * An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to + * the group, links to FAQs about the group, or related groups. Maximum length is \`4,096\` characters. + */ + description?: string; + /** + * The number of users that are direct members of the group. If a group is a member (child) of this group (the parent), members of the child group are not counted in the + * \`directMembersCount\` property of the parent group. + */ + directMembersCount?: string; + /** + * The group's email address. If your account has multiple domains, select the appropriate domain for the email address. The \`email\` must be unique. This property is required when + * creating a group. Group email addresses are subject to the same character usage rules as usernames, see the [help center](https://support.google.com/a/answer/9193374) for details. + */ + email?: string; + /** ETag of the resource. */ + etag?: string; + /** Read-only. The unique ID of a group. A group \`id\` can be used as a group request URI's \`groupKey\`. */ + id?: string; + /** The type of the API resource. For Groups resources, the value is \`admin#directory#group\`. */ + kind?: string; + /** The group's display name. */ + name?: string; + /** + * Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the + * group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored by the API service. + */ + nonEditableAliases?: string[]; + } + interface Groups { + /** ETag of the resource. */ + etag?: string; + /** List of group objects. */ + groups?: Group[]; + /** Kind of resource this is. */ + kind?: string; + /** Token used to access next page of this result. */ + nextPageToken?: string; + } + interface ListPrinterModelsResponse { + /** A token, which can be sent as \`page_token\` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ + nextPageToken?: string; + /** Printer models that are currently allowed to be configured for ChromeOs. Some printers may be added or removed over time. */ + printerModels?: PrinterModel[]; + } + interface ListPrintersResponse { + /** A token, which can be sent as \`page_token\` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ + nextPageToken?: string; + /** + * List of printers. If \`org_unit_id\` was given in the request, then only printers visible for this OU will be returned. If \`org_unit_id\` was not given in the request, then all + * printers will be returned. + */ + printers?: Printer[]; + } + interface Member { + /** Defines mail delivery preferences of member. This is only supported by create/update/get. */ + delivery_settings?: string; + /** + * The member's email address. A member can be a user or another group. This property is required when adding a member to a group. The \`email\` must be unique and cannot be an alias of + * another group. If the email address is changed, the API automatically reflects the email address changes. + */ + email?: string; + /** ETag of the resource. */ + etag?: string; + /** The unique ID of the group member. A member \`id\` can be used as a member request URI's \`memberKey\`. */ + id?: string; + /** The type of the API resource. For Members resources, the value is \`admin#directory#member\`. */ + kind?: string; + /** + * The member's role in a group. The API returns an error for cycles in group memberships. For example, if \`group1\` is a member of \`group2\`, \`group2\` cannot be a member of \`group1\`. + * For more information about a member's role, see the [administration help center](https://support.google.com/a/answer/167094). + */ + role?: string; + /** Status of member (Immutable) */ + status?: string; + /** The type of group member. */ + type?: string; + } + interface Members { + /** ETag of the resource. */ + etag?: string; + /** Kind of resource this is. */ + kind?: string; + /** List of member objects. */ + members?: Member[]; + /** Token used to access next page of this result. */ + nextPageToken?: string; + } + interface MembersHasMember { + /** Output only. Identifies whether the given user is a member of the group. Membership can be direct or nested. */ + isMember?: boolean; + } + interface MobileDevice { + /** Adb (USB debugging) enabled or disabled on device (Read-only) */ + adbStatus?: boolean; + /** + * The list of applications installed on an Android mobile device. It is not applicable to Google Sync and iOS devices. The list includes any Android applications that access Google + * Workspace data. When updating an applications list, it is important to note that updates replace the existing list. If the Android device has two existing applications and the API + * updates the list with five applications, the is now the updated list of five applications. + */ + applications?: Array<{ + /** The application's display name. An example is \`Browser\`. */ + displayName?: string; + /** The application's package name. An example is \`com.android.browser\`. */ + packageName?: string; + /** + * The list of permissions of this application. These can be either a standard Android permission or one defined by the application, and are found in an application's [Android + * manifest](https://developer.android.com/guide/topics/manifest/uses-permission-element.html). Examples of a Calendar application's permissions are \`READ_CALENDAR\`, or + * \`MANAGE_ACCOUNTS\`. + */ + permission?: string[]; + /** The application's version code. An example is \`13\`. */ + versionCode?: number; + /** The application's version name. An example is \`3.2-140714\`. */ + versionName?: string; + }>; + /** The device's baseband version. */ + basebandVersion?: string; + /** Mobile Device Bootloader version (Read-only) */ + bootloaderVersion?: string; + /** Mobile Device Brand (Read-only) */ + brand?: string; + /** The device's operating system build number. */ + buildNumber?: string; + /** The default locale used on the device. */ + defaultLanguage?: string; + /** Developer options enabled or disabled on device (Read-only) */ + developerOptionsStatus?: boolean; + /** The compromised device status. */ + deviceCompromisedStatus?: string; + /** The serial number for a Google Sync mobile device. For Android and iOS devices, this is a software generated unique identifier. */ + deviceId?: string; + /** DevicePasswordStatus (Read-only) */ + devicePasswordStatus?: string; + /** + * List of owner's email addresses. If your application needs the current list of user emails, use the [get](/admin-sdk/directory/v1/reference/mobiledevices/get.html) method. For + * additional information, see the [retrieve a user](/admin-sdk/directory/v1/guides/manage-users#get_user) method. + */ + 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; + /** + * The IMEI/MEID unique identifier for Android hardware. It is not applicable to Google Sync devices. When adding an Android mobile device, this is an optional property. When updating + * one of these devices, this is a read-only property. + */ + hardwareId?: string; + /** The device's IMEI number. */ + imei?: string; + /** The device's kernel version. */ + kernelVersion?: string; + /** The type of the API resource. For Mobiledevices resources, the value is \`admin#directory#mobiledevice\`. */ + 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. */ + managedAccountIsOnOwnerProfile?: boolean; + /** Mobile Device manufacturer (Read-only) */ + manufacturer?: string; + /** The device's MEID number. */ + meid?: string; + /** + * The mobile device's model name, for example Nexus S. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more information, see the + * [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile=devices#update_mobile_device). + */ + model?: string; + /** + * List of the owner's user names. If your application needs the current list of device owner names, use the [get](/admin-sdk/directory/v1/reference/mobiledevices/get.html) method. For + * more information about retrieving mobile device user information, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-users#get_user). + */ + name?: string[]; + /** Mobile Device mobile or network operator (if available) (Read-only) */ + networkOperator?: string; + /** + * The mobile device's operating system, for example IOS 4.3 or Android 2.3.5. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more + * information, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile-devices#update_mobile_device). + */ + 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; + /** The unique ID the API service uses to identify the mobile device. */ + resourceId?: string; + /** Mobile Device Security patch level (Read-only) */ + securityPatchLevel?: string; + /** The device's serial number. */ + serialNumber?: string; + /** The device's status. */ + status?: string; + /** Work profile supported on device (Read-only) */ + supportsWorkProfile?: boolean; + /** The type of mobile device. */ + type?: string; + /** Unknown sources enabled or disabled on device (Read-only) */ + unknownSourcesStatus?: boolean; + /** + * Gives information about the device such as \`os\` version. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more information, see the + * [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile-devices#update_mobile_device). + */ + userAgent?: string; + /** The device's MAC address on Wi-Fi networks. */ + wifiMacAddress?: string; + } + interface MobileDeviceAction { + /** The action to be performed on the device. */ + action?: string; + } + interface MobileDevices { + /** ETag of the resource. */ + etag?: string; + /** Kind of resource this is. */ + kind?: string; + /** List of Mobile Device objects. */ + mobiledevices?: MobileDevice[]; + /** Token used to access next page of this result. */ + nextPageToken?: string; + } + interface OrgUnit { + /** + * Determines if a sub-organizational unit can inherit the settings of the parent organization. The default value is \`false\`, meaning a sub-organizational unit inherits the settings of + * the nearest parent organizational unit. For more information on inheritance and users in an organization structure, see the [administration help + * center](https://support.google.com/a/answer/4352075). + */ + blockInheritance?: boolean; + /** Description of the organizational unit. */ + description?: string; + /** ETag of the resource. */ + etag?: string; + /** The type of the API resource. For Orgunits resources, the value is \`admin#directory#orgUnit\`. */ + kind?: string; + /** The organizational unit's path name. For example, an organizational unit's name within the /corp/support/sales_support parent path is sales_support. Required. */ + name?: string; + /** The unique ID of the organizational unit. */ + orgUnitId?: string; + /** + * The full path to the organizational unit. The \`orgUnitPath\` is a derived property. When listed, it is derived from \`parentOrgunitPath\` and organizational unit's \`name\`. For example, + * for an organizational unit named 'apps' under parent organization '/engineering', the orgUnitPath is '/engineering/apps'. In order to edit an \`orgUnitPath\`, either update the name + * of the organization or the \`parentOrgunitPath\`. A user's organizational unit determines which Google Workspace services the user has access to. If the user is moved to a new + * organization, the user's access changes. For more information about organization structures, see the [administration help center](https://support.google.com/a/answer/4352075). For + * more information about moving a user to a different organization, see [Update a user](/admin-sdk/directory/v1/guides/manage-users.html#update_user). + */ + orgUnitPath?: string; + /** The unique ID of the parent organizational unit. Required, unless \`parentOrgUnitPath\` is set. */ + parentOrgUnitId?: string; + /** The organizational unit's parent path. For example, /corp/sales is the parent path for /corp/sales/sales_support organizational unit. Required, unless \`parentOrgUnitId\` is set. */ + parentOrgUnitPath?: string; + } + interface OrgUnits { + /** ETag of the resource. */ + etag?: string; + /** The type of the API resource. For Org Unit resources, the type is \`admin#directory#orgUnits\`. */ + kind?: string; + /** List of organizational unit objects. */ + organizationUnits?: OrgUnit[]; + } + interface Printer { + /** Output only. Auxiliary messages about issues with the printer configuration if any. */ + auxiliaryMessages?: AuxiliaryMessage[]; + /** Output only. Time when printer was created. */ + createTime?: string; + /** Editable. Description of printer. */ + description?: string; + /** Editable. Name of printer. */ + displayName?: string; + /** Id of the printer. (During printer creation leave empty) */ + id?: string; + /** Editable. Make and model of printer. e.g. Lexmark MS610de Value must be in format as seen in ListPrinterModels response. */ + makeAndModel?: string; + /** The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) */ + name?: string; + /** Organization Unit that owns this printer (Only can be set during Printer creation) */ + orgUnitId?: string; + /** Editable. Printer URI. */ + uri?: string; + /** Editable. flag to use driverless configuration or not. If it's set to be true, make_and_model can be ignored */ + useDriverlessConfig?: boolean; + } + interface PrinterModel { + /** Display name. eq. "Brother MFC-8840D" */ + displayName?: string; + /** Make and model as represented in "make_and_model" field in Printer object. eq. "brother mfc-8840d" */ + makeAndModel?: string; + /** Manufacturer. eq. "Brother" */ + manufacturer?: string; + } + interface 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?: 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. This value is returned with [\`Privileges.list()\`](/admin-sdk/directory/v1/reference/privileges/list). */ + serviceId?: string; + /** The name of the service this privilege is for. */ + serviceName?: string; + } + interface Privileges { + /** ETag of the resource. */ + etag?: string; + /** A list of Privilege resources. */ + items?: Privilege[]; + /** The type of the API resource. This is always \`admin#directory#privileges\`. */ + kind?: string; + } + interface 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?: Array<{ + /** The name of the privilege. */ + privilegeName?: string; + /** The obfuscated ID of the service this privilege is for. This value is returned with [\`Privileges.list()\`](/admin-sdk/directory/v1/reference/privileges/list). */ + serviceId?: string; + }>; + } + interface RoleAssignment { + /** + * The unique ID of the entity this role is assigned to—either the \`user_id\` of a user or the \`uniqueId\` of a service account, as defined in [Identity and Access Management + * (IAM)](https://cloud.google.com/iam/docs/reference/rest/v1/projects.serviceAccounts). + */ + 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. */ + scopeType?: string; + } + interface RoleAssignments { + /** ETag of the resource. */ + etag?: string; + /** A list of RoleAssignment resources. */ + items?: RoleAssignment[]; + /** The type of the API resource. This is always \`admin#directory#roleAssignments\`. */ + kind?: string; + nextPageToken?: string; + } + interface Roles { + /** ETag of the resource. */ + etag?: string; + /** A list of Role resources. */ + items?: Role[]; + /** The type of the API resource. This is always \`admin#directory#roles\`. */ + kind?: string; + nextPageToken?: string; + } + interface Schema { + /** Display name for the schema. */ + displayName?: string; + /** The ETag of the resource. */ + etag?: string; + /** A list of fields in the schema. */ + fields?: SchemaFieldSpec[]; + /** Kind of resource this is. */ + kind?: string; + /** The unique identifier of the schema (Read-only) */ + schemaId?: string; + /** The schema's name. Each \`schema_name\` must be unique within a customer. Reusing a name results in a \`409: Entity already exists\` error. */ + schemaName?: string; + } + interface SchemaFieldSpec { + /** Display Name of the field. */ + displayName?: string; + /** The ETag of the field. */ + etag?: string; + /** The unique identifier of the field (Read-only) */ + fieldId?: string; + /** The name of the field. */ + fieldName?: string; + /** The type of the field. */ + fieldType?: string; + /** Boolean specifying whether the field is indexed or not. Default: \`true\`. */ + indexed?: boolean; + /** The kind of resource this is. For schema fields this is always \`admin#directory#schema#fieldspec\`. */ + kind?: string; + /** A boolean specifying whether this is a multi-valued field or not. Default: \`false\`. */ + 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?: { + /** Maximum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant. */ + maxValue?: number; + /** Minimum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant. */ + minValue?: number; + }; + /** + * Specifies who can view values of this field. See [Retrieve users as a non-administrator](/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin) for more information. + * Note: It may take up to 24 hours for changes to this field to be reflected. + */ + readAccessType?: string; + } + interface Schemas { + /** ETag of the resource. */ + etag?: string; + /** Kind of resource this is. */ + kind?: string; + /** List of UserSchema objects. */ + schemas?: Schema[]; + } + interface 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; + } + interface Tokens { + /** ETag of the resource. */ + etag?: string; + /** A list of Token resources. */ + items?: Token[]; + /** The type of the API resource. This is always \`admin#directory#tokenList\`. */ + kind?: string; + } + interface User { + /** A list of the user's addresses. The maximum allowed data size for this field is 10Kb. */ + addresses?: any; + /** Output only. This property is \`true\` if the user has completed an initial login and accepted the Terms of Service agreement. */ + agreedToTerms?: boolean; + /** Output only. A list of the user's alias email addresses. */ + aliases?: string[]; + /** Indicates if user is archived. */ + archived?: boolean; + /** + * Indicates if the user is forced to change their password at next login. This setting doesn't apply when [the user signs in via a third-party identity + * provider](https://support.google.com/a/answer/60224). + */ + changePasswordAtNextLogin?: boolean; + /** User's G Suite account creation time. (Read-only) */ + creationTime?: string; + /** + * Output only. The customer ID to [retrieve all account users](/admin-sdk/directory/v1/guides/manage-users.html#get_all_users). You can use the alias \`my_customer\` to represent your + * account's \`customerId\`. As a reseller administrator, you can use the resold customer account's \`customerId\`. To get a \`customerId\`, use the account's primary domain in the \`domain\` + * parameter of a [users.list](/admin-sdk/directory/v1/reference/users/list) request. + */ + customerId?: string; + /** Custom fields of the user. The key is a \`schema_name\` and its values are \`'field_name': 'field_value'\`. */ + customSchemas?: { [P in string]: UserCustomProperties }; + deletionTime?: string; + /** A list of the user's email addresses. The maximum allowed data size for this field is 10Kb. */ + emails?: any; + /** Output only. ETag of the resource. */ + etag?: string; + /** A list of external IDs for the user, such as an employee or network ID. The maximum allowed data size for this field is 2Kb. */ + externalIds?: any; + /** The user's gender. The maximum allowed data size for this field is 1Kb. */ + gender?: any; + /** + * Stores the hash format of the \`password\` property. The following \`hashFunction\` values are allowed: * \`MD5\` - Accepts simple hex-encoded values. * \`SHA1\` - Accepts simple + * hex-encoded values. * \`crypt\` - Compliant with the [C crypt library](https://en.wikipedia.org/wiki/Crypt_%28C%29). Supports the DES, MD5 (hash prefix \`$1$\`), SHA-256 (hash prefix + * \`$5$\`), and SHA-512 (hash prefix \`$6$\`) hash algorithms. If rounds are specified as part of the prefix, they must be 10,000 or fewer. + */ + hashFunction?: string; + /** The unique ID for the user. A user \`id\` can be used as a user request URI's \`userKey\`. */ + id?: string; + /** + * The user's Instant Messenger (IM) accounts. A user account can have multiple ims properties. But, only one of these ims properties can be the primary IM contact. The maximum allowed + * data size for this field is 2Kb. + */ + ims?: any; + /** + * Indicates if the user's profile is visible in the Google Workspace global address list when the contact sharing feature is enabled for the domain. For more information about + * excluding user profiles, see the [administration help center](https://support.google.com/a/answer/1285988). + */ + includeInGlobalAddressList?: boolean; + /** If \`true\`, the user's IP address is [whitelisted](https://support.google.com/a/answer/60752). */ + ipWhitelisted?: boolean; + /** + * Output only. Indicates a user with super admininistrator privileges. The \`isAdmin\` property can only be edited in the [Make a user an + * administrator](/admin-sdk/directory/v1/guides/manage-users.html#make_admin) operation ( [makeAdmin](/admin-sdk/directory/v1/reference/users/makeAdmin.html) method). If edited in the + * user [insert](/admin-sdk/directory/v1/reference/users/insert.html) or [update](/admin-sdk/directory/v1/reference/users/update.html) methods, the edit is ignored by the API service. + */ + isAdmin?: boolean; + /** + * Output only. Indicates if the user is a delegated administrator. Delegated administrators are supported by the API but cannot create or undelete users, or make users administrators. + * These requests are ignored by the API service. Roles and privileges for administrators are assigned using the [Admin console](https://support.google.com/a/answer/33325). + */ + isDelegatedAdmin?: boolean; + /** Output only. Is 2-step verification enforced (Read-only) */ + isEnforcedIn2Sv?: boolean; + /** Output only. Is enrolled in 2-step verification (Read-only) */ + isEnrolledIn2Sv?: boolean; + /** Output only. Indicates if the user's Google mailbox is created. This property is only applicable if the user has been assigned a Gmail license. */ + isMailboxSetup?: boolean; + /** The user's keywords. The maximum allowed data size for this field is 1Kb. */ + keywords?: any; + /** Output only. The type of the API resource. For Users resources, the value is \`admin#directory#user\`. */ + kind?: string; + /** The user's languages. The maximum allowed data size for this field is 1Kb. */ + languages?: any; + /** User's last login time. (Read-only) */ + lastLoginTime?: string; + /** The user's locations. The maximum allowed data size for this field is 10Kb. */ + locations?: any; + /** + * Holds the given and family names of the user, and the read-only \`fullName\` value. The maximum number of characters in the \`givenName\` and in the \`familyName\` values is 60. In + * addition, name values support unicode/UTF-8 characters, and can contain spaces, letters (a-z), numbers (0-9), dashes (-), forward slashes (/), and periods (.). For more information + * about character usage rules, see the [administration help center](https://support.google.com/a/answer/9193374). Maximum allowed data size for this field is 1Kb. + */ + name?: UserName; + /** Output only. List of the user's non-editable alias email addresses. These are typically outside the account's primary domain or sub-domain. */ + nonEditableAliases?: string[]; + /** Notes for the user. */ + notes?: any; + /** A list of organizations the user belongs to. The maximum allowed data size for this field is 10Kb. */ + organizations?: any; + /** The full path of the parent organization associated with the user. If the parent organization is the top-level, it is represented as a forward slash (\`/\`). */ + orgUnitPath?: string; + /** User's password */ + password?: string; + /** A list of the user's phone numbers. The maximum allowed data size for this field is 1Kb. */ + phones?: any; + /** A list of [POSIX](https://www.opengroup.org/austin/papers/posix_faq.html) account information for the user. */ + posixAccounts?: any; + /** The user's primary email address. This property is required in a request to create a user account. The \`primaryEmail\` must be unique and cannot be an alias of another user. */ + primaryEmail?: string; + /** Recovery email of the user. */ + recoveryEmail?: string; + /** Recovery phone of the user. The phone number must be in the E.164 format, starting with the plus sign (+). Example: *+16506661212*. */ + recoveryPhone?: string; + /** A list of the user's relationships to other users. The maximum allowed data size for this field is 2Kb. */ + relations?: any; + /** A list of SSH public keys. */ + sshPublicKeys?: any; + /** Indicates if user is suspended. */ + suspended?: boolean; + /** + * Output only. Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. The property is returned only if the \`suspended\` property + * is \`true\`. + */ + suspensionReason?: string; + /** Output only. ETag of the user's photo (Read-only) */ + thumbnailPhotoEtag?: string; + /** Output only. Photo Url of the user (Read-only) */ + thumbnailPhotoUrl?: string; + /** The user's websites. The maximum allowed data size for this field is 2Kb. */ + websites?: any; + } + interface 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; + } + interface 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; + } + interface UserCustomProperties { + [key: string]: any; + } + interface 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; + } + interface UserExternalId { + /** Custom type. */ + customType?: string; + /** The type of the Id. */ + type?: string; + /** The value of the id. */ + value?: string; + } + interface 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; + } + interface 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; + } + interface 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; + } + interface UserLanguage { + /** Other language. User can provide their own language name if there is no corresponding ISO 639 language code. If this is set, \`languageCode\` can't be set. */ + customLanguage?: string; + /** + * ISO 639 string representation of a language. See [Language Codes](/admin-sdk/directory/v1/languages) for the list of supported codes. Valid language codes outside the supported set + * will be accepted by the API but may lead to unexpected behavior. Illegal values cause \`SchemaException\`. If this is set, \`customLanguage\` can't be set. + */ + languageCode?: string; + /** + * Optional. If present, controls whether the specified \`languageCode\` is the user's preferred language. If \`customLanguage\` is set, this can't be set. Allowed values are \`preferred\` + * and \`not_preferred\`. + */ + preference?: string; + } + interface 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; + } + interface UserMakeAdmin { + /** Indicates the administrator status of the user. */ + status?: boolean; + } + interface UserName { + /** The user's last name. Required when creating a user account. */ + familyName?: string; + /** The user's full name formed by concatenating the first and last name values. */ + fullName?: string; + /** The user's first name. Required when creating a user account. */ + givenName?: string; + } + interface 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 millipercent 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; + } + interface 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; + } + interface UserPhoto { + /** ETag of the resource. */ + etag?: string; + /** Height of the photo in pixels. */ + height?: number; + /** The ID the API uses to uniquely identify the user. */ + id?: string; + /** The type of the API resource. For Photo resources, this is \`admin#directory#user#photo\`. */ + kind?: string; + /** The MIME type of the photo. Allowed values are \`JPEG\`, \`PNG\`, \`GIF\`, \`BMP\`, \`TIFF\`, and web-safe base64 encoding. */ + mimeType?: string; + /** + * The user photo's upload data in [web-safe Base64](https://en.wikipedia.org/wiki/Base64#URL_applications) format in bytes. This means: * The slash (/) character is replaced with the + * underscore (_) character. * The plus sign (+) character is replaced with the hyphen (-) character. * The equals sign (=) character is replaced with the asterisk (*). * For padding, + * the period (.) character is used instead of the RFC-4648 baseURL definition which uses the equals sign (=) for padding. This is done to simplify URL-parsing. * Whatever the size of + * the photo being uploaded, the API downsizes it to 96x96 pixels. + */ + photoData?: string; + /** The user's primary email address. */ + primaryEmail?: string; + /** Width of the photo in pixels. */ + width?: number; + } + interface UserPosixAccount { + /** A POSIX account field identifier. */ + 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; + } + interface 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; + } + interface 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?: User[]; + } + interface 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; + } + interface UserUndelete { + /** OrgUnit of User */ + orgUnitPath?: string; + } + interface 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; + } + interface 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; + } + interface VerificationCodes { + /** ETag of the resource. */ + etag?: string; + /** A list of verification code resources. */ + items?: VerificationCode[]; + /** The type of the resource. This is always \`admin#directory#verificationCodesList\`. */ + kind?: string; + } + interface AspsResource { + /** Deletes an ASP issued by a user. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID of the ASP to be deleted. */ + codeId: number; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }): Request; + /** Gets information about an ASP issued by a user. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID of the ASP. */ + codeId: number; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }): Request; + /** Lists the ASPs issued by a user. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }): Request; + } + interface ChromeosdevicesResource { + /** + * Takes an action that affects a Chrome OS Device. This includes deprovisioning, disabling, and re-enabling devices. *Warning:* * Deprovisioning a device will stop device policy + * syncing and remove device-level printers. After a device is deprovisioned, it must be wiped before it can be re-enrolled. * Lost or stolen devices should use the disable action. * + * Re-enabling a disabled device will consume a device license. If you do not have sufficient licenses available when completing the re-enable action, you will receive an error. For + * more information about deprovisioning and disabling devices, visit the [help center](https://support.google.com/chrome/a/answer/3523633). + */ + action(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The unique ID of the device. The \`resourceId\`s are returned in the response from the [chromeosdevices.list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method. */ + resourceId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: ChromeOsDeviceAction; + }): Request; + action(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The unique ID of the device. The \`resourceId\`s are returned in the response from the [chromeosdevices.list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method. */ + resourceId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: ChromeOsDeviceAction): Request; + /** Retrieves a Chrome OS device's properties. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** The unique ID of the device. The \`deviceId\`s are returned in the response from the [chromeosdevices.list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method. */ + deviceId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Determines whether the response contains the full list of properties or only a subset. */ + projection?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Retrieves a paginated list of Chrome OS devices within an account. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Return devices from all child orgunits, as well as the specified org unit. If this is set to true 'orgUnitPath' must be provided. */ + includeChildOrgunits?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** Maximum number of results to return. */ + maxResults?: number; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Device property to use for sorting results. */ + orderBy?: string; + /** The full path of the organizational unit (minus the leading \`/\`) or its unique ID. */ + orgUnitPath?: string; + /** + * The \`pageToken\` query parameter is used to request the next page of query results. The follow-on request's \`pageToken\` query parameter is the \`nextPageToken\` from your previous + * response. + */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Restrict information returned to a set of selected fields. */ + projection?: string; + /** Search string in the format given at https://developers.google.com/admin-sdk/directory/v1/list-query-operators */ + query?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether to return results in ascending or descending order. Must be used with the \`orderBy\` parameter. */ + sortOrder?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Moves or inserts multiple Chrome OS devices to an organizational unit. You can move up to 50 devices at once. */ + moveDevicesToOu(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Full path of the target organizational unit or its ID */ + orgUnitPath: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: ChromeOsMoveDevicesToOu; + }): Request; + moveDevicesToOu(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Full path of the target organizational unit or its ID */ + orgUnitPath: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: ChromeOsMoveDevicesToOu): Request; + /** + * Updates a device's updatable properties, such as \`annotatedUser\`, \`annotatedLocation\`, \`notes\`, \`orgUnitPath\`, or \`annotatedAssetId\`. This method supports [patch + * semantics](/admin-sdk/directory/v1/guides/performance#patch). + */ + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** The unique ID of the device. The \`deviceId\`s are returned in the response from the [chromeosdevices.list](/admin-sdk/v1/reference/chromeosdevices/list) method. */ + deviceId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Restrict information returned to a set of selected fields. */ + projection?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: ChromeOsDevice; + }): Request; + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** The unique ID of the device. The \`deviceId\`s are returned in the response from the [chromeosdevices.list](/admin-sdk/v1/reference/chromeosdevices/list) method. */ + deviceId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Restrict information returned to a set of selected fields. */ + projection?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: ChromeOsDevice): Request; + /** Updates a device's updatable properties, such as \`annotatedUser\`, \`annotatedLocation\`, \`notes\`, \`orgUnitPath\`, or \`annotatedAssetId\`. */ + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** The unique ID of the device. The \`deviceId\`s are returned in the response from the [chromeosdevices.list](/admin-sdk/v1/reference/chromeosdevices/list) method. */ + deviceId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Restrict information returned to a set of selected fields. */ + projection?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: ChromeOsDevice; + }): Request; + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** The unique ID of the device. The \`deviceId\`s are returned in the response from the [chromeosdevices.list](/admin-sdk/v1/reference/chromeosdevices/list) method. */ + deviceId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Restrict information returned to a set of selected fields. */ + projection?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: ChromeOsDevice): Request; + } + interface CustomersResource { + /** Retrieves a customer. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Id of the customer to be retrieved */ + customerKey: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Patches a customer. */ + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Id of the customer to be updated */ + customerKey: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Customer; + }): Request; + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Id of the customer to be updated */ + customerKey: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Customer): Request; + /** Updates a customer. */ + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Id of the customer to be updated */ + customerKey: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Customer; + }): Request; + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Id of the customer to be updated */ + customerKey: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Customer): Request; + } + interface DomainAliasesResource { + /** Deletes a domain Alias of the customer. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Name of domain alias to be retrieved. */ + domainAliasName: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Retrieves a domain alias of the customer. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Name of domain alias to be retrieved. */ + domainAliasName: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Inserts a domain alias of the customer. */ + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: DomainAlias; + }): Request; + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: DomainAlias): Request; + /** Lists the domain aliases of the customer. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Name of the parent domain for which domain aliases are to be fetched. */ + parentDomainName?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + } + interface DomainsResource { + /** Deletes a domain of the customer. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Name of domain to be deleted */ + domainName: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Retrieves a domain of the customer. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Name of domain to be retrieved */ + domainName: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Inserts a domain of the customer. */ + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Domains; + }): Request; + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Domains): Request; + /** Lists the domains of the customer. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + } + interface AliasesResource { + /** Removes an alias. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** The alias to be removed */ + alias: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Adds an alias for the group. */ + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Alias; + }): Request; + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Alias): Request; + /** Lists all aliases for a group. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + } + interface GroupsResource { + /** Deletes a group. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Retrieves a group's properties. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Creates a group. */ + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Group; + }): Request; + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Group): Request; + /** Retrieves all groups of a domain or of a user given a userKey (paginated). */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. In case of a multi-domain account, to fetch all groups for a customer, fill in this field instead of \`domain\`. You can + * also use the \`my_customer\` alias to represent your account's \`customerId\`. The \`customerId\` is also returned as part of the [Users](/admin-sdk/directory/v1/reference/users) + * resource. Either the \`customer\` or the \`domain\` parameter must be provided. + */ + customer?: string; + /** The domain name. Use this field to get groups from only one domain. To return all domains for a customer account, use the \`customer\` query parameter instead. */ + domain?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** Maximum number of results to return. Max allowed value is 200. */ + maxResults?: number; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Column to use for sorting results */ + orderBy?: string; + /** Token to specify next page in the list */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** 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; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether to return results in ascending or descending order. Only of use when orderBy is also used */ + sortOrder?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Email or immutable ID of the user if only those groups are to be listed, the given user is a member of. If it's an ID, it should match with the ID of the user object. */ + userKey?: string; + }): Request; + /** Updates a group's properties. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). */ + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Group; + }): Request; + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Group): Request; + /** Updates a group's properties. */ + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Group; + }): Request; + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Group): Request; + aliases: AliasesResource; + } + interface MembersResource { + /** Removes a member from a group. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** + * Identifies the group member in the API request. A group member can be a user or another group. The value can be the member's (group or user) primary email address, alias, or + * unique ID. + */ + memberKey: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Retrieves a group member's properties. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** + * Identifies the group member in the API request. A group member can be a user or another group. The value can be the member's (group or user) primary email address, alias, or + * unique ID. + */ + memberKey: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Checks whether the given user is a member of the group. Membership can be direct or nested. */ + hasMember(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Adds a user to the specified group. */ + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Member; + }): Request; + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Member): Request; + /** Retrieves a paginated list of all members in a group. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** Whether to list indirect memberships. Default: false. */ + includeDerivedMembership?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** Maximum number of results to return. Max allowed value is 200. */ + maxResults?: number; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Token to specify next page in the list. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The \`roles\` query parameter allows you to retrieve group members by role. Allowed values are \`OWNER\`, \`MANAGER\`, and \`MEMBER\`. */ + roles?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Updates the membership properties of a user in the specified group. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). */ + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** + * Identifies the group member in the API request. A group member can be a user or another group. The value can be the member's (group or user) primary email address, alias, or + * unique ID. + */ + memberKey: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Member; + }): Request; + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** + * Identifies the group member in the API request. A group member can be a user or another group. The value can be the member's (group or user) primary email address, alias, or + * unique ID. + */ + memberKey: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Member): Request; + /** Updates the membership of a user in the specified group. */ + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** + * Identifies the group member in the API request. A group member can be a user or another group. The value can be the member's (group or user) primary email address, alias, or + * unique ID. + */ + memberKey: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Member; + }): Request; + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** + * Identifies the group member in the API request. A group member can be a user or another group. The value can be the member's (group or user) primary email address, alias, or + * unique ID. + */ + memberKey: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Member): Request; + } + interface MobiledevicesResource { + /** Takes an action that affects a mobile device. For example, remotely wiping a device. */ + action(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The unique ID the API service uses to identify the mobile device. */ + resourceId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: MobileDeviceAction; + }): Request; + action(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The unique ID the API service uses to identify the mobile device. */ + resourceId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: MobileDeviceAction): Request; + /** Removes a mobile device. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The unique ID the API service uses to identify the mobile device. */ + resourceId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Retrieves a mobile device's properties. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Restrict information returned to a set of selected fields. */ + projection?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The unique ID the API service uses to identify the mobile device. */ + resourceId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** + * Retrieves a paginated list of all user-owned mobile devices for an account. To retrieve a list that includes company-owned devices, use the Cloud Identity [Devices + * API](https://cloud.google.com/identity/docs/concepts/overview-devices) instead. + */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** Maximum number of results to return. Max allowed value is 100. */ + maxResults?: number; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Device property to use for sorting results. */ + orderBy?: string; + /** Token to specify next page in the list */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Restrict information returned to a set of selected fields. */ + projection?: string; + /** Search string in the format given at https://developers.google.com/admin-sdk/directory/v1/search-operators */ + query?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether to return results in ascending or descending order. Must be used with the \`orderBy\` parameter. */ + sortOrder?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + } + interface OrgunitsResource { + /** Removes an organizational unit. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** The full path of the organizational unit (minus the leading \`/\`) or its unique ID. */ + orgUnitPath: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Retrieves an organizational unit. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** The full path of the organizational unit (minus the leading \`/\`) or its unique ID. */ + orgUnitPath: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Adds an organizational unit. */ + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: OrgUnit; + }): Request; + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: OrgUnit): Request; + /** Retrieves a list of all organizational units for an account. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** The full path to the organizational unit or its unique ID. Returns the children of the specified organizational unit. */ + orgUnitPath?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether to return all sub-organizations or just immediate children. */ + type?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Updates an organizational unit. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch) */ + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** The full path of the organizational unit (minus the leading \`/\`) or its unique ID. */ + orgUnitPath: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: OrgUnit; + }): Request; + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** The full path of the organizational unit (minus the leading \`/\`) or its unique ID. */ + orgUnitPath: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: OrgUnit): Request; + /** Updates an organizational unit. */ + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** The full path of the organizational unit (minus the leading \`/\`) or its unique ID. */ + orgUnitPath: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: OrgUnit; + }): Request; + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's \`customerId\`. The + * \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** The full path of the organizational unit (minus the leading \`/\`) or its unique ID. */ + orgUnitPath: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: OrgUnit): Request; + } + interface PrivilegesResource { + /** Retrieves a paginated list of all privileges for a customer. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + } + interface BuildingsResource { + /** Deletes a building. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** The id of the building to delete. */ + buildingId: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Retrieves a building. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** The unique ID of the building to retrieve. */ + buildingId: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Inserts a building. */ + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Source from which Building.coordinates are derived. */ + coordinatesSource?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Building; + }): Request; + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Source from which Building.coordinates are derived. */ + coordinatesSource?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Building): Request; + /** Retrieves a list of buildings for an account. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** Maximum number of results to return. */ + maxResults?: number; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Token to specify the next page in the list. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Patches a building. */ + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** The id of the building to update. */ + buildingId: string; + /** JSONP */ + callback?: string; + /** Source from which Building.coordinates are derived. */ + coordinatesSource?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Building; + }): Request; + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** The id of the building to update. */ + buildingId: string; + /** JSONP */ + callback?: string; + /** Source from which Building.coordinates are derived. */ + coordinatesSource?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Building): Request; + /** Updates a building. */ + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** The id of the building to update. */ + buildingId: string; + /** JSONP */ + callback?: string; + /** Source from which Building.coordinates are derived. */ + coordinatesSource?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Building; + }): Request; + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** The id of the building to update. */ + buildingId: string; + /** JSONP */ + callback?: string; + /** Source from which Building.coordinates are derived. */ + coordinatesSource?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Building): Request; + } + interface CalendarsResource { + /** Deletes a calendar resource. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** The unique ID of the calendar resource to delete. */ + calendarResourceId: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Retrieves a calendar resource. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** The unique ID of the calendar resource to retrieve. */ + calendarResourceId: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Inserts a calendar resource. */ + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: CalendarResource; + }): Request; + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: CalendarResource): Request; + /** Retrieves a list of calendar resources for an account. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** Maximum number of results to return. */ + maxResults?: number; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** + * 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; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** + * 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, '!=' for mismatch and ':' for prefix match or HAS match where applicable. For prefix match, the value should always be followed by a *. + * Logical operators NOT and AND are supported (in this order of precedence). Supported fields include \`generatedResourceName\`, \`name\`, \`buildingId\`, \`floor_name\`, \`capacity\`, + * \`featureInstances.feature.name\`, \`resourceEmail\`, \`resourceCategory\`. For example \`buildingId=US-NYC-9TH AND featureInstances.feature.name:Phone\`. + */ + query?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Patches a calendar resource. */ + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** The unique ID of the calendar resource to update. */ + calendarResourceId: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: CalendarResource; + }): Request; + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** The unique ID of the calendar resource to update. */ + calendarResourceId: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: CalendarResource): Request; + /** + * 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. + */ + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** The unique ID of the calendar resource to update. */ + calendarResourceId: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: CalendarResource; + }): Request; + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** The unique ID of the calendar resource to update. */ + calendarResourceId: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: CalendarResource): Request; + } + interface FeaturesResource { + /** Deletes a feature. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Retrieves a feature. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Inserts a feature. */ + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Feature; + }): Request; + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Feature): Request; + /** Retrieves a list of features for an account. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** Maximum number of results to return. */ + maxResults?: number; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Token to specify the next page in the list. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Patches a feature. */ + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Feature; + }): Request; + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Feature): Request; + /** Renames a feature. */ + rename(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** The unique ID of the feature to rename. */ + oldName: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: FeatureRename; + }): Request; + rename(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the \`my_customer\` alias to represent your account's customer ID. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** The unique ID of the feature to rename. */ + oldName: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: FeatureRename): Request; + /** Updates a feature. */ + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Feature; + }): Request; + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The unique ID for the customer's Google Workspace 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Feature): Request; + } + interface ResourcesResource { + buildings: BuildingsResource; + calendars: CalendarsResource; + features: FeaturesResource; + } + interface RoleAssignmentsResource { + /** Deletes a role assignment. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Immutable ID of the role assignment. */ + roleAssignmentId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Retrieves a role assignment. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Immutable ID of the role assignment. */ + roleAssignmentId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Creates a role assignment. */ + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: RoleAssignment; + }): Request; + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: RoleAssignment): Request; + /** Retrieves a paginated list of all roleAssignments. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** Maximum number of results to return. */ + maxResults?: number; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Token to specify the next page in the list. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Immutable ID of a role. If included in the request, returns only role assignments containing this role ID. */ + roleId?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }): Request; + } + interface RolesResource { + /** Deletes a role. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Immutable ID of the role. */ + roleId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Retrieves a role. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Immutable ID of the role. */ + roleId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Creates a role. */ + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Role; + }): Request; + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Role): Request; + /** Retrieves a paginated list of all the roles in a domain. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** Maximum number of results to return. */ + maxResults?: number; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Token to specify the next page in the list. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Patches a role. */ + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Immutable ID of the role. */ + roleId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Role; + }): Request; + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Immutable ID of the role. */ + roleId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Role): Request; + /** Updates a role. */ + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Immutable ID of the role. */ + roleId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Role; + }): Request; + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customer: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Immutable ID of the role. */ + roleId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Role): Request; + } + interface SchemasResource { + /** Deletes a schema. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Name or immutable ID of the schema. */ + schemaKey: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Retrieves a schema. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Name or immutable ID of the schema. */ + schemaKey: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Creates a schema. */ + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Schema; + }): Request; + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Schema): Request; + /** Retrieves all schemas for a customer. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): Request; + /** Patches a schema. */ + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Name or immutable ID of the schema. */ + schemaKey: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Schema; + }): Request; + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Name or immutable ID of the schema. */ + schemaKey: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Schema): Request; + /** Updates a schema. */ + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Name or immutable ID of the schema. */ + schemaKey: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Schema; + }): Request; + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace account. */ + customerId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Name or immutable ID of the schema. */ + schemaKey: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Schema): Request; + } + interface TokensResource { + /** Deletes all access tokens issued by a user for an application. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The Client ID of the application the token is issued to. */ + clientId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }): Request; + /** Gets information about an access token issued by a user. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** The Client ID of the application the token is issued to. */ + clientId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }): Request; + /** Returns the set of tokens specified user has issued to 3rd party applications. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }): Request; + } + interface TwoStepVerificationResource { + /** Turns off 2-Step Verification for user. */ + turnOff(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }): Request; + } + interface AliasesResource { + /** Removes an alias. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** The alias to be removed. */ + alias: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }): Request; + /** Adds an alias. */ + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + /** Request body */ + resource: Alias; + }): Request; + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }, + body: Alias): Request; + /** Lists all aliases for a user. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Events to watch for. */ + event?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }): Request; + /** Watches for changes in users list. */ + watch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Events to watch for. */ + event?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Email or immutable ID of the user */ + userKey: string; + /** Request body */ + resource: Channel; + }): Request; + watch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Events to watch for. */ + event?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Email or immutable ID of the user */ + userKey: string; + }, + body: Channel): Request; + } + interface PhotosResource { + /** Removes the user's photo. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }): Request; + /** Retrieves the user's photo. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }): Request; + /** Adds a photo for the user. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). */ + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + /** Request body */ + resource: UserPhoto; + }): Request; + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }, + body: UserPhoto): Request; + /** Adds a photo for the user. */ + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + /** Request body */ + resource: UserPhoto; + }): Request; + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }, + body: UserPhoto): Request; + } + interface UsersResource { + /** Deletes a user. */ + delete(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }): Request; + /** Retrieves a user. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** A comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when \`projection=custom\`. */ + customFieldMask?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** What subset of fields to fetch for this user. */ + projection?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + /** + * Whether to fetch the administrator-only or domain-wide public view of the user. For more information, see [Retrieve a user as a + * non-administrator](/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin). + */ + viewType?: string; + }): Request; + /** Creates a user. */ + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: User; + }): Request; + insert(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: User): Request; + /** Retrieves a paginated list of either deleted users or all users in a domain. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * The unique ID for the customer's Google Workspace account. In case of a multi-domain account, to fetch all groups for a customer, fill this field instead of domain. You can also + * use the \`my_customer\` alias to represent your account's \`customerId\`. The \`customerId\` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). + * Either the \`customer\` or the \`domain\` parameter must be provided. + */ + customer?: string; + /** A comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when \`projection=custom\`. */ + customFieldMask?: string; + /** + * The domain name. Use this field to get groups from only one domain. To return all domains for a customer account, use the \`customer\` query parameter instead. Either the + * \`customer\` or the \`domain\` parameter must be provided. + */ + domain?: string; + /** Event on which subscription is intended (if subscribing) */ + event?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** Maximum number of results to return. */ + maxResults?: number; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Property to use for sorting results. */ + orderBy?: string; + /** Token to specify next page in the list */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** What subset of fields to fetch for this user. */ + projection?: string; + /** Query string for searching user fields. For more information on constructing user queries, see [Search for Users](/admin-sdk/directory/v1/guides/search-users). */ + query?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** If set to \`true\`, retrieves the list of deleted users. (Default: \`false\`) */ + showDeleted?: string; + /** Whether to return results in ascending or descending order, ignoring case. */ + sortOrder?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** + * Whether to fetch the administrator-only or domain-wide public view of the user. For more information, see [Retrieve a user as a + * non-administrator](/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin). + */ + viewType?: string; + }): Request; + /** Makes a user a super administrator. */ + makeAdmin(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + /** Request body */ + resource: UserMakeAdmin; + }): Request; + makeAdmin(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }, + body: UserMakeAdmin): Request; + /** + * Updates a user using patch semantics. The update method should be used instead, since it also supports patch semantics and has better performance. This method is unable to clear + * fields that contain repeated objects (\`addresses\`, \`phones\`, etc). Use the update method instead. + */ + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + /** Request body */ + resource: User; + }): Request; + patch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }, + body: User): Request; + /** Signs a user out of all web and device sessions and reset their sign-in cookies. User will have to sign in by authenticating again. */ + signOut(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Identifies the target user in the API request. The value can be the user's primary email address, alias email address, or unique user ID. */ + userKey: string; + }): Request; + /** Undeletes a deleted user. */ + undelete(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** The immutable id of the user */ + userKey: string; + /** Request body */ + resource: UserUndelete; + }): Request; + undelete(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** The immutable id of the user */ + userKey: string; + }, + body: UserUndelete): Request; + /** + * Updates a user. 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, + * and fields set to \`null\` will be cleared. + */ + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + /** Request body */ + resource: User; + }): Request; + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }, + body: User): Request; + /** Watches for changes in users list. */ + watch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace 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; + /** Events to watch for. */ + event?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** Maximum number of results to return. */ + maxResults?: number; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Column to use for sorting results */ + orderBy?: string; + /** Token to specify next page in the list */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** 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; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** If set to true, retrieves the list of deleted users. (Default: false) */ + showDeleted?: string; + /** Whether to return results in ascending or descending order. */ + sortOrder?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** + * Whether to fetch the administrator-only or domain-wide public view of the user. For more information, see [Retrieve a user as a + * non-administrator](/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin). + */ + viewType?: string; + /** Request body */ + resource: Channel; + }): Request; + watch(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Immutable ID of the Google Workspace 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; + /** Events to watch for. */ + event?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** Maximum number of results to return. */ + maxResults?: number; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Column to use for sorting results */ + orderBy?: string; + /** Token to specify next page in the list */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** 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; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** If set to true, retrieves the list of deleted users. (Default: false) */ + showDeleted?: string; + /** Whether to return results in ascending or descending order. */ + sortOrder?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** + * Whether to fetch the administrator-only or domain-wide public view of the user. For more information, see [Retrieve a user as a + * non-administrator](/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin). + */ + viewType?: string; + }, + body: Channel): Request; + aliases: AliasesResource; + photos: PhotosResource; + } + interface VerificationCodesResource { + /** Generates new backup verification codes for the user. */ + generate(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Email or immutable ID of the user */ + userKey: string; + }): Request; + /** Invalidates the current backup verification codes for the user. */ + invalidate(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Email or immutable ID of the user */ + userKey: string; + }): Request; + /** Returns the current set of valid backup verification codes for the specified user. */ + list(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: 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; + }): Request; + } + + const asps: AspsResource; + + const chromeosdevices: ChromeosdevicesResource; + + const customers: CustomersResource; + + const domainAliases: DomainAliasesResource; + + const domains: DomainsResource; + + const groups: GroupsResource; + + const members: MembersResource; + + const mobiledevices: MobiledevicesResource; + + const orgunits: OrgunitsResource; + + const privileges: PrivilegesResource; + + const resources: ResourcesResource; + + const roleAssignments: RoleAssignmentsResource; + + const roles: RolesResource; + + const schemas: SchemasResource; + + const tokens: TokensResource; + + const twoStepVerification: TwoStepVerificationResource; + + const users: UsersResource; + + const verificationCodes: VerificationCodesResource; + } +} +" +`; + +exports[`admin works 3`] = ` +"{ + "name": "@maxim_mazurok/gapi.client.admin-directory_v1", + "version": "0.0.20220628", + "description": "TypeScript typings for Admin SDK API directory_v1", + "license": "MIT", + "author": { + "email": "maxim@mazurok.com", + "name": "Maxim Mazurok", + "url": "https://maxim.mazurok.com" + }, + "repository": { + "type": "git", + "url": "https://github.com/Maxim-Mazurok/google-api-typings-generator.git" + }, + "types": "index.d.ts", + "dependencies": { + "@types/gapi.client": "*", + "@types/gapi.client.discovery": "*" + } +} +" +`; + +exports[`admin works 4`] = ` +"# TypeScript typings for Admin SDK API directory_v1 + +Admin SDK lets administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain. +For detailed description please check [documentation](https://developers.google.com/admin-sdk/). + +## Installing + +Install typings for Admin SDK API: + +\`\`\` +npm install @types/gapi.client.admin-directory_v1 --save-dev +\`\`\` + +## Usage + +You need to initialize Google API client in your code: + +\`\`\`typescript +gapi.load('client', () => { + // now we can use gapi.client + // ... +}); +\`\`\` + +Then load api client wrapper: + +\`\`\`typescript +gapi.client.load('http://localhost:3000/admin.json', () => { + // now we can use: + // gapi.client.admin + // gapi.client.directory +}); +\`\`\` + +\`\`\`typescript +// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback-- +gapi.client.load('admin', 'directory_v1', () => { + // now we can use: + // gapi.client.admin + // gapi.client.directory +}); +\`\`\` + +Don't forget to authenticate your client before sending any request to resources: + +\`\`\`typescript +// declare client_id registered in Google Developers Console +var client_id = '', + scope = [ + // See, add, edit, and permanently delete the printers that your organization can use with Chrome + 'https://www.googleapis.com/auth/admin.chrome.printers', + + // See the printers that your organization can use with Chrome + 'https://www.googleapis.com/auth/admin.chrome.printers.readonly', + + // View and manage customer related information + 'https://www.googleapis.com/auth/admin.directory.customer', + + // View customer related information + 'https://www.googleapis.com/auth/admin.directory.customer.readonly', + + // View and manage your Chrome OS devices' metadata + 'https://www.googleapis.com/auth/admin.directory.device.chromeos', + + // View your Chrome OS devices' metadata + 'https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly', + + // View and manage your mobile devices' metadata + 'https://www.googleapis.com/auth/admin.directory.device.mobile', + + // Manage your mobile devices by performing administrative tasks + 'https://www.googleapis.com/auth/admin.directory.device.mobile.action', + + // View your mobile devices' metadata + 'https://www.googleapis.com/auth/admin.directory.device.mobile.readonly', + + // View and manage the provisioning of domains for your customers + 'https://www.googleapis.com/auth/admin.directory.domain', + + // View domains related to your customers + 'https://www.googleapis.com/auth/admin.directory.domain.readonly', + + // View and manage the provisioning of groups on your domain + 'https://www.googleapis.com/auth/admin.directory.group', + + // View and manage group subscriptions on your domain + 'https://www.googleapis.com/auth/admin.directory.group.member', + + // View group subscriptions on your domain + 'https://www.googleapis.com/auth/admin.directory.group.member.readonly', + + // View groups on your domain + 'https://www.googleapis.com/auth/admin.directory.group.readonly', + + // View and manage organization units on your domain + 'https://www.googleapis.com/auth/admin.directory.orgunit', + + // View organization units on your domain + 'https://www.googleapis.com/auth/admin.directory.orgunit.readonly', + + // View and manage the provisioning of calendar resources on your domain + 'https://www.googleapis.com/auth/admin.directory.resource.calendar', + + // View calendar resources on your domain + 'https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly', + + // Manage delegated admin roles for your domain + 'https://www.googleapis.com/auth/admin.directory.rolemanagement', + + // View delegated admin roles for your domain + 'https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly', + + // View and manage the provisioning of users on your domain + 'https://www.googleapis.com/auth/admin.directory.user', + + // View and manage user aliases on your domain + 'https://www.googleapis.com/auth/admin.directory.user.alias', + + // View user aliases on your domain + 'https://www.googleapis.com/auth/admin.directory.user.alias.readonly', + + // See info about users on your domain + 'https://www.googleapis.com/auth/admin.directory.user.readonly', + + // Manage data access permissions for users on your domain + 'https://www.googleapis.com/auth/admin.directory.user.security', + + // View and manage the provisioning of user schemas on your domain + 'https://www.googleapis.com/auth/admin.directory.userschema', + + // View user schemas on your domain + 'https://www.googleapis.com/auth/admin.directory.userschema.readonly', + + // See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account. + 'https://www.googleapis.com/auth/cloud-platform', + ], + immediate = true; +// ... + +gapi.auth.authorize( + { client_id: client_id, scope: scope, immediate: immediate }, + authResult => { + if (authResult && !authResult.error) { + /* handle successful authorization */ + } else { + /* handle authorization error */ + } +}); +\`\`\` + +After that you can use Admin SDK API resources: + +\`\`\`typescript + +/* +Deletes an ASP issued by a user. +*/ +await gapi.client.directory.asps.delete({ codeId: 1, userKey: "userKey", }); + +/* +Gets information about an ASP issued by a user. +*/ +await gapi.client.directory.asps.get({ codeId: 1, userKey: "userKey", }); + +/* +Lists the ASPs issued by a user. +*/ +await gapi.client.directory.asps.list({ userKey: "userKey", }); + +/* +Stops watching resources through this channel. +*/ +await gapi.client.admin.channels.stop({ }); + +/* +Takes an action that affects a Chrome OS Device. This includes deprovisioning, disabling, and re-enabling devices. *Warning:* * Deprovisioning a device will stop device policy syncing and remove device-level printers. After a device is deprovisioned, it must be wiped before it can be re-enrolled. * Lost or stolen devices should use the disable action. * Re-enabling a disabled device will consume a device license. If you do not have sufficient licenses available when completing the re-enable action, you will receive an error. For more information about deprovisioning and disabling devices, visit the [help center](https://support.google.com/chrome/a/answer/3523633). +*/ +await gapi.client.directory.chromeosdevices.action({ customerId: "customerId", resourceId: "resourceId", }); + +/* +Retrieves a Chrome OS device's properties. +*/ +await gapi.client.directory.chromeosdevices.get({ customerId: "customerId", deviceId: "deviceId", }); + +/* +Retrieves a paginated list of Chrome OS devices within an account. +*/ +await gapi.client.directory.chromeosdevices.list({ customerId: "customerId", }); + +/* +Moves or inserts multiple Chrome OS devices to an organizational unit. You can move up to 50 devices at once. +*/ +await gapi.client.directory.chromeosdevices.moveDevicesToOu({ customerId: "customerId", orgUnitPath: "orgUnitPath", }); + +/* +Updates a device's updatable properties, such as \`annotatedUser\`, \`annotatedLocation\`, \`notes\`, \`orgUnitPath\`, or \`annotatedAssetId\`. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). +*/ +await gapi.client.directory.chromeosdevices.patch({ customerId: "customerId", deviceId: "deviceId", }); + +/* +Updates a device's updatable properties, such as \`annotatedUser\`, \`annotatedLocation\`, \`notes\`, \`orgUnitPath\`, or \`annotatedAssetId\`. +*/ +await gapi.client.directory.chromeosdevices.update({ customerId: "customerId", deviceId: "deviceId", }); + +/* +Retrieves a customer. +*/ +await gapi.client.directory.customers.get({ customerKey: "customerKey", }); + +/* +Patches a customer. +*/ +await gapi.client.directory.customers.patch({ customerKey: "customerKey", }); + +/* +Updates a customer. +*/ +await gapi.client.directory.customers.update({ customerKey: "customerKey", }); + +/* +Deletes a domain Alias of the customer. +*/ +await gapi.client.directory.domainAliases.delete({ customer: "customer", domainAliasName: "domainAliasName", }); + +/* +Retrieves a domain alias of the customer. +*/ +await gapi.client.directory.domainAliases.get({ customer: "customer", domainAliasName: "domainAliasName", }); + +/* +Inserts a domain alias of the customer. +*/ +await gapi.client.directory.domainAliases.insert({ customer: "customer", }); + +/* +Lists the domain aliases of the customer. +*/ +await gapi.client.directory.domainAliases.list({ customer: "customer", }); + +/* +Deletes a domain of the customer. +*/ +await gapi.client.directory.domains.delete({ customer: "customer", domainName: "domainName", }); + +/* +Retrieves a domain of the customer. +*/ +await gapi.client.directory.domains.get({ customer: "customer", domainName: "domainName", }); + +/* +Inserts a domain of the customer. +*/ +await gapi.client.directory.domains.insert({ customer: "customer", }); + +/* +Lists the domains of the customer. +*/ +await gapi.client.directory.domains.list({ customer: "customer", }); + +/* +Deletes a group. +*/ +await gapi.client.directory.groups.delete({ groupKey: "groupKey", }); + +/* +Retrieves a group's properties. +*/ +await gapi.client.directory.groups.get({ groupKey: "groupKey", }); + +/* +Creates a group. +*/ +await gapi.client.directory.groups.insert({ }); + +/* +Retrieves all groups of a domain or of a user given a userKey (paginated). +*/ +await gapi.client.directory.groups.list({ }); + +/* +Updates a group's properties. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). +*/ +await gapi.client.directory.groups.patch({ groupKey: "groupKey", }); + +/* +Updates a group's properties. +*/ +await gapi.client.directory.groups.update({ groupKey: "groupKey", }); + +/* +Removes a member from a group. +*/ +await gapi.client.directory.members.delete({ groupKey: "groupKey", memberKey: "memberKey", }); + +/* +Retrieves a group member's properties. +*/ +await gapi.client.directory.members.get({ groupKey: "groupKey", memberKey: "memberKey", }); + +/* +Checks whether the given user is a member of the group. Membership can be direct or nested. +*/ +await gapi.client.directory.members.hasMember({ groupKey: "groupKey", memberKey: "memberKey", }); + +/* +Adds a user to the specified group. +*/ +await gapi.client.directory.members.insert({ groupKey: "groupKey", }); + +/* +Retrieves a paginated list of all members in a group. +*/ +await gapi.client.directory.members.list({ groupKey: "groupKey", }); + +/* +Updates the membership properties of a user in the specified group. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). +*/ +await gapi.client.directory.members.patch({ groupKey: "groupKey", memberKey: "memberKey", }); + +/* +Updates the membership of a user in the specified group. +*/ +await gapi.client.directory.members.update({ groupKey: "groupKey", memberKey: "memberKey", }); + +/* +Takes an action that affects a mobile device. For example, remotely wiping a device. +*/ +await gapi.client.directory.mobiledevices.action({ customerId: "customerId", resourceId: "resourceId", }); + +/* +Removes a mobile device. +*/ +await gapi.client.directory.mobiledevices.delete({ customerId: "customerId", resourceId: "resourceId", }); + +/* +Retrieves a mobile device's properties. +*/ +await gapi.client.directory.mobiledevices.get({ customerId: "customerId", resourceId: "resourceId", }); + +/* +Retrieves a paginated list of all user-owned mobile devices for an account. To retrieve a list that includes company-owned devices, use the Cloud Identity [Devices API](https://cloud.google.com/identity/docs/concepts/overview-devices) instead. +*/ +await gapi.client.directory.mobiledevices.list({ customerId: "customerId", }); + +/* +Removes an organizational unit. +*/ +await gapi.client.directory.orgunits.delete({ customerId: "customerId", orgUnitPath: "orgUnitPath", }); + +/* +Retrieves an organizational unit. +*/ +await gapi.client.directory.orgunits.get({ customerId: "customerId", orgUnitPath: "orgUnitPath", }); + +/* +Adds an organizational unit. +*/ +await gapi.client.directory.orgunits.insert({ customerId: "customerId", }); + +/* +Retrieves a list of all organizational units for an account. +*/ +await gapi.client.directory.orgunits.list({ customerId: "customerId", }); + +/* +Updates an organizational unit. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch) +*/ +await gapi.client.directory.orgunits.patch({ customerId: "customerId", orgUnitPath: "orgUnitPath", }); + +/* +Updates an organizational unit. +*/ +await gapi.client.directory.orgunits.update({ customerId: "customerId", orgUnitPath: "orgUnitPath", }); + +/* +Retrieves a paginated list of all privileges for a customer. +*/ +await gapi.client.directory.privileges.list({ customer: "customer", }); + +/* +Deletes a role assignment. +*/ +await gapi.client.directory.roleAssignments.delete({ customer: "customer", roleAssignmentId: "roleAssignmentId", }); + +/* +Retrieves a role assignment. +*/ +await gapi.client.directory.roleAssignments.get({ customer: "customer", roleAssignmentId: "roleAssignmentId", }); + +/* +Creates a role assignment. +*/ +await gapi.client.directory.roleAssignments.insert({ customer: "customer", }); + +/* +Retrieves a paginated list of all roleAssignments. +*/ +await gapi.client.directory.roleAssignments.list({ customer: "customer", }); + +/* +Deletes a role. +*/ +await gapi.client.directory.roles.delete({ customer: "customer", roleId: "roleId", }); + +/* +Retrieves a role. +*/ +await gapi.client.directory.roles.get({ customer: "customer", roleId: "roleId", }); + +/* +Creates a role. +*/ +await gapi.client.directory.roles.insert({ customer: "customer", }); + +/* +Retrieves a paginated list of all the roles in a domain. +*/ +await gapi.client.directory.roles.list({ customer: "customer", }); + +/* +Patches a role. +*/ +await gapi.client.directory.roles.patch({ customer: "customer", roleId: "roleId", }); + +/* +Updates a role. +*/ +await gapi.client.directory.roles.update({ customer: "customer", roleId: "roleId", }); + +/* +Deletes a schema. +*/ +await gapi.client.directory.schemas.delete({ customerId: "customerId", schemaKey: "schemaKey", }); + +/* +Retrieves a schema. +*/ +await gapi.client.directory.schemas.get({ customerId: "customerId", schemaKey: "schemaKey", }); + +/* +Creates a schema. +*/ +await gapi.client.directory.schemas.insert({ customerId: "customerId", }); + +/* +Retrieves all schemas for a customer. +*/ +await gapi.client.directory.schemas.list({ customerId: "customerId", }); + +/* +Patches a schema. +*/ +await gapi.client.directory.schemas.patch({ customerId: "customerId", schemaKey: "schemaKey", }); + +/* +Updates a schema. +*/ +await gapi.client.directory.schemas.update({ customerId: "customerId", schemaKey: "schemaKey", }); + +/* +Deletes all access tokens issued by a user for an application. +*/ +await gapi.client.directory.tokens.delete({ clientId: "clientId", userKey: "userKey", }); + +/* +Gets information about an access token issued by a user. +*/ +await gapi.client.directory.tokens.get({ clientId: "clientId", userKey: "userKey", }); + +/* +Returns the set of tokens specified user has issued to 3rd party applications. +*/ +await gapi.client.directory.tokens.list({ userKey: "userKey", }); + +/* +Turns off 2-Step Verification for user. +*/ +await gapi.client.directory.twoStepVerification.turnOff({ userKey: "userKey", }); + +/* +Deletes a user. +*/ +await gapi.client.directory.users.delete({ userKey: "userKey", }); + +/* +Retrieves a user. +*/ +await gapi.client.directory.users.get({ userKey: "userKey", }); + +/* +Creates a user. +*/ +await gapi.client.directory.users.insert({ }); + +/* +Retrieves a paginated list of either deleted users or all users in a domain. +*/ +await gapi.client.directory.users.list({ }); + +/* +Makes a user a super administrator. +*/ +await gapi.client.directory.users.makeAdmin({ userKey: "userKey", }); + +/* +Updates a user using patch semantics. The update method should be used instead, since it also supports patch semantics and has better performance. This method is unable to clear fields that contain repeated objects (\`addresses\`, \`phones\`, etc). Use the update method instead. +*/ +await gapi.client.directory.users.patch({ userKey: "userKey", }); + +/* +Signs a user out of all web and device sessions and reset their sign-in cookies. User will have to sign in by authenticating again. +*/ +await gapi.client.directory.users.signOut({ userKey: "userKey", }); + +/* +Undeletes a deleted user. +*/ +await gapi.client.directory.users.undelete({ userKey: "userKey", }); + +/* +Updates a user. 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, and fields set to \`null\` will be cleared. +*/ +await gapi.client.directory.users.update({ userKey: "userKey", }); + +/* +Watches for changes in users list. +*/ +await gapi.client.directory.users.watch({ }); + +/* +Generates new backup verification codes for the user. +*/ +await gapi.client.directory.verificationCodes.generate({ userKey: "userKey", }); + +/* +Invalidates the current backup verification codes for the user. +*/ +await gapi.client.directory.verificationCodes.invalidate({ userKey: "userKey", }); + +/* +Returns the current set of valid backup verification codes for the specified user. +*/ +await gapi.client.directory.verificationCodes.list({ userKey: "userKey", }); +\`\`\` +" +`; + +exports[`admin works 5`] = ` +"/* This is stub file for gapi.client.admin-directory_v1 definition tests */ +// IMPORTANT +// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. +// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator + +// Revision: 20220628 + +gapi.load('client', async () => { + /** now we can use gapi.client */ + + await gapi.client.load('http://localhost:3000/admin.json'); + /** now we can use gapi.client.admin, gapi.client.directory */ + + /** don't forget to authenticate your client before sending any request to resources: */ + /** declare client_id registered in Google Developers Console */ + const client_id = '<>'; + const scope = [ + /** See, add, edit, and permanently delete the printers that your organization can use with Chrome */ + 'https://www.googleapis.com/auth/admin.chrome.printers', + /** See the printers that your organization can use with Chrome */ + 'https://www.googleapis.com/auth/admin.chrome.printers.readonly', + /** View and manage customer related information */ + 'https://www.googleapis.com/auth/admin.directory.customer', + /** View customer related information */ + 'https://www.googleapis.com/auth/admin.directory.customer.readonly', + /** View and manage your Chrome OS devices' metadata */ + 'https://www.googleapis.com/auth/admin.directory.device.chromeos', + /** View your Chrome OS devices' metadata */ + 'https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly', + /** View and manage your mobile devices' metadata */ + 'https://www.googleapis.com/auth/admin.directory.device.mobile', + /** Manage your mobile devices by performing administrative tasks */ + 'https://www.googleapis.com/auth/admin.directory.device.mobile.action', + /** View your mobile devices' metadata */ + 'https://www.googleapis.com/auth/admin.directory.device.mobile.readonly', + /** View and manage the provisioning of domains for your customers */ + 'https://www.googleapis.com/auth/admin.directory.domain', + /** View domains related to your customers */ + 'https://www.googleapis.com/auth/admin.directory.domain.readonly', + /** View and manage the provisioning of groups on your domain */ + 'https://www.googleapis.com/auth/admin.directory.group', + /** View and manage group subscriptions on your domain */ + 'https://www.googleapis.com/auth/admin.directory.group.member', + /** View group subscriptions on your domain */ + 'https://www.googleapis.com/auth/admin.directory.group.member.readonly', + /** View groups on your domain */ + 'https://www.googleapis.com/auth/admin.directory.group.readonly', + /** View and manage organization units on your domain */ + 'https://www.googleapis.com/auth/admin.directory.orgunit', + /** View organization units on your domain */ + 'https://www.googleapis.com/auth/admin.directory.orgunit.readonly', + /** View and manage the provisioning of calendar resources on your domain */ + 'https://www.googleapis.com/auth/admin.directory.resource.calendar', + /** View calendar resources on your domain */ + 'https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly', + /** Manage delegated admin roles for your domain */ + 'https://www.googleapis.com/auth/admin.directory.rolemanagement', + /** View delegated admin roles for your domain */ + 'https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly', + /** View and manage the provisioning of users on your domain */ + 'https://www.googleapis.com/auth/admin.directory.user', + /** View and manage user aliases on your domain */ + 'https://www.googleapis.com/auth/admin.directory.user.alias', + /** View user aliases on your domain */ + 'https://www.googleapis.com/auth/admin.directory.user.alias.readonly', + /** See info about users on your domain */ + 'https://www.googleapis.com/auth/admin.directory.user.readonly', + /** Manage data access permissions for users on your domain */ + 'https://www.googleapis.com/auth/admin.directory.user.security', + /** View and manage the provisioning of user schemas on your domain */ + 'https://www.googleapis.com/auth/admin.directory.userschema', + /** View user schemas on your domain */ + 'https://www.googleapis.com/auth/admin.directory.userschema.readonly', + /** See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account. */ + 'https://www.googleapis.com/auth/cloud-platform', + ]; + const immediate = false; + gapi.auth.authorize({ client_id, scope, immediate }, authResult => { + if (authResult && !authResult.error) { + /** handle successful authorization */ + run(); + } else { + /** handle authorization error */ + } + }); + + async function run() { + /** Stops watching resources through this channel. */ + await gapi.client.admin.channels.stop({ + }, { + address: "Test string", + expiration: "Test string", + id: "Test string", + kind: "Test string", + params: { + A: "Test string" + }, + payload: true, + resourceId: "Test string", + resourceUri: "Test string", + token: "Test string", + type: "Test string", + }); + /** Issues a command for the device to execute. */ + await gapi.client.admin.customer.devices.chromeos.issueCommand({ + customerId: "Test string", + deviceId: "Test string", + }, { + commandType: "Test string", + payload: "Test string", + }); + /** Gets command data a specific command issued to the device. */ + await gapi.client.admin.customer.devices.chromeos.commands.get({ + commandId: "Test string", + customerId: "Test string", + deviceId: "Test string", + }); + /** Creates printers under given Organization Unit. */ + await gapi.client.admin.customers.chrome.printers.batchCreatePrinters({ + parent: "Test string", + }, { + requests: [ + { + parent: "Test string", + printer: { + auxiliaryMessages: [ + { + auxiliaryMessage: "Test string", + fieldMask: "Test string", + severity: "Test string", + } + ], + createTime: "Test string", + description: "Test string", + displayName: "Test string", + id: "Test string", + makeAndModel: "Test string", + name: "Test string", + orgUnitId: "Test string", + uri: "Test string", + useDriverlessConfig: true, + }, + } + ], + }); + /** Deletes printers in batch. */ + await gapi.client.admin.customers.chrome.printers.batchDeletePrinters({ + parent: "Test string", + }, { + printerIds: [ + "Test string" + ], + }); + /** Creates a printer under given Organization Unit. */ + await gapi.client.admin.customers.chrome.printers.create({ + parent: "Test string", + }, { + auxiliaryMessages: [ + { + auxiliaryMessage: "Test string", + fieldMask: "Test string", + severity: "Test string", + } + ], + createTime: "Test string", + description: "Test string", + displayName: "Test string", + id: "Test string", + makeAndModel: "Test string", + name: "Test string", + orgUnitId: "Test string", + uri: "Test string", + useDriverlessConfig: true, + }); + /** Deletes a \`Printer\`. */ + await gapi.client.admin.customers.chrome.printers.delete({ + name: "Test string", + }); + /** Returns a \`Printer\` resource (printer's config). */ + await gapi.client.admin.customers.chrome.printers.get({ + name: "Test string", + }); + /** List printers configs. */ + await gapi.client.admin.customers.chrome.printers.list({ + filter: "Test string", + orderBy: "Test string", + orgUnitId: "Test string", + pageSize: 42, + pageToken: "Test string", + parent: "Test string", + }); + /** Lists the supported printer models. */ + await gapi.client.admin.customers.chrome.printers.listPrinterModels({ + filter: "Test string", + pageSize: 42, + pageToken: "Test string", + parent: "Test string", + }); + /** Updates a \`Printer\` resource. */ + await gapi.client.admin.customers.chrome.printers.patch({ + clearMask: "Test string", + name: "Test string", + updateMask: "Test string", + }, { + auxiliaryMessages: [ + { + auxiliaryMessage: "Test string", + fieldMask: "Test string", + severity: "Test string", + } + ], + createTime: "Test string", + description: "Test string", + displayName: "Test string", + id: "Test string", + makeAndModel: "Test string", + name: "Test string", + orgUnitId: "Test string", + uri: "Test string", + useDriverlessConfig: true, + }); + /** Deletes an ASP issued by a user. */ + await gapi.client.directory.asps.delete({ + codeId: 42, + userKey: "Test string", + }); + /** Gets information about an ASP issued by a user. */ + await gapi.client.directory.asps.get({ + codeId: 42, + userKey: "Test string", + }); + /** Lists the ASPs issued by a user. */ + await gapi.client.directory.asps.list({ + userKey: "Test string", + }); + /** + * Takes an action that affects a Chrome OS Device. This includes deprovisioning, disabling, and re-enabling devices. *Warning:* * Deprovisioning a device will stop device policy syncing + * and remove device-level printers. After a device is deprovisioned, it must be wiped before it can be re-enrolled. * Lost or stolen devices should use the disable action. * Re-enabling a + * disabled device will consume a device license. If you do not have sufficient licenses available when completing the re-enable action, you will receive an error. For more information + * about deprovisioning and disabling devices, visit the [help center](https://support.google.com/chrome/a/answer/3523633). + */ + await gapi.client.directory.chromeosdevices.action({ + customerId: "Test string", + resourceId: "Test string", + }, { + action: "Test string", + deprovisionReason: "Test string", + }); + /** Retrieves a Chrome OS device's properties. */ + await gapi.client.directory.chromeosdevices.get({ + customerId: "Test string", + deviceId: "Test string", + projection: "Test string", + }); + /** Retrieves a paginated list of Chrome OS devices within an account. */ + await gapi.client.directory.chromeosdevices.list({ + customerId: "Test string", + includeChildOrgunits: true, + maxResults: 42, + orderBy: "Test string", + orgUnitPath: "Test string", + pageToken: "Test string", + projection: "Test string", + query: "Test string", + sortOrder: "Test string", + }); + /** Moves or inserts multiple Chrome OS devices to an organizational unit. You can move up to 50 devices at once. */ + await gapi.client.directory.chromeosdevices.moveDevicesToOu({ + customerId: "Test string", + orgUnitPath: "Test string", + }, { + deviceIds: [ + "Test string" + ], + }); + /** + * Updates a device's updatable properties, such as \`annotatedUser\`, \`annotatedLocation\`, \`notes\`, \`orgUnitPath\`, or \`annotatedAssetId\`. This method supports [patch + * semantics](/admin-sdk/directory/v1/guides/performance#patch). + */ + await gapi.client.directory.chromeosdevices.patch({ + customerId: "Test string", + deviceId: "Test string", + projection: "Test string", + }, { + activeTimeRanges: [ + { + activeTime: 42, + date: "Test string", + } + ], + annotatedAssetId: "Test string", + annotatedLocation: "Test string", + annotatedUser: "Test string", + autoUpdateExpiration: "Test string", + bootMode: "Test string", + cpuInfo: [ + { + architecture: "Test string", + logicalCpus: [ + { + cStates: [ + { + displayName: "Test string", + sessionDuration: "Test string", + } + ], + currentScalingFrequencyKhz: 42, + idleDuration: "Test string", + maxScalingFrequencyKhz: 42, + } + ], + maxClockSpeedKhz: 42, + model: "Test string", + } + ], + cpuStatusReports: [ + { + cpuTemperatureInfo: [ + { + label: "Test string", + temperature: 42, + } + ], + cpuUtilizationPercentageInfo: [ + 42 + ], + reportTime: "Test string", + } + ], + deviceFiles: [ + { + createTime: "Test string", + downloadUrl: "Test string", + name: "Test string", + type: "Test string", + } + ], + deviceId: "Test string", + diskVolumeReports: [ + { + volumeInfo: [ + { + storageFree: "Test string", + storageTotal: "Test string", + volumeId: "Test string", + } + ], + } + ], + dockMacAddress: "Test string", + etag: "Test string", + ethernetMacAddress: "Test string", + ethernetMacAddress0: "Test string", + firmwareVersion: "Test string", + kind: "Test string", + lastEnrollmentTime: "Test string", + lastKnownNetwork: [ + { + ipAddress: "Test string", + wanIpAddress: "Test string", + } + ], + lastSync: "Test string", + macAddress: "Test string", + manufactureDate: "Test string", + meid: "Test string", + model: "Test string", + notes: "Test string", + orderNumber: "Test string", + orgUnitId: "Test string", + orgUnitPath: "Test string", + osVersion: "Test string", + platformVersion: "Test string", + recentUsers: [ + { + email: "Test string", + type: "Test string", + } + ], + screenshotFiles: [ + { + createTime: "Test string", + downloadUrl: "Test string", + name: "Test string", + type: "Test string", + } + ], + serialNumber: "Test string", + status: "Test string", + supportEndDate: "Test string", + systemRamFreeReports: [ + { + reportTime: "Test string", + systemRamFreeInfo: [ + "Test string" + ], + } + ], + systemRamTotal: "Test string", + tpmVersionInfo: { + family: "Test string", + firmwareVersion: "Test string", + manufacturer: "Test string", + specLevel: "Test string", + tpmModel: "Test string", + vendorSpecific: "Test string", + }, + willAutoRenew: true, + }); + /** Updates a device's updatable properties, such as \`annotatedUser\`, \`annotatedLocation\`, \`notes\`, \`orgUnitPath\`, or \`annotatedAssetId\`. */ + await gapi.client.directory.chromeosdevices.update({ + customerId: "Test string", + deviceId: "Test string", + projection: "Test string", + }, { + activeTimeRanges: [ + { + activeTime: 42, + date: "Test string", + } + ], + annotatedAssetId: "Test string", + annotatedLocation: "Test string", + annotatedUser: "Test string", + autoUpdateExpiration: "Test string", + bootMode: "Test string", + cpuInfo: [ + { + architecture: "Test string", + logicalCpus: [ + { + cStates: [ + { + displayName: "Test string", + sessionDuration: "Test string", + } + ], + currentScalingFrequencyKhz: 42, + idleDuration: "Test string", + maxScalingFrequencyKhz: 42, + } + ], + maxClockSpeedKhz: 42, + model: "Test string", + } + ], + cpuStatusReports: [ + { + cpuTemperatureInfo: [ + { + label: "Test string", + temperature: 42, + } + ], + cpuUtilizationPercentageInfo: [ + 42 + ], + reportTime: "Test string", + } + ], + deviceFiles: [ + { + createTime: "Test string", + downloadUrl: "Test string", + name: "Test string", + type: "Test string", + } + ], + deviceId: "Test string", + diskVolumeReports: [ + { + volumeInfo: [ + { + storageFree: "Test string", + storageTotal: "Test string", + volumeId: "Test string", + } + ], + } + ], + dockMacAddress: "Test string", + etag: "Test string", + ethernetMacAddress: "Test string", + ethernetMacAddress0: "Test string", + firmwareVersion: "Test string", + kind: "Test string", + lastEnrollmentTime: "Test string", + lastKnownNetwork: [ + { + ipAddress: "Test string", + wanIpAddress: "Test string", + } + ], + lastSync: "Test string", + macAddress: "Test string", + manufactureDate: "Test string", + meid: "Test string", + model: "Test string", + notes: "Test string", + orderNumber: "Test string", + orgUnitId: "Test string", + orgUnitPath: "Test string", + osVersion: "Test string", + platformVersion: "Test string", + recentUsers: [ + { + email: "Test string", + type: "Test string", + } + ], + screenshotFiles: [ + { + createTime: "Test string", + downloadUrl: "Test string", + name: "Test string", + type: "Test string", + } + ], + serialNumber: "Test string", + status: "Test string", + supportEndDate: "Test string", + systemRamFreeReports: [ + { + reportTime: "Test string", + systemRamFreeInfo: [ + "Test string" + ], + } + ], + systemRamTotal: "Test string", + tpmVersionInfo: { + family: "Test string", + firmwareVersion: "Test string", + manufacturer: "Test string", + specLevel: "Test string", + tpmModel: "Test string", + vendorSpecific: "Test string", + }, + willAutoRenew: true, + }); + /** Retrieves a customer. */ + await gapi.client.directory.customers.get({ + customerKey: "Test string", + }); + /** Patches a customer. */ + await gapi.client.directory.customers.patch({ + customerKey: "Test string", + }, { + alternateEmail: "Test string", + customerCreationTime: "Test string", + customerDomain: "Test string", + etag: "Test string", + id: "Test string", + kind: "Test string", + language: "Test string", + phoneNumber: "Test string", + postalAddress: { + addressLine1: "Test string", + addressLine2: "Test string", + addressLine3: "Test string", + contactName: "Test string", + countryCode: "Test string", + locality: "Test string", + organizationName: "Test string", + postalCode: "Test string", + region: "Test string", + }, + }); + /** Updates a customer. */ + await gapi.client.directory.customers.update({ + customerKey: "Test string", + }, { + alternateEmail: "Test string", + customerCreationTime: "Test string", + customerDomain: "Test string", + etag: "Test string", + id: "Test string", + kind: "Test string", + language: "Test string", + phoneNumber: "Test string", + postalAddress: { + addressLine1: "Test string", + addressLine2: "Test string", + addressLine3: "Test string", + contactName: "Test string", + countryCode: "Test string", + locality: "Test string", + organizationName: "Test string", + postalCode: "Test string", + region: "Test string", + }, + }); + /** Deletes a domain Alias of the customer. */ + await gapi.client.directory.domainAliases.delete({ + customer: "Test string", + domainAliasName: "Test string", + }); + /** Retrieves a domain alias of the customer. */ + await gapi.client.directory.domainAliases.get({ + customer: "Test string", + domainAliasName: "Test string", + }); + /** Inserts a domain alias of the customer. */ + await gapi.client.directory.domainAliases.insert({ + customer: "Test string", + }, { + creationTime: "Test string", + domainAliasName: "Test string", + etag: "Test string", + kind: "Test string", + parentDomainName: "Test string", + verified: true, + }); + /** Lists the domain aliases of the customer. */ + await gapi.client.directory.domainAliases.list({ + customer: "Test string", + parentDomainName: "Test string", + }); + /** Deletes a domain of the customer. */ + await gapi.client.directory.domains.delete({ + customer: "Test string", + domainName: "Test string", + }); + /** Retrieves a domain of the customer. */ + await gapi.client.directory.domains.get({ + customer: "Test string", + domainName: "Test string", + }); + /** Inserts a domain of the customer. */ + await gapi.client.directory.domains.insert({ + customer: "Test string", + }, { + creationTime: "Test string", + domainAliases: [ + { + creationTime: "Test string", + domainAliasName: "Test string", + etag: "Test string", + kind: "Test string", + parentDomainName: "Test string", + verified: true, + } + ], + domainName: "Test string", + etag: "Test string", + isPrimary: true, + kind: "Test string", + verified: true, + }); + /** Lists the domains of the customer. */ + await gapi.client.directory.domains.list({ + customer: "Test string", + }); + /** Deletes a group. */ + await gapi.client.directory.groups.delete({ + groupKey: "Test string", + }); + /** Retrieves a group's properties. */ + await gapi.client.directory.groups.get({ + groupKey: "Test string", + }); + /** Creates a group. */ + await gapi.client.directory.groups.insert({ + }, { + adminCreated: true, + aliases: [ + "Test string" + ], + description: "Test string", + directMembersCount: "Test string", + email: "Test string", + etag: "Test string", + id: "Test string", + kind: "Test string", + name: "Test string", + nonEditableAliases: [ + "Test string" + ], + }); + /** Retrieves all groups of a domain or of a user given a userKey (paginated). */ + await gapi.client.directory.groups.list({ + customer: "Test string", + domain: "Test string", + maxResults: 42, + orderBy: "Test string", + pageToken: "Test string", + query: "Test string", + sortOrder: "Test string", + userKey: "Test string", + }); + /** Updates a group's properties. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). */ + await gapi.client.directory.groups.patch({ + groupKey: "Test string", + }, { + adminCreated: true, + aliases: [ + "Test string" + ], + description: "Test string", + directMembersCount: "Test string", + email: "Test string", + etag: "Test string", + id: "Test string", + kind: "Test string", + name: "Test string", + nonEditableAliases: [ + "Test string" + ], + }); + /** Updates a group's properties. */ + await gapi.client.directory.groups.update({ + groupKey: "Test string", + }, { + adminCreated: true, + aliases: [ + "Test string" + ], + description: "Test string", + directMembersCount: "Test string", + email: "Test string", + etag: "Test string", + id: "Test string", + kind: "Test string", + name: "Test string", + nonEditableAliases: [ + "Test string" + ], + }); + /** Removes an alias. */ + await gapi.client.directory.groups.aliases.delete({ + alias: "Test string", + groupKey: "Test string", + }); + /** Adds an alias for the group. */ + await gapi.client.directory.groups.aliases.insert({ + groupKey: "Test string", + }, { + alias: "Test string", + etag: "Test string", + id: "Test string", + kind: "Test string", + primaryEmail: "Test string", + }); + /** Lists all aliases for a group. */ + await gapi.client.directory.groups.aliases.list({ + groupKey: "Test string", + }); + /** Removes a member from a group. */ + await gapi.client.directory.members.delete({ + groupKey: "Test string", + memberKey: "Test string", + }); + /** Retrieves a group member's properties. */ + await gapi.client.directory.members.get({ + groupKey: "Test string", + memberKey: "Test string", + }); + /** Checks whether the given user is a member of the group. Membership can be direct or nested. */ + await gapi.client.directory.members.hasMember({ + groupKey: "Test string", + memberKey: "Test string", + }); + /** Adds a user to the specified group. */ + await gapi.client.directory.members.insert({ + groupKey: "Test string", + }, { + delivery_settings: "Test string", + email: "Test string", + etag: "Test string", + id: "Test string", + kind: "Test string", + role: "Test string", + status: "Test string", + type: "Test string", + }); + /** Retrieves a paginated list of all members in a group. */ + await gapi.client.directory.members.list({ + groupKey: "Test string", + includeDerivedMembership: true, + maxResults: 42, + pageToken: "Test string", + roles: "Test string", + }); + /** Updates the membership properties of a user in the specified group. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). */ + await gapi.client.directory.members.patch({ + groupKey: "Test string", + memberKey: "Test string", + }, { + delivery_settings: "Test string", + email: "Test string", + etag: "Test string", + id: "Test string", + kind: "Test string", + role: "Test string", + status: "Test string", + type: "Test string", + }); + /** Updates the membership of a user in the specified group. */ + await gapi.client.directory.members.update({ + groupKey: "Test string", + memberKey: "Test string", + }, { + delivery_settings: "Test string", + email: "Test string", + etag: "Test string", + id: "Test string", + kind: "Test string", + role: "Test string", + status: "Test string", + type: "Test string", + }); + /** Takes an action that affects a mobile device. For example, remotely wiping a device. */ + await gapi.client.directory.mobiledevices.action({ + customerId: "Test string", + resourceId: "Test string", + }, { + action: "Test string", + }); + /** Removes a mobile device. */ + await gapi.client.directory.mobiledevices.delete({ + customerId: "Test string", + resourceId: "Test string", + }); + /** Retrieves a mobile device's properties. */ + await gapi.client.directory.mobiledevices.get({ + customerId: "Test string", + projection: "Test string", + resourceId: "Test string", + }); + /** + * Retrieves a paginated list of all user-owned mobile devices for an account. To retrieve a list that includes company-owned devices, use the Cloud Identity [Devices + * API](https://cloud.google.com/identity/docs/concepts/overview-devices) instead. + */ + await gapi.client.directory.mobiledevices.list({ + customerId: "Test string", + maxResults: 42, + orderBy: "Test string", + pageToken: "Test string", + projection: "Test string", + query: "Test string", + sortOrder: "Test string", + }); + /** Removes an organizational unit. */ + await gapi.client.directory.orgunits.delete({ + customerId: "Test string", + orgUnitPath: "Test string", + }); + /** Retrieves an organizational unit. */ + await gapi.client.directory.orgunits.get({ + customerId: "Test string", + orgUnitPath: "Test string", + }); + /** Adds an organizational unit. */ + await gapi.client.directory.orgunits.insert({ + customerId: "Test string", + }, { + blockInheritance: true, + description: "Test string", + etag: "Test string", + kind: "Test string", + name: "Test string", + orgUnitId: "Test string", + orgUnitPath: "Test string", + parentOrgUnitId: "Test string", + parentOrgUnitPath: "Test string", + }); + /** Retrieves a list of all organizational units for an account. */ + await gapi.client.directory.orgunits.list({ + customerId: "Test string", + orgUnitPath: "Test string", + type: "Test string", + }); + /** Updates an organizational unit. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch) */ + await gapi.client.directory.orgunits.patch({ + customerId: "Test string", + orgUnitPath: "Test string", + }, { + blockInheritance: true, + description: "Test string", + etag: "Test string", + kind: "Test string", + name: "Test string", + orgUnitId: "Test string", + orgUnitPath: "Test string", + parentOrgUnitId: "Test string", + parentOrgUnitPath: "Test string", + }); + /** Updates an organizational unit. */ + await gapi.client.directory.orgunits.update({ + customerId: "Test string", + orgUnitPath: "Test string", + }, { + blockInheritance: true, + description: "Test string", + etag: "Test string", + kind: "Test string", + name: "Test string", + orgUnitId: "Test string", + orgUnitPath: "Test string", + parentOrgUnitId: "Test string", + parentOrgUnitPath: "Test string", + }); + /** Retrieves a paginated list of all privileges for a customer. */ + await gapi.client.directory.privileges.list({ + customer: "Test string", + }); + /** Deletes a building. */ + await gapi.client.directory.resources.buildings.delete({ + buildingId: "Test string", + customer: "Test string", + }); + /** Retrieves a building. */ + await gapi.client.directory.resources.buildings.get({ + buildingId: "Test string", + customer: "Test string", + }); + /** Inserts a building. */ + await gapi.client.directory.resources.buildings.insert({ + coordinatesSource: "Test string", + customer: "Test string", + }, { + address: { + addressLines: [ + "Test string" + ], + administrativeArea: "Test string", + languageCode: "Test string", + locality: "Test string", + postalCode: "Test string", + regionCode: "Test string", + sublocality: "Test string", + }, + buildingId: "Test string", + buildingName: "Test string", + coordinates: { + latitude: 42, + longitude: 42, + }, + description: "Test string", + etags: "Test string", + floorNames: [ + "Test string" + ], + kind: "Test string", + }); + /** Retrieves a list of buildings for an account. */ + await gapi.client.directory.resources.buildings.list({ + customer: "Test string", + maxResults: 42, + pageToken: "Test string", + }); + /** Patches a building. */ + await gapi.client.directory.resources.buildings.patch({ + buildingId: "Test string", + coordinatesSource: "Test string", + customer: "Test string", + }, { + address: { + addressLines: [ + "Test string" + ], + administrativeArea: "Test string", + languageCode: "Test string", + locality: "Test string", + postalCode: "Test string", + regionCode: "Test string", + sublocality: "Test string", + }, + buildingId: "Test string", + buildingName: "Test string", + coordinates: { + latitude: 42, + longitude: 42, + }, + description: "Test string", + etags: "Test string", + floorNames: [ + "Test string" + ], + kind: "Test string", + }); + /** Updates a building. */ + await gapi.client.directory.resources.buildings.update({ + buildingId: "Test string", + coordinatesSource: "Test string", + customer: "Test string", + }, { + address: { + addressLines: [ + "Test string" + ], + administrativeArea: "Test string", + languageCode: "Test string", + locality: "Test string", + postalCode: "Test string", + regionCode: "Test string", + sublocality: "Test string", + }, + buildingId: "Test string", + buildingName: "Test string", + coordinates: { + latitude: 42, + longitude: 42, + }, + description: "Test string", + etags: "Test string", + floorNames: [ + "Test string" + ], + kind: "Test string", + }); + /** Deletes a calendar resource. */ + await gapi.client.directory.resources.calendars.delete({ + calendarResourceId: "Test string", + customer: "Test string", + }); + /** Retrieves a calendar resource. */ + await gapi.client.directory.resources.calendars.get({ + calendarResourceId: "Test string", + customer: "Test string", + }); + /** Inserts a calendar resource. */ + await gapi.client.directory.resources.calendars.insert({ + customer: "Test string", + }, { + buildingId: "Test string", + capacity: 42, + etags: "Test string", + featureInstances: 42, + floorName: "Test string", + floorSection: "Test string", + generatedResourceName: "Test string", + kind: "Test string", + resourceCategory: "Test string", + resourceDescription: "Test string", + resourceEmail: "Test string", + resourceId: "Test string", + resourceName: "Test string", + resourceType: "Test string", + userVisibleDescription: "Test string", + }); + /** Retrieves a list of calendar resources for an account. */ + await gapi.client.directory.resources.calendars.list({ + customer: "Test string", + maxResults: 42, + orderBy: "Test string", + pageToken: "Test string", + query: "Test string", + }); + /** Patches a calendar resource. */ + await gapi.client.directory.resources.calendars.patch({ + calendarResourceId: "Test string", + customer: "Test string", + }, { + buildingId: "Test string", + capacity: 42, + etags: "Test string", + featureInstances: 42, + floorName: "Test string", + floorSection: "Test string", + generatedResourceName: "Test string", + kind: "Test string", + resourceCategory: "Test string", + resourceDescription: "Test string", + resourceEmail: "Test string", + resourceId: "Test string", + resourceName: "Test string", + resourceType: "Test string", + userVisibleDescription: "Test string", + }); + /** + * 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. + */ + await gapi.client.directory.resources.calendars.update({ + calendarResourceId: "Test string", + customer: "Test string", + }, { + buildingId: "Test string", + capacity: 42, + etags: "Test string", + featureInstances: 42, + floorName: "Test string", + floorSection: "Test string", + generatedResourceName: "Test string", + kind: "Test string", + resourceCategory: "Test string", + resourceDescription: "Test string", + resourceEmail: "Test string", + resourceId: "Test string", + resourceName: "Test string", + resourceType: "Test string", + userVisibleDescription: "Test string", + }); + /** Deletes a feature. */ + await gapi.client.directory.resources.features.delete({ + customer: "Test string", + featureKey: "Test string", + }); + /** Retrieves a feature. */ + await gapi.client.directory.resources.features.get({ + customer: "Test string", + featureKey: "Test string", + }); + /** Inserts a feature. */ + await gapi.client.directory.resources.features.insert({ + customer: "Test string", + }, { + etags: "Test string", + kind: "Test string", + name: "Test string", + }); + /** Retrieves a list of features for an account. */ + await gapi.client.directory.resources.features.list({ + customer: "Test string", + maxResults: 42, + pageToken: "Test string", + }); + /** Patches a feature. */ + await gapi.client.directory.resources.features.patch({ + customer: "Test string", + featureKey: "Test string", + }, { + etags: "Test string", + kind: "Test string", + name: "Test string", + }); + /** Renames a feature. */ + await gapi.client.directory.resources.features.rename({ + customer: "Test string", + oldName: "Test string", + }, { + newName: "Test string", + }); + /** Updates a feature. */ + await gapi.client.directory.resources.features.update({ + customer: "Test string", + featureKey: "Test string", + }, { + etags: "Test string", + kind: "Test string", + name: "Test string", + }); + /** Deletes a role assignment. */ + await gapi.client.directory.roleAssignments.delete({ + customer: "Test string", + roleAssignmentId: "Test string", + }); + /** Retrieves a role assignment. */ + await gapi.client.directory.roleAssignments.get({ + customer: "Test string", + roleAssignmentId: "Test string", + }); + /** Creates a role assignment. */ + await gapi.client.directory.roleAssignments.insert({ + customer: "Test string", + }, { + assignedTo: "Test string", + etag: "Test string", + kind: "Test string", + orgUnitId: "Test string", + roleAssignmentId: "Test string", + roleId: "Test string", + scopeType: "Test string", + }); + /** Retrieves a paginated list of all roleAssignments. */ + await gapi.client.directory.roleAssignments.list({ + customer: "Test string", + maxResults: 42, + pageToken: "Test string", + roleId: "Test string", + userKey: "Test string", + }); + /** Deletes a role. */ + await gapi.client.directory.roles.delete({ + customer: "Test string", + roleId: "Test string", + }); + /** Retrieves a role. */ + await gapi.client.directory.roles.get({ + customer: "Test string", + roleId: "Test string", + }); + /** Creates a role. */ + await gapi.client.directory.roles.insert({ + customer: "Test string", + }, { + etag: "Test string", + isSuperAdminRole: true, + isSystemRole: true, + kind: "Test string", + roleDescription: "Test string", + roleId: "Test string", + roleName: "Test string", + rolePrivileges: [ + { + privilegeName: "Test string", + serviceId: "Test string", + } + ], + }); + /** Retrieves a paginated list of all the roles in a domain. */ + await gapi.client.directory.roles.list({ + customer: "Test string", + maxResults: 42, + pageToken: "Test string", + }); + /** Patches a role. */ + await gapi.client.directory.roles.patch({ + customer: "Test string", + roleId: "Test string", + }, { + etag: "Test string", + isSuperAdminRole: true, + isSystemRole: true, + kind: "Test string", + roleDescription: "Test string", + roleId: "Test string", + roleName: "Test string", + rolePrivileges: [ + { + privilegeName: "Test string", + serviceId: "Test string", + } + ], + }); + /** Updates a role. */ + await gapi.client.directory.roles.update({ + customer: "Test string", + roleId: "Test string", + }, { + etag: "Test string", + isSuperAdminRole: true, + isSystemRole: true, + kind: "Test string", + roleDescription: "Test string", + roleId: "Test string", + roleName: "Test string", + rolePrivileges: [ + { + privilegeName: "Test string", + serviceId: "Test string", + } + ], + }); + /** Deletes a schema. */ + await gapi.client.directory.schemas.delete({ + customerId: "Test string", + schemaKey: "Test string", + }); + /** Retrieves a schema. */ + await gapi.client.directory.schemas.get({ + customerId: "Test string", + schemaKey: "Test string", + }); + /** Creates a schema. */ + await gapi.client.directory.schemas.insert({ + customerId: "Test string", + }, { + displayName: "Test string", + etag: "Test string", + fields: [ + { + displayName: "Test string", + etag: "Test string", + fieldId: "Test string", + fieldName: "Test string", + fieldType: "Test string", + indexed: true, + kind: "Test string", + multiValued: true, + numericIndexingSpec: { + maxValue: 42, + minValue: 42, + }, + readAccessType: "Test string", + } + ], + kind: "Test string", + schemaId: "Test string", + schemaName: "Test string", + }); + /** Retrieves all schemas for a customer. */ + await gapi.client.directory.schemas.list({ + customerId: "Test string", + }); + /** Patches a schema. */ + await gapi.client.directory.schemas.patch({ + customerId: "Test string", + schemaKey: "Test string", + }, { + displayName: "Test string", + etag: "Test string", + fields: [ + { + displayName: "Test string", + etag: "Test string", + fieldId: "Test string", + fieldName: "Test string", + fieldType: "Test string", + indexed: true, + kind: "Test string", + multiValued: true, + numericIndexingSpec: { + maxValue: 42, + minValue: 42, + }, + readAccessType: "Test string", + } + ], + kind: "Test string", + schemaId: "Test string", + schemaName: "Test string", + }); + /** Updates a schema. */ + await gapi.client.directory.schemas.update({ + customerId: "Test string", + schemaKey: "Test string", + }, { + displayName: "Test string", + etag: "Test string", + fields: [ + { + displayName: "Test string", + etag: "Test string", + fieldId: "Test string", + fieldName: "Test string", + fieldType: "Test string", + indexed: true, + kind: "Test string", + multiValued: true, + numericIndexingSpec: { + maxValue: 42, + minValue: 42, + }, + readAccessType: "Test string", + } + ], + kind: "Test string", + schemaId: "Test string", + schemaName: "Test string", + }); + /** Deletes all access tokens issued by a user for an application. */ + await gapi.client.directory.tokens.delete({ + clientId: "Test string", + userKey: "Test string", + }); + /** Gets information about an access token issued by a user. */ + await gapi.client.directory.tokens.get({ + clientId: "Test string", + userKey: "Test string", + }); + /** Returns the set of tokens specified user has issued to 3rd party applications. */ + await gapi.client.directory.tokens.list({ + userKey: "Test string", + }); + /** Turns off 2-Step Verification for user. */ + await gapi.client.directory.twoStepVerification.turnOff({ + userKey: "Test string", + }); + /** Deletes a user. */ + await gapi.client.directory.users.delete({ + userKey: "Test string", + }); + /** Retrieves a user. */ + await gapi.client.directory.users.get({ + customFieldMask: "Test string", + projection: "Test string", + userKey: "Test string", + viewType: "Test string", + }); + /** Creates a user. */ + await gapi.client.directory.users.insert({ + }, { + addresses: 42, + agreedToTerms: true, + aliases: [ + "Test string" + ], + archived: true, + changePasswordAtNextLogin: true, + creationTime: "Test string", + customerId: "Test string", + customSchemas: { + A: { + A: 42 + } + }, + deletionTime: "Test string", + emails: 42, + etag: "Test string", + externalIds: 42, + gender: 42, + hashFunction: "Test string", + id: "Test string", + ims: 42, + includeInGlobalAddressList: true, + ipWhitelisted: true, + isAdmin: true, + isDelegatedAdmin: true, + isEnforcedIn2Sv: true, + isEnrolledIn2Sv: true, + isMailboxSetup: true, + keywords: 42, + kind: "Test string", + languages: 42, + lastLoginTime: "Test string", + locations: 42, + name: { + familyName: "Test string", + fullName: "Test string", + givenName: "Test string", + }, + nonEditableAliases: [ + "Test string" + ], + notes: 42, + organizations: 42, + orgUnitPath: "Test string", + password: "Test string", + phones: 42, + posixAccounts: 42, + primaryEmail: "Test string", + recoveryEmail: "Test string", + recoveryPhone: "Test string", + relations: 42, + sshPublicKeys: 42, + suspended: true, + suspensionReason: "Test string", + thumbnailPhotoEtag: "Test string", + thumbnailPhotoUrl: "Test string", + websites: 42, + }); + /** Retrieves a paginated list of either deleted users or all users in a domain. */ + await gapi.client.directory.users.list({ + customer: "Test string", + customFieldMask: "Test string", + domain: "Test string", + event: "Test string", + maxResults: 42, + orderBy: "Test string", + pageToken: "Test string", + projection: "Test string", + query: "Test string", + showDeleted: "Test string", + sortOrder: "Test string", + viewType: "Test string", + }); + /** Makes a user a super administrator. */ + await gapi.client.directory.users.makeAdmin({ + userKey: "Test string", + }, { + status: true, + }); + /** + * Updates a user using patch semantics. The update method should be used instead, since it also supports patch semantics and has better performance. This method is unable to clear fields + * that contain repeated objects (\`addresses\`, \`phones\`, etc). Use the update method instead. + */ + await gapi.client.directory.users.patch({ + userKey: "Test string", + }, { + addresses: 42, + agreedToTerms: true, + aliases: [ + "Test string" + ], + archived: true, + changePasswordAtNextLogin: true, + creationTime: "Test string", + customerId: "Test string", + customSchemas: { + A: { + A: 42 + } + }, + deletionTime: "Test string", + emails: 42, + etag: "Test string", + externalIds: 42, + gender: 42, + hashFunction: "Test string", + id: "Test string", + ims: 42, + includeInGlobalAddressList: true, + ipWhitelisted: true, + isAdmin: true, + isDelegatedAdmin: true, + isEnforcedIn2Sv: true, + isEnrolledIn2Sv: true, + isMailboxSetup: true, + keywords: 42, + kind: "Test string", + languages: 42, + lastLoginTime: "Test string", + locations: 42, + name: { + familyName: "Test string", + fullName: "Test string", + givenName: "Test string", + }, + nonEditableAliases: [ + "Test string" + ], + notes: 42, + organizations: 42, + orgUnitPath: "Test string", + password: "Test string", + phones: 42, + posixAccounts: 42, + primaryEmail: "Test string", + recoveryEmail: "Test string", + recoveryPhone: "Test string", + relations: 42, + sshPublicKeys: 42, + suspended: true, + suspensionReason: "Test string", + thumbnailPhotoEtag: "Test string", + thumbnailPhotoUrl: "Test string", + websites: 42, + }); + /** Signs a user out of all web and device sessions and reset their sign-in cookies. User will have to sign in by authenticating again. */ + await gapi.client.directory.users.signOut({ + userKey: "Test string", + }); + /** Undeletes a deleted user. */ + await gapi.client.directory.users.undelete({ + userKey: "Test string", + }, { + orgUnitPath: "Test string", + }); + /** + * Updates a user. 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, and + * fields set to \`null\` will be cleared. + */ + await gapi.client.directory.users.update({ + userKey: "Test string", + }, { + addresses: 42, + agreedToTerms: true, + aliases: [ + "Test string" + ], + archived: true, + changePasswordAtNextLogin: true, + creationTime: "Test string", + customerId: "Test string", + customSchemas: { + A: { + A: 42 + } + }, + deletionTime: "Test string", + emails: 42, + etag: "Test string", + externalIds: 42, + gender: 42, + hashFunction: "Test string", + id: "Test string", + ims: 42, + includeInGlobalAddressList: true, + ipWhitelisted: true, + isAdmin: true, + isDelegatedAdmin: true, + isEnforcedIn2Sv: true, + isEnrolledIn2Sv: true, + isMailboxSetup: true, + keywords: 42, + kind: "Test string", + languages: 42, + lastLoginTime: "Test string", + locations: 42, + name: { + familyName: "Test string", + fullName: "Test string", + givenName: "Test string", + }, + nonEditableAliases: [ + "Test string" + ], + notes: 42, + organizations: 42, + orgUnitPath: "Test string", + password: "Test string", + phones: 42, + posixAccounts: 42, + primaryEmail: "Test string", + recoveryEmail: "Test string", + recoveryPhone: "Test string", + relations: 42, + sshPublicKeys: 42, + suspended: true, + suspensionReason: "Test string", + thumbnailPhotoEtag: "Test string", + thumbnailPhotoUrl: "Test string", + websites: 42, + }); + /** Watches for changes in users list. */ + await gapi.client.directory.users.watch({ + customer: "Test string", + customFieldMask: "Test string", + domain: "Test string", + event: "Test string", + maxResults: 42, + orderBy: "Test string", + pageToken: "Test string", + projection: "Test string", + query: "Test string", + showDeleted: "Test string", + sortOrder: "Test string", + viewType: "Test string", + }, { + address: "Test string", + expiration: "Test string", + id: "Test string", + kind: "Test string", + params: { + A: "Test string" + }, + payload: true, + resourceId: "Test string", + resourceUri: "Test string", + token: "Test string", + type: "Test string", + }); + /** Removes an alias. */ + await gapi.client.directory.users.aliases.delete({ + alias: "Test string", + userKey: "Test string", + }); + /** Adds an alias. */ + await gapi.client.directory.users.aliases.insert({ + userKey: "Test string", + }, { + alias: "Test string", + etag: "Test string", + id: "Test string", + kind: "Test string", + primaryEmail: "Test string", + }); + /** Lists all aliases for a user. */ + await gapi.client.directory.users.aliases.list({ + event: "Test string", + userKey: "Test string", + }); + /** Watches for changes in users list. */ + await gapi.client.directory.users.aliases.watch({ + event: "Test string", + userKey: "Test string", + }, { + address: "Test string", + expiration: "Test string", + id: "Test string", + kind: "Test string", + params: { + A: "Test string" + }, + payload: true, + resourceId: "Test string", + resourceUri: "Test string", + token: "Test string", + type: "Test string", + }); + /** Removes the user's photo. */ + await gapi.client.directory.users.photos.delete({ + userKey: "Test string", + }); + /** Retrieves the user's photo. */ + await gapi.client.directory.users.photos.get({ + userKey: "Test string", + }); + /** Adds a photo for the user. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). */ + await gapi.client.directory.users.photos.patch({ + userKey: "Test string", + }, { + etag: "Test string", + height: 42, + id: "Test string", + kind: "Test string", + mimeType: "Test string", + photoData: "Test string", + primaryEmail: "Test string", + width: 42, + }); + /** Adds a photo for the user. */ + await gapi.client.directory.users.photos.update({ + userKey: "Test string", + }, { + etag: "Test string", + height: 42, + id: "Test string", + kind: "Test string", + mimeType: "Test string", + photoData: "Test string", + primaryEmail: "Test string", + width: 42, + }); + /** Generates new backup verification codes for the user. */ + await gapi.client.directory.verificationCodes.generate({ + userKey: "Test string", + }); + /** Invalidates the current backup verification codes for the user. */ + await gapi.client.directory.verificationCodes.invalidate({ + userKey: "Test string", + }); + /** Returns the current set of valid backup verification codes for the specified user. */ + await gapi.client.directory.verificationCodes.list({ + userKey: "Test string", + }); + } +}); +" +`; + +exports[`admin works 6`] = ` +"{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6", "dom"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "strictFunctionTypes": true + }, + "files": ["index.d.ts", "tests.ts"] +} +" +`; + +exports[`admin works 7`] = ` +"{ + "extends": "dtslint/dtslint.json", + "rules": { + "no-redundant-jsdoc": false + } +} +" +`; + +exports[`calendar DT works 1`] = ` +"// Type definitions for non-npm package Calendar API v3 0.0 +// Project: https://developers.google.com/google-apps/calendar/firstapp +// Definitions by: Maxim Mazurok +// Nick Amoscato +// Declan Vong +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// Referenced type definitions are generated by https://github.com/Maxim-Mazurok/google-api-typings-generator +// In case of any problems please open issue in https://github.com/Maxim-Mazurok/google-api-typings-generator/issues/new + +/// +" +`; + +exports[`calendar DT works 2`] = ` +"{ + "private": true, + "dependencies": { + "@maxim_mazurok/gapi.client.calendar-v3": "latest" + } +} +" +`; + +exports[`calendar DT works 3`] = ` +"{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "baseUrl": "../", + "typeRoots": ["../"], + "types": [] + }, + "files": ["index.d.ts"] +} +" +`; + +exports[`calendar DT works 4`] = ` +"{ + "extends": "@definitelytyped/dtslint/dt.json", + "rules": { + "npm-naming": false + } +} +" +`; + +exports[`calendar works 1`] = ` +"//registry.npmjs.org/:_authToken=\${NPM_PUBLISH_AUTOMATION_TOKEN} +" +`; + +exports[`calendar works 2`] = ` +"/* Type definitions for non-npm package Calendar API v3 0.0 */ +// Project: https://developers.google.com/google-apps/calendar/firstapp +// Definitions by: Maxim Mazurok +// Nick Amoscato +// Declan Vong +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// IMPORTANT +// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. +// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator +// Generated from: http://localhost:3000/calendar.json +// Revision: 20220624 + +/// + +declare namespace gapi.client { + /** Load Calendar API v3 */ + function load(urlOrObject: "http://localhost:3000/calendar.json"): Promise; + /** @deprecated Please load APIs with discovery documents. */ + function load(name: "calendar", version: "v3"): Promise; + /** @deprecated Please load APIs with discovery documents. */ + function load(name: "calendar", version: "v3", callback: () => any): void; + + namespace calendar { + interface Acl { + /** ETag of the collection. */ + etag?: string; + /** List of rules on the access control list. */ + items?: 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 AclRule { + /** ETag of the resource. */ + etag?: string; + /** Identifier of the Access Control List (ACL) rule. See Sharing calendars. */ + 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 extent to which calendar access is granted by this ACL rule. */ + scope?: { + /** + * The type of the scope. Possible values are: + * - "default" - The public scope. This is the default value. + * - "user" - Limits the scope to a single user. + * - "group" - Limits the scope to a group. + * - "domain" - Limits the scope to a domain. Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not. + */ + type?: string; + /** The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default". */ + value?: string; + }; + } + interface Calendar { + /** Conferencing properties for this calendar, for example what types of conferences are allowed. */ + conferenceProperties?: 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 CalendarList { + /** ETag of the collection. */ + etag?: string; + /** Calendars that are present on the user's calendar list. */ + items?: 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 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?: ConferenceProperties; + /** The default reminders that the authenticated user has for this calendar. */ + defaultReminders?: 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 attribute is only returned when the calendar is hidden, in which case the value is true. */ + 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?: { + /** The list of notifications set for this calendar. */ + notifications?: CalendarNotification[]; + }; + /** 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 CalendarNotification { + /** + * The method used to deliver the notification. The possible value is: + * - "email" - Notifications are sent via email. + * 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 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, which is "api#channel". */ + kind?: string; + /** Additional parameters controlling delivery channel behavior. Optional. */ + params?: { [P in string]: string }; + /** 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. Valid values are "web_hook" (or "webhook"). Both values refer to a channel where Http requests are used to deliver messages. */ + type?: string; + } + interface 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 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 colorId field. Read-only. */ + calendar?: { [P in string]: ColorDefinition }; + /** 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 colorId field. Read-only. */ + event?: { [P in string]: ColorDefinition }; + /** Type of the resource ("calendar#colors"). */ + kind?: string; + /** Last modification time of the color palette (as a RFC3339 timestamp). Read-only. */ + updated?: string; + } + interface ConferenceData { + /** + * The ID of the conference. + * Can be used by developers to keep track of conferences, should not be displayed to users. + * The ID value is formed differently for each conference solution type: + * - eventHangout: ID is not set. (This conference type is deprecated.) + * - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.) + * - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc. + * - addOn: ID is defined by the third-party provider. Optional. + */ + conferenceId?: string; + /** + * The conference solution, such as Google Meet. + * Unset for a conference with a failed create request. + * Either conferenceSolution and at least one entryPoint, or createRequest is required. + */ + conferenceSolution?: 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?: 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?: 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?: ConferenceParameters; + /** + * The signature of the conference data. + * Generated on server side. + * Unset for a conference with a failed create request. + * Optional for a conference with a pending create request. + */ + signature?: string; + } + interface ConferenceParameters { + /** Additional add-on specific data. */ + addOnParameters?: ConferenceParametersAddOnParameters; + } + interface ConferenceParametersAddOnParameters { + parameters?: { [P in string]: string }; + } + interface ConferenceProperties { + /** + * The types of conference solutions that are supported for this calendar. + * The possible values are: + * - "eventHangout" + * - "eventNamedHangout" + * - "hangoutsMeet" Optional. + */ + allowedConferenceSolutionTypes?: string[]; + } + interface 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 ConferenceSolution { + /** The user-visible icon for this solution. */ + iconUri?: string; + /** The key which can uniquely identify the conference solution for this event. */ + key?: ConferenceSolutionKey; + /** The user-visible name of this solution. Not localized. */ + name?: string; + } + interface 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 (deprecated; existing events may show this conference solution type but new conferences cannot be created) + * - "eventNamedHangout" for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created) + * - "hangoutsMeet" for Google Meet (http://meet.google.com) + * - "addOn" for 3P conference providers + */ + type?: string; + } + interface CreateConferenceRequest { + /** The conference solution, such as Hangouts or Google Meet. */ + conferenceSolutionKey?: 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?: ConferenceRequestStatus; + } + interface 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 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 Event { + /** Whether anyone can invite themselves to the event (deprecated). Optional. The default is False. */ + anyoneCanAddSelf?: boolean; + /** + * File attachments for the event. + * In order to modify attachments the supportsAttachments request parameter should be set to true. + * There can be at most 25 attachments per event, + */ + attachments?: EventAttachment[]; + /** + * The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide + * delegation of authority to populate the attendee list. + */ + attendees?: 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 Google 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?: ConferenceData; + /** Creation time of the event (as a RFC3339 timestamp). Read-only. */ + created?: string; + /** The creator of the event. Read-only. */ + creator?: { + /** The creator's name, if available. */ + displayName?: string; + /** The creator's email address, if available. */ + email?: string; + /** The creator's Profile ID, if available. */ + id?: string; + /** Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False. */ + self?: boolean; + }; + /** Description of the event. Can contain HTML. Optional. */ + description?: string; + /** The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance. */ + end?: 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; + /** + * Specific type of the event. Read-only. Possible values are: + * - "default" - A regular event or not further specified. + * - "outOfOffice" - An out-of-office event. + * - "focusTime" - A focus-time event. + */ + eventType?: string; + /** Extended properties of the event. */ + extendedProperties?: { + /** Properties that are private to the copy of the event that appears on this calendar. */ + private?: { [P in string]: string }; + /** Properties that are shared between copies of the event on other attendees' calendars. */ + shared?: { [P in string]: string }; + }; + /** A gadget that extends this event. Gadgets are deprecated; this structure is instead only used for returning birthday calendar metadata. */ + gadget?: { + /** + * The gadget's display mode. Deprecated. Possible values are: + * - "icon" - The gadget displays next to the event's title in the calendar view. + * - "chip" - The gadget displays when the event is clicked. + */ + display?: string; + /** The gadget's height in pixels. The height must be an integer greater than 0. Optional. Deprecated. */ + height?: number; + /** The gadget's icon URL. The URL scheme must be HTTPS. Deprecated. */ + iconLink?: string; + /** The gadget's URL. The URL scheme must be HTTPS. Deprecated. */ + link?: string; + /** Preferences. */ + preferences?: { [P in string]: string }; + /** The gadget's title. Deprecated. */ + title?: string; + /** The gadget's type. Deprecated. */ + type?: string; + /** The gadget's width in pixels. The width must be an integer greater than 0. Optional. Deprecated. */ + width?: number; + }; + /** 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?: { + /** The organizer's name, if available. */ + displayName?: string; + /** The organizer's email address, if available. It must be a valid email address as per RFC5322. */ + email?: string; + /** The organizer's Profile ID, if available. */ + id?: string; + /** Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False. */ + self?: boolean; + }; + /** + * 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?: EventDateTime; + /** If set to True, Event propagation is disabled. Note that it is not the same thing as Private event properties. 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?: { + /** + * If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event. The maximum + * number of override reminders is 5. + */ + overrides?: EventReminder[]; + /** Whether the default reminders of the calendar apply to the event. */ + useDefault?: boolean; + }; + /** 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?: { + /** Title of the source; for example a title of a web page or an email subject. */ + title?: string; + /** URL of the source pointing to a resource. The URL scheme must be HTTP or HTTPS. */ + url?: string; + }; + /** The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance. */ + start?: 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 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. This field can only be modified for custom third-party attachments. */ + iconLink?: string; + /** Internet media type (MIME type) of the attachment. */ + mimeType?: string; + /** Attachment title. */ + title?: string; + } + interface 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. */ + 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 (recommended for new events). + * - "declined" - The attendee has declined the invitation. + * - "tentative" - The attendee has tentatively accepted the invitation. + * - "accepted" - The attendee has accepted the invitation. Warning: If you add an event using the values declined, tentative, or accepted, attendees with the "Add invitations to my + * calendar" setting set to "When I respond to invitation in email" won't see an event on their calendar unless they choose to change their invitation response in the event invitation + * email. + */ + 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 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 EventReminder { + /** + * The method used by this reminder. Possible values are: + * - "email" - Reminders are sent via email. + * - "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 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?: EventReminder[]; + /** Description of the calendar. Read-only. */ + description?: string; + /** ETag of the collection. */ + etag?: string; + /** List of events on the calendar. */ + items?: 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 FreeBusyCalendar { + /** List of time ranges during which this calendar should be regarded as busy. */ + busy?: TimePeriod[]; + /** Optional error(s) (if computation for the calendar failed). */ + errors?: Error[]; + } + interface FreeBusyGroup { + /** List of calendars' identifiers within a group. */ + calendars?: string[]; + /** Optional error(s) (if computation for the group failed). */ + errors?: Error[]; + } + interface 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?: 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 FreeBusyRequestItem { + /** The identifier of a calendar or a group. */ + id?: string; + } + interface FreeBusyResponse { + /** List of free/busy information for calendars. */ + calendars?: { [P in string]: FreeBusyCalendar }; + /** Expansion of groups. */ + groups?: { [P in string]: FreeBusyGroup }; + /** Type of the resource ("calendar#freeBusy"). */ + kind?: string; + /** The end of the interval. */ + timeMax?: string; + /** The start of the interval. */ + timeMin?: string; + } + interface 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 Settings { + /** Etag of the collection. */ + etag?: string; + /** List of user settings. */ + items?: 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 TimePeriod { + /** The (exclusive) end of the time period. */ + end?: string; + /** The (inclusive) start of the time period. */ + start?: string; + } + interface AclResource { + /** Deletes an access control rule. */ + delete(request?: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** ACL rule identifier. */ + ruleId: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Returns an access control rule. */ + get(request?: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** ACL rule identifier. */ + ruleId: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Creates an access control rule. */ + insert(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether to send notifications about the calendar sharing change. Optional. The default is True. */ + sendNotifications?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: AclRule; + }): Request; + insert(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether to send notifications about the calendar sharing change. Optional. The default is True. */ + sendNotifications?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: AclRule): Request; + /** Returns the rules in the access control list for the calendar. */ + list(request?: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Updates an access control rule. This method supports patch semantics. */ + patch(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: AclRule; + }): Request; + patch(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: AclRule): Request; + /** Updates an access control rule. */ + update(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: AclRule; + }): Request; + update(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: AclRule): Request; + /** Watch for changes to ACL resources. */ + watch(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Channel; + }): Request; + watch(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Channel): Request; + } + interface CalendarListResource { + /** Removes a calendar from the user's calendar list. */ + delete(request?: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Returns a calendar from the user's calendar list. */ + get(request?: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Inserts an existing calendar into the user's calendar list. */ + insert(request: { + /** Data format for the response. */ + alt?: 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: CalendarListEntry; + }): Request; + insert(request: { + /** Data format for the response. */ + alt?: 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: CalendarListEntry): Request; + /** Returns the calendars on the user's calendar list. */ + list(request?: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** The minimum access role for the user in the returned entries. Optional. The default is no restriction. */ + minAccessRole?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Updates an existing calendar on the user's calendar list. This method supports patch semantics. */ + patch(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: CalendarListEntry; + }): Request; + patch(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: CalendarListEntry): Request; + /** Updates an existing calendar on the user's calendar list. */ + update(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: CalendarListEntry; + }): Request; + update(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: CalendarListEntry): Request; + /** Watch for changes to CalendarList resources. */ + watch(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** The minimum access role for the user in the returned entries. Optional. The default is no restriction. */ + minAccessRole?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Channel; + }): Request; + watch(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** The minimum access role for the user in the returned entries. Optional. The default is no restriction. */ + minAccessRole?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Channel): Request; + } + interface CalendarsResource { + /** Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account. */ + clear(request?: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars. */ + delete(request?: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Returns metadata for a calendar. */ + get(request?: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Creates a secondary calendar. */ + insert(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Calendar; + }): Request; + insert(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Calendar): Request; + /** Updates metadata for a calendar. This method supports patch semantics. */ + patch(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Calendar; + }): Request; + patch(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Calendar): Request; + /** Updates metadata for a calendar. */ + update(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Calendar; + }): Request; + update(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Calendar): Request; + } + interface ChannelsResource { + /** Stop watching resources through this channel */ + stop(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Channel; + }): Request; + stop(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Channel): Request; + } + interface ColorsResource { + /** Returns the color definitions for calendars and events. */ + get(request?: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + } + interface EventsResource { + /** Deletes an event. */ + delete(request?: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** + * Deprecated. Please use sendUpdates instead. + * + * Whether to send notifications about the deletion of the event. Note that some emails might still be sent even if you set the value to false. The default is false. + */ + sendNotifications?: boolean; + /** Guests who should receive notifications about the deletion of the event. */ + sendUpdates?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Returns an event. */ + get(request?: { + /** Data format for the response. */ + alt?: string; + /** + * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a + * generated, non-working value will be provided). + */ + 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Time zone used in the response. Optional. The default is the time zone of the calendar. */ + timeZone?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Imports an event. This operation is used to add a private copy of an existing event to a calendar. */ + import(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether API client performing operation supports event attachments. Optional. The default is False. */ + supportsAttachments?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Event; + }): Request; + import(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether API client performing operation supports event attachments. Optional. The default is False. */ + supportsAttachments?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Event): Request; + /** Creates an event. */ + insert(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** + * Deprecated. Please use sendUpdates instead. + * + * Whether to send notifications about the creation of the new event. Note that some emails might still be sent even if you set the value to false. The default is false. + */ + sendNotifications?: boolean; + /** Whether to send notifications about the creation of the new event. Note that some emails might still be sent. The default is false. */ + sendUpdates?: string; + /** Whether API client performing operation supports event attachments. Optional. The default is False. */ + supportsAttachments?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Event; + }): Request; + insert(request: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** + * Deprecated. Please use sendUpdates instead. + * + * Whether to send notifications about the creation of the new event. Note that some emails might still be sent even if you set the value to false. The default is false. + */ + sendNotifications?: boolean; + /** Whether to send notifications about the creation of the new event. Note that some emails might still be sent. The default is false. */ + sendUpdates?: string; + /** Whether API client performing operation supports event attachments. Optional. The default is False. */ + supportsAttachments?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Event): Request; + /** Returns instances of the specified recurring event. */ + instances(request?: { + /** Data format for the response. */ + alt?: string; + /** + * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a + * generated, non-working value will be provided). + */ + 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** The original start time of the instance in the result. Optional. */ + originalStart?: string; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Returns events on the specified calendar. */ + list(request?: { + /** Data format for the response. */ + alt?: string; + /** + * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a + * generated, non-working value will be provided). + */ + 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Specifies event ID in the iCalendar format to be included in the response. Optional. */ + iCalUID?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** 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; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** + * 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 | string[]; + /** Free text search terms to find events that match these terms in the following fields: summary, description, location, attendee's displayName, attendee's email. Optional. */ + q?: string; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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 | 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, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin. + */ + timeMax?: string; + /** + * Lower bound (exclusive) 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, + * for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Moves an event to another calendar, i.e. changes an event's organizer. */ + move(request?: { + /** Data format for the response. */ + alt?: string; + /** 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** + * Deprecated. Please use sendUpdates instead. + * + * Whether to send notifications about the change of the event's organizer. Note that some emails might still be sent even if you set the value to false. The default is false. + */ + sendNotifications?: boolean; + /** Guests who should receive notifications about the change of the event's organizer. */ + sendUpdates?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Updates an event. This method supports patch semantics. */ + patch(request: { + /** Data format for the response. */ + alt?: string; + /** + * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a + * generated, non-working value will be provided). + */ + 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** + * Deprecated. Please use sendUpdates instead. + * + * Whether to send notifications about the event update (for example, description changes, etc.). Note that some emails might still be sent even if you set the value to false. The + * default is false. + */ + sendNotifications?: boolean; + /** Guests who should receive notifications about the event update (for example, title changes, etc.). */ + sendUpdates?: string; + /** Whether API client performing operation supports event attachments. Optional. The default is False. */ + supportsAttachments?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Event; + }): Request; + patch(request: { + /** Data format for the response. */ + alt?: string; + /** + * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a + * generated, non-working value will be provided). + */ + 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** + * Deprecated. Please use sendUpdates instead. + * + * Whether to send notifications about the event update (for example, description changes, etc.). Note that some emails might still be sent even if you set the value to false. The + * default is false. + */ + sendNotifications?: boolean; + /** Guests who should receive notifications about the event update (for example, title changes, etc.). */ + sendUpdates?: string; + /** Whether API client performing operation supports event attachments. Optional. The default is False. */ + supportsAttachments?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Event): Request; + /** Creates an event based on a simple text string. */ + quickAdd(request?: { + /** Data format for the response. */ + alt?: string; + /** + * 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** + * Deprecated. Please use sendUpdates instead. + * + * Whether to send notifications about the creation of the event. Note that some emails might still be sent even if you set the value to false. The default is false. + */ + sendNotifications?: boolean; + /** Guests who should receive notifications about the creation of the new event. */ + sendUpdates?: string; + /** The text describing the event to be created. */ + text: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Updates an event. */ + update(request: { + /** Data format for the response. */ + alt?: string; + /** + * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a + * generated, non-working value will be provided). + */ + 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** + * Deprecated. Please use sendUpdates instead. + * + * Whether to send notifications about the event update (for example, description changes, etc.). Note that some emails might still be sent even if you set the value to false. The + * default is false. + */ + sendNotifications?: boolean; + /** Guests who should receive notifications about the event update (for example, title changes, etc.). */ + sendUpdates?: string; + /** Whether API client performing operation supports event attachments. Optional. The default is False. */ + supportsAttachments?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Event; + }): Request; + update(request: { + /** Data format for the response. */ + alt?: string; + /** + * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a + * generated, non-working value will be provided). + */ + 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** + * Deprecated. Please use sendUpdates instead. + * + * Whether to send notifications about the event update (for example, description changes, etc.). Note that some emails might still be sent even if you set the value to false. The + * default is false. + */ + sendNotifications?: boolean; + /** Guests who should receive notifications about the event update (for example, title changes, etc.). */ + sendUpdates?: string; + /** Whether API client performing operation supports event attachments. Optional. The default is False. */ + supportsAttachments?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Event): Request; + /** Watch for changes to Events resources. */ + watch(request: { + /** Data format for the response. */ + alt?: string; + /** + * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a + * generated, non-working value will be provided). + */ + 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Specifies event ID in the iCalendar format to be included in the response. Optional. */ + iCalUID?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** 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; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** + * 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 | string[]; + /** Free text search terms to find events that match these terms in the following fields: summary, description, location, attendee's displayName, attendee's email. Optional. */ + q?: string; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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 | 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, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin. + */ + timeMax?: string; + /** + * Lower bound (exclusive) 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, + * for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Channel; + }): Request; + watch(request: { + /** Data format for the response. */ + alt?: string; + /** + * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a + * generated, non-working value will be provided). + */ + 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; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Specifies event ID in the iCalendar format to be included in the response. Optional. */ + iCalUID?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** 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; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** + * 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 | string[]; + /** Free text search terms to find events that match these terms in the following fields: summary, description, location, attendee's displayName, attendee's email. Optional. */ + q?: string; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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 | 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, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin. + */ + timeMax?: string; + /** + * Lower bound (exclusive) 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, + * for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Channel): Request; + } + interface FreebusyResource { + /** Returns free/busy information for a set of calendars. */ + query(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: FreeBusyRequest; + }): Request; + query(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: FreeBusyRequest): Request; + } + interface SettingsResource { + /** Returns a single user setting. */ + get(request?: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** The id of the user setting. */ + setting: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Returns all user settings for the authenticated user. */ + list(request?: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Watch for changes to Settings resources. */ + watch(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Channel; + }): Request; + watch(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Channel): Request; + } + + const acl: AclResource; + + const calendarList: CalendarListResource; + + const calendars: CalendarsResource; + + const channels: ChannelsResource; + + const colors: ColorsResource; + + const events: EventsResource; + + const freebusy: FreebusyResource; + + const settings: SettingsResource; + } +} +" +`; + +exports[`calendar works 3`] = ` +"{ + "name": "@maxim_mazurok/gapi.client.calendar-v3", + "version": "0.0.20220624", + "description": "TypeScript typings for Calendar API v3", + "license": "MIT", + "author": { + "email": "maxim@mazurok.com", + "name": "Maxim Mazurok", + "url": "https://maxim.mazurok.com" + }, + "repository": { + "type": "git", + "url": "https://github.com/Maxim-Mazurok/google-api-typings-generator.git" + }, + "types": "index.d.ts", + "dependencies": { + "@types/gapi.client": "*", + "@types/gapi.client.discovery": "*" + } +} +" +`; + +exports[`calendar works 4`] = ` +"# TypeScript typings for Calendar API v3 + +Manipulates events and other calendar data. +For detailed description please check [documentation](https://developers.google.com/google-apps/calendar/firstapp). + +## Installing + +Install typings for Calendar API: + +\`\`\` +npm install @types/gapi.client.calendar-v3 --save-dev +\`\`\` + +## Usage + +You need to initialize Google API client in your code: + +\`\`\`typescript +gapi.load('client', () => { + // now we can use gapi.client + // ... +}); +\`\`\` + +Then load api client wrapper: + +\`\`\`typescript +gapi.client.load('http://localhost:3000/calendar.json', () => { + // now we can use: + // gapi.client.calendar +}); +\`\`\` + +\`\`\`typescript +// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback-- +gapi.client.load('calendar', 'v3', () => { + // now we can use: + // gapi.client.calendar +}); +\`\`\` + +Don't forget to authenticate your client before sending any request to resources: + +\`\`\`typescript +// declare client_id registered in Google Developers Console +var client_id = '', + scope = [ + // See, edit, share, and permanently delete all the calendars you can access using Google Calendar + 'https://www.googleapis.com/auth/calendar', + + // View and edit events on all your calendars + 'https://www.googleapis.com/auth/calendar.events', + + // View events on all your calendars + 'https://www.googleapis.com/auth/calendar.events.readonly', + + // See and download any calendar you can access using your Google Calendar + 'https://www.googleapis.com/auth/calendar.readonly', + + // View your Calendar settings + 'https://www.googleapis.com/auth/calendar.settings.readonly', + ], + immediate = true; +// ... + +gapi.auth.authorize( + { client_id: client_id, scope: scope, immediate: immediate }, + authResult => { + if (authResult && !authResult.error) { + /* handle successful authorization */ + } else { + /* handle authorization error */ + } +}); +\`\`\` + +After that you can use Calendar API resources: + +\`\`\`typescript + +/* +Deletes an access control rule. +*/ +await gapi.client.calendar.acl.delete({ calendarId: "calendarId", ruleId: "ruleId", }); + +/* +Returns an access control rule. +*/ +await gapi.client.calendar.acl.get({ calendarId: "calendarId", ruleId: "ruleId", }); + +/* +Creates an access control rule. +*/ +await gapi.client.calendar.acl.insert({ calendarId: "calendarId", }); + +/* +Returns the rules in the access control list for the calendar. +*/ +await gapi.client.calendar.acl.list({ calendarId: "calendarId", }); + +/* +Updates an access control rule. This method supports patch semantics. +*/ +await gapi.client.calendar.acl.patch({ calendarId: "calendarId", ruleId: "ruleId", }); + +/* +Updates an access control rule. +*/ +await gapi.client.calendar.acl.update({ calendarId: "calendarId", ruleId: "ruleId", }); + +/* +Watch for changes to ACL resources. +*/ +await gapi.client.calendar.acl.watch({ calendarId: "calendarId", }); + +/* +Removes a calendar from the user's calendar list. +*/ +await gapi.client.calendar.calendarList.delete({ calendarId: "calendarId", }); + +/* +Returns a calendar from the user's calendar list. +*/ +await gapi.client.calendar.calendarList.get({ calendarId: "calendarId", }); + +/* +Inserts an existing calendar into the user's calendar list. +*/ +await gapi.client.calendar.calendarList.insert({ }); + +/* +Returns the calendars on the user's calendar list. +*/ +await gapi.client.calendar.calendarList.list({ }); + +/* +Updates an existing calendar on the user's calendar list. This method supports patch semantics. +*/ +await gapi.client.calendar.calendarList.patch({ calendarId: "calendarId", }); + +/* +Updates an existing calendar on the user's calendar list. +*/ +await gapi.client.calendar.calendarList.update({ calendarId: "calendarId", }); + +/* +Watch for changes to CalendarList resources. +*/ +await gapi.client.calendar.calendarList.watch({ }); + +/* +Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account. +*/ +await gapi.client.calendar.calendars.clear({ calendarId: "calendarId", }); + +/* +Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars. +*/ +await gapi.client.calendar.calendars.delete({ calendarId: "calendarId", }); + +/* +Returns metadata for a calendar. +*/ +await gapi.client.calendar.calendars.get({ calendarId: "calendarId", }); + +/* +Creates a secondary calendar. +*/ +await gapi.client.calendar.calendars.insert({ }); + +/* +Updates metadata for a calendar. This method supports patch semantics. +*/ +await gapi.client.calendar.calendars.patch({ calendarId: "calendarId", }); + +/* +Updates metadata for a calendar. +*/ +await gapi.client.calendar.calendars.update({ calendarId: "calendarId", }); + +/* +Stop watching resources through this channel +*/ +await gapi.client.calendar.channels.stop({ }); + +/* +Returns the color definitions for calendars and events. +*/ +await gapi.client.calendar.colors.get({ }); + +/* +Deletes an event. +*/ +await gapi.client.calendar.events.delete({ calendarId: "calendarId", eventId: "eventId", }); + +/* +Returns an event. +*/ +await gapi.client.calendar.events.get({ calendarId: "calendarId", eventId: "eventId", }); + +/* +Imports an event. This operation is used to add a private copy of an existing event to a calendar. +*/ +await gapi.client.calendar.events.import({ calendarId: "calendarId", }); + +/* +Creates an event. +*/ +await gapi.client.calendar.events.insert({ calendarId: "calendarId", }); + +/* +Returns instances of the specified recurring event. +*/ +await gapi.client.calendar.events.instances({ calendarId: "calendarId", eventId: "eventId", }); + +/* +Returns events on the specified calendar. +*/ +await gapi.client.calendar.events.list({ calendarId: "calendarId", }); + +/* +Moves an event to another calendar, i.e. changes an event's organizer. +*/ +await gapi.client.calendar.events.move({ calendarId: "calendarId", destination: "destination", eventId: "eventId", }); + +/* +Updates an event. This method supports patch semantics. +*/ +await gapi.client.calendar.events.patch({ calendarId: "calendarId", eventId: "eventId", }); + +/* +Creates an event based on a simple text string. +*/ +await gapi.client.calendar.events.quickAdd({ calendarId: "calendarId", text: "text", }); + +/* +Updates an event. +*/ +await gapi.client.calendar.events.update({ calendarId: "calendarId", eventId: "eventId", }); + +/* +Watch for changes to Events resources. +*/ +await gapi.client.calendar.events.watch({ calendarId: "calendarId", }); + +/* +Returns free/busy information for a set of calendars. +*/ +await gapi.client.calendar.freebusy.query({ }); + +/* +Returns a single user setting. +*/ +await gapi.client.calendar.settings.get({ setting: "setting", }); + +/* +Returns all user settings for the authenticated user. +*/ +await gapi.client.calendar.settings.list({ }); + +/* +Watch for changes to Settings resources. +*/ +await gapi.client.calendar.settings.watch({ }); +\`\`\` +" +`; + +exports[`calendar works 5`] = ` +"/* This is stub file for gapi.client.calendar-v3 definition tests */ +// IMPORTANT +// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. +// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator + +// Revision: 20220624 + +gapi.load('client', async () => { + /** now we can use gapi.client */ + + await gapi.client.load('http://localhost:3000/calendar.json'); + /** now we can use gapi.client.calendar */ + + /** don't forget to authenticate your client before sending any request to resources: */ + /** declare client_id registered in Google Developers Console */ + const client_id = '<>'; + const scope = [ + /** See, edit, share, and permanently delete all the calendars you can access using Google Calendar */ + 'https://www.googleapis.com/auth/calendar', + /** View and edit events on all your calendars */ + 'https://www.googleapis.com/auth/calendar.events', + /** View events on all your calendars */ + 'https://www.googleapis.com/auth/calendar.events.readonly', + /** See and download any calendar you can access using your Google Calendar */ + 'https://www.googleapis.com/auth/calendar.readonly', + /** View your Calendar settings */ + 'https://www.googleapis.com/auth/calendar.settings.readonly', + ]; + const immediate = false; + gapi.auth.authorize({ client_id, scope, immediate }, authResult => { + if (authResult && !authResult.error) { + /** handle successful authorization */ + run(); + } else { + /** handle authorization error */ + } + }); + + async function run() { + /** Deletes an access control rule. */ + await gapi.client.calendar.acl.delete({ + calendarId: "Test string", + ruleId: "Test string", + }); + /** Returns an access control rule. */ + await gapi.client.calendar.acl.get({ + calendarId: "Test string", + ruleId: "Test string", + }); + /** Creates an access control rule. */ + await gapi.client.calendar.acl.insert({ + calendarId: "Test string", + sendNotifications: true, + }, { + etag: "Test string", + id: "Test string", + kind: "Test string", + role: "Test string", + scope: { + type: "Test string", + value: "Test string", + }, + }); + /** Returns the rules in the access control list for the calendar. */ + await gapi.client.calendar.acl.list({ + calendarId: "Test string", + maxResults: 42, + pageToken: "Test string", + showDeleted: true, + syncToken: "Test string", + }); + /** Updates an access control rule. This method supports patch semantics. */ + await gapi.client.calendar.acl.patch({ + calendarId: "Test string", + ruleId: "Test string", + sendNotifications: true, + }, { + etag: "Test string", + id: "Test string", + kind: "Test string", + role: "Test string", + scope: { + type: "Test string", + value: "Test string", + }, + }); + /** Updates an access control rule. */ + await gapi.client.calendar.acl.update({ + calendarId: "Test string", + ruleId: "Test string", + sendNotifications: true, + }, { + etag: "Test string", + id: "Test string", + kind: "Test string", + role: "Test string", + scope: { + type: "Test string", + value: "Test string", + }, + }); + /** Watch for changes to ACL resources. */ + await gapi.client.calendar.acl.watch({ + calendarId: "Test string", + maxResults: 42, + pageToken: "Test string", + showDeleted: true, + syncToken: "Test string", + }, { + address: "Test string", + expiration: "Test string", + id: "Test string", + kind: "Test string", + params: { + A: "Test string" + }, + payload: true, + resourceId: "Test string", + resourceUri: "Test string", + token: "Test string", + type: "Test string", + }); + /** Removes a calendar from the user's calendar list. */ + await gapi.client.calendar.calendarList.delete({ + calendarId: "Test string", + }); + /** Returns a calendar from the user's calendar list. */ + await gapi.client.calendar.calendarList.get({ + calendarId: "Test string", + }); + /** Inserts an existing calendar into the user's calendar list. */ + await gapi.client.calendar.calendarList.insert({ + colorRgbFormat: true, + }, { + accessRole: "Test string", + backgroundColor: "Test string", + colorId: "Test string", + conferenceProperties: { + allowedConferenceSolutionTypes: [ + "Test string" + ], + }, + defaultReminders: [ + { + method: "Test string", + minutes: 42, + } + ], + deleted: true, + description: "Test string", + etag: "Test string", + foregroundColor: "Test string", + hidden: true, + id: "Test string", + kind: "Test string", + location: "Test string", + notificationSettings: { + notifications: [ + { + method: "Test string", + type: "Test string", + } + ], + }, + primary: true, + selected: true, + summary: "Test string", + summaryOverride: "Test string", + timeZone: "Test string", + }); + /** Returns the calendars on the user's calendar list. */ + await gapi.client.calendar.calendarList.list({ + maxResults: 42, + minAccessRole: "Test string", + pageToken: "Test string", + showDeleted: true, + showHidden: true, + syncToken: "Test string", + }); + /** Updates an existing calendar on the user's calendar list. This method supports patch semantics. */ + await gapi.client.calendar.calendarList.patch({ + calendarId: "Test string", + colorRgbFormat: true, + }, { + accessRole: "Test string", + backgroundColor: "Test string", + colorId: "Test string", + conferenceProperties: { + allowedConferenceSolutionTypes: [ + "Test string" + ], + }, + defaultReminders: [ + { + method: "Test string", + minutes: 42, + } + ], + deleted: true, + description: "Test string", + etag: "Test string", + foregroundColor: "Test string", + hidden: true, + id: "Test string", + kind: "Test string", + location: "Test string", + notificationSettings: { + notifications: [ + { + method: "Test string", + type: "Test string", + } + ], + }, + primary: true, + selected: true, + summary: "Test string", + summaryOverride: "Test string", + timeZone: "Test string", + }); + /** Updates an existing calendar on the user's calendar list. */ + await gapi.client.calendar.calendarList.update({ + calendarId: "Test string", + colorRgbFormat: true, + }, { + accessRole: "Test string", + backgroundColor: "Test string", + colorId: "Test string", + conferenceProperties: { + allowedConferenceSolutionTypes: [ + "Test string" + ], + }, + defaultReminders: [ + { + method: "Test string", + minutes: 42, + } + ], + deleted: true, + description: "Test string", + etag: "Test string", + foregroundColor: "Test string", + hidden: true, + id: "Test string", + kind: "Test string", + location: "Test string", + notificationSettings: { + notifications: [ + { + method: "Test string", + type: "Test string", + } + ], + }, + primary: true, + selected: true, + summary: "Test string", + summaryOverride: "Test string", + timeZone: "Test string", + }); + /** Watch for changes to CalendarList resources. */ + await gapi.client.calendar.calendarList.watch({ + maxResults: 42, + minAccessRole: "Test string", + pageToken: "Test string", + showDeleted: true, + showHidden: true, + syncToken: "Test string", + }, { + address: "Test string", + expiration: "Test string", + id: "Test string", + kind: "Test string", + params: { + A: "Test string" + }, + payload: true, + resourceId: "Test string", + resourceUri: "Test string", + token: "Test string", + type: "Test string", + }); + /** Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account. */ + await gapi.client.calendar.calendars.clear({ + calendarId: "Test string", + }); + /** Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars. */ + await gapi.client.calendar.calendars.delete({ + calendarId: "Test string", + }); + /** Returns metadata for a calendar. */ + await gapi.client.calendar.calendars.get({ + calendarId: "Test string", + }); + /** Creates a secondary calendar. */ + await gapi.client.calendar.calendars.insert({} , { + conferenceProperties: { + allowedConferenceSolutionTypes: [ + "Test string" + ], + }, + description: "Test string", + etag: "Test string", + id: "Test string", + kind: "Test string", + location: "Test string", + summary: "Test string", + timeZone: "Test string", + }); + /** Updates metadata for a calendar. This method supports patch semantics. */ + await gapi.client.calendar.calendars.patch({ + calendarId: "Test string", + }, { + conferenceProperties: { + allowedConferenceSolutionTypes: [ + "Test string" + ], + }, + description: "Test string", + etag: "Test string", + id: "Test string", + kind: "Test string", + location: "Test string", + summary: "Test string", + timeZone: "Test string", + }); + /** Updates metadata for a calendar. */ + await gapi.client.calendar.calendars.update({ + calendarId: "Test string", + }, { + conferenceProperties: { + allowedConferenceSolutionTypes: [ + "Test string" + ], + }, + description: "Test string", + etag: "Test string", + id: "Test string", + kind: "Test string", + location: "Test string", + summary: "Test string", + timeZone: "Test string", + }); + /** Stop watching resources through this channel */ + await gapi.client.calendar.channels.stop({} , { + address: "Test string", + expiration: "Test string", + id: "Test string", + kind: "Test string", + params: { + A: "Test string" + }, + payload: true, + resourceId: "Test string", + resourceUri: "Test string", + token: "Test string", + type: "Test string", + }); + /** Returns the color definitions for calendars and events. */ + await gapi.client.calendar.colors.get(); + /** Deletes an event. */ + await gapi.client.calendar.events.delete({ + calendarId: "Test string", + eventId: "Test string", + sendNotifications: true, + sendUpdates: "Test string", + }); + /** Returns an event. */ + await gapi.client.calendar.events.get({ + alwaysIncludeEmail: true, + calendarId: "Test string", + eventId: "Test string", + maxAttendees: 42, + timeZone: "Test string", + }); + /** Imports an event. This operation is used to add a private copy of an existing event to a calendar. */ + await gapi.client.calendar.events.import({ + calendarId: "Test string", + conferenceDataVersion: 42, + supportsAttachments: true, + }, { + anyoneCanAddSelf: true, + attachments: [ + { + fileId: "Test string", + fileUrl: "Test string", + iconLink: "Test string", + mimeType: "Test string", + title: "Test string", + } + ], + attendees: [ + { + additionalGuests: 42, + comment: "Test string", + displayName: "Test string", + email: "Test string", + id: "Test string", + optional: true, + organizer: true, + resource: true, + responseStatus: "Test string", + self: true, + } + ], + attendeesOmitted: true, + colorId: "Test string", + conferenceData: { + conferenceId: "Test string", + conferenceSolution: { + iconUri: "Test string", + key: { + type: "Test string", + }, + name: "Test string", + }, + createRequest: { + conferenceSolutionKey: { + type: "Test string", + }, + requestId: "Test string", + status: { + statusCode: "Test string", + }, + }, + entryPoints: [ + { + accessCode: "Test string", + entryPointFeatures: [ + "Test string" + ], + entryPointType: "Test string", + label: "Test string", + meetingCode: "Test string", + passcode: "Test string", + password: "Test string", + pin: "Test string", + regionCode: "Test string", + uri: "Test string", + } + ], + notes: "Test string", + parameters: { + addOnParameters: { + parameters: { + A: "Test string" + }, + }, + }, + signature: "Test string", + }, + created: "Test string", + creator: { + displayName: "Test string", + email: "Test string", + id: "Test string", + self: true, + }, + description: "Test string", + end: { + date: "Test string", + dateTime: "Test string", + timeZone: "Test string", + }, + endTimeUnspecified: true, + etag: "Test string", + eventType: "Test string", + extendedProperties: { + private: { + A: "Test string" + }, + shared: { + A: "Test string" + }, + }, + gadget: { + display: "Test string", + height: 42, + iconLink: "Test string", + link: "Test string", + preferences: { + A: "Test string" + }, + title: "Test string", + type: "Test string", + width: 42, + }, + guestsCanInviteOthers: true, + guestsCanModify: true, + guestsCanSeeOtherGuests: true, + hangoutLink: "Test string", + htmlLink: "Test string", + iCalUID: "Test string", + id: "Test string", + kind: "Test string", + location: "Test string", + locked: true, + organizer: { + displayName: "Test string", + email: "Test string", + id: "Test string", + self: true, + }, + originalStartTime: { + date: "Test string", + dateTime: "Test string", + timeZone: "Test string", + }, + privateCopy: true, + recurrence: [ + "Test string" + ], + recurringEventId: "Test string", + reminders: { + overrides: [ + { + method: "Test string", + minutes: 42, + } + ], + useDefault: true, + }, + sequence: 42, + source: { + title: "Test string", + url: "Test string", + }, + start: { + date: "Test string", + dateTime: "Test string", + timeZone: "Test string", + }, + status: "Test string", + summary: "Test string", + transparency: "Test string", + updated: "Test string", + visibility: "Test string", + }); + /** Creates an event. */ + await gapi.client.calendar.events.insert({ + calendarId: "Test string", + conferenceDataVersion: 42, + maxAttendees: 42, + sendNotifications: true, + sendUpdates: "Test string", + supportsAttachments: true, + }, { + anyoneCanAddSelf: true, + attachments: [ + { + fileId: "Test string", + fileUrl: "Test string", + iconLink: "Test string", + mimeType: "Test string", + title: "Test string", + } + ], + attendees: [ + { + additionalGuests: 42, + comment: "Test string", + displayName: "Test string", + email: "Test string", + id: "Test string", + optional: true, + organizer: true, + resource: true, + responseStatus: "Test string", + self: true, + } + ], + attendeesOmitted: true, + colorId: "Test string", + conferenceData: { + conferenceId: "Test string", + conferenceSolution: { + iconUri: "Test string", + key: { + type: "Test string", + }, + name: "Test string", + }, + createRequest: { + conferenceSolutionKey: { + type: "Test string", + }, + requestId: "Test string", + status: { + statusCode: "Test string", + }, + }, + entryPoints: [ + { + accessCode: "Test string", + entryPointFeatures: [ + "Test string" + ], + entryPointType: "Test string", + label: "Test string", + meetingCode: "Test string", + passcode: "Test string", + password: "Test string", + pin: "Test string", + regionCode: "Test string", + uri: "Test string", + } + ], + notes: "Test string", + parameters: { + addOnParameters: { + parameters: { + A: "Test string" + }, + }, + }, + signature: "Test string", + }, + created: "Test string", + creator: { + displayName: "Test string", + email: "Test string", + id: "Test string", + self: true, + }, + description: "Test string", + end: { + date: "Test string", + dateTime: "Test string", + timeZone: "Test string", + }, + endTimeUnspecified: true, + etag: "Test string", + eventType: "Test string", + extendedProperties: { + private: { + A: "Test string" + }, + shared: { + A: "Test string" + }, + }, + gadget: { + display: "Test string", + height: 42, + iconLink: "Test string", + link: "Test string", + preferences: { + A: "Test string" + }, + title: "Test string", + type: "Test string", + width: 42, + }, + guestsCanInviteOthers: true, + guestsCanModify: true, + guestsCanSeeOtherGuests: true, + hangoutLink: "Test string", + htmlLink: "Test string", + iCalUID: "Test string", + id: "Test string", + kind: "Test string", + location: "Test string", + locked: true, + organizer: { + displayName: "Test string", + email: "Test string", + id: "Test string", + self: true, + }, + originalStartTime: { + date: "Test string", + dateTime: "Test string", + timeZone: "Test string", + }, + privateCopy: true, + recurrence: [ + "Test string" + ], + recurringEventId: "Test string", + reminders: { + overrides: [ + { + method: "Test string", + minutes: 42, + } + ], + useDefault: true, + }, + sequence: 42, + source: { + title: "Test string", + url: "Test string", + }, + start: { + date: "Test string", + dateTime: "Test string", + timeZone: "Test string", + }, + status: "Test string", + summary: "Test string", + transparency: "Test string", + updated: "Test string", + visibility: "Test string", + }); + /** Returns instances of the specified recurring event. */ + await gapi.client.calendar.events.instances({ + alwaysIncludeEmail: true, + calendarId: "Test string", + eventId: "Test string", + maxAttendees: 42, + maxResults: 42, + originalStart: "Test string", + pageToken: "Test string", + showDeleted: true, + timeMax: "Test string", + timeMin: "Test string", + timeZone: "Test string", + }); + /** Returns events on the specified calendar. */ + await gapi.client.calendar.events.list({ + alwaysIncludeEmail: true, + calendarId: "Test string", + iCalUID: "Test string", + maxAttendees: 42, + maxResults: 42, + orderBy: "Test string", + pageToken: "Test string", + privateExtendedProperty: "Test string", + q: "Test string", + sharedExtendedProperty: "Test string", + showDeleted: true, + showHiddenInvitations: true, + singleEvents: true, + syncToken: "Test string", + timeMax: "Test string", + timeMin: "Test string", + timeZone: "Test string", + updatedMin: "Test string", + }); + /** Moves an event to another calendar, i.e. changes an event's organizer. */ + await gapi.client.calendar.events.move({ + calendarId: "Test string", + destination: "Test string", + eventId: "Test string", + sendNotifications: true, + sendUpdates: "Test string", + }); + /** Updates an event. This method supports patch semantics. */ + await gapi.client.calendar.events.patch({ + alwaysIncludeEmail: true, + calendarId: "Test string", + conferenceDataVersion: 42, + eventId: "Test string", + maxAttendees: 42, + sendNotifications: true, + sendUpdates: "Test string", + supportsAttachments: true, + }, { + anyoneCanAddSelf: true, + attachments: [ + { + fileId: "Test string", + fileUrl: "Test string", + iconLink: "Test string", + mimeType: "Test string", + title: "Test string", + } + ], + attendees: [ + { + additionalGuests: 42, + comment: "Test string", + displayName: "Test string", + email: "Test string", + id: "Test string", + optional: true, + organizer: true, + resource: true, + responseStatus: "Test string", + self: true, + } + ], + attendeesOmitted: true, + colorId: "Test string", + conferenceData: { + conferenceId: "Test string", + conferenceSolution: { + iconUri: "Test string", + key: { + type: "Test string", + }, + name: "Test string", + }, + createRequest: { + conferenceSolutionKey: { + type: "Test string", + }, + requestId: "Test string", + status: { + statusCode: "Test string", + }, + }, + entryPoints: [ + { + accessCode: "Test string", + entryPointFeatures: [ + "Test string" + ], + entryPointType: "Test string", + label: "Test string", + meetingCode: "Test string", + passcode: "Test string", + password: "Test string", + pin: "Test string", + regionCode: "Test string", + uri: "Test string", + } + ], + notes: "Test string", + parameters: { + addOnParameters: { + parameters: { + A: "Test string" + }, + }, + }, + signature: "Test string", + }, + created: "Test string", + creator: { + displayName: "Test string", + email: "Test string", + id: "Test string", + self: true, + }, + description: "Test string", + end: { + date: "Test string", + dateTime: "Test string", + timeZone: "Test string", + }, + endTimeUnspecified: true, + etag: "Test string", + eventType: "Test string", + extendedProperties: { + private: { + A: "Test string" + }, + shared: { + A: "Test string" + }, + }, + gadget: { + display: "Test string", + height: 42, + iconLink: "Test string", + link: "Test string", + preferences: { + A: "Test string" + }, + title: "Test string", + type: "Test string", + width: 42, + }, + guestsCanInviteOthers: true, + guestsCanModify: true, + guestsCanSeeOtherGuests: true, + hangoutLink: "Test string", + htmlLink: "Test string", + iCalUID: "Test string", + id: "Test string", + kind: "Test string", + location: "Test string", + locked: true, + organizer: { + displayName: "Test string", + email: "Test string", + id: "Test string", + self: true, + }, + originalStartTime: { + date: "Test string", + dateTime: "Test string", + timeZone: "Test string", + }, + privateCopy: true, + recurrence: [ + "Test string" + ], + recurringEventId: "Test string", + reminders: { + overrides: [ + { + method: "Test string", + minutes: 42, + } + ], + useDefault: true, + }, + sequence: 42, + source: { + title: "Test string", + url: "Test string", + }, + start: { + date: "Test string", + dateTime: "Test string", + timeZone: "Test string", + }, + status: "Test string", + summary: "Test string", + transparency: "Test string", + updated: "Test string", + visibility: "Test string", + }); + /** Creates an event based on a simple text string. */ + await gapi.client.calendar.events.quickAdd({ + calendarId: "Test string", + sendNotifications: true, + sendUpdates: "Test string", + text: "Test string", + }); + /** Updates an event. */ + await gapi.client.calendar.events.update({ + alwaysIncludeEmail: true, + calendarId: "Test string", + conferenceDataVersion: 42, + eventId: "Test string", + maxAttendees: 42, + sendNotifications: true, + sendUpdates: "Test string", + supportsAttachments: true, + }, { + anyoneCanAddSelf: true, + attachments: [ + { + fileId: "Test string", + fileUrl: "Test string", + iconLink: "Test string", + mimeType: "Test string", + title: "Test string", + } + ], + attendees: [ + { + additionalGuests: 42, + comment: "Test string", + displayName: "Test string", + email: "Test string", + id: "Test string", + optional: true, + organizer: true, + resource: true, + responseStatus: "Test string", + self: true, + } + ], + attendeesOmitted: true, + colorId: "Test string", + conferenceData: { + conferenceId: "Test string", + conferenceSolution: { + iconUri: "Test string", + key: { + type: "Test string", + }, + name: "Test string", + }, + createRequest: { + conferenceSolutionKey: { + type: "Test string", + }, + requestId: "Test string", + status: { + statusCode: "Test string", + }, + }, + entryPoints: [ + { + accessCode: "Test string", + entryPointFeatures: [ + "Test string" + ], + entryPointType: "Test string", + label: "Test string", + meetingCode: "Test string", + passcode: "Test string", + password: "Test string", + pin: "Test string", + regionCode: "Test string", + uri: "Test string", + } + ], + notes: "Test string", + parameters: { + addOnParameters: { + parameters: { + A: "Test string" + }, + }, + }, + signature: "Test string", + }, + created: "Test string", + creator: { + displayName: "Test string", + email: "Test string", + id: "Test string", + self: true, + }, + description: "Test string", + end: { + date: "Test string", + dateTime: "Test string", + timeZone: "Test string", + }, + endTimeUnspecified: true, + etag: "Test string", + eventType: "Test string", + extendedProperties: { + private: { + A: "Test string" + }, + shared: { + A: "Test string" + }, + }, + gadget: { + display: "Test string", + height: 42, + iconLink: "Test string", + link: "Test string", + preferences: { + A: "Test string" + }, + title: "Test string", + type: "Test string", + width: 42, + }, + guestsCanInviteOthers: true, + guestsCanModify: true, + guestsCanSeeOtherGuests: true, + hangoutLink: "Test string", + htmlLink: "Test string", + iCalUID: "Test string", + id: "Test string", + kind: "Test string", + location: "Test string", + locked: true, + organizer: { + displayName: "Test string", + email: "Test string", + id: "Test string", + self: true, + }, + originalStartTime: { + date: "Test string", + dateTime: "Test string", + timeZone: "Test string", + }, + privateCopy: true, + recurrence: [ + "Test string" + ], + recurringEventId: "Test string", + reminders: { + overrides: [ + { + method: "Test string", + minutes: 42, + } + ], + useDefault: true, + }, + sequence: 42, + source: { + title: "Test string", + url: "Test string", + }, + start: { + date: "Test string", + dateTime: "Test string", + timeZone: "Test string", + }, + status: "Test string", + summary: "Test string", + transparency: "Test string", + updated: "Test string", + visibility: "Test string", + }); + /** Watch for changes to Events resources. */ + await gapi.client.calendar.events.watch({ + alwaysIncludeEmail: true, + calendarId: "Test string", + iCalUID: "Test string", + maxAttendees: 42, + maxResults: 42, + orderBy: "Test string", + pageToken: "Test string", + privateExtendedProperty: "Test string", + q: "Test string", + sharedExtendedProperty: "Test string", + showDeleted: true, + showHiddenInvitations: true, + singleEvents: true, + syncToken: "Test string", + timeMax: "Test string", + timeMin: "Test string", + timeZone: "Test string", + updatedMin: "Test string", + }, { + address: "Test string", + expiration: "Test string", + id: "Test string", + kind: "Test string", + params: { + A: "Test string" + }, + payload: true, + resourceId: "Test string", + resourceUri: "Test string", + token: "Test string", + type: "Test string", + }); + /** Returns free/busy information for a set of calendars. */ + await gapi.client.calendar.freebusy.query({} , { + calendarExpansionMax: 42, + groupExpansionMax: 42, + items: [ + { + id: "Test string", + } + ], + timeMax: "Test string", + timeMin: "Test string", + timeZone: "Test string", + }); + /** Returns a single user setting. */ + await gapi.client.calendar.settings.get({ + setting: "Test string", + }); + /** Returns all user settings for the authenticated user. */ + await gapi.client.calendar.settings.list({ + maxResults: 42, + pageToken: "Test string", + syncToken: "Test string", + }); + /** Watch for changes to Settings resources. */ + await gapi.client.calendar.settings.watch({ + maxResults: 42, + pageToken: "Test string", + syncToken: "Test string", + }, { + address: "Test string", + expiration: "Test string", + id: "Test string", + kind: "Test string", + params: { + A: "Test string" + }, + payload: true, + resourceId: "Test string", + resourceUri: "Test string", + token: "Test string", + type: "Test string", + }); + } +}); +" +`; + +exports[`calendar works 6`] = ` +"{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6", "dom"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "strictFunctionTypes": true + }, + "files": ["index.d.ts", "tests.ts"] +} +" +`; + +exports[`calendar works 7`] = ` +"{ + "extends": "dtslint/dtslint.json", + "rules": { + "no-redundant-jsdoc": false + } +} +" +`; + +exports[`drive DT works 1`] = ` +"// Type definitions for non-npm package Drive API v3 0.0 +// Project: https://developers.google.com/drive/ +// Definitions by: Maxim Mazurok +// Nick Amoscato +// Declan Vong +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// Referenced type definitions are generated by https://github.com/Maxim-Mazurok/google-api-typings-generator +// In case of any problems please open issue in https://github.com/Maxim-Mazurok/google-api-typings-generator/issues/new + +/// +" +`; + +exports[`drive DT works 2`] = ` +"{ + "private": true, + "dependencies": { + "@maxim_mazurok/gapi.client.drive-v3": "latest" + } +} +" +`; + +exports[`drive DT works 3`] = ` +"{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "baseUrl": "../", + "typeRoots": ["../"], + "types": [] + }, + "files": ["index.d.ts"] +} +" +`; + +exports[`drive DT works 4`] = ` +"{ + "extends": "@definitelytyped/dtslint/dt.json", + "rules": { + "npm-naming": false + } +} +" +`; + +exports[`drive works 1`] = ` +"//registry.npmjs.org/:_authToken=\${NPM_PUBLISH_AUTOMATION_TOKEN} +" +`; + +exports[`drive works 2`] = ` +"/* Type definitions for non-npm package Drive API v3 0.0 */ +// Project: https://developers.google.com/drive/ +// Definitions by: Maxim Mazurok +// Nick Amoscato +// Declan Vong +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// IMPORTANT +// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. +// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator +// Generated from: http://localhost:3000/drive.json +// Revision: 20220626 + +/// + +declare namespace gapi.client { + /** Load Drive API v3 */ + function load(urlOrObject: "http://localhost:3000/drive.json"): Promise; + /** @deprecated Please load APIs with discovery documents. */ + function load(name: "drive", version: "v3"): Promise; + /** @deprecated Please load APIs with discovery documents. */ + function load(name: "drive", version: "v3", callback: () => any): void; + + namespace drive { + interface About { + /** Whether the user has installed the requesting app. */ + appInstalled?: boolean; + /** Whether the user can create shared drives. */ + canCreateDrives?: boolean; + /** Deprecated - use canCreateDrives instead. */ + canCreateTeamDrives?: boolean; + /** A list of themes that are supported for shared drives. */ + driveThemes?: Array<{ + /** A link to this theme's background image. */ + backgroundImageLink?: string; + /** The color of this theme as an RGB hex string. */ + colorRgb?: string; + /** The ID of the theme. */ + id?: string; + }>; + /** A map of source MIME type to possible targets for all supported exports. */ + exportFormats?: { [P in string]: string[] }; + /** 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?: { [P in string]: string[] }; + /** 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?: { [P in string]: string }; + /** The maximum upload size in bytes. */ + maxUploadSize?: string; + /** The user's storage quota limits and usage. All fields are measured in bytes. */ + storageQuota?: { + /** The usage limit, if applicable. This will not be present if the user has unlimited storage. */ + limit?: string; + /** The total usage across all services. */ + usage?: string; + /** The usage by all files in Google Drive. */ + usageInDrive?: string; + /** The usage by trashed files in Google Drive. */ + usageInDriveTrash?: string; + }; + /** Deprecated - use driveThemes instead. */ + teamDriveThemes?: Array<{ + /** Deprecated - use driveThemes/backgroundImageLink instead. */ + backgroundImageLink?: string; + /** Deprecated - use driveThemes/colorRgb instead. */ + colorRgb?: string; + /** Deprecated - use driveThemes/id instead. */ + id?: string; + }>; + /** The authenticated user. */ + user?: User; + } + interface Change { + /** The type of the change. Possible values are file and drive. */ + changeType?: string; + /** The updated state of the shared drive. Present if the changeType is drive, the user is still a member of the shared drive, and the shared drive has not been deleted. */ + drive?: Drive; + /** The ID of the shared drive associated with this change. */ + driveId?: string; + /** 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?: 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 shared drive has been removed from this list of changes, for example by deletion or loss of access. */ + removed?: boolean; + /** Deprecated - use drive instead. */ + teamDrive?: TeamDrive; + /** Deprecated - use driveId instead. */ + teamDriveId?: string; + /** The time of this change (RFC 3339 date-time). */ + time?: string; + /** Deprecated - use changeType instead. */ + type?: string; + } + interface 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?: 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; + } + interface 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, which is "api#channel". */ + kind?: string; + /** Additional parameters controlling delivery channel behavior. Optional. */ + params?: { [P in string]: string }; + /** 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. Valid values are "web_hook" (or "webhook"). Both values refer to a channel where Http requests are used to deliver messages. */ + type?: string; + } + interface Comment { + /** A region of the document represented as a JSON string. For details on defining anchor properties, refer to Add comments and replies. */ + anchor?: string; + /** The author of the comment. The author's email address and permission ID will not be populated. */ + author?: 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?: { + /** The MIME type of the quoted content. */ + mimeType?: string; + /** The quoted content itself. This is interpreted as plain text if set through the API. */ + value?: string; + }; + /** The full list of replies to the comment in chronological order. */ + replies?: Reply[]; + /** Whether the comment has been resolved by one of its replies. */ + resolved?: boolean; + } + interface 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?: 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; + } + interface ContentRestriction { + /** + * Whether the content of the file is read-only. If a file is read-only, a new revision of the file may not be added, comments may not be added or modified, and the title of the file + * may not be modified. + */ + readOnly?: boolean; + /** Reason for why the content of the file is restricted. This is only mutable on requests that also set readOnly=true. */ + reason?: string; + /** The user who set the content restriction. Only populated if readOnly is true. */ + restrictingUser?: User; + /** The time at which the content restriction was set (formatted RFC 3339 timestamp). Only populated if readOnly is true. */ + restrictionTime?: string; + /** The type of the content restriction. Currently the only possible value is globalContentRestriction. */ + type?: string; + } + interface Drive { + /** + * An image file and cropping parameters from which a background image for this shared drive is set. This is a write only field; it can only be set on drive.drives.update requests that + * don't set themeId. When specified, all fields of the backgroundImageFile must be set. + */ + backgroundImageFile?: { + /** The ID of an image file in Google Drive to use for the background image. */ + id?: string; + /** + * The width of the cropped image in the closed range of 0 to 1. This value represents the width of the cropped image divided by the width of the entire image. The height is + * computed by applying a width to height aspect ratio of 80 to 9. The resulting image must be at least 1280 pixels wide and 144 pixels high. + */ + width?: number; + /** + * The X coordinate of the upper left corner of the cropping area in the background image. This is a value in the closed range of 0 to 1. This value represents the horizontal + * distance from the left side of the entire image to the left side of the cropping area divided by the width of the entire image. + */ + xCoordinate?: number; + /** + * The Y coordinate of the upper left corner of the cropping area in the background image. This is a value in the closed range of 0 to 1. This value represents the vertical + * distance from the top side of the entire image to the top side of the cropping area divided by the height of the entire image. + */ + yCoordinate?: number; + }; + /** A short-lived link to this shared drive's background image. */ + backgroundImageLink?: string; + /** Capabilities the current user has on this shared drive. */ + capabilities?: { + /** Whether the current user can add children to folders in this shared drive. */ + canAddChildren?: boolean; + /** Whether the current user can change the copyRequiresWriterPermission restriction of this shared drive. */ + canChangeCopyRequiresWriterPermissionRestriction?: boolean; + /** Whether the current user can change the domainUsersOnly restriction of this shared drive. */ + canChangeDomainUsersOnlyRestriction?: boolean; + /** Whether the current user can change the background of this shared drive. */ + canChangeDriveBackground?: boolean; + /** Whether the current user can change the driveMembersOnly restriction of this shared drive. */ + canChangeDriveMembersOnlyRestriction?: boolean; + /** Whether the current user can comment on files in this shared drive. */ + canComment?: boolean; + /** Whether the current user can copy files in this shared drive. */ + canCopy?: boolean; + /** Whether the current user can delete children from folders in this shared drive. */ + canDeleteChildren?: boolean; + /** Whether the current user can delete this shared drive. Attempting to delete the shared drive may still fail if there are untrashed items inside the shared drive. */ + canDeleteDrive?: boolean; + /** Whether the current user can download files in this shared drive. */ + canDownload?: boolean; + /** Whether the current user can edit files in this shared drive */ + canEdit?: boolean; + /** Whether the current user can list the children of folders in this shared drive. */ + canListChildren?: boolean; + /** Whether the current user can add members to this shared drive or remove them or change their role. */ + canManageMembers?: boolean; + /** Whether the current user can read the revisions resource of files in this shared drive. */ + canReadRevisions?: boolean; + /** Whether the current user can rename files or folders in this shared drive. */ + canRename?: boolean; + /** Whether the current user can rename this shared drive. */ + canRenameDrive?: boolean; + /** Whether the current user can reset the shared drive restrictions to defaults. */ + canResetDriveRestrictions?: boolean; + /** Whether the current user can share files or folders in this shared drive. */ + canShare?: boolean; + /** Whether the current user can trash children from folders in this shared drive. */ + canTrashChildren?: boolean; + }; + /** The color of this shared drive as an RGB hex string. It can only be set on a drive.drives.update request that does not set themeId. */ + colorRgb?: string; + /** The time at which the shared drive was created (RFC 3339 date-time). */ + createdTime?: string; + /** Whether the shared drive is hidden from default view. */ + hidden?: boolean; + /** The ID of this shared drive which is also the ID of the top level folder of this shared drive. */ + id?: string; + /** Identifies what kind of resource this is. Value: the fixed string "drive#drive". */ + kind?: string; + /** The name of this shared drive. */ + name?: string; + /** The organizational unit of this shared drive. This field is only populated on drives.list responses when the useDomainAdminAccess parameter is set to true. */ + orgUnitId?: string; + /** A set of restrictions that apply to this shared drive or items inside this shared drive. */ + restrictions?: { + /** Whether administrative privileges on this shared drive are required to modify restrictions. */ + adminManagedRestrictions?: boolean; + /** + * Whether the options to copy, print, or download files inside this shared drive, should be disabled for readers and commenters. When this restriction is set to true, it will + * override the similarly named field to true for any file inside this shared drive. + */ + copyRequiresWriterPermission?: boolean; + /** + * Whether access to this shared drive and items inside this shared drive is restricted to users of the domain to which this shared drive belongs. This restriction may be + * overridden by other sharing policies controlled outside of this shared drive. + */ + domainUsersOnly?: boolean; + /** Whether access to items inside this shared drive is restricted to its members. */ + driveMembersOnly?: boolean; + }; + /** + * The ID of the theme from which the background image and color will be set. The set of possible driveThemes can be retrieved from a drive.about.get response. When not specified on a + * drive.drives.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; + } + interface DriveList { + /** The list of shared drives. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched. */ + drives?: Drive[]; + /** Identifies what kind of resource this is. Value: the fixed string "drive#driveList". */ + kind?: string; + /** + * The page token for the next page of shared drives. This will be absent if the end of the 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; + } + interface 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. These properties can only be retrieved using an authenticated request. An authenticated request uses an access + * token obtained with a OAuth 2 client ID. You cannot use an API key to retrieve private properties. + */ + appProperties?: { [P in string]: string }; + /** Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take. */ + capabilities?: { + /** Whether the current user is the pending owner of the file. Not populated for shared drive files. */ + canAcceptOwnership?: boolean; + /** Whether the current user can add children to this folder. This is always false when the item is not a folder. */ + canAddChildren?: boolean; + /** + * Whether the current user can add a folder from another drive (different shared drive or My Drive) to this folder. This is false when the item is not a folder. Only populated for + * items in shared drives. + */ + canAddFolderFromAnotherDrive?: boolean; + /** Whether the current user can add a parent for the item without removing an existing parent in the same request. Not populated for shared drive files. */ + canAddMyDriveParent?: boolean; + /** Whether the current user can change the copyRequiresWriterPermission restriction of this file. */ + canChangeCopyRequiresWriterPermission?: boolean; + /** Whether the current user can change the securityUpdateEnabled field on link share metadata. */ + canChangeSecurityUpdateEnabled?: boolean; + /** Deprecated */ + canChangeViewersCanCopyContent?: boolean; + /** Whether the current user can comment on this file. */ + canComment?: boolean; + /** + * Whether the current user can copy this file. For an item in a shared drive, whether the current user can copy non-folder descendants of this item, or this item itself if it is + * not a folder. + */ + canCopy?: boolean; + /** Whether the current user can delete this file. */ + canDelete?: boolean; + /** Whether the current user can delete children of this folder. This is false when the item is not a folder. Only populated for items in shared drives. */ + canDeleteChildren?: boolean; + /** Whether the current user can download this file. */ + canDownload?: boolean; + /** + * Whether the current user can edit this file. Other factors may limit the type of changes a user can make to a file. For example, see canChangeCopyRequiresWriterPermission or + * canModifyContent. + */ + canEdit?: boolean; + /** Whether the current user can list the children of this folder. This is always false when the item is not a folder. */ + canListChildren?: boolean; + /** Whether the current user can modify the content of this file. */ + canModifyContent?: boolean; + /** Whether the current user can modify restrictions on content of this file. */ + canModifyContentRestriction?: boolean; + /** Whether the current user can move children of this folder outside of the shared drive. This is false when the item is not a folder. Only populated for items in shared drives. */ + canMoveChildrenOutOfDrive?: boolean; + /** Deprecated - use canMoveChildrenOutOfDrive instead. */ + canMoveChildrenOutOfTeamDrive?: boolean; + /** + * Whether the current user can move children of this folder within this drive. This is false when the item is not a folder. Note that a request to move the child may still fail + * depending on the current user's access to the child and to the destination folder. + */ + canMoveChildrenWithinDrive?: boolean; + /** Deprecated - use canMoveChildrenWithinDrive instead. */ + canMoveChildrenWithinTeamDrive?: boolean; + /** Deprecated - use canMoveItemOutOfDrive instead. */ + canMoveItemIntoTeamDrive?: boolean; + /** + * Whether the current user can move this item outside of this drive by changing its parent. Note that a request to change the parent of the item may still fail depending on the + * new parent that is being added. + */ + canMoveItemOutOfDrive?: boolean; + /** Deprecated - use canMoveItemOutOfDrive instead. */ + canMoveItemOutOfTeamDrive?: boolean; + /** + * Whether the current user can move this item within this drive. Note that a request to change the parent of the item may still fail depending on the new parent that is being + * added and the parent that is being removed. + */ + canMoveItemWithinDrive?: boolean; + /** Deprecated - use canMoveItemWithinDrive instead. */ + canMoveItemWithinTeamDrive?: boolean; + /** Deprecated - use canMoveItemWithinDrive or canMoveItemOutOfDrive instead. */ + canMoveTeamDriveItem?: boolean; + /** Whether the current user can read the shared drive to which this file belongs. Only populated for items in shared drives. */ + canReadDrive?: boolean; + /** + * Whether the current user can read the revisions resource of this file. For a shared drive item, whether revisions of non-folder descendants of this item, or this item itself if + * it is not a folder, can be read. + */ + canReadRevisions?: boolean; + /** Deprecated - use canReadDrive instead. */ + canReadTeamDrive?: boolean; + /** + * Whether the current user can remove children from this folder. This is always false when the item is not a folder. For a folder in a shared drive, use canDeleteChildren or + * canTrashChildren instead. + */ + canRemoveChildren?: boolean; + /** Whether the current user can remove a parent from the item without adding another parent in the same request. Not populated for shared drive files. */ + canRemoveMyDriveParent?: boolean; + /** Whether the current user can rename this file. */ + canRename?: boolean; + /** Whether the current user can modify the sharing settings for this file. */ + canShare?: boolean; + /** Whether the current user can move this file to trash. */ + canTrash?: boolean; + /** Whether the current user can trash children of this folder. This is false when the item is not a folder. Only populated for items in shared drives. */ + canTrashChildren?: boolean; + /** Whether the current user can restore this file from trash. */ + canUntrash?: boolean; + }; + /** Additional information about the content of the file. These fields are never populated in responses. */ + contentHints?: { + /** Text to be indexed for the file to improve fullText queries. This is limited to 128KB in length and may contain HTML elements. */ + indexableText?: string; + /** A thumbnail for the file. This will only be used if Google Drive cannot generate a standard thumbnail. */ + thumbnail?: { + /** The thumbnail data encoded with URL-safe Base64 (RFC 4648 section 5). */ + image?: string; + /** The MIME type of the thumbnail. */ + mimeType?: string; + }; + }; + /** Restrictions for accessing the content of the file. Only populated if such a restriction exists. */ + contentRestrictions?: ContentRestriction[]; + /** 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; + /** ID of the shared drive the file resides in. Only populated for items in shared drives. */ + driveId?: string; + /** Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder. */ + explicitlyTrashed?: boolean; + /** Links for exporting Docs Editors files to specific formats. */ + exportLinks?: { [P in string]: string }; + /** The final component of fullFileExtension. This is only available for files with binary content in Google Drive. */ + fileExtension?: string; + /** + * The color for a folder or shortcut to 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 Google + * 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 there are permissions directly on this file. This field is only populated for items in shared drives. */ + 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 Google 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?: { + /** The aperture used to create the photo (f-number). */ + aperture?: number; + /** The make of the camera used to create the photo. */ + cameraMake?: string; + /** The model of the camera used to create the photo. */ + cameraModel?: string; + /** The color space of the photo. */ + colorSpace?: string; + /** The exposure bias of the photo (APEX value). */ + exposureBias?: number; + /** The exposure mode used to create the photo. */ + exposureMode?: string; + /** The length of the exposure, in seconds. */ + exposureTime?: number; + /** Whether a flash was used to create the photo. */ + flashUsed?: boolean; + /** The focal length used to create the photo, in millimeters. */ + focalLength?: number; + /** The height of the image in pixels. */ + height?: number; + /** The ISO speed used to create the photo. */ + isoSpeed?: number; + /** The lens used to create the photo. */ + lens?: string; + /** Geographic location information stored in the image. */ + location?: { + /** The altitude stored in the image. */ + altitude?: number; + /** The latitude stored in the image. */ + latitude?: number; + /** The longitude stored in the image. */ + longitude?: number; + }; + /** The smallest f-number of the lens at the focal length used to create the photo (APEX value). */ + maxApertureValue?: number; + /** The metering mode used to create the photo. */ + meteringMode?: string; + /** The number of clockwise 90 degree rotations applied from the image's original orientation. */ + rotation?: number; + /** The type of sensor used to create the photo. */ + sensor?: string; + /** The distance to the subject of the photo, in meters. */ + subjectDistance?: number; + /** The date and time the photo was taken (EXIF DateTime). */ + time?: string; + /** The white balance mode used to create the photo. */ + whiteBalance?: string; + /** The width of the image in pixels. */ + width?: number; + }; + /** 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?: User; + /** Contains details about the link URLs that clients are using to refer to this item. */ + linkShareMetadata?: { + /** Whether the file is eligible for security update. */ + securityUpdateEligible?: boolean; + /** Whether the security update is enabled for this file. */ + securityUpdateEnabled?: boolean; + }; + /** The MD5 checksum for the content of the file. This is only applicable to files with binary content in Google Drive. */ + md5Checksum?: string; + /** + * The MIME type of the file. + * Google 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 shared 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 Google Drive. */ + originalFilename?: string; + /** Whether the user owns the file. Not populated for items in shared drives. */ + ownedByMe?: boolean; + /** The owner of this file. Only certain legacy files may have more than one owner. This field isn't populated for items in shared drives. */ + owners?: 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 items in shared drives. */ + permissions?: 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?: { [P in string]: string }; + /** 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; + /** A key needed to access the item via a shared link. */ + resourceKey?: string; + /** Whether the file has been shared. Not populated for items in shared drives. */ + 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?: User; + /** Shortcut file details. Only populated for shortcut files, which have the mimeType field set to application/vnd.google-apps.shortcut. */ + shortcutDetails?: { + /** The ID of the file that this shortcut points to. */ + targetId?: string; + /** The MIME type of the file that this shortcut points to. The value of this field is a snapshot of the target's MIME type, captured when the shortcut is created. */ + targetMimeType?: string; + /** The ResourceKey for the target file. */ + targetResourceKey?: string; + }; + /** The size of the file's content in bytes. This is applicable to binary files in Google Drive and Google Docs files. */ + 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; + /** Deprecated - use driveId instead. */ + 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. If the file + * isn't shared publicly, the URL returned in Files.thumbnailLink must be fetched using a credentialed request. + */ + 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. The trashed item is excluded from all files.list responses + * returned for any user who does not own the file. However, all users with access to the file can see the trashed item metadata in an API response. All users with access can copy, + * download, export, and share the file. + */ + trashed?: boolean; + /** The time that the item was trashed (RFC 3339 date-time). Only populated for items in shared drives. */ + trashedTime?: string; + /** If the file has been explicitly trashed, the user who trashed it. Only populated for items in shared drives. */ + trashingUser?: 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?: { + /** The duration of the video in milliseconds. */ + durationMillis?: string; + /** The height of the video in pixels. */ + height?: number; + /** The width of the video in pixels. */ + width?: number; + }; + /** 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 Google 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 items in shared drives. */ + writersCanShare?: boolean; + } + interface 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?: 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 drives + * with the "allDrives" 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 "drive". + */ + 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; + } + interface 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; + } + interface 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; + /** + * The "pretty" name of the value of the permission. The following is a list of examples for each type of permission: + * - user - User's full name, as defined for their Google account, such as "Joe Smith." + * - group - Name of the Google Group, such as "The Company Administrators." + * - domain - String domain name, such as "thecompany.com." + * - anyone - No displayName is present. + */ + 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. IDs should be treated as opaque values. */ + id?: string; + /** Identifies what kind of resource this is. Value: the fixed string "drive#permission". */ + kind?: string; + /** Whether the account associated with this permission is a pending owner. Only populated for user type permissions for files that are not in a shared drive. */ + pendingOwner?: boolean; + /** Details of whether the permissions on this shared drive item are inherited or directly on this item. This is an output-only field which is present only for shared drive items. */ + permissionDetails?: Array<{ + /** Whether this permission is inherited. This field is always populated. This is an output-only field. */ + inherited?: boolean; + /** The ID of the item from which this permission is inherited. This is an output-only field. */ + inheritedFrom?: string; + /** + * The permission type for this user. While new values may be added in future, the following are currently possible: + * - file + * - member + */ + permissionType?: string; + /** + * The primary role for this user. While new values may be added in the future, the following are currently possible: + * - organizer + * - fileOrganizer + * - writer + * - commenter + * - reader + */ + role?: 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; + /** Deprecated - use permissionDetails instead. */ + teamDrivePermissionDetails?: Array<{ + /** Deprecated - use permissionDetails/inherited instead. */ + inherited?: boolean; + /** Deprecated - use permissionDetails/inheritedFrom instead. */ + inheritedFrom?: string; + /** Deprecated - use permissionDetails/role instead. */ + role?: string; + /** Deprecated - use permissionDetails/permissionType instead. */ + teamDrivePermissionType?: string; + }>; + /** + * The type of the grantee. Valid values are: + * - user + * - group + * - domain + * - anyone When creating a permission, if type is user or group, you must provide an emailAddress for the user or group. When type is domain, you must provide a domain. There isn't + * extra information required for a anyone type. + */ + type?: string; + /** Indicates the view for this permission. Only populated for permissions that belong to a view. published is the only supported value. */ + view?: string; + } + interface 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?: Permission[]; + } + interface Reply { + /** + * The action the reply performed to the parent comment. Valid values are: + * - resolve + * - reopen + */ + action?: string; + /** The author of the reply. The author's email address and permission ID will not be populated. */ + author?: 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; + } + interface 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?: Reply[]; + } + interface Revision { + /** Links for exporting Docs Editors files to specific formats. */ + exportLinks?: { [P in string]: string }; + /** 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?: 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 Docs Editors files. */ + publishAuto?: boolean; + /** Whether this revision is published. This is only applicable to Docs Editors files. */ + published?: boolean; + /** A link to the published revision. This is only populated for Google Sites files. */ + publishedLink?: string; + /** Whether this revision is published outside the domain. This is only applicable to Docs Editors files. */ + publishedOutsideDomain?: boolean; + /** The size of the revision's content in bytes. This is only applicable to files with binary content in Drive. */ + size?: string; + } + interface 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?: Revision[]; + } + interface 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; + } + interface 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?: { + /** The ID of an image file in Drive to use for the background image. */ + id?: string; + /** + * The width of the cropped image in the closed range of 0 to 1. This value represents the width of the cropped image divided by the width of the entire image. The height is + * computed by applying a width to height aspect ratio of 80 to 9. The resulting image must be at least 1280 pixels wide and 144 pixels high. + */ + width?: number; + /** + * The X coordinate of the upper left corner of the cropping area in the background image. This is a value in the closed range of 0 to 1. This value represents the horizontal + * distance from the left side of the entire image to the left side of the cropping area divided by the width of the entire image. + */ + xCoordinate?: number; + /** + * The Y coordinate of the upper left corner of the cropping area in the background image. This is a value in the closed range of 0 to 1. This value represents the vertical + * distance from the top side of the entire image to the top side of the cropping area divided by the height of the entire image. + */ + yCoordinate?: number; + }; + /** A short-lived link to this Team Drive's background image. */ + backgroundImageLink?: string; + /** Capabilities the current user has on this Team Drive. */ + capabilities?: { + /** Whether the current user can add children to folders in this Team Drive. */ + canAddChildren?: boolean; + /** Whether the current user can change the copyRequiresWriterPermission restriction of this Team Drive. */ + canChangeCopyRequiresWriterPermissionRestriction?: boolean; + /** Whether the current user can change the domainUsersOnly restriction of this Team Drive. */ + canChangeDomainUsersOnlyRestriction?: boolean; + /** Whether the current user can change the background of this Team Drive. */ + canChangeTeamDriveBackground?: boolean; + /** Whether the current user can change the teamMembersOnly restriction of this Team Drive. */ + canChangeTeamMembersOnlyRestriction?: boolean; + /** Whether the current user can comment on files in this Team Drive. */ + canComment?: boolean; + /** Whether the current user can copy files in this Team Drive. */ + canCopy?: boolean; + /** Whether the current user can delete children from folders in this Team Drive. */ + canDeleteChildren?: boolean; + /** Whether the current user can delete this Team Drive. Attempting to delete the Team Drive may still fail if there are untrashed items inside the Team Drive. */ + canDeleteTeamDrive?: boolean; + /** Whether the current user can download files in this Team Drive. */ + canDownload?: boolean; + /** Whether the current user can edit files in this Team Drive */ + canEdit?: boolean; + /** Whether the current user can list the children of folders in this Team Drive. */ + canListChildren?: boolean; + /** Whether the current user can add members to this Team Drive or remove them or change their role. */ + canManageMembers?: boolean; + /** Whether the current user can read the revisions resource of files in this Team Drive. */ + canReadRevisions?: boolean; + /** Deprecated - use canDeleteChildren or canTrashChildren instead. */ + canRemoveChildren?: boolean; + /** Whether the current user can rename files or folders in this Team Drive. */ + canRename?: boolean; + /** Whether the current user can rename this Team Drive. */ + canRenameTeamDrive?: boolean; + /** Whether the current user can reset the Team Drive restrictions to defaults. */ + canResetTeamDriveRestrictions?: boolean; + /** Whether the current user can share files or folders in this Team Drive. */ + canShare?: boolean; + /** Whether the current user can trash children from folders in this Team Drive. */ + canTrashChildren?: boolean; + }; + /** 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; + /** The organizational unit of this shared drive. This field is only populated on drives.list responses when the useDomainAdminAccess parameter is set to true. */ + orgUnitId?: string; + /** A set of restrictions that apply to this Team Drive or items inside this Team Drive. */ + restrictions?: { + /** Whether administrative privileges on this Team Drive are required to modify restrictions. */ + adminManagedRestrictions?: boolean; + /** + * Whether the options to copy, print, or download files inside this Team Drive, should be disabled for readers and commenters. When this restriction is set to true, it will + * override the similarly named field to true for any file inside this Team Drive. + */ + copyRequiresWriterPermission?: boolean; + /** + * Whether access to this Team Drive and items inside this Team Drive is restricted to users of the domain to which this Team Drive belongs. This restriction may be overridden by + * other sharing policies controlled outside of this Team Drive. + */ + domainUsersOnly?: boolean; + /** Whether access to items inside this Team Drive is restricted to members of this Team Drive. */ + teamMembersOnly?: boolean; + }; + /** + * 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; + } + interface 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?: TeamDrive[]; + } + interface 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; + } + interface AboutResource { + /** Gets information about the user, the user's Drive, and system capabilities. */ + get(request?: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + } + interface ChangesResource { + /** Gets the starting pageToken for listing future changes. */ + getStartPageToken(request?: { + /** Data format for the response. */ + alt?: string; + /** The ID of the shared drive for which the starting pageToken for listing future changes from that shared drive is returned. */ + driveId?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** Deprecated use driveId instead. */ + teamDriveId?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Lists the changes for a user or shared drive. */ + list(request?: { + /** Data format for the response. */ + alt?: string; + /** The shared drive from which changes are returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier. */ + driveId?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** + * 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 both My Drive and shared drive items should be included in results. */ + includeItemsFromAllDrives?: boolean; + /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ + includePermissionsForView?: string; + /** 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; + /** Deprecated use includeItemsFromAllDrives instead. */ + includeTeamDriveItems?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** 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; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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 both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** Deprecated use driveId instead. */ + teamDriveId?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Subscribes to changes for a user. */ + watch(request: { + /** Data format for the response. */ + alt?: string; + /** The shared drive from which changes are returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier. */ + driveId?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** + * 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 both My Drive and shared drive items should be included in results. */ + includeItemsFromAllDrives?: boolean; + /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ + includePermissionsForView?: string; + /** 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; + /** Deprecated use includeItemsFromAllDrives instead. */ + includeTeamDriveItems?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** 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; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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 both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** Deprecated use driveId instead. */ + teamDriveId?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Channel; + }): Request; + watch(request: { + /** Data format for the response. */ + alt?: string; + /** The shared drive from which changes are returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier. */ + driveId?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** + * 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 both My Drive and shared drive items should be included in results. */ + includeItemsFromAllDrives?: boolean; + /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ + includePermissionsForView?: string; + /** 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; + /** Deprecated use includeItemsFromAllDrives instead. */ + includeTeamDriveItems?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** 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; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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 both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** Deprecated use driveId instead. */ + teamDriveId?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Channel): Request; + } + interface ChannelsResource { + /** Stop watching resources through this channel */ + stop(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Channel; + }): Request; + stop(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Channel): Request; + } + interface CommentsResource { + /** Creates a new comment on a file. */ + create(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Comment; + }): Request; + create(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Comment): Request; + /** Deletes a comment. */ + delete(request?: { + /** Data format for the response. */ + alt?: string; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Gets a comment by ID. */ + get(request?: { + /** Data format for the response. */ + alt?: string; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Whether to return deleted comments. Deleted comments will not include their original content. */ + includeDeleted?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Lists a file's comments. */ + list(request?: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Whether to include deleted comments. Deleted comments will not include their original content. */ + includeDeleted?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** 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; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** The minimum value of 'modifiedTime' for the result comments (RFC 3339 date-time). */ + startModifiedTime?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Updates a comment with patch semantics. */ + update(request: { + /** Data format for the response. */ + alt?: string; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Comment; + }): Request; + update(request: { + /** Data format for the response. */ + alt?: string; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Comment): Request; + } + interface DrivesResource { + /** Creates a new shared drive. */ + create(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** + * An ID, such as a random UUID, which uniquely identifies this user's request for idempotent creation of a shared drive. A repeated request by the same user and with the same + * request ID will avoid creating duplicates by attempting to create the same shared drive. If the shared drive already exists a 409 error will be returned. + */ + requestId: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Drive; + }): Request; + create(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** + * An ID, such as a random UUID, which uniquely identifies this user's request for idempotent creation of a shared drive. A repeated request by the same user and with the same + * request ID will avoid creating duplicates by attempting to create the same shared drive. If the shared drive already exists a 409 error will be returned. + */ + requestId: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Drive): Request; + /** Permanently deletes a shared drive for which the user is an organizer. The shared drive cannot contain any untrashed items. */ + delete(request?: { + /** Whether any items inside the shared drive should also be deleted. This option is only supported when useDomainAdminAccess is also set to true. */ + allowItemDeletion?: boolean; + /** Data format for the response. */ + alt?: string; + /** The ID of the shared drive. */ + driveId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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 shared drive + * belongs. + */ + useDomainAdminAccess?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Gets a shared drive's metadata by ID. */ + get(request?: { + /** Data format for the response. */ + alt?: string; + /** The ID of the shared drive. */ + driveId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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 shared drive + * belongs. + */ + useDomainAdminAccess?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Hides a shared drive from the default view. */ + hide(request?: { + /** Data format for the response. */ + alt?: string; + /** The ID of the shared drive. */ + driveId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Lists the user's shared drives. */ + list(request?: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Maximum number of shared drives to return per page. */ + pageSize?: number; + /** Page token for shared drives. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Query string for searching shared drives. */ + q?: string; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Issue the request as a domain administrator; if set to true, then all shared drives of the domain in which the requester is an administrator are returned. */ + useDomainAdminAccess?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Restores a shared drive to the default view. */ + unhide(request?: { + /** Data format for the response. */ + alt?: string; + /** The ID of the shared drive. */ + driveId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Updates the metadate for a shared drive. */ + update(request: { + /** Data format for the response. */ + alt?: string; + /** The ID of the shared drive. */ + driveId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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 shared drive + * belongs. + */ + useDomainAdminAccess?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Drive; + }): Request; + update(request: { + /** Data format for the response. */ + alt?: string; + /** The ID of the shared drive. */ + driveId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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 shared drive + * belongs. + */ + useDomainAdminAccess?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Drive): Request; + } + interface FilesResource { + /** Creates a copy of a file and applies any requested updates with patch semantics. Folders cannot be copied. */ + copy(request: { + /** Data format for the response. */ + alt?: string; + /** Deprecated. Copying files into multiple folders is no longer supported. Use shortcuts instead. */ + enforceSingleParent?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ + includePermissionsForView?: string; + /** + * Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be + * kept forever. If the limit is reached, try deleting pinned revisions. + */ + keepRevisionForever?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** A language hint for OCR processing during image import (ISO 639-1 code). */ + ocrLanguage?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: File; + }): Request; + copy(request: { + /** Data format for the response. */ + alt?: string; + /** Deprecated. Copying files into multiple folders is no longer supported. Use shortcuts instead. */ + enforceSingleParent?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ + includePermissionsForView?: string; + /** + * Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be + * kept forever. If the limit is reached, try deleting pinned revisions. + */ + keepRevisionForever?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** A language hint for OCR processing during image import (ISO 639-1 code). */ + ocrLanguage?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: File): Request; + /** Creates a new file. */ + create(request: { + /** Data format for the response. */ + alt?: string; + /** Deprecated. Creating files in multiple folders is no longer supported. */ + enforceSingleParent?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: 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; + /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ + includePermissionsForView?: string; + /** + * Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be + * kept forever. If the limit is reached, try deleting pinned revisions. + */ + keepRevisionForever?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** A language hint for OCR processing during image import (ISO 639-1 code). */ + ocrLanguage?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** Whether to use the uploaded content as indexable text. */ + useContentAsIndexableText?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: File; + }): Request; + create(request: { + /** Data format for the response. */ + alt?: string; + /** Deprecated. Creating files in multiple folders is no longer supported. */ + enforceSingleParent?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: 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; + /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ + includePermissionsForView?: string; + /** + * Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be + * kept forever. If the limit is reached, try deleting pinned revisions. + */ + keepRevisionForever?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** A language hint for OCR processing during image import (ISO 639-1 code). */ + ocrLanguage?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** Whether to use the uploaded content as indexable text. */ + useContentAsIndexableText?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: File): Request; + /** + * Permanently deletes a file owned by the user without moving it to the trash. If the file belongs to a shared 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. + */ + delete(request?: { + /** Data format for the response. */ + alt?: string; + /** Deprecated. If an item is not in a shared drive and its last parent is deleted but the item itself is not, the item will be placed under its owner's root. */ + enforceSingleParent?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Permanently deletes all of the user's trashed files. */ + emptyTrash(request?: { + /** Data format for the response. */ + alt?: string; + /** Deprecated. If an item is not in a shared drive and its last parent is deleted but the item itself is not, the item will be placed under its owner's root. */ + enforceSingleParent?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Exports a Google Workspace document to the requested MIME type and returns exported byte content. Note that the exported content is limited to 10MB. */ + export(request?: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** The MIME type of the format requested for this export. */ + mimeType: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Generates a set of file IDs which can be provided in create or copy requests. */ + generateIds(request?: { + /** Data format for the response. */ + alt?: string; + /** The number of IDs to return. */ + count?: number; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** The space in which the IDs can be used to create new files. Supported values are 'drive' and 'appDataFolder'. (Default: 'drive') */ + space?: string; + /** The type of items which the IDs can be used for. Supported values are 'files' and 'shortcuts'. Note that 'shortcuts' are only supported in the drive 'space'. (Default: 'files') */ + type?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Gets a file's metadata or content by ID. */ + get(request?: { + /** Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media. */ + acknowledgeAbuse?: boolean; + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ + includePermissionsForView?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Lists or searches files. */ + list(request?: { + /** Data format for the response. */ + alt?: string; + /** + * Groupings of files to which the query applies. Supported groupings are: 'user' (files created by, opened by, or shared directly with the user), 'drive' (files in the specified + * shared drive as indicated by the 'driveId'), 'domain' (files shared to the user's domain), and 'allDrives' (A combination of 'user' and 'drive' for all drives where the user is + * a member). When able, use 'user' or 'drive', instead of 'allDrives', for efficiency. + */ + corpora?: string; + /** The source of files to list. Deprecated: use 'corpora' instead. */ + corpus?: string; + /** ID of the shared drive to search. */ + driveId?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Whether both My Drive and shared drive items should be included in results. */ + includeItemsFromAllDrives?: boolean; + /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ + includePermissionsForView?: string; + /** Deprecated use includeItemsFromAllDrives instead. */ + includeTeamDriveItems?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** + * 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; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** A query for filtering the file results. See the "Search for Files" guide for supported syntax. */ + q?: string; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** A comma-separated list of spaces to query within the corpus. Supported values are 'drive' and 'appDataFolder'. */ + spaces?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** Deprecated use driveId instead. */ + teamDriveId?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** + * Updates a file's metadata and/or content. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might change + * automatically, such as modifiedDate. This method supports patch semantics. + */ + update(request: { + /** A comma-separated list of parent IDs to add. */ + addParents?: string; + /** Data format for the response. */ + alt?: string; + /** Deprecated. Adding files to multiple folders is no longer supported. Use shortcuts instead. */ + enforceSingleParent?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ + includePermissionsForView?: string; + /** + * Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be + * kept forever. If the limit is reached, try deleting pinned revisions. + */ + keepRevisionForever?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** A language hint for OCR processing during image import (ISO 639-1 code). */ + ocrLanguage?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** A comma-separated list of parent IDs to remove. */ + removeParents?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** Whether to use the uploaded content as indexable text. */ + useContentAsIndexableText?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: File; + }): Request; + update(request: { + /** A comma-separated list of parent IDs to add. */ + addParents?: string; + /** Data format for the response. */ + alt?: string; + /** Deprecated. Adding files to multiple folders is no longer supported. Use shortcuts instead. */ + enforceSingleParent?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ + includePermissionsForView?: string; + /** + * Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be + * kept forever. If the limit is reached, try deleting pinned revisions. + */ + keepRevisionForever?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** A language hint for OCR processing during image import (ISO 639-1 code). */ + ocrLanguage?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** A comma-separated list of parent IDs to remove. */ + removeParents?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** Whether to use the uploaded content as indexable text. */ + useContentAsIndexableText?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: File): Request; + /** Subscribes to changes to a file. While you can establish a channel for changes to a file on a shared drive, a change to a shared drive file won't create a notification. */ + watch(request: { + /** Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media. */ + acknowledgeAbuse?: boolean; + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ + includePermissionsForView?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Channel; + }): Request; + watch(request: { + /** Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media. */ + acknowledgeAbuse?: boolean; + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ + includePermissionsForView?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Channel): Request; + } + interface PermissionsResource { + /** Creates a permission for a file or shared drive. */ + create(request: { + /** Data format for the response. */ + alt?: string; + /** A plain text custom message to include in the notification email. */ + emailMessage?: string; + /** Deprecated. See moveToNewOwnersRoot for details. */ + enforceSingleParent?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file or shared drive. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** + * This parameter will only take effect if the item is not in a shared drive and the request is attempting to transfer the ownership of the item. If set to true, the item will be + * moved to the new owner's My Drive root folder and all prior parents removed. If set to false, parents are not changed. + */ + moveToNewOwnersRoot?: boolean; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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 both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + 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. File owners + * can only transfer ownership of files existing on My Drive. Files existing in a shared drive are owned by the organization that owns that shared drive. Ownership transfers are + * not supported for files and folders in shared drives. Organizers of a shared drive can move items from that shared drive into their My Drive which transfers the ownership to + * them. + */ + transferOwnership?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an + * administrator of the domain to which the shared drive belongs. + */ + useDomainAdminAccess?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Permission; + }): Request; + create(request: { + /** Data format for the response. */ + alt?: string; + /** A plain text custom message to include in the notification email. */ + emailMessage?: string; + /** Deprecated. See moveToNewOwnersRoot for details. */ + enforceSingleParent?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file or shared drive. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** + * This parameter will only take effect if the item is not in a shared drive and the request is attempting to transfer the ownership of the item. If set to true, the item will be + * moved to the new owner's My Drive root folder and all prior parents removed. If set to false, parents are not changed. + */ + moveToNewOwnersRoot?: boolean; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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 both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + 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. File owners + * can only transfer ownership of files existing on My Drive. Files existing in a shared drive are owned by the organization that owns that shared drive. Ownership transfers are + * not supported for files and folders in shared drives. Organizers of a shared drive can move items from that shared drive into their My Drive which transfers the ownership to + * them. + */ + transferOwnership?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an + * administrator of the domain to which the shared drive belongs. + */ + useDomainAdminAccess?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Permission): Request; + /** Deletes a permission. */ + delete(request?: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file or shared drive. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** The ID of the permission. */ + permissionId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an + * administrator of the domain to which the shared drive belongs. + */ + useDomainAdminAccess?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Gets a permission by ID. */ + get(request?: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** The ID of the permission. */ + permissionId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an + * administrator of the domain to which the shared drive belongs. + */ + useDomainAdminAccess?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Lists a file's or shared drive's permissions. */ + list(request?: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file or shared drive. */ + fileId: string; + /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ + includePermissionsForView?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** + * The maximum number of permissions to return per page. When not set for files in a shared drive, at most 100 results will be returned. When not set for files that are not in a + * shared 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; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + supportsTeamDrives?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an + * administrator of the domain to which the shared drive belongs. + */ + useDomainAdminAccess?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Updates a permission with patch semantics. */ + update(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file or shared drive. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** The ID of the permission. */ + permissionId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether to remove the expiration date. */ + removeExpiration?: boolean; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + 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. File owners + * can only transfer ownership of files existing on My Drive. Files existing in a shared drive are owned by the organization that owns that shared drive. Ownership transfers are + * not supported for files and folders in shared drives. Organizers of a shared drive can move items from that shared drive into their My Drive which transfers the ownership to + * them. + */ + transferOwnership?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an + * administrator of the domain to which the shared drive belongs. + */ + useDomainAdminAccess?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Permission; + }): Request; + update(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file or shared drive. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** The ID of the permission. */ + permissionId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether to remove the expiration date. */ + removeExpiration?: boolean; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated use supportsAllDrives instead. */ + 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. File owners + * can only transfer ownership of files existing on My Drive. Files existing in a shared drive are owned by the organization that owns that shared drive. Ownership transfers are + * not supported for files and folders in shared drives. Organizers of a shared drive can move items from that shared drive into their My Drive which transfers the ownership to + * them. + */ + transferOwnership?: boolean; + /** + * Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an + * administrator of the domain to which the shared drive belongs. + */ + useDomainAdminAccess?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Permission): Request; + } + interface RepliesResource { + /** Creates a new reply to a comment. */ + create(request: { + /** Data format for the response. */ + alt?: string; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Reply; + }): Request; + create(request: { + /** Data format for the response. */ + alt?: string; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Reply): Request; + /** Deletes a reply. */ + delete(request?: { + /** Data format for the response. */ + alt?: string; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the reply. */ + replyId: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Gets a reply by ID. */ + get(request?: { + /** Data format for the response. */ + alt?: string; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Whether to return deleted replies. Deleted replies will not include their original content. */ + includeDeleted?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the reply. */ + replyId: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Lists a comment's replies. */ + list(request?: { + /** Data format for the response. */ + alt?: string; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Whether to include deleted replies. Deleted replies will not include their original content. */ + includeDeleted?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** 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; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Updates a reply with patch semantics. */ + update(request: { + /** Data format for the response. */ + alt?: string; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the reply. */ + replyId: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Reply; + }): Request; + update(request: { + /** Data format for the response. */ + alt?: string; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the reply. */ + replyId: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Reply): Request; + } + interface RevisionsResource { + /** + * Permanently deletes a file version. You can only delete revisions for files with binary content in Google Drive, like images or videos. Revisions for other files, like Google Docs + * or Sheets, and the last remaining file version can't be deleted. + */ + delete(request?: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the revision. */ + revisionId: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Gets a revision's metadata or content by ID. */ + get(request?: { + /** Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media. */ + acknowledgeAbuse?: boolean; + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the revision. */ + revisionId: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Lists a file's revisions. */ + list(request?: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: 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; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Updates a revision with patch semantics. */ + update(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the revision. */ + revisionId: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: Revision; + }): Request; + update(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the revision. */ + revisionId: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: Revision): Request; + } + interface TeamdrivesResource { + /** Deprecated use drives.create instead. */ + create(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** + * 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: TeamDrive; + }): Request; + create(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** + * 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: TeamDrive): Request; + /** Deprecated use drives.delete instead. */ + delete(request?: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the Team Drive */ + teamDriveId: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Deprecated use drives.get instead. */ + get(request?: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Deprecated use drives.list instead. */ + list(request?: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Maximum number of Team Drives to return. */ + pageSize?: number; + /** Page token for Team Drives. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Query string for searching Team Drives. */ + q?: string; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }): Request; + /** Deprecated use drives.update instead */ + update(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + /** Request body */ + resource: TeamDrive; + }): Request; + update(request: { + /** Data format for the response. */ + alt?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** 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; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }, + body: TeamDrive): Request; + } + + const about: AboutResource; + + const changes: ChangesResource; + + const channels: ChannelsResource; + + const comments: CommentsResource; + + const drives: DrivesResource; + + const files: FilesResource; + + const permissions: PermissionsResource; + + const replies: RepliesResource; + + const revisions: RevisionsResource; + + const teamdrives: TeamdrivesResource; + } +} +" +`; + +exports[`drive works 3`] = ` +"{ + "name": "@maxim_mazurok/gapi.client.drive-v3", + "version": "0.0.20220626", + "description": "TypeScript typings for Drive API v3", + "license": "MIT", + "author": { + "email": "maxim@mazurok.com", + "name": "Maxim Mazurok", + "url": "https://maxim.mazurok.com" + }, + "repository": { + "type": "git", + "url": "https://github.com/Maxim-Mazurok/google-api-typings-generator.git" + }, + "types": "index.d.ts", + "dependencies": { + "@types/gapi.client": "*", + "@types/gapi.client.discovery": "*" + } +} +" +`; + +exports[`drive works 4`] = ` +"# TypeScript typings for Drive API v3 + +Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions. +For detailed description please check [documentation](https://developers.google.com/drive/). + +## Installing + +Install typings for Drive API: + +\`\`\` +npm install @types/gapi.client.drive-v3 --save-dev +\`\`\` + +## Usage + +You need to initialize Google API client in your code: + +\`\`\`typescript +gapi.load('client', () => { + // now we can use gapi.client + // ... +}); +\`\`\` + +Then load api client wrapper: + +\`\`\`typescript +gapi.client.load('http://localhost:3000/drive.json', () => { + // now we can use: + // gapi.client.drive +}); +\`\`\` + +\`\`\`typescript +// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback-- +gapi.client.load('drive', 'v3', () => { + // now we can use: + // gapi.client.drive +}); +\`\`\` + +Don't forget to authenticate your client before sending any request to resources: + +\`\`\`typescript +// declare client_id registered in Google Developers Console +var client_id = '', + scope = [ + // See, edit, create, and delete all of your Google Drive files + 'https://www.googleapis.com/auth/drive', + + // See, create, and delete its own configuration data in your Google Drive + 'https://www.googleapis.com/auth/drive.appdata', + + // See, edit, create, and delete only the specific Google Drive files you use with this app + 'https://www.googleapis.com/auth/drive.file', + + // View and manage metadata of files in your Google Drive + 'https://www.googleapis.com/auth/drive.metadata', + + // See information about your Google Drive files + 'https://www.googleapis.com/auth/drive.metadata.readonly', + + // View the photos, videos and albums in your Google Photos + 'https://www.googleapis.com/auth/drive.photos.readonly', + + // See and download all your Google Drive files + 'https://www.googleapis.com/auth/drive.readonly', + + // Modify your Google Apps Script scripts' behavior + 'https://www.googleapis.com/auth/drive.scripts', + ], + immediate = true; +// ... + +gapi.auth.authorize( + { client_id: client_id, scope: scope, immediate: immediate }, + authResult => { + if (authResult && !authResult.error) { + /* handle successful authorization */ + } else { + /* handle authorization error */ + } +}); +\`\`\` + +After that you can use Drive API resources: + +\`\`\`typescript + +/* +Gets information about the user, the user's Drive, and system capabilities. +*/ +await gapi.client.drive.about.get({ }); + +/* +Gets the starting pageToken for listing future changes. +*/ +await gapi.client.drive.changes.getStartPageToken({ }); + +/* +Lists the changes for a user or shared drive. +*/ +await gapi.client.drive.changes.list({ pageToken: "pageToken", }); + +/* +Subscribes to changes for a user. +*/ +await gapi.client.drive.changes.watch({ pageToken: "pageToken", }); + +/* +Stop watching resources through this channel +*/ +await gapi.client.drive.channels.stop({ }); + +/* +Creates a new comment on a file. +*/ +await gapi.client.drive.comments.create({ fileId: "fileId", }); + +/* +Deletes a comment. +*/ +await gapi.client.drive.comments.delete({ commentId: "commentId", fileId: "fileId", }); + +/* +Gets a comment by ID. +*/ +await gapi.client.drive.comments.get({ commentId: "commentId", fileId: "fileId", }); + +/* +Lists a file's comments. +*/ +await gapi.client.drive.comments.list({ fileId: "fileId", }); + +/* +Updates a comment with patch semantics. +*/ +await gapi.client.drive.comments.update({ commentId: "commentId", fileId: "fileId", }); + +/* +Creates a new shared drive. +*/ +await gapi.client.drive.drives.create({ requestId: "requestId", }); + +/* +Permanently deletes a shared drive for which the user is an organizer. The shared drive cannot contain any untrashed items. +*/ +await gapi.client.drive.drives.delete({ driveId: "driveId", }); + +/* +Gets a shared drive's metadata by ID. +*/ +await gapi.client.drive.drives.get({ driveId: "driveId", }); + +/* +Hides a shared drive from the default view. +*/ +await gapi.client.drive.drives.hide({ driveId: "driveId", }); + +/* +Lists the user's shared drives. +*/ +await gapi.client.drive.drives.list({ }); + +/* +Restores a shared drive to the default view. +*/ +await gapi.client.drive.drives.unhide({ driveId: "driveId", }); + +/* +Updates the metadate for a shared drive. +*/ +await gapi.client.drive.drives.update({ driveId: "driveId", }); + +/* +Creates a copy of a file and applies any requested updates with patch semantics. Folders cannot be copied. +*/ +await gapi.client.drive.files.copy({ fileId: "fileId", }); + +/* +Creates a new file. +*/ +await gapi.client.drive.files.create({ }); + +/* +Permanently deletes a file owned by the user without moving it to the trash. If the file belongs to a shared 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. +*/ +await gapi.client.drive.files.delete({ fileId: "fileId", }); + +/* +Permanently deletes all of the user's trashed files. +*/ +await gapi.client.drive.files.emptyTrash({ }); + +/* +Exports a Google Workspace document to the requested MIME type and returns exported byte content. Note that the exported content is limited to 10MB. +*/ +await gapi.client.drive.files.export({ fileId: "fileId", mimeType: "mimeType", }); + +/* +Generates a set of file IDs which can be provided in create or copy requests. +*/ +await gapi.client.drive.files.generateIds({ }); + +/* +Gets a file's metadata or content by ID. +*/ +await gapi.client.drive.files.get({ fileId: "fileId", }); + +/* +Lists or searches files. +*/ +await gapi.client.drive.files.list({ }); + +/* +Updates a file's metadata and/or content. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might change automatically, such as modifiedDate. This method supports patch semantics. +*/ +await gapi.client.drive.files.update({ fileId: "fileId", }); + +/* +Subscribes to changes to a file. While you can establish a channel for changes to a file on a shared drive, a change to a shared drive file won't create a notification. +*/ +await gapi.client.drive.files.watch({ fileId: "fileId", }); + +/* +Creates a permission for a file or shared drive. +*/ +await gapi.client.drive.permissions.create({ fileId: "fileId", }); + +/* +Deletes a permission. +*/ +await gapi.client.drive.permissions.delete({ fileId: "fileId", permissionId: "permissionId", }); + +/* +Gets a permission by ID. +*/ +await gapi.client.drive.permissions.get({ fileId: "fileId", permissionId: "permissionId", }); + +/* +Lists a file's or shared drive's permissions. +*/ +await gapi.client.drive.permissions.list({ fileId: "fileId", }); + +/* +Updates a permission with patch semantics. +*/ +await gapi.client.drive.permissions.update({ fileId: "fileId", permissionId: "permissionId", }); + +/* +Creates a new reply to a comment. +*/ +await gapi.client.drive.replies.create({ commentId: "commentId", fileId: "fileId", }); + +/* +Deletes a reply. +*/ +await gapi.client.drive.replies.delete({ commentId: "commentId", fileId: "fileId", replyId: "replyId", }); + +/* +Gets a reply by ID. +*/ +await gapi.client.drive.replies.get({ commentId: "commentId", fileId: "fileId", replyId: "replyId", }); + +/* +Lists a comment's replies. +*/ +await gapi.client.drive.replies.list({ commentId: "commentId", fileId: "fileId", }); + +/* +Updates a reply with patch semantics. +*/ +await gapi.client.drive.replies.update({ commentId: "commentId", fileId: "fileId", replyId: "replyId", }); + +/* +Permanently deletes a file version. You can only delete revisions for files with binary content in Google Drive, like images or videos. Revisions for other files, like Google Docs or Sheets, and the last remaining file version can't be deleted. +*/ +await gapi.client.drive.revisions.delete({ fileId: "fileId", revisionId: "revisionId", }); + +/* +Gets a revision's metadata or content by ID. +*/ +await gapi.client.drive.revisions.get({ fileId: "fileId", revisionId: "revisionId", }); + +/* +Lists a file's revisions. +*/ +await gapi.client.drive.revisions.list({ fileId: "fileId", }); + +/* +Updates a revision with patch semantics. +*/ +await gapi.client.drive.revisions.update({ fileId: "fileId", revisionId: "revisionId", }); + +/* +Deprecated use drives.create instead. +*/ +await gapi.client.drive.teamdrives.create({ requestId: "requestId", }); + +/* +Deprecated use drives.delete instead. +*/ +await gapi.client.drive.teamdrives.delete({ teamDriveId: "teamDriveId", }); + +/* +Deprecated use drives.get instead. +*/ +await gapi.client.drive.teamdrives.get({ teamDriveId: "teamDriveId", }); + +/* +Deprecated use drives.list instead. +*/ +await gapi.client.drive.teamdrives.list({ }); + +/* +Deprecated use drives.update instead +*/ +await gapi.client.drive.teamdrives.update({ teamDriveId: "teamDriveId", }); +\`\`\` +" +`; + +exports[`drive works 5`] = ` +"/* This is stub file for gapi.client.drive-v3 definition tests */ +// IMPORTANT +// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. +// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator + +// Revision: 20220626 + +gapi.load('client', async () => { + /** now we can use gapi.client */ + + await gapi.client.load('http://localhost:3000/drive.json'); + /** now we can use gapi.client.drive */ + + /** don't forget to authenticate your client before sending any request to resources: */ + /** declare client_id registered in Google Developers Console */ + const client_id = '<>'; + const scope = [ + /** See, edit, create, and delete all of your Google Drive files */ + 'https://www.googleapis.com/auth/drive', + /** See, create, and delete its own configuration data in your Google Drive */ + 'https://www.googleapis.com/auth/drive.appdata', + /** See, edit, create, and delete only the specific Google Drive files you use with this app */ + 'https://www.googleapis.com/auth/drive.file', + /** View and manage metadata of files in your Google Drive */ + 'https://www.googleapis.com/auth/drive.metadata', + /** See information about your Google Drive files */ + 'https://www.googleapis.com/auth/drive.metadata.readonly', + /** View the photos, videos and albums in your Google Photos */ + 'https://www.googleapis.com/auth/drive.photos.readonly', + /** See and download all your Google Drive files */ + 'https://www.googleapis.com/auth/drive.readonly', + /** Modify your Google Apps Script scripts' behavior */ + 'https://www.googleapis.com/auth/drive.scripts', + ]; + const immediate = false; + gapi.auth.authorize({ client_id, scope, immediate }, authResult => { + if (authResult && !authResult.error) { + /** handle successful authorization */ + run(); + } else { + /** handle authorization error */ + } + }); + + async function run() { + /** Gets information about the user, the user's Drive, and system capabilities. */ + await gapi.client.drive.about.get(); + /** Gets the starting pageToken for listing future changes. */ + await gapi.client.drive.changes.getStartPageToken({ + driveId: "Test string", + supportsAllDrives: true, + supportsTeamDrives: true, + teamDriveId: "Test string", + }); + /** Lists the changes for a user or shared drive. */ + await gapi.client.drive.changes.list({ + driveId: "Test string", + includeCorpusRemovals: true, + includeItemsFromAllDrives: true, + includePermissionsForView: "Test string", + includeRemoved: true, + includeTeamDriveItems: true, + pageSize: 42, + pageToken: "Test string", + restrictToMyDrive: true, + spaces: "Test string", + supportsAllDrives: true, + supportsTeamDrives: true, + teamDriveId: "Test string", + }); + /** Subscribes to changes for a user. */ + await gapi.client.drive.changes.watch({ + driveId: "Test string", + includeCorpusRemovals: true, + includeItemsFromAllDrives: true, + includePermissionsForView: "Test string", + includeRemoved: true, + includeTeamDriveItems: true, + pageSize: 42, + pageToken: "Test string", + restrictToMyDrive: true, + spaces: "Test string", + supportsAllDrives: true, + supportsTeamDrives: true, + teamDriveId: "Test string", + }, { + address: "Test string", + expiration: "Test string", + id: "Test string", + kind: "Test string", + params: { + A: "Test string" + }, + payload: true, + resourceId: "Test string", + resourceUri: "Test string", + token: "Test string", + type: "Test string", + }); + /** Stop watching resources through this channel */ + await gapi.client.drive.channels.stop({} , { + address: "Test string", + expiration: "Test string", + id: "Test string", + kind: "Test string", + params: { + A: "Test string" + }, + payload: true, + resourceId: "Test string", + resourceUri: "Test string", + token: "Test string", + type: "Test string", + }); + /** Creates a new comment on a file. */ + await gapi.client.drive.comments.create({ + fileId: "Test string", + }, { + anchor: "Test string", + author: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + content: "Test string", + createdTime: "Test string", + deleted: true, + htmlContent: "Test string", + id: "Test string", + kind: "Test string", + modifiedTime: "Test string", + quotedFileContent: { + mimeType: "Test string", + value: "Test string", + }, + replies: [ + { + action: "Test string", + author: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + content: "Test string", + createdTime: "Test string", + deleted: true, + htmlContent: "Test string", + id: "Test string", + kind: "Test string", + modifiedTime: "Test string", + } + ], + resolved: true, + }); + /** Deletes a comment. */ + await gapi.client.drive.comments.delete({ + commentId: "Test string", + fileId: "Test string", + }); + /** Gets a comment by ID. */ + await gapi.client.drive.comments.get({ + commentId: "Test string", + fileId: "Test string", + includeDeleted: true, + }); + /** Lists a file's comments. */ + await gapi.client.drive.comments.list({ + fileId: "Test string", + includeDeleted: true, + pageSize: 42, + pageToken: "Test string", + startModifiedTime: "Test string", + }); + /** Updates a comment with patch semantics. */ + await gapi.client.drive.comments.update({ + commentId: "Test string", + fileId: "Test string", + }, { + anchor: "Test string", + author: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + content: "Test string", + createdTime: "Test string", + deleted: true, + htmlContent: "Test string", + id: "Test string", + kind: "Test string", + modifiedTime: "Test string", + quotedFileContent: { + mimeType: "Test string", + value: "Test string", + }, + replies: [ + { + action: "Test string", + author: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + content: "Test string", + createdTime: "Test string", + deleted: true, + htmlContent: "Test string", + id: "Test string", + kind: "Test string", + modifiedTime: "Test string", + } + ], + resolved: true, + }); + /** Creates a new shared drive. */ + await gapi.client.drive.drives.create({ + requestId: "Test string", + }, { + backgroundImageFile: { + id: "Test string", + width: 42, + xCoordinate: 42, + yCoordinate: 42, + }, + backgroundImageLink: "Test string", + capabilities: { + canAddChildren: true, + canChangeCopyRequiresWriterPermissionRestriction: true, + canChangeDomainUsersOnlyRestriction: true, + canChangeDriveBackground: true, + canChangeDriveMembersOnlyRestriction: true, + canComment: true, + canCopy: true, + canDeleteChildren: true, + canDeleteDrive: true, + canDownload: true, + canEdit: true, + canListChildren: true, + canManageMembers: true, + canReadRevisions: true, + canRename: true, + canRenameDrive: true, + canResetDriveRestrictions: true, + canShare: true, + canTrashChildren: true, + }, + colorRgb: "Test string", + createdTime: "Test string", + hidden: true, + id: "Test string", + kind: "Test string", + name: "Test string", + orgUnitId: "Test string", + restrictions: { + adminManagedRestrictions: true, + copyRequiresWriterPermission: true, + domainUsersOnly: true, + driveMembersOnly: true, + }, + themeId: "Test string", + }); + /** Permanently deletes a shared drive for which the user is an organizer. The shared drive cannot contain any untrashed items. */ + await gapi.client.drive.drives.delete({ + allowItemDeletion: true, + driveId: "Test string", + useDomainAdminAccess: true, + }); + /** Gets a shared drive's metadata by ID. */ + await gapi.client.drive.drives.get({ + driveId: "Test string", + useDomainAdminAccess: true, + }); + /** Hides a shared drive from the default view. */ + await gapi.client.drive.drives.hide({ + driveId: "Test string", + }); + /** Lists the user's shared drives. */ + await gapi.client.drive.drives.list({ + pageSize: 42, + pageToken: "Test string", + q: "Test string", + useDomainAdminAccess: true, + }); + /** Restores a shared drive to the default view. */ + await gapi.client.drive.drives.unhide({ + driveId: "Test string", + }); + /** Updates the metadate for a shared drive. */ + await gapi.client.drive.drives.update({ + driveId: "Test string", + useDomainAdminAccess: true, + }, { + backgroundImageFile: { + id: "Test string", + width: 42, + xCoordinate: 42, + yCoordinate: 42, + }, + backgroundImageLink: "Test string", + capabilities: { + canAddChildren: true, + canChangeCopyRequiresWriterPermissionRestriction: true, + canChangeDomainUsersOnlyRestriction: true, + canChangeDriveBackground: true, + canChangeDriveMembersOnlyRestriction: true, + canComment: true, + canCopy: true, + canDeleteChildren: true, + canDeleteDrive: true, + canDownload: true, + canEdit: true, + canListChildren: true, + canManageMembers: true, + canReadRevisions: true, + canRename: true, + canRenameDrive: true, + canResetDriveRestrictions: true, + canShare: true, + canTrashChildren: true, + }, + colorRgb: "Test string", + createdTime: "Test string", + hidden: true, + id: "Test string", + kind: "Test string", + name: "Test string", + orgUnitId: "Test string", + restrictions: { + adminManagedRestrictions: true, + copyRequiresWriterPermission: true, + domainUsersOnly: true, + driveMembersOnly: true, + }, + themeId: "Test string", + }); + /** Creates a copy of a file and applies any requested updates with patch semantics. Folders cannot be copied. */ + await gapi.client.drive.files.copy({ + enforceSingleParent: true, + fileId: "Test string", + ignoreDefaultVisibility: true, + includePermissionsForView: "Test string", + keepRevisionForever: true, + ocrLanguage: "Test string", + supportsAllDrives: true, + supportsTeamDrives: true, + }, { + appProperties: { + A: "Test string" + }, + capabilities: { + canAcceptOwnership: true, + canAddChildren: true, + canAddFolderFromAnotherDrive: true, + canAddMyDriveParent: true, + canChangeCopyRequiresWriterPermission: true, + canChangeSecurityUpdateEnabled: true, + canChangeViewersCanCopyContent: true, + canComment: true, + canCopy: true, + canDelete: true, + canDeleteChildren: true, + canDownload: true, + canEdit: true, + canListChildren: true, + canModifyContent: true, + canModifyContentRestriction: true, + canMoveChildrenOutOfDrive: true, + canMoveChildrenOutOfTeamDrive: true, + canMoveChildrenWithinDrive: true, + canMoveChildrenWithinTeamDrive: true, + canMoveItemIntoTeamDrive: true, + canMoveItemOutOfDrive: true, + canMoveItemOutOfTeamDrive: true, + canMoveItemWithinDrive: true, + canMoveItemWithinTeamDrive: true, + canMoveTeamDriveItem: true, + canReadDrive: true, + canReadRevisions: true, + canReadTeamDrive: true, + canRemoveChildren: true, + canRemoveMyDriveParent: true, + canRename: true, + canShare: true, + canTrash: true, + canTrashChildren: true, + canUntrash: true, + }, + contentHints: { + indexableText: "Test string", + thumbnail: { + image: "Test string", + mimeType: "Test string", + }, + }, + contentRestrictions: [ + { + readOnly: true, + reason: "Test string", + restrictingUser: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + restrictionTime: "Test string", + type: "Test string", + } + ], + copyRequiresWriterPermission: true, + createdTime: "Test string", + description: "Test string", + driveId: "Test string", + explicitlyTrashed: true, + exportLinks: { + A: "Test string" + }, + fileExtension: "Test string", + folderColorRgb: "Test string", + fullFileExtension: "Test string", + hasAugmentedPermissions: true, + hasThumbnail: true, + headRevisionId: "Test string", + iconLink: "Test string", + id: "Test string", + imageMediaMetadata: { + aperture: 42, + cameraMake: "Test string", + cameraModel: "Test string", + colorSpace: "Test string", + exposureBias: 42, + exposureMode: "Test string", + exposureTime: 42, + flashUsed: true, + focalLength: 42, + height: 42, + isoSpeed: 42, + lens: "Test string", + location: { + altitude: 42, + latitude: 42, + longitude: 42, + }, + maxApertureValue: 42, + meteringMode: "Test string", + rotation: 42, + sensor: "Test string", + subjectDistance: 42, + time: "Test string", + whiteBalance: "Test string", + width: 42, + }, + isAppAuthorized: true, + kind: "Test string", + lastModifyingUser: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + linkShareMetadata: { + securityUpdateEligible: true, + securityUpdateEnabled: true, + }, + md5Checksum: "Test string", + mimeType: "Test string", + modifiedByMe: true, + modifiedByMeTime: "Test string", + modifiedTime: "Test string", + name: "Test string", + originalFilename: "Test string", + ownedByMe: true, + owners: [ + { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + } + ], + parents: [ + "Test string" + ], + permissionIds: [ + "Test string" + ], + permissions: [ + { + allowFileDiscovery: true, + deleted: true, + displayName: "Test string", + domain: "Test string", + emailAddress: "Test string", + expirationTime: "Test string", + id: "Test string", + kind: "Test string", + pendingOwner: true, + permissionDetails: [ + { + inherited: true, + inheritedFrom: "Test string", + permissionType: "Test string", + role: "Test string", + } + ], + photoLink: "Test string", + role: "Test string", + teamDrivePermissionDetails: [ + { + inherited: true, + inheritedFrom: "Test string", + role: "Test string", + teamDrivePermissionType: "Test string", + } + ], + type: "Test string", + view: "Test string", + } + ], + properties: { + A: "Test string" + }, + quotaBytesUsed: "Test string", + resourceKey: "Test string", + shared: true, + sharedWithMeTime: "Test string", + sharingUser: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + shortcutDetails: { + targetId: "Test string", + targetMimeType: "Test string", + targetResourceKey: "Test string", + }, + size: "Test string", + spaces: [ + "Test string" + ], + starred: true, + teamDriveId: "Test string", + thumbnailLink: "Test string", + thumbnailVersion: "Test string", + trashed: true, + trashedTime: "Test string", + trashingUser: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + version: "Test string", + videoMediaMetadata: { + durationMillis: "Test string", + height: 42, + width: 42, + }, + viewedByMe: true, + viewedByMeTime: "Test string", + viewersCanCopyContent: true, + webContentLink: "Test string", + webViewLink: "Test string", + writersCanShare: true, + }); + /** Creates a new file. */ + await gapi.client.drive.files.create({ + enforceSingleParent: true, + ignoreDefaultVisibility: true, + includePermissionsForView: "Test string", + keepRevisionForever: true, + ocrLanguage: "Test string", + supportsAllDrives: true, + supportsTeamDrives: true, + useContentAsIndexableText: true, + }, { + appProperties: { + A: "Test string" + }, + capabilities: { + canAcceptOwnership: true, + canAddChildren: true, + canAddFolderFromAnotherDrive: true, + canAddMyDriveParent: true, + canChangeCopyRequiresWriterPermission: true, + canChangeSecurityUpdateEnabled: true, + canChangeViewersCanCopyContent: true, + canComment: true, + canCopy: true, + canDelete: true, + canDeleteChildren: true, + canDownload: true, + canEdit: true, + canListChildren: true, + canModifyContent: true, + canModifyContentRestriction: true, + canMoveChildrenOutOfDrive: true, + canMoveChildrenOutOfTeamDrive: true, + canMoveChildrenWithinDrive: true, + canMoveChildrenWithinTeamDrive: true, + canMoveItemIntoTeamDrive: true, + canMoveItemOutOfDrive: true, + canMoveItemOutOfTeamDrive: true, + canMoveItemWithinDrive: true, + canMoveItemWithinTeamDrive: true, + canMoveTeamDriveItem: true, + canReadDrive: true, + canReadRevisions: true, + canReadTeamDrive: true, + canRemoveChildren: true, + canRemoveMyDriveParent: true, + canRename: true, + canShare: true, + canTrash: true, + canTrashChildren: true, + canUntrash: true, + }, + contentHints: { + indexableText: "Test string", + thumbnail: { + image: "Test string", + mimeType: "Test string", + }, + }, + contentRestrictions: [ + { + readOnly: true, + reason: "Test string", + restrictingUser: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + restrictionTime: "Test string", + type: "Test string", + } + ], + copyRequiresWriterPermission: true, + createdTime: "Test string", + description: "Test string", + driveId: "Test string", + explicitlyTrashed: true, + exportLinks: { + A: "Test string" + }, + fileExtension: "Test string", + folderColorRgb: "Test string", + fullFileExtension: "Test string", + hasAugmentedPermissions: true, + hasThumbnail: true, + headRevisionId: "Test string", + iconLink: "Test string", + id: "Test string", + imageMediaMetadata: { + aperture: 42, + cameraMake: "Test string", + cameraModel: "Test string", + colorSpace: "Test string", + exposureBias: 42, + exposureMode: "Test string", + exposureTime: 42, + flashUsed: true, + focalLength: 42, + height: 42, + isoSpeed: 42, + lens: "Test string", + location: { + altitude: 42, + latitude: 42, + longitude: 42, + }, + maxApertureValue: 42, + meteringMode: "Test string", + rotation: 42, + sensor: "Test string", + subjectDistance: 42, + time: "Test string", + whiteBalance: "Test string", + width: 42, + }, + isAppAuthorized: true, + kind: "Test string", + lastModifyingUser: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + linkShareMetadata: { + securityUpdateEligible: true, + securityUpdateEnabled: true, + }, + md5Checksum: "Test string", + mimeType: "Test string", + modifiedByMe: true, + modifiedByMeTime: "Test string", + modifiedTime: "Test string", + name: "Test string", + originalFilename: "Test string", + ownedByMe: true, + owners: [ + { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + } + ], + parents: [ + "Test string" + ], + permissionIds: [ + "Test string" + ], + permissions: [ + { + allowFileDiscovery: true, + deleted: true, + displayName: "Test string", + domain: "Test string", + emailAddress: "Test string", + expirationTime: "Test string", + id: "Test string", + kind: "Test string", + pendingOwner: true, + permissionDetails: [ + { + inherited: true, + inheritedFrom: "Test string", + permissionType: "Test string", + role: "Test string", + } + ], + photoLink: "Test string", + role: "Test string", + teamDrivePermissionDetails: [ + { + inherited: true, + inheritedFrom: "Test string", + role: "Test string", + teamDrivePermissionType: "Test string", + } + ], + type: "Test string", + view: "Test string", + } + ], + properties: { + A: "Test string" + }, + quotaBytesUsed: "Test string", + resourceKey: "Test string", + shared: true, + sharedWithMeTime: "Test string", + sharingUser: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + shortcutDetails: { + targetId: "Test string", + targetMimeType: "Test string", + targetResourceKey: "Test string", + }, + size: "Test string", + spaces: [ + "Test string" + ], + starred: true, + teamDriveId: "Test string", + thumbnailLink: "Test string", + thumbnailVersion: "Test string", + trashed: true, + trashedTime: "Test string", + trashingUser: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + version: "Test string", + videoMediaMetadata: { + durationMillis: "Test string", + height: 42, + width: 42, + }, + viewedByMe: true, + viewedByMeTime: "Test string", + viewersCanCopyContent: true, + webContentLink: "Test string", + webViewLink: "Test string", + writersCanShare: true, + }); + /** + * Permanently deletes a file owned by the user without moving it to the trash. If the file belongs to a shared 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. + */ + await gapi.client.drive.files.delete({ + enforceSingleParent: true, + fileId: "Test string", + supportsAllDrives: true, + supportsTeamDrives: true, + }); + /** Permanently deletes all of the user's trashed files. */ + await gapi.client.drive.files.emptyTrash({ + enforceSingleParent: true, + }); + /** Exports a Google Workspace document to the requested MIME type and returns exported byte content. Note that the exported content is limited to 10MB. */ + await gapi.client.drive.files.export({ + fileId: "Test string", + mimeType: "Test string", + }); + /** Generates a set of file IDs which can be provided in create or copy requests. */ + await gapi.client.drive.files.generateIds({ + count: 42, + space: "Test string", + type: "Test string", + }); + /** Gets a file's metadata or content by ID. */ + await gapi.client.drive.files.get({ + acknowledgeAbuse: true, + fileId: "Test string", + includePermissionsForView: "Test string", + supportsAllDrives: true, + supportsTeamDrives: true, + }); + /** Lists or searches files. */ + await gapi.client.drive.files.list({ + corpora: "Test string", + corpus: "Test string", + driveId: "Test string", + includeItemsFromAllDrives: true, + includePermissionsForView: "Test string", + includeTeamDriveItems: true, + orderBy: "Test string", + pageSize: 42, + pageToken: "Test string", + q: "Test string", + spaces: "Test string", + supportsAllDrives: true, + supportsTeamDrives: true, + teamDriveId: "Test string", + }); + /** + * Updates a file's metadata and/or content. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might change + * automatically, such as modifiedDate. This method supports patch semantics. + */ + await gapi.client.drive.files.update({ + addParents: "Test string", + enforceSingleParent: true, + fileId: "Test string", + includePermissionsForView: "Test string", + keepRevisionForever: true, + ocrLanguage: "Test string", + removeParents: "Test string", + supportsAllDrives: true, + supportsTeamDrives: true, + useContentAsIndexableText: true, + }, { + appProperties: { + A: "Test string" + }, + capabilities: { + canAcceptOwnership: true, + canAddChildren: true, + canAddFolderFromAnotherDrive: true, + canAddMyDriveParent: true, + canChangeCopyRequiresWriterPermission: true, + canChangeSecurityUpdateEnabled: true, + canChangeViewersCanCopyContent: true, + canComment: true, + canCopy: true, + canDelete: true, + canDeleteChildren: true, + canDownload: true, + canEdit: true, + canListChildren: true, + canModifyContent: true, + canModifyContentRestriction: true, + canMoveChildrenOutOfDrive: true, + canMoveChildrenOutOfTeamDrive: true, + canMoveChildrenWithinDrive: true, + canMoveChildrenWithinTeamDrive: true, + canMoveItemIntoTeamDrive: true, + canMoveItemOutOfDrive: true, + canMoveItemOutOfTeamDrive: true, + canMoveItemWithinDrive: true, + canMoveItemWithinTeamDrive: true, + canMoveTeamDriveItem: true, + canReadDrive: true, + canReadRevisions: true, + canReadTeamDrive: true, + canRemoveChildren: true, + canRemoveMyDriveParent: true, + canRename: true, + canShare: true, + canTrash: true, + canTrashChildren: true, + canUntrash: true, + }, + contentHints: { + indexableText: "Test string", + thumbnail: { + image: "Test string", + mimeType: "Test string", + }, + }, + contentRestrictions: [ + { + readOnly: true, + reason: "Test string", + restrictingUser: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + restrictionTime: "Test string", + type: "Test string", + } + ], + copyRequiresWriterPermission: true, + createdTime: "Test string", + description: "Test string", + driveId: "Test string", + explicitlyTrashed: true, + exportLinks: { + A: "Test string" + }, + fileExtension: "Test string", + folderColorRgb: "Test string", + fullFileExtension: "Test string", + hasAugmentedPermissions: true, + hasThumbnail: true, + headRevisionId: "Test string", + iconLink: "Test string", + id: "Test string", + imageMediaMetadata: { + aperture: 42, + cameraMake: "Test string", + cameraModel: "Test string", + colorSpace: "Test string", + exposureBias: 42, + exposureMode: "Test string", + exposureTime: 42, + flashUsed: true, + focalLength: 42, + height: 42, + isoSpeed: 42, + lens: "Test string", + location: { + altitude: 42, + latitude: 42, + longitude: 42, + }, + maxApertureValue: 42, + meteringMode: "Test string", + rotation: 42, + sensor: "Test string", + subjectDistance: 42, + time: "Test string", + whiteBalance: "Test string", + width: 42, + }, + isAppAuthorized: true, + kind: "Test string", + lastModifyingUser: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + linkShareMetadata: { + securityUpdateEligible: true, + securityUpdateEnabled: true, + }, + md5Checksum: "Test string", + mimeType: "Test string", + modifiedByMe: true, + modifiedByMeTime: "Test string", + modifiedTime: "Test string", + name: "Test string", + originalFilename: "Test string", + ownedByMe: true, + owners: [ + { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + } + ], + parents: [ + "Test string" + ], + permissionIds: [ + "Test string" + ], + permissions: [ + { + allowFileDiscovery: true, + deleted: true, + displayName: "Test string", + domain: "Test string", + emailAddress: "Test string", + expirationTime: "Test string", + id: "Test string", + kind: "Test string", + pendingOwner: true, + permissionDetails: [ + { + inherited: true, + inheritedFrom: "Test string", + permissionType: "Test string", + role: "Test string", + } + ], + photoLink: "Test string", + role: "Test string", + teamDrivePermissionDetails: [ + { + inherited: true, + inheritedFrom: "Test string", + role: "Test string", + teamDrivePermissionType: "Test string", + } + ], + type: "Test string", + view: "Test string", + } + ], + properties: { + A: "Test string" + }, + quotaBytesUsed: "Test string", + resourceKey: "Test string", + shared: true, + sharedWithMeTime: "Test string", + sharingUser: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + shortcutDetails: { + targetId: "Test string", + targetMimeType: "Test string", + targetResourceKey: "Test string", + }, + size: "Test string", + spaces: [ + "Test string" + ], + starred: true, + teamDriveId: "Test string", + thumbnailLink: "Test string", + thumbnailVersion: "Test string", + trashed: true, + trashedTime: "Test string", + trashingUser: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + version: "Test string", + videoMediaMetadata: { + durationMillis: "Test string", + height: 42, + width: 42, + }, + viewedByMe: true, + viewedByMeTime: "Test string", + viewersCanCopyContent: true, + webContentLink: "Test string", + webViewLink: "Test string", + writersCanShare: true, + }); + /** Subscribes to changes to a file. While you can establish a channel for changes to a file on a shared drive, a change to a shared drive file won't create a notification. */ + await gapi.client.drive.files.watch({ + acknowledgeAbuse: true, + fileId: "Test string", + includePermissionsForView: "Test string", + supportsAllDrives: true, + supportsTeamDrives: true, + }, { + address: "Test string", + expiration: "Test string", + id: "Test string", + kind: "Test string", + params: { + A: "Test string" + }, + payload: true, + resourceId: "Test string", + resourceUri: "Test string", + token: "Test string", + type: "Test string", + }); + /** Creates a permission for a file or shared drive. */ + await gapi.client.drive.permissions.create({ + emailMessage: "Test string", + enforceSingleParent: true, + fileId: "Test string", + moveToNewOwnersRoot: true, + sendNotificationEmail: true, + supportsAllDrives: true, + supportsTeamDrives: true, + transferOwnership: true, + useDomainAdminAccess: true, + }, { + allowFileDiscovery: true, + deleted: true, + displayName: "Test string", + domain: "Test string", + emailAddress: "Test string", + expirationTime: "Test string", + id: "Test string", + kind: "Test string", + pendingOwner: true, + permissionDetails: [ + { + inherited: true, + inheritedFrom: "Test string", + permissionType: "Test string", + role: "Test string", + } + ], + photoLink: "Test string", + role: "Test string", + teamDrivePermissionDetails: [ + { + inherited: true, + inheritedFrom: "Test string", + role: "Test string", + teamDrivePermissionType: "Test string", + } + ], + type: "Test string", + view: "Test string", + }); + /** Deletes a permission. */ + await gapi.client.drive.permissions.delete({ + fileId: "Test string", + permissionId: "Test string", + supportsAllDrives: true, + supportsTeamDrives: true, + useDomainAdminAccess: true, + }); + /** Gets a permission by ID. */ + await gapi.client.drive.permissions.get({ + fileId: "Test string", + permissionId: "Test string", + supportsAllDrives: true, + supportsTeamDrives: true, + useDomainAdminAccess: true, + }); + /** Lists a file's or shared drive's permissions. */ + await gapi.client.drive.permissions.list({ + fileId: "Test string", + includePermissionsForView: "Test string", + pageSize: 42, + pageToken: "Test string", + supportsAllDrives: true, + supportsTeamDrives: true, + useDomainAdminAccess: true, + }); + /** Updates a permission with patch semantics. */ + await gapi.client.drive.permissions.update({ + fileId: "Test string", + permissionId: "Test string", + removeExpiration: true, + supportsAllDrives: true, + supportsTeamDrives: true, + transferOwnership: true, + useDomainAdminAccess: true, + }, { + allowFileDiscovery: true, + deleted: true, + displayName: "Test string", + domain: "Test string", + emailAddress: "Test string", + expirationTime: "Test string", + id: "Test string", + kind: "Test string", + pendingOwner: true, + permissionDetails: [ + { + inherited: true, + inheritedFrom: "Test string", + permissionType: "Test string", + role: "Test string", + } + ], + photoLink: "Test string", + role: "Test string", + teamDrivePermissionDetails: [ + { + inherited: true, + inheritedFrom: "Test string", + role: "Test string", + teamDrivePermissionType: "Test string", + } + ], + type: "Test string", + view: "Test string", + }); + /** Creates a new reply to a comment. */ + await gapi.client.drive.replies.create({ + commentId: "Test string", + fileId: "Test string", + }, { + action: "Test string", + author: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + content: "Test string", + createdTime: "Test string", + deleted: true, + htmlContent: "Test string", + id: "Test string", + kind: "Test string", + modifiedTime: "Test string", + }); + /** Deletes a reply. */ + await gapi.client.drive.replies.delete({ + commentId: "Test string", + fileId: "Test string", + replyId: "Test string", + }); + /** Gets a reply by ID. */ + await gapi.client.drive.replies.get({ + commentId: "Test string", + fileId: "Test string", + includeDeleted: true, + replyId: "Test string", + }); + /** Lists a comment's replies. */ + await gapi.client.drive.replies.list({ + commentId: "Test string", + fileId: "Test string", + includeDeleted: true, + pageSize: 42, + pageToken: "Test string", + }); + /** Updates a reply with patch semantics. */ + await gapi.client.drive.replies.update({ + commentId: "Test string", + fileId: "Test string", + replyId: "Test string", + }, { + action: "Test string", + author: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + content: "Test string", + createdTime: "Test string", + deleted: true, + htmlContent: "Test string", + id: "Test string", + kind: "Test string", + modifiedTime: "Test string", + }); + /** + * Permanently deletes a file version. You can only delete revisions for files with binary content in Google Drive, like images or videos. Revisions for other files, like Google Docs or + * Sheets, and the last remaining file version can't be deleted. + */ + await gapi.client.drive.revisions.delete({ + fileId: "Test string", + revisionId: "Test string", + }); + /** Gets a revision's metadata or content by ID. */ + await gapi.client.drive.revisions.get({ + acknowledgeAbuse: true, + fileId: "Test string", + revisionId: "Test string", + }); + /** Lists a file's revisions. */ + await gapi.client.drive.revisions.list({ + fileId: "Test string", + pageSize: 42, + pageToken: "Test string", + }); + /** Updates a revision with patch semantics. */ + await gapi.client.drive.revisions.update({ + fileId: "Test string", + revisionId: "Test string", + }, { + exportLinks: { + A: "Test string" + }, + id: "Test string", + keepForever: true, + kind: "Test string", + lastModifyingUser: { + displayName: "Test string", + emailAddress: "Test string", + kind: "Test string", + me: true, + permissionId: "Test string", + photoLink: "Test string", + }, + md5Checksum: "Test string", + mimeType: "Test string", + modifiedTime: "Test string", + originalFilename: "Test string", + publishAuto: true, + published: true, + publishedLink: "Test string", + publishedOutsideDomain: true, + size: "Test string", + }); + /** Deprecated use drives.create instead. */ + await gapi.client.drive.teamdrives.create({ + requestId: "Test string", + }, { + backgroundImageFile: { + id: "Test string", + width: 42, + xCoordinate: 42, + yCoordinate: 42, + }, + backgroundImageLink: "Test string", + capabilities: { + canAddChildren: true, + canChangeCopyRequiresWriterPermissionRestriction: true, + canChangeDomainUsersOnlyRestriction: true, + canChangeTeamDriveBackground: true, + canChangeTeamMembersOnlyRestriction: true, + canComment: true, + canCopy: true, + canDeleteChildren: true, + canDeleteTeamDrive: true, + canDownload: true, + canEdit: true, + canListChildren: true, + canManageMembers: true, + canReadRevisions: true, + canRemoveChildren: true, + canRename: true, + canRenameTeamDrive: true, + canResetTeamDriveRestrictions: true, + canShare: true, + canTrashChildren: true, + }, + colorRgb: "Test string", + createdTime: "Test string", + id: "Test string", + kind: "Test string", + name: "Test string", + orgUnitId: "Test string", + restrictions: { + adminManagedRestrictions: true, + copyRequiresWriterPermission: true, + domainUsersOnly: true, + teamMembersOnly: true, + }, + themeId: "Test string", + }); + /** Deprecated use drives.delete instead. */ + await gapi.client.drive.teamdrives.delete({ + teamDriveId: "Test string", + }); + /** Deprecated use drives.get instead. */ + await gapi.client.drive.teamdrives.get({ + teamDriveId: "Test string", + useDomainAdminAccess: true, + }); + /** Deprecated use drives.list instead. */ + await gapi.client.drive.teamdrives.list({ + pageSize: 42, + pageToken: "Test string", + q: "Test string", + useDomainAdminAccess: true, + }); + /** Deprecated use drives.update instead */ + await gapi.client.drive.teamdrives.update({ + teamDriveId: "Test string", + useDomainAdminAccess: true, + }, { + backgroundImageFile: { + id: "Test string", + width: 42, + xCoordinate: 42, + yCoordinate: 42, + }, + backgroundImageLink: "Test string", + capabilities: { + canAddChildren: true, + canChangeCopyRequiresWriterPermissionRestriction: true, + canChangeDomainUsersOnlyRestriction: true, + canChangeTeamDriveBackground: true, + canChangeTeamMembersOnlyRestriction: true, + canComment: true, + canCopy: true, + canDeleteChildren: true, + canDeleteTeamDrive: true, + canDownload: true, + canEdit: true, + canListChildren: true, + canManageMembers: true, + canReadRevisions: true, + canRemoveChildren: true, + canRename: true, + canRenameTeamDrive: true, + canResetTeamDriveRestrictions: true, + canShare: true, + canTrashChildren: true, + }, + colorRgb: "Test string", + createdTime: "Test string", + id: "Test string", + kind: "Test string", + name: "Test string", + orgUnitId: "Test string", + restrictions: { + adminManagedRestrictions: true, + copyRequiresWriterPermission: true, + domainUsersOnly: true, + teamMembersOnly: true, + }, + themeId: "Test string", + }); + } +}); +" +`; + +exports[`drive works 6`] = ` +"{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6", "dom"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "strictFunctionTypes": true + }, + "files": ["index.d.ts", "tests.ts"] +} +" +`; + +exports[`drive works 7`] = ` +"{ + "extends": "dtslint/dtslint.json", + "rules": { + "no-redundant-jsdoc": false + } +} +" +`; + +exports[`sheets - legacy DT works 1`] = ` +"// Type definitions for non-npm package Google Sheets API v4 4.0 +// Project: https://developers.google.com/sheets/ +// Definitions by: Maxim Mazurok +// Nick Amoscato +// Declan Vong +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// DEPRECATED, use @types/gapi.client.sheets-v4 instead; see https://github.com/Maxim-Mazurok/google-api-typings-generator/issues/652 for details + +/// +" +`; + +exports[`sheets - legacy DT works 2`] = ` +"{ + "private": true, + "dependencies": { + "@maxim_mazurok/gapi.client.sheets-v4": "latest" + } +} +" +`; + +exports[`sheets - legacy DT works 3`] = ` +"{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "baseUrl": "../", + "typeRoots": ["../"], + "types": [] + }, + "files": ["index.d.ts"] +} +" +`; + +exports[`sheets - legacy DT works 4`] = ` +"{ + "extends": "@definitelytyped/dtslint/dt.json", + "rules": { + "npm-naming": false + } +} +" +`; + +exports[`sheets DT works 1`] = ` +"// Type definitions for non-npm package Google Sheets API v4 0.0 +// Project: https://developers.google.com/sheets/ +// Definitions by: Maxim Mazurok +// Nick Amoscato +// Declan Vong +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// Referenced type definitions are generated by https://github.com/Maxim-Mazurok/google-api-typings-generator +// In case of any problems please open issue in https://github.com/Maxim-Mazurok/google-api-typings-generator/issues/new + +/// +" +`; + +exports[`sheets DT works 2`] = ` +"{ + "private": true, + "dependencies": { + "@maxim_mazurok/gapi.client.sheets-v4": "latest" + } +} +" +`; + +exports[`sheets DT works 3`] = ` +"{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "baseUrl": "../", + "typeRoots": ["../"], + "types": [] + }, + "files": ["index.d.ts"] +} +" +`; + +exports[`sheets DT works 4`] = ` +"{ + "extends": "@definitelytyped/dtslint/dt.json", + "rules": { + "npm-naming": false + } +} +" +`; + +exports[`sheets works 1`] = ` +"//registry.npmjs.org/:_authToken=\${NPM_PUBLISH_AUTOMATION_TOKEN} +" +`; + +exports[`sheets works 2`] = ` +"/* Type definitions for non-npm package Google Sheets API v4 0.0 */ +// Project: https://developers.google.com/sheets/ +// Definitions by: Maxim Mazurok +// Nick Amoscato +// Declan Vong +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// IMPORTANT +// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. +// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator +// Generated from: http://localhost:3000/sheets.json +// Revision: 20220620 + +/// + +declare namespace gapi.client { + /** Load Google Sheets API v4 */ + function load(urlOrObject: "http://localhost:3000/sheets.json"): Promise; + /** @deprecated Please load APIs with discovery documents. */ + function load(name: "sheets", version: "v4"): Promise; + /** @deprecated Please load APIs with discovery documents. */ + function load(name: "sheets", version: "v4", callback: () => any): void; + + namespace sheets { + interface 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?: BandedRange; + } + interface AddBandingResponse { + /** The banded range that was added. */ + bandedRange?: BandedRange; + } + interface 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 an embedded object that already exists.) + */ + chart?: EmbeddedChart; + } + interface AddChartResponse { + /** The newly added chart. */ + chart?: EmbeddedChart; + } + interface AddConditionalFormatRuleRequest { + /** The zero-based index where the rule should be inserted. */ + index?: number; + /** The rule to add. */ + rule?: ConditionalFormatRule; + } + interface AddDataSourceRequest { + /** The data source to add. */ + dataSource?: DataSource; + } + interface AddDataSourceResponse { + /** The data execution status. */ + dataExecutionStatus?: DataExecutionStatus; + /** The data source that was created. */ + dataSource?: DataSource; + } + interface AddDimensionGroupRequest { + /** The range over which to create a group. */ + range?: DimensionRange; + } + interface AddDimensionGroupResponse { + /** All groups of a dimension after adding a group to that dimension. */ + dimensionGroups?: DimensionGroup[]; + } + interface 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?: FilterView; + } + interface AddFilterViewResponse { + /** The newly added filter view. */ + filter?: FilterView; + } + interface 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?: NamedRange; + } + interface AddNamedRangeResponse { + /** The named range to add. */ + namedRange?: NamedRange; + } + interface 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?: ProtectedRange; + } + interface AddProtectedRangeResponse { + /** The newly added protected range. */ + protectedRange?: ProtectedRange; + } + interface 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?: SheetProperties; + } + interface AddSheetResponse { + /** The properties of the newly added sheet. */ + properties?: SheetProperties; + } + interface AddSlicerRequest { + /** + * The slicer that should be added to the spreadsheet, including the position where it should be placed. The slicerId field is optional; if one is not set, an id will be randomly + * generated. (It is an error to specify the ID of a slicer that already exists.) + */ + slicer?: Slicer; + } + interface AddSlicerResponse { + /** The newly added slicer. */ + slicer?: Slicer; + } + interface 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?: RowData[]; + /** The sheet ID to append the data to. */ + sheetId?: number; + } + interface 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; + } + interface 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?: UpdateValuesResponse; + } + interface 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?: GridRange; + /** The source and destination areas to autofill. This explicitly lists the source of the autofill and where to extend that data. */ + sourceAndDestination?: SourceAndDestination; + /** True if we should generate data with the "alternate" series. This differs based on the type and amount of source data. */ + useAlternateSeries?: boolean; + } + interface AutoResizeDimensionsRequest { + /** The dimensions on a data source sheet to automatically resize. */ + dataSourceSheetDimensions?: DataSourceSheetDimensionRange; + /** The dimensions to automatically resize. */ + dimensions?: DimensionRange; + } + interface 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?: BandingProperties; + /** The range over which these properties are applied. */ + range?: 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?: BandingProperties; + } + interface BandingProperties { + /** The first color that is alternating. (Required) Deprecated: Use first_band_color_style. */ + firstBandColor?: Color; + /** The first color that is alternating. (Required) If first_band_color is also set, this field takes precedence. */ + firstBandColorStyle?: ColorStyle; + /** + * The color of the last row or column. If this field is not set, the last row or column is filled with either first_band_color or second_band_color, depending on the color of the + * previous row or column. Deprecated: Use footer_color_style. + */ + footerColor?: Color; + /** + * The color of the last row or column. If this field is not set, the last row or column is filled with either first_band_color or second_band_color, depending on the color of the + * previous row or column. If footer_color is also set, this field takes precedence. + */ + footerColorStyle?: ColorStyle; + /** + * The color of the first row or column. If this field is set, the first row or column is filled with this color and the colors alternate between first_band_color and second_band_color + * starting from the second row or column. Otherwise, the first row or column is filled with first_band_color and the colors proceed to alternate as they normally would. Deprecated: + * Use header_color_style. + */ + headerColor?: Color; + /** + * The color of the first row or column. If this field is set, the first row or column is filled with this color and the colors alternate between first_band_color and second_band_color + * starting from the second row or column. Otherwise, the first row or column is filled with first_band_color and the colors proceed to alternate as they normally would. If + * header_color is also set, this field takes precedence. + */ + headerColorStyle?: ColorStyle; + /** The second color that is alternating. (Required) Deprecated: Use second_band_color_style. */ + secondBandColor?: Color; + /** The second color that is alternating. (Required) If second_band_color is also set, this field takes precedence. */ + secondBandColorStyle?: ColorStyle; + } + interface BaselineValueFormat { + /** The comparison type of key value with baseline value. */ + comparisonType?: string; + /** Description which is appended after the baseline value. This field is optional. */ + description?: string; + /** Color to be used, in case baseline value represents a negative change for key value. This field is optional. Deprecated: Use negative_color_style. */ + negativeColor?: Color; + /** Color to be used, in case baseline value represents a negative change for key value. This field is optional. If negative_color is also set, this field takes precedence. */ + negativeColorStyle?: ColorStyle; + /** Specifies the horizontal text positioning of baseline value. This field is optional. If not specified, default positioning is used. */ + position?: TextPosition; + /** Color to be used, in case baseline value represents a positive change for key value. This field is optional. Deprecated: Use positive_color_style. */ + positiveColor?: Color; + /** Color to be used, in case baseline value represents a positive change for key value. This field is optional. If positive_color is also set, this field takes precedence. */ + positiveColorStyle?: ColorStyle; + /** Text formatting options for baseline value. The link field is not supported. */ + textFormat?: TextFormat; + } + interface BasicChartAxis { + /** The format of the title. Only valid if the axis is not associated with the domain. The link field is not supported. */ + format?: 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?: TextPosition; + /** The view window options for this axis. */ + viewWindowOptions?: ChartAxisViewWindowOptions; + } + interface BasicChartDomain { + /** The data of the domain. For example, if charting stock prices over time, this is the data representing the dates. */ + domain?: ChartData; + /** True to reverse the order of the domain values (horizontal axis). */ + reversed?: boolean; + } + interface BasicChartSeries { + /** The color for elements (such as bars, lines, and points) associated with this series. If empty, a default color is used. Deprecated: Use color_style. */ + color?: Color; + /** The color for elements (such as bars, lines, and points) associated with this series. If empty, a default color is used. If color is also set, this field takes precedence. */ + colorStyle?: ColorStyle; + /** Information about the data labels for this series. */ + dataLabel?: DataLabel; + /** 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?: LineStyle; + /** + * The style for points associated with this series. Valid only if the chartType is AREA, LINE, or SCATTER. COMBO charts are also supported if the series chart type is AREA, LINE, or + * SCATTER. If empty, a default point style is used. + */ + pointStyle?: PointStyle; + /** The data being visualized in this chart series. */ + series?: ChartData; + /** Style override settings for series data points. */ + styleOverrides?: BasicSeriesDataPointStyleOverride[]; + /** + * 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; + } + interface BasicChartSpec { + /** The axis on the chart. */ + axis?: 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?: 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?: 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; + /** + * Controls whether to display additional data labels on stacked charts which sum the total value of all stacked values at each value along the domain axis. These data labels can only + * be set when chart_type is one of AREA, BAR, COLUMN, COMBO or STEPPED_AREA and stacked_type is either STACKED or PERCENT_STACKED. In addition, for COMBO, this will only be supported + * if there is only one type of stackable series type or one type has more series than the others and each of the other types have no more than one series. For example, if a chart has + * two stacked bar series and one area series, the total data labels will be supported. If it has three bar series and two area series, total data labels are not allowed. Neither + * CUSTOM nor placement can be set on the total_data_label. + */ + totalDataLabel?: DataLabel; + } + interface 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. This field is deprecated in favor of + * filter_specs. + */ + criteria?: { [P in string]: FilterCriteria }; + /** The filter criteria per column. Both criteria and filter_specs are populated in responses. If both fields are specified in an update request, this field takes precedence. */ + filterSpecs?: FilterSpec[]; + /** The range the filter covers. */ + range?: GridRange; + /** The sort order per column. Later specifications are used when values are equal in the earlier specifications. */ + sortSpecs?: SortSpec[]; + } + interface BasicSeriesDataPointStyleOverride { + /** Color of the series data point. If empty, the series default is used. Deprecated: Use color_style. */ + color?: Color; + /** Color of the series data point. If empty, the series default is used. If color is also set, this field takes precedence. */ + colorStyle?: ColorStyle; + /** Zero based index of the series data point. */ + index?: number; + /** + * Point style of the series data point. Valid only if the chartType is AREA, LINE, or SCATTER. COMBO charts are also supported if the series chart type is AREA, LINE, or SCATTER. If + * empty, the series default is used. + */ + pointStyle?: PointStyle; + } + interface BatchClearValuesByDataFilterRequest { + /** The DataFilters used to determine which ranges to clear. */ + dataFilters?: DataFilter[]; + } + interface BatchClearValuesByDataFilterResponse { + /** + * The ranges that were cleared, in [A1 notation](/sheets/api/guides/concepts#cell). If the requests are for an unbounded range or a ranger larger than the bounds of the sheet, this is + * the actual ranges that were cleared, bounded to the sheet's limits. + */ + clearedRanges?: string[]; + /** The spreadsheet the updates were applied to. */ + spreadsheetId?: string; + } + interface BatchClearValuesRequest { + /** The ranges to clear, in [A1 notation or R1C1 notation](/sheets/api/guides/concepts#cell). */ + ranges?: string[]; + } + interface BatchClearValuesResponse { + /** + * The ranges that were cleared, in A1 notation. If the requests are for an unbounded range or a ranger larger than the bounds of the sheet, this is the actual ranges that were + * cleared, bounded to the sheet's limits. + */ + clearedRanges?: string[]; + /** The spreadsheet the updates were applied to. */ + spreadsheetId?: string; + } + interface BatchGetValuesByDataFilterRequest { + /** The data filters used to match the ranges of values to retrieve. Ranges that match any of the specified data filters are included in the response. */ + dataFilters?: 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 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\` + * returns \`[[1,2],[3,4]]\`, whereas a request that sets \`majorDimension=COLUMNS\` returns \`[[1,3],[2,4]]\`. + */ + majorDimension?: string; + /** How values should be represented in the output. The default render option is FORMATTED_VALUE. */ + valueRenderOption?: string; + } + interface 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?: MatchedValueRange[]; + } + interface 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?: ValueRange[]; + } + interface 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?: Request[]; + /** True if grid data should be returned. Meaningful only 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_in_response is 'true'. */ + responseRanges?: string[]; + } + interface BatchUpdateSpreadsheetResponse { + /** The reply of the updates. This maps 1:1 with the updates, although replies to some requests may be empty. */ + replies?: 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?: Spreadsheet; + } + interface BatchUpdateValuesByDataFilterRequest { + /** The new values to apply to the spreadsheet. If more than one range is matched by the specified DataFilter the specified values are applied to all of those ranges. */ + data?: 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 contains the updated values. If the range to write was larger than the range actually written, the response includes 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 SERIAL_NUMBER. + */ + responseDateTimeRenderOption?: string; + /** Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. */ + responseValueRenderOption?: string; + /** How the input data should be interpreted. */ + valueInputOption?: string; + } + interface BatchUpdateValuesByDataFilterResponse { + /** The response for each range updated. */ + responses?: 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; + } + interface BatchUpdateValuesRequest { + /** The new values to apply to the spreadsheet. */ + data?: 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 contains the updated values. If the range to write was larger than the range actually written, the response includes 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 SERIAL_NUMBER. + */ + responseDateTimeRenderOption?: string; + /** Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. */ + responseValueRenderOption?: string; + /** How the input data should be interpreted. */ + valueInputOption?: string; + } + interface BatchUpdateValuesResponse { + /** One UpdateValuesResponse per requested range, in the same order as the requests appeared. */ + responses?: 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; + } + interface BigQueryDataSourceSpec { + /** The ID of a BigQuery enabled GCP project with a billing account attached. For any queries executed against the data source, the project is charged. */ + projectId?: string; + /** A BigQueryQuerySpec. */ + querySpec?: BigQueryQuerySpec; + /** A BigQueryTableSpec. */ + tableSpec?: BigQueryTableSpec; + } + interface BigQueryQuerySpec { + /** The raw query string. */ + rawQuery?: string; + } + interface BigQueryTableSpec { + /** The BigQuery dataset id. */ + datasetId?: string; + /** The BigQuery table id. */ + tableId?: string; + /** The ID of a BigQuery project the table belongs to. If not specified, the project_id is assumed. */ + tableProjectId?: string; + } + interface 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?: ConditionValue[]; + } + interface BooleanRule { + /** The condition of the rule. If the condition evaluates to true, the format is applied. */ + condition?: BooleanCondition; + /** The format to apply. Conditional formatting can only apply a subset of formatting: bold, italic, strikethrough, foreground color & background color. */ + format?: CellFormat; + } + interface Border { + /** The color of the border. Deprecated: Use color_style. */ + color?: Color; + /** The color of the border. If color is also set, this field takes precedence. */ + colorStyle?: ColorStyle; + /** 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; + } + interface Borders { + /** The bottom border of the cell. */ + bottom?: Border; + /** The left border of the cell. */ + left?: Border; + /** The right border of the cell. */ + right?: Border; + /** The top border of the cell. */ + top?: Border; + } + interface BubbleChartSpec { + /** The bubble border color. Deprecated: Use bubble_border_color_style. */ + bubbleBorderColor?: Color; + /** The bubble border color. If bubble_border_color is also set, this field takes precedence. */ + bubbleBorderColorStyle?: ColorStyle; + /** The data containing the bubble labels. These do not need to be unique. */ + bubbleLabels?: 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 containing 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?: ChartData; + /** The format of the text inside the bubbles. Strikethrough, underline, and link are not supported. */ + bubbleTextStyle?: TextFormat; + /** The data containing the bubble x-values. These values locate the bubbles in the chart horizontally. */ + domain?: 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?: ChartData; + /** Where the legend of the chart should be drawn. */ + legendPosition?: string; + /** The data containing the bubble y-values. These values locate the bubbles in the chart vertically. */ + series?: ChartData; + } + interface CandlestickChartSpec { + /** The Candlestick chart data. Only one CandlestickData is supported. */ + data?: 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?: CandlestickDomain; + } + interface 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?: 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?: 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?: 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?: CandlestickSeries; + } + interface CandlestickDomain { + /** The data of the CandlestickDomain. */ + data?: ChartData; + /** True to reverse the order of the domain values (horizontal axis). */ + reversed?: boolean; + } + interface CandlestickSeries { + /** The data of the CandlestickSeries. */ + data?: ChartData; + } + interface CellData { + /** + * Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g. + * \`=SUM(DataSheet!Column)\`. + */ + dataSourceFormula?: DataSourceFormula; + /** + * A data source table anchored at this cell. The size of data source table itself is computed dynamically based on its configuration. Only the first cell of the data source table + * contains the data source table definition. The other cells will contain the display values of the data source table result in their effective_value fields. + */ + dataSourceTable?: DataSourceTable; + /** A data validation rule on the cell, if any. When writing, the new data validation rule will overwrite any prior rule. */ + dataValidation?: 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?: 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?: 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. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a \`=HYPERLINK\` formula in the + * userEnteredValue.formulaValue field. A cell-level link can also be set from the userEnteredFormat.textFormat field. Alternatively, set a hyperlink in the textFormatRun.format.link + * field that spans the entire cell. + */ + 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?: PivotTable; + /** + * Runs of rich text applied to subsections of the cell. Runs are only valid on user entered strings, not formulas, bools, or numbers. Properties of a run start at a specific index in + * the text and continue until the next run. Runs will inherit 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?: TextFormatRun[]; + /** The format the user entered for the cell. When writing, the new format will be merged with the existing format. */ + userEnteredFormat?: 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?: ExtendedValue; + } + interface CellFormat { + /** The background color of the cell. Deprecated: Use background_color_style. */ + backgroundColor?: Color; + /** The background color of the cell. If background_color is also set, this field takes precedence. */ + backgroundColorStyle?: ColorStyle; + /** The borders of the cell. */ + borders?: Borders; + /** The horizontal alignment of the value in the cell. */ + horizontalAlignment?: string; + /** If one exists, how a hyperlink should be displayed in the cell. */ + hyperlinkDisplayType?: string; + /** A format describing how number values should be represented to the user. */ + numberFormat?: NumberFormat; + /** The padding of the cell. */ + padding?: 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). Setting a cell-level link here clears the cell's existing links. Setting the link field in a TextFormatRun + * takes precedence over the cell-level link. + */ + textFormat?: TextFormat; + /** The rotation applied to text in the cell. */ + textRotation?: TextRotation; + /** The vertical alignment of the value in the cell. */ + verticalAlignment?: string; + /** The wrap strategy for the value in the cell. */ + wrapStrategy?: string; + } + interface ChartAxisViewWindowOptions { + /** The maximum numeric value to be shown in this view window. If unset, will automatically determine a maximum value that looks good for the data. */ + viewWindowMax?: number; + /** The minimum numeric value to be shown in this view window. If unset, will automatically determine a minimum value that looks good for the data. */ + viewWindowMin?: number; + /** The view window's mode. */ + viewWindowMode?: string; + } + interface ChartCustomNumberFormatOptions { + /** Custom prefix to be prepended to the chart attribute. This field is optional. */ + prefix?: string; + /** Custom suffix to be appended to the chart attribute. This field is optional. */ + suffix?: string; + } + interface ChartData { + /** The aggregation type for the series of a data source chart. Only supported for data source charts. */ + aggregateType?: string; + /** The reference to the data source column that the data reads from. */ + columnReference?: DataSourceColumnReference; + /** The rule to group the data by if the ChartData backs the domain of a data source chart. Only supported for data source charts. */ + groupRule?: ChartGroupRule; + /** The source ranges of the data. */ + sourceRange?: ChartSourceRange; + } + interface ChartDateTimeRule { + /** The type of date-time grouping to apply. */ + type?: string; + } + interface ChartGroupRule { + /** A ChartDateTimeRule. */ + dateTimeRule?: ChartDateTimeRule; + /** A ChartHistogramRule */ + histogramRule?: ChartHistogramRule; + } + interface ChartHistogramRule { + /** The size of the buckets that are created. Must be positive. */ + intervalSize?: number; + /** The maximum value at which items are placed into buckets. Values greater than the maximum are grouped into a single bucket. If omitted, it is determined by the maximum item value. */ + maxValue?: number; + /** + * The minimum value at which items are placed into buckets. Values that are less than the minimum are grouped into a single bucket. If omitted, it is determined by the minimum item + * value. + */ + minValue?: number; + } + interface 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?: GridRange[]; + } + interface 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. Deprecated: Use background_color_style. */ + backgroundColor?: Color; + /** The background color of the entire chart. Not applicable to Org charts. If background_color is also set, this field takes precedence. */ + backgroundColorStyle?: ColorStyle; + /** A basic chart specification, can be one of many kinds of charts. See BasicChartType for the list of all charts this supports. */ + basicChart?: BasicChartSpec; + /** A bubble chart specification. */ + bubbleChart?: BubbleChartSpec; + /** A candlestick chart specification. */ + candlestickChart?: CandlestickChartSpec; + /** If present, the field contains data source chart specific properties. */ + dataSourceChartProperties?: DataSourceChartProperties; + /** The filters applied to the source data of the chart. Only supported for data source charts. */ + filterSpecs?: FilterSpec[]; + /** 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?: 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?: OrgChartSpec; + /** A pie chart specification. */ + pieChart?: PieChartSpec; + /** A scorecard chart specification. */ + scorecardChart?: ScorecardChartSpec; + /** The order to sort the chart data by. Only a single sort spec is supported. Only supported for data source charts. */ + sortSpecs?: SortSpec[]; + /** The subtitle of the chart. */ + subtitle?: string; + /** The subtitle text format. Strikethrough, underline, and link are not supported. */ + subtitleTextFormat?: TextFormat; + /** The subtitle text position. This field is optional. */ + subtitleTextPosition?: TextPosition; + /** The title of the chart. */ + title?: string; + /** The title text format. Strikethrough, underline, and link are not supported. */ + titleTextFormat?: TextFormat; + /** The title text position. This field is optional. */ + titleTextPosition?: TextPosition; + /** A treemap chart specification. */ + treemapChart?: TreemapChartSpec; + /** A waterfall chart specification. */ + waterfallChart?: WaterfallChartSpec; + } + interface ClearBasicFilterRequest { + /** The sheet ID on which the basic filter should be cleared. */ + sheetId?: number; + } + // tslint:disable-next-line:no-empty-interface + interface ClearValuesRequest { + } + interface 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; + } + interface 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 rendered as a solid color + * (as if the alpha value had been explicitly given 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; + } + interface ColorStyle { + /** + * RGB color. The [\`alpha\`](/sheets/api/reference/rest/v4/spreadsheets/other#Color.FIELDS.alpha) value in the [\`Color\`](/sheets/api/reference/rest/v4/spreadsheets/other#color) object + * isn't generally supported. + */ + rgbColor?: Color; + /** Theme color. */ + themeColor?: string; + } + interface ConditionalFormatRule { + /** The formatting is either "on" or "off" according to the rule. */ + booleanRule?: BooleanRule; + /** The formatting will vary based on the gradients in the rule. */ + gradientRule?: GradientRule; + /** The ranges that are formatted if the condition is true. All the ranges must be on the same grid. */ + ranges?: GridRange[]; + } + interface 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; + } + interface 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?: 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?: GridRange; + } + interface CopySheetToAnotherSpreadsheetRequest { + /** The ID of the spreadsheet to copy the sheet to. */ + destinationSpreadsheetId?: string; + } + interface CreateDeveloperMetadataRequest { + /** The developer metadata to create. */ + developerMetadata?: DeveloperMetadata; + } + interface CreateDeveloperMetadataResponse { + /** The developer metadata that was created. */ + developerMetadata?: DeveloperMetadata; + } + interface CutPasteRequest { + /** The top-left coordinate where the data should be pasted. */ + destination?: 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?: GridRange; + } + interface DataExecutionStatus { + /** The error code. */ + errorCode?: string; + /** The error message, which may be empty. */ + errorMessage?: string; + /** Gets the time the data last successfully refreshed. */ + lastRefreshTime?: string; + /** The state of the data execution. */ + state?: string; + } + interface 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?: DeveloperMetadataLookup; + /** Selects data that matches the range described by the GridRange. */ + gridRange?: GridRange; + } + interface DataFilterValueRange { + /** The data filter describing the location of the values in the spreadsheet. */ + dataFilter?: 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 fails. If the provided values are less than the matched ranges + * only the specified values are written, existing values in the matched ranges remain unaffected. + */ + values?: any[][]; + } + interface DataLabel { + /** + * Data to use for custom labels. Only used if type is set to CUSTOM. This data must be the same length as the series or other element this data label is applied to. In addition, if + * the series is split into multiple source ranges, this source data must come from the next column in the source data. For example, if the series is B2:B4,E6:E8 then this data must + * come from C2:C4,F6:F8. + */ + customLabelData?: ChartData; + /** The placement of the data label relative to the labeled data. */ + placement?: string; + /** The text format used for the data label. The link field is not supported. */ + textFormat?: TextFormat; + /** The type of the data label. */ + type?: string; + } + interface DataSource { + /** All calculated columns in the data source. */ + calculatedColumns?: DataSourceColumn[]; + /** The spreadsheet-scoped unique ID that identifies the data source. Example: 1080547365. */ + dataSourceId?: string; + /** + * The ID of the Sheet connected with the data source. The field cannot be changed once set. When creating a data source, an associated DATA_SOURCE sheet is also created, if the field + * is not specified, the ID of the created sheet will be randomly generated. + */ + sheetId?: number; + /** The DataSourceSpec for the data source connected with this spreadsheet. */ + spec?: DataSourceSpec; + } + interface DataSourceChartProperties { + /** Output only. The data execution status. */ + dataExecutionStatus?: DataExecutionStatus; + /** ID of the data source that the chart is associated with. */ + dataSourceId?: string; + } + interface DataSourceColumn { + /** The formula of the calculated column. */ + formula?: string; + /** The column reference. */ + reference?: DataSourceColumnReference; + } + interface DataSourceColumnReference { + /** The display name of the column. It should be unique within a data source. */ + name?: string; + } + interface DataSourceFormula { + /** Output only. The data execution status. */ + dataExecutionStatus?: DataExecutionStatus; + /** The ID of the data source the formula is associated with. */ + dataSourceId?: string; + } + interface DataSourceObjectReference { + /** References to a data source chart. */ + chartId?: number; + /** References to a cell containing DataSourceFormula. */ + dataSourceFormulaCell?: GridCoordinate; + /** References to a data source PivotTable anchored at the cell. */ + dataSourcePivotTableAnchorCell?: GridCoordinate; + /** References to a DataSourceTable anchored at the cell. */ + dataSourceTableAnchorCell?: GridCoordinate; + /** References to a DATA_SOURCE sheet. */ + sheetId?: string; + } + interface DataSourceObjectReferences { + /** The references. */ + references?: DataSourceObjectReference[]; + } + interface DataSourceParameter { + /** + * Named parameter. Must be a legitimate identifier for the DataSource that supports it. For example, [BigQuery + * identifier](https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical#identifiers). + */ + name?: string; + /** ID of a NamedRange. Its size must be 1x1. */ + namedRangeId?: string; + /** A range that contains the value of the parameter. Its size must be 1x1. */ + range?: GridRange; + } + interface DataSourceRefreshDailySchedule { + /** The start time of a time interval in which a data source refresh is scheduled. Only \`hours\` part is used. The time interval size defaults to that in the Sheets editor. */ + startTime?: TimeOfDay; + } + interface DataSourceRefreshMonthlySchedule { + /** Days of the month to refresh. Only 1-28 are supported, mapping to the 1st to the 28th day. At lesat one day must be specified. */ + daysOfMonth?: number[]; + /** The start time of a time interval in which a data source refresh is scheduled. Only \`hours\` part is used. The time interval size defaults to that in the Sheets editor. */ + startTime?: TimeOfDay; + } + interface DataSourceRefreshSchedule { + /** Daily refresh schedule. */ + dailySchedule?: DataSourceRefreshDailySchedule; + /** True if the refresh schedule is enabled, or false otherwise. */ + enabled?: boolean; + /** Monthly refresh schedule. */ + monthlySchedule?: DataSourceRefreshMonthlySchedule; + /** Output only. The time interval of the next run. */ + nextRun?: Interval; + /** The scope of the refresh. Must be ALL_DATA_SOURCES. */ + refreshScope?: string; + /** Weekly refresh schedule. */ + weeklySchedule?: DataSourceRefreshWeeklySchedule; + } + interface DataSourceRefreshWeeklySchedule { + /** Days of the week to refresh. At least one day must be specified. */ + daysOfWeek?: string[]; + /** The start time of a time interval in which a data source refresh is scheduled. Only \`hours\` part is used. The time interval size defaults to that in the Sheets editor. */ + startTime?: TimeOfDay; + } + interface DataSourceSheetDimensionRange { + /** The columns on the data source sheet. */ + columnReferences?: DataSourceColumnReference[]; + /** The ID of the data source sheet the range is on. */ + sheetId?: number; + } + interface DataSourceSheetProperties { + /** The columns displayed on the sheet, corresponding to the values in RowData. */ + columns?: DataSourceColumn[]; + /** The data execution status. */ + dataExecutionStatus?: DataExecutionStatus; + /** ID of the DataSource the sheet is connected to. */ + dataSourceId?: string; + } + interface DataSourceSpec { + /** A BigQueryDataSourceSpec. */ + bigQuery?: BigQueryDataSourceSpec; + /** The parameters of the data source, used when querying the data source. */ + parameters?: DataSourceParameter[]; + } + interface DataSourceTable { + /** Columns selected for the data source table. The column_selection_type must be SELECTED. */ + columns?: DataSourceColumnReference[]; + /** The type to select columns for the data source table. Defaults to SELECTED. */ + columnSelectionType?: string; + /** Output only. The data execution status. */ + dataExecutionStatus?: DataExecutionStatus; + /** The ID of the data source the data source table is associated with. */ + dataSourceId?: string; + /** Filter specifications in the data source table. */ + filterSpecs?: FilterSpec[]; + /** The limit of rows to return. If not set, a default limit is applied. Please refer to the Sheets editor for the default and max limit. */ + rowLimit?: number; + /** Sort specifications in the data source table. The result of the data source table is sorted based on the sort specifications in order. */ + sortSpecs?: SortSpec[]; + } + interface DataValidationRule { + /** The condition that data in the cell must match. */ + condition?: 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; + } + interface DateTimeRule { + /** The type of date-time grouping to apply. */ + type?: string; + } + interface DeleteBandingRequest { + /** The ID of the banded range to delete. */ + bandedRangeId?: number; + } + interface DeleteConditionalFormatRuleRequest { + /** The zero-based index of the rule to be deleted. */ + index?: number; + /** The sheet the rule is being deleted from. */ + sheetId?: number; + } + interface DeleteConditionalFormatRuleResponse { + /** The rule that was deleted. */ + rule?: ConditionalFormatRule; + } + interface DeleteDataSourceRequest { + /** The ID of the data source to delete. */ + dataSourceId?: string; + } + interface DeleteDeveloperMetadataRequest { + /** The data filter describing the criteria used to select which developer metadata entry to delete. */ + dataFilter?: DataFilter; + } + interface DeleteDeveloperMetadataResponse { + /** The metadata that was deleted. */ + deletedDeveloperMetadata?: DeveloperMetadata[]; + } + interface DeleteDimensionGroupRequest { + /** The range of the group to be deleted. */ + range?: DimensionRange; + } + interface DeleteDimensionGroupResponse { + /** All groups of a dimension after deleting a group from that dimension. */ + dimensionGroups?: DimensionGroup[]; + } + interface DeleteDimensionRequest { + /** The dimensions to delete from the sheet. */ + range?: DimensionRange; + } + interface DeleteDuplicatesRequest { + /** The columns in the range to analyze for duplicate values. If no columns are selected then all columns are analyzed for duplicates. */ + comparisonColumns?: DimensionRange[]; + /** The range to remove duplicates rows from. */ + range?: GridRange; + } + interface DeleteDuplicatesResponse { + /** The number of duplicate rows removed. */ + duplicatesRemovedCount?: number; + } + interface DeleteEmbeddedObjectRequest { + /** The ID of the embedded object to delete. */ + objectId?: number; + } + interface DeleteFilterViewRequest { + /** The ID of the filter to delete. */ + filterId?: number; + } + interface DeleteNamedRangeRequest { + /** The ID of the named range to delete. */ + namedRangeId?: string; + } + interface DeleteProtectedRangeRequest { + /** The ID of the protected range to delete. */ + protectedRangeId?: number; + } + interface DeleteRangeRequest { + /** The range of cells to delete. */ + range?: 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; + } + interface DeleteSheetRequest { + /** The ID of the sheet to delete. If the sheet is of DATA_SOURCE type, the associated DataSource is also deleted. */ + sheetId?: number; + } + interface DeveloperMetadata { + /** The location where the metadata is associated. */ + location?: 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; + } + interface 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?: 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; + } + interface 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?: 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; + } + interface 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?: DimensionRange; + } + interface DimensionProperties { + /** Output only. If set, this is a column in a data source sheet. */ + dataSourceColumnReference?: DataSourceColumnReference; + /** The developer metadata associated with a single row or column. */ + developerMetadata?: 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; + } + interface 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; + } + interface DuplicateFilterViewRequest { + /** The ID of the filter being duplicated. */ + filterId?: number; + } + interface DuplicateFilterViewResponse { + /** The newly created filter. */ + filter?: FilterView; + } + interface 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. If the source sheet is of DATA_SOURCE type, its backing DataSource is also duplicated and associated with the new copy of the sheet. No data execution is + * triggered, the grid data of this sheet is also copied over but only available after the batch request completes. + */ + sourceSheetId?: number; + } + interface DuplicateSheetResponse { + /** The properties of the duplicate sheet. */ + properties?: SheetProperties; + } + interface 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[]; + } + interface EmbeddedChart { + /** The border of the chart. */ + border?: EmbeddedObjectBorder; + /** The ID of the chart. */ + chartId?: number; + /** The position of the chart. */ + position?: EmbeddedObjectPosition; + /** The specification of the chart. */ + spec?: ChartSpec; + } + interface EmbeddedObjectBorder { + /** The color of the border. Deprecated: Use color_style. */ + color?: Color; + /** The color of the border. If color is also set, this field takes precedence. */ + colorStyle?: ColorStyle; + } + interface 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?: OverlayPosition; + /** The sheet this is on. Set only if the embedded object is on its own sheet. Must be non-negative. */ + sheetId?: number; + } + interface ErrorValue { + /** A message with more information about the error (in the spreadsheet's locale). */ + message?: string; + /** The type of error. */ + type?: string; + } + interface ExtendedValue { + /** Represents a boolean value. */ + boolValue?: boolean; + /** Represents an error. This field is read-only. */ + errorValue?: 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; + } + interface FilterCriteria { + /** A condition that must be true for values to be shown. (This does not override hidden_values -- if a value is listed there, it will still be hidden.) */ + condition?: BooleanCondition; + /** Values that should be hidden. */ + hiddenValues?: string[]; + /** The background fill color to filter by; only cells with this fill color are shown. Mutually exclusive with visible_foreground_color. Deprecated: Use visible_background_color_style. */ + visibleBackgroundColor?: Color; + /** + * The background fill color to filter by; only cells with this fill color are shown. This field is mutually exclusive with visible_foreground_color, and must be set to an RGB-type + * color. If visible_background_color is also set, this field takes precedence. + */ + visibleBackgroundColorStyle?: ColorStyle; + /** The foreground color to filter by; only cells with this foreground color are shown. Mutually exclusive with visible_background_color. Deprecated: Use visible_foreground_color_style. */ + visibleForegroundColor?: Color; + /** + * The foreground color to filter by; only cells with this foreground color are shown. This field is mutually exclusive with visible_background_color, and must be set to an RGB-type + * color. If visible_foreground_color is also set, this field takes precedence. + */ + visibleForegroundColorStyle?: ColorStyle; + } + interface FilterSpec { + /** The column index. */ + columnIndex?: number; + /** Reference to a data source column. */ + dataSourceColumnReference?: DataSourceColumnReference; + /** The criteria for the column. */ + filterCriteria?: FilterCriteria; + } + interface 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. This field is deprecated in favor of + * filter_specs. + */ + criteria?: { [P in string]: FilterCriteria }; + /** + * The filter criteria for showing/hiding values per column. Both criteria and filter_specs are populated in responses. If both fields are specified in an update request, this field + * takes precedence. + */ + filterSpecs?: FilterSpec[]; + /** 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?: GridRange; + /** The sort order per column. Later specifications are used when values are equal in the earlier specifications. */ + sortSpecs?: SortSpec[]; + /** The name of the filter view. */ + title?: string; + } + interface 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?: 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; + } + interface 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; + } + interface GetSpreadsheetByDataFilterRequest { + /** The DataFilters used to select which ranges to retrieve from the spreadsheet. */ + dataFilters?: DataFilter[]; + /** True if grid data should be returned. This parameter is ignored if a field mask was set in the request. */ + includeGridData?: boolean; + } + interface GradientRule { + /** The final interpolation point. */ + maxpoint?: InterpolationPoint; + /** An optional midway interpolation point. */ + midpoint?: InterpolationPoint; + /** The starting interpolation point. */ + minpoint?: InterpolationPoint; + } + interface 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; + } + interface GridData { + /** Metadata about the requested columns in the grid, starting with the column in start_column. */ + columnMetadata?: 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?: RowData[]; + /** Metadata about the requested rows in the grid, starting with the row in start_row. */ + rowMetadata?: DimensionProperties[]; + /** The first column this GridData refers to, zero-based. */ + startColumn?: number; + /** The first row this GridData refers to, zero-based. */ + startRow?: number; + } + interface 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; + } + interface 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; + } + interface 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?: HistogramSeries[]; + /** Whether horizontal divider lines should be displayed between items in each column. */ + showItemDividers?: boolean; + } + interface 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; + } + interface HistogramSeries { + /** The color of the column representing this series in each bucket. This field is optional. Deprecated: Use bar_color_style. */ + barColor?: Color; + /** The color of the column representing this series in each bucket. This field is optional. If bar_color is also set, this field takes precedence. */ + barColorStyle?: ColorStyle; + /** The data for this histogram series. */ + data?: ChartData; + } + interface 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?: DimensionRange; + } + interface InsertRangeRequest { + /** The range to insert new cells into. */ + range?: 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; + } + interface InterpolationPoint { + /** The color this interpolation point should use. Deprecated: Use color_style. */ + color?: Color; + /** The color this interpolation point should use. If color is also set, this field takes precedence. */ + colorStyle?: ColorStyle; + /** 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; + } + interface Interval { + /** Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end. */ + endTime?: string; + /** Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start. */ + startTime?: string; + } + interface 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; + } + interface KeyValueFormat { + /** Specifies the horizontal text positioning of key value. This field is optional. If not specified, default positioning is used. */ + position?: TextPosition; + /** Text formatting options for key value. The link field is not supported. */ + textFormat?: TextFormat; + } + interface LineStyle { + /** The dash type of the line. */ + type?: string; + /** The thickness of the line, in px. */ + width?: number; + } + interface Link { + /** The link identifier. */ + uri?: string; + } + interface ManualRule { + /** The list of group names and the corresponding items from the source data that map to each group name. */ + groups?: ManualRuleGroup[]; + } + interface ManualRuleGroup { + /** The group name, which must be a string. Each group in a given ManualRule must have a unique group name. */ + groupName?: 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?: ExtendedValue[]; + } + interface MatchedDeveloperMetadata { + /** All filters matching the returned developer metadata. */ + dataFilters?: DataFilter[]; + /** The developer metadata matching the specified filters. */ + developerMetadata?: DeveloperMetadata; + } + interface MatchedValueRange { + /** The DataFilters from the request that matched the range of values. */ + dataFilters?: DataFilter[]; + /** The values matched by the DataFilter. */ + valueRange?: ValueRange; + } + interface MergeCellsRequest { + /** How the cells should be merged. */ + mergeType?: string; + /** The range of cells to merge. */ + range?: GridRange; + } + interface 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?: DimensionRange; + } + interface NamedRange { + /** The name of the named range. */ + name?: string; + /** The ID of the named range. */ + namedRangeId?: string; + /** The range this represents. */ + range?: GridRange; + } + interface 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; + } + interface OrgChartSpec { + /** The data containing the labels for all the nodes in the chart. Labels must be unique. */ + labels?: ChartData; + /** The color of the org chart nodes. Deprecated: Use node_color_style. */ + nodeColor?: Color; + /** The color of the org chart nodes. If node_color is also set, this field takes precedence. */ + nodeColorStyle?: ColorStyle; + /** 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?: ChartData; + /** The color of the selected org chart nodes. Deprecated: Use selected_node_color_style. */ + selectedNodeColor?: Color; + /** The color of the selected org chart nodes. If selected_node_color is also set, this field takes precedence. */ + selectedNodeColorStyle?: ColorStyle; + /** 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?: ChartData; + } + interface OverlayPosition { + /** The cell the object is anchored to. */ + anchorCell?: 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; + } + interface 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; + } + interface PasteDataRequest { + /** The coordinate at which the data should start being inserted. */ + coordinate?: 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; + } + interface PieChartSpec { + /** The data that covers the domain of the pie chart. */ + domain?: 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?: ChartData; + /** True if the pie is three dimensional. */ + threeDimensional?: boolean; + } + interface PivotFilterCriteria { + /** + * A condition that must be true for values to be shown. (\`visibleValues\` does not override this -- even if a value is listed there, it is still hidden if it does not meet the + * condition.) Condition values that refer to ranges in A1-notation are evaluated relative to the pivot table sheet. References are treated absolutely, so are not filled down the pivot + * table. For example, a condition value of \`=A1\` on "Pivot Table 1" is treated as \`'Pivot Table 1'!$A$1\`. The source data of the pivot table can be referenced by column header name. + * For example, if the source data has columns named "Revenue" and "Cost" and a condition is applied to the "Revenue" column with type \`NUMBER_GREATER\` and value \`=Cost\`, then only + * columns where "Revenue" > "Cost" are included. + */ + condition?: BooleanCondition; + /** + * Whether values are visible by default. If true, the visible_values are ignored, all values that meet condition (if specified) are shown. If false, values that are both in + * visible_values and meet condition are shown. + */ + visibleByDefault?: boolean; + /** Values that should be included. Values not listed here are excluded. */ + visibleValues?: string[]; + } + interface PivotFilterSpec { + /** The column offset of the source range. */ + columnOffsetIndex?: number; + /** The reference to the data source column. */ + dataSourceColumnReference?: DataSourceColumnReference; + /** The criteria for the column. */ + filterCriteria?: PivotFilterCriteria; + } + interface PivotGroup { + /** The reference to the data source column this grouping is based on. */ + dataSourceColumnReference?: DataSourceColumnReference; + /** The count limit on rows or columns to apply to this pivot group. */ + groupLimit?: PivotGroupLimit; + /** The group rule to apply to this row/column group. */ + groupRule?: 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 repetition 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?: PivotGroupSortValueBucket; + /** Metadata about values in the grouping. */ + valueMetadata?: PivotGroupValueMetadata[]; + } + interface PivotGroupLimit { + /** + * The order in which the group limit is applied to the pivot table. Pivot group limits are applied from lower to higher order number. Order numbers are normalized to consecutive + * integers from 0. For write request, to fully customize the applying orders, all pivot group limits should have this field set with an unique number. Otherwise, the order is + * determined by the index in the PivotTable.rows list and then the PivotTable.columns list. + */ + applyOrder?: number; + /** The count limit. */ + countLimit?: number; + } + interface PivotGroupRule { + /** A DateTimeRule. */ + dateTimeRule?: DateTimeRule; + /** A HistogramRule. */ + histogramRule?: HistogramRule; + /** A ManualRule. */ + manualRule?: ManualRule; + } + interface 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?: ExtendedValue[]; + /** The offset in the PivotTable.values list which the values in this grouping should be sorted by. */ + valuesIndex?: number; + } + interface 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?: ExtendedValue; + } + interface PivotTable { + /** Each column grouping in the pivot table. */ + columns?: 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\`. This field is deprecated in favor of filter_specs. + */ + criteria?: { [P in string]: PivotFilterCriteria }; + /** Output only. The data execution status for data source pivot tables. */ + dataExecutionStatus?: DataExecutionStatus; + /** The ID of the data source the pivot table is reading data from. */ + dataSourceId?: string; + /** + * The filters applied to the source columns before aggregating data for the pivot table. Both criteria and filter_specs are populated in responses. If both fields are specified in an + * update request, this field takes precedence. + */ + filterSpecs?: PivotFilterSpec[]; + /** Each row grouping in the pivot table. */ + rows?: PivotGroup[]; + /** The range the pivot table is reading data from. */ + source?: 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?: PivotValue[]; + } + interface 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 editor, this is referred to as "Show As" in the value section of a + * pivot table. + */ + calculatedDisplayType?: string; + /** The reference to the data source column that this value reads from. */ + dataSourceColumnReference?: DataSourceColumnReference; + /** 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; + } + interface PointStyle { + /** The point shape. If empty or unspecified, a default shape is used. */ + shape?: string; + /** The point size. If empty, a default size is used. */ + size?: number; + } + interface 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?: 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?: 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?: 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; + } + interface RandomizeRangeRequest { + /** The range to randomize. */ + range?: GridRange; + } + interface RefreshDataSourceObjectExecutionStatus { + /** The data execution status. */ + dataExecutionStatus?: DataExecutionStatus; + /** Reference to a data source object being refreshed. */ + reference?: DataSourceObjectReference; + } + interface RefreshDataSourceRequest { + /** Reference to a DataSource. If specified, refreshes all associated data source objects for the data source. */ + dataSourceId?: string; + /** Refreshes the data source objects regardless of the current state. If not set and a referenced data source object was in error state, the refresh will fail immediately. */ + force?: boolean; + /** Refreshes all existing data source objects in the spreadsheet. */ + isAll?: boolean; + /** References to data source objects to refresh. */ + references?: DataSourceObjectReferences; + } + interface RefreshDataSourceResponse { + /** All the refresh status for the data source object references specified in the request. If is_all is specified, the field contains only those in failure status. */ + statuses?: RefreshDataSourceObjectExecutionStatus[]; + } + interface RepeatCellRequest { + /** The data to write. */ + cell?: 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?: GridRange; + } + interface Request { + /** Adds a new banded range */ + addBanding?: AddBandingRequest; + /** Adds a chart. */ + addChart?: AddChartRequest; + /** Adds a new conditional format rule. */ + addConditionalFormatRule?: AddConditionalFormatRuleRequest; + /** Adds a data source. */ + addDataSource?: AddDataSourceRequest; + /** Creates a group over the specified range. */ + addDimensionGroup?: AddDimensionGroupRequest; + /** Adds a filter view. */ + addFilterView?: AddFilterViewRequest; + /** Adds a named range. */ + addNamedRange?: AddNamedRangeRequest; + /** Adds a protected range. */ + addProtectedRange?: AddProtectedRangeRequest; + /** Adds a sheet. */ + addSheet?: AddSheetRequest; + /** Adds a slicer. */ + addSlicer?: AddSlicerRequest; + /** Appends cells after the last row with data in a sheet. */ + appendCells?: AppendCellsRequest; + /** Appends dimensions to the end of a sheet. */ + appendDimension?: AppendDimensionRequest; + /** Automatically fills in more data based on existing data. */ + autoFill?: AutoFillRequest; + /** Automatically resizes one or more dimensions based on the contents of the cells in that dimension. */ + autoResizeDimensions?: AutoResizeDimensionsRequest; + /** Clears the basic filter on a sheet. */ + clearBasicFilter?: ClearBasicFilterRequest; + /** Copies data from one area and pastes it to another. */ + copyPaste?: CopyPasteRequest; + /** Creates new developer metadata */ + createDeveloperMetadata?: CreateDeveloperMetadataRequest; + /** Cuts data from one area and pastes it to another. */ + cutPaste?: CutPasteRequest; + /** Removes a banded range */ + deleteBanding?: DeleteBandingRequest; + /** Deletes an existing conditional format rule. */ + deleteConditionalFormatRule?: DeleteConditionalFormatRuleRequest; + /** Deletes a data source. */ + deleteDataSource?: DeleteDataSourceRequest; + /** Deletes developer metadata */ + deleteDeveloperMetadata?: DeleteDeveloperMetadataRequest; + /** Deletes rows or columns in a sheet. */ + deleteDimension?: DeleteDimensionRequest; + /** Deletes a group over the specified range. */ + deleteDimensionGroup?: DeleteDimensionGroupRequest; + /** Removes rows containing duplicate values in specified columns of a cell range. */ + deleteDuplicates?: DeleteDuplicatesRequest; + /** Deletes an embedded object (e.g, chart, image) in a sheet. */ + deleteEmbeddedObject?: DeleteEmbeddedObjectRequest; + /** Deletes a filter view from a sheet. */ + deleteFilterView?: DeleteFilterViewRequest; + /** Deletes a named range. */ + deleteNamedRange?: DeleteNamedRangeRequest; + /** Deletes a protected range. */ + deleteProtectedRange?: DeleteProtectedRangeRequest; + /** Deletes a range of cells from a sheet, shifting the remaining cells. */ + deleteRange?: DeleteRangeRequest; + /** Deletes a sheet. */ + deleteSheet?: DeleteSheetRequest; + /** Duplicates a filter view. */ + duplicateFilterView?: DuplicateFilterViewRequest; + /** Duplicates a sheet. */ + duplicateSheet?: DuplicateSheetRequest; + /** Finds and replaces occurrences of some text with other text. */ + findReplace?: FindReplaceRequest; + /** Inserts new rows or columns in a sheet. */ + insertDimension?: InsertDimensionRequest; + /** Inserts new cells in a sheet, shifting the existing cells. */ + insertRange?: InsertRangeRequest; + /** Merges cells together. */ + mergeCells?: MergeCellsRequest; + /** Moves rows or columns to another location in a sheet. */ + moveDimension?: MoveDimensionRequest; + /** Pastes data (HTML or delimited) into a sheet. */ + pasteData?: PasteDataRequest; + /** Randomizes the order of the rows in a range. */ + randomizeRange?: RandomizeRangeRequest; + /** Refreshs one or multiple data sources and associated dbobjects. */ + refreshDataSource?: RefreshDataSourceRequest; + /** Repeats a single cell across a range. */ + repeatCell?: RepeatCellRequest; + /** Sets the basic filter on a sheet. */ + setBasicFilter?: SetBasicFilterRequest; + /** Sets data validation for one or more cells. */ + setDataValidation?: SetDataValidationRequest; + /** Sorts data in a range. */ + sortRange?: SortRangeRequest; + /** Converts a column of text into many columns of text. */ + textToColumns?: TextToColumnsRequest; + /** Trims cells of whitespace (such as spaces, tabs, or new lines). */ + trimWhitespace?: TrimWhitespaceRequest; + /** Unmerges merged cells. */ + unmergeCells?: UnmergeCellsRequest; + /** Updates a banded range */ + updateBanding?: UpdateBandingRequest; + /** Updates the borders in a range of cells. */ + updateBorders?: UpdateBordersRequest; + /** Updates many cells at once. */ + updateCells?: UpdateCellsRequest; + /** Updates a chart's specifications. */ + updateChartSpec?: UpdateChartSpecRequest; + /** Updates an existing conditional format rule. */ + updateConditionalFormatRule?: UpdateConditionalFormatRuleRequest; + /** Updates a data source. */ + updateDataSource?: UpdateDataSourceRequest; + /** Updates an existing developer metadata entry */ + updateDeveloperMetadata?: UpdateDeveloperMetadataRequest; + /** Updates the state of the specified group. */ + updateDimensionGroup?: UpdateDimensionGroupRequest; + /** Updates dimensions' properties. */ + updateDimensionProperties?: UpdateDimensionPropertiesRequest; + /** Updates an embedded object's border. */ + updateEmbeddedObjectBorder?: UpdateEmbeddedObjectBorderRequest; + /** Updates an embedded object's (e.g. chart, image) position. */ + updateEmbeddedObjectPosition?: UpdateEmbeddedObjectPositionRequest; + /** Updates the properties of a filter view. */ + updateFilterView?: UpdateFilterViewRequest; + /** Updates a named range. */ + updateNamedRange?: UpdateNamedRangeRequest; + /** Updates a protected range. */ + updateProtectedRange?: UpdateProtectedRangeRequest; + /** Updates a sheet's properties. */ + updateSheetProperties?: UpdateSheetPropertiesRequest; + /** Updates a slicer's specifications. */ + updateSlicerSpec?: UpdateSlicerSpecRequest; + /** Updates the spreadsheet's properties. */ + updateSpreadsheetProperties?: UpdateSpreadsheetPropertiesRequest; + } + interface Response { + /** A reply from adding a banded range. */ + addBanding?: AddBandingResponse; + /** A reply from adding a chart. */ + addChart?: AddChartResponse; + /** A reply from adding a data source. */ + addDataSource?: AddDataSourceResponse; + /** A reply from adding a dimension group. */ + addDimensionGroup?: AddDimensionGroupResponse; + /** A reply from adding a filter view. */ + addFilterView?: AddFilterViewResponse; + /** A reply from adding a named range. */ + addNamedRange?: AddNamedRangeResponse; + /** A reply from adding a protected range. */ + addProtectedRange?: AddProtectedRangeResponse; + /** A reply from adding a sheet. */ + addSheet?: AddSheetResponse; + /** A reply from adding a slicer. */ + addSlicer?: AddSlicerResponse; + /** A reply from creating a developer metadata entry. */ + createDeveloperMetadata?: CreateDeveloperMetadataResponse; + /** A reply from deleting a conditional format rule. */ + deleteConditionalFormatRule?: DeleteConditionalFormatRuleResponse; + /** A reply from deleting a developer metadata entry. */ + deleteDeveloperMetadata?: DeleteDeveloperMetadataResponse; + /** A reply from deleting a dimension group. */ + deleteDimensionGroup?: DeleteDimensionGroupResponse; + /** A reply from removing rows containing duplicate values. */ + deleteDuplicates?: DeleteDuplicatesResponse; + /** A reply from duplicating a filter view. */ + duplicateFilterView?: DuplicateFilterViewResponse; + /** A reply from duplicating a sheet. */ + duplicateSheet?: DuplicateSheetResponse; + /** A reply from doing a find/replace. */ + findReplace?: FindReplaceResponse; + /** A reply from refreshing data source objects. */ + refreshDataSource?: RefreshDataSourceResponse; + /** A reply from trimming whitespace. */ + trimWhitespace?: TrimWhitespaceResponse; + /** A reply from updating a conditional format rule. */ + updateConditionalFormatRule?: UpdateConditionalFormatRuleResponse; + /** A reply from updating a data source. */ + updateDataSource?: UpdateDataSourceResponse; + /** A reply from updating a developer metadata entry. */ + updateDeveloperMetadata?: UpdateDeveloperMetadataResponse; + /** A reply from updating an embedded object's position. */ + updateEmbeddedObjectPosition?: UpdateEmbeddedObjectPositionResponse; + } + interface RowData { + /** The values in the row, one per column. */ + values?: CellData[]; + } + interface ScorecardChartSpec { + /** + * The aggregation type for key and baseline chart data in scorecard chart. This field is not supported for data source charts. Use the ChartData.aggregateType field of the + * key_value_data or baseline_value_data instead for data source charts. This field is optional. + */ + aggregateType?: string; + /** The data for scorecard baseline value. This field is optional. */ + baselineValueData?: ChartData; + /** Formatting options for baseline value. This field is needed only if baseline_value_data is specified. */ + baselineValueFormat?: BaselineValueFormat; + /** Custom formatting options for numeric key/baseline values in scorecard chart. This field is used only when number_format_source is set to CUSTOM. This field is optional. */ + customFormatOptions?: ChartCustomNumberFormatOptions; + /** The data for scorecard key value. */ + keyValueData?: ChartData; + /** Formatting options for key value. */ + keyValueFormat?: KeyValueFormat; + /** The number format source used in the scorecard chart. This field is optional. */ + numberFormatSource?: string; + /** Value to scale scorecard key and baseline value. For example, a factor of 10 can be used to divide all values in the chart by 10. This field is optional. */ + scaleFactor?: number; + } + interface SearchDeveloperMetadataRequest { + /** + * The data filters describing the criteria used to determine which DeveloperMetadata entries to return. DeveloperMetadata matching any of the specified filters are included in the + * response. + */ + dataFilters?: DataFilter[]; + } + interface SearchDeveloperMetadataResponse { + /** The metadata matching the criteria of the search request. */ + matchedDeveloperMetadata?: MatchedDeveloperMetadata[]; + } + interface SetBasicFilterRequest { + /** The filter to set. */ + filter?: BasicFilter; + } + interface SetDataValidationRequest { + /** The range the data validation rule should apply to. */ + range?: GridRange; + /** The data validation rule to set on each cell in the range, or empty to clear the data validation in the range. */ + rule?: DataValidationRule; + } + interface Sheet { + /** The banded (alternating colors) ranges on this sheet. */ + bandedRanges?: BandedRange[]; + /** The filter on this sheet, if any. */ + basicFilter?: BasicFilter; + /** The specifications of every chart on this sheet. */ + charts?: EmbeddedChart[]; + /** All column groups on this sheet, ordered by increasing range start index, then by group depth. */ + columnGroups?: DimensionGroup[]; + /** The conditional format rules in this sheet. */ + conditionalFormats?: 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). For a DATA_SOURCE sheet, you can not request a specific range, the GridData contains all the + * values. + */ + data?: GridData[]; + /** The developer metadata associated with a sheet. */ + developerMetadata?: DeveloperMetadata[]; + /** The filter views in this sheet. */ + filterViews?: FilterView[]; + /** The ranges that are merged together. */ + merges?: GridRange[]; + /** The properties of the sheet. */ + properties?: SheetProperties; + /** The protected ranges in this sheet. */ + protectedRanges?: ProtectedRange[]; + /** All row groups on this sheet, ordered by increasing range start index, then by group depth. */ + rowGroups?: DimensionGroup[]; + /** The slicers on this sheet. */ + slicers?: Slicer[]; + } + interface SheetProperties { + /** Output only. If present, the field contains DATA_SOURCE sheet specific properties. */ + dataSourceSheetProperties?: DataSourceSheetProperties; + /** + * 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. If this sheet is a DATA_SOURCE sheet, this field is output only but contains the properties that reflect how a data source sheet + * is rendered in the UI, e.g. row_count. + */ + gridProperties?: 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. Deprecated: Use tab_color_style. */ + tabColor?: Color; + /** The color of the tab in the UI. If tab_color is also set, this field takes precedence. */ + tabColorStyle?: ColorStyle; + /** The name of the sheet. */ + title?: string; + } + interface Slicer { + /** + * The position of the slicer. Note that slicer can be positioned only on existing sheet. Also, width and height of slicer can be automatically adjusted to keep it within permitted + * limits. + */ + position?: EmbeddedObjectPosition; + /** The ID of the slicer. */ + slicerId?: number; + /** The specification of the slicer. */ + spec?: SlicerSpec; + } + interface SlicerSpec { + /** True if the filter should apply to pivot tables. If not set, default to \`True\`. */ + applyToPivotTables?: boolean; + /** The background color of the slicer. Deprecated: Use background_color_style. */ + backgroundColor?: Color; + /** The background color of the slicer. If background_color is also set, this field takes precedence. */ + backgroundColorStyle?: ColorStyle; + /** The column index in the data table on which the filter is applied to. */ + columnIndex?: number; + /** The data range of the slicer. */ + dataRange?: GridRange; + /** The filtering criteria of the slicer. */ + filterCriteria?: FilterCriteria; + /** The horizontal alignment of title in the slicer. If unspecified, defaults to \`LEFT\` */ + horizontalAlignment?: string; + /** The text format of title in the slicer. The link field is not supported. */ + textFormat?: TextFormat; + /** The title of the slicer. */ + title?: string; + } + interface SortRangeRequest { + /** The range to sort. */ + range?: GridRange; + /** The sort order per column. Later specifications are used when values are equal in the earlier specifications. */ + sortSpecs?: SortSpec[]; + } + interface SortSpec { + /** The background fill color to sort by; cells with this fill color are sorted to the top. Mutually exclusive with foreground_color. Deprecated: Use background_color_style. */ + backgroundColor?: Color; + /** + * The background fill color to sort by; cells with this fill color are sorted to the top. Mutually exclusive with foreground_color, and must be an RGB-type color. If background_color + * is also set, this field takes precedence. + */ + backgroundColorStyle?: ColorStyle; + /** Reference to a data source column. */ + dataSourceColumnReference?: DataSourceColumnReference; + /** The dimension the sort should be applied to. */ + dimensionIndex?: number; + /** The foreground color to sort by; cells with this foreground color are sorted to the top. Mutually exclusive with background_color. Deprecated: Use foreground_color_style. */ + foregroundColor?: Color; + /** + * The foreground color to sort by; cells with this foreground color are sorted to the top. Mutually exclusive with background_color, and must be an RGB-type color. If foreground_color + * is also set, this field takes precedence. + */ + foregroundColorStyle?: ColorStyle; + /** The order data should be sorted. */ + sortOrder?: string; + } + interface 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?: GridRange; + } + interface Spreadsheet { + /** A list of external data sources connected with the spreadsheet. */ + dataSources?: DataSource[]; + /** Output only. A list of data source refresh schedules. */ + dataSourceSchedules?: DataSourceRefreshSchedule[]; + /** The developer metadata associated with a spreadsheet. */ + developerMetadata?: DeveloperMetadata[]; + /** The named ranges defined in a spreadsheet. */ + namedRanges?: NamedRange[]; + /** Overall properties of a spreadsheet. */ + properties?: SpreadsheetProperties; + /** The sheets that are part of a spreadsheet. */ + sheets?: 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; + } + interface 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?: CellFormat; + /** Determines whether and how circular references are resolved with iterative calculation. Absence of this field means that circular references result in calculation errors. */ + iterativeCalculationSettings?: 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; + /** Theme applied to the spreadsheet. */ + spreadsheetTheme?: SpreadsheetTheme; + /** 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; + } + interface SpreadsheetTheme { + /** Name of the primary font family. */ + primaryFontFamily?: string; + /** The spreadsheet theme color pairs. To update you must provide all theme color pairs. */ + themeColors?: ThemeColorPair[]; + } + interface 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. Deprecated: Use foreground_color_style. */ + foregroundColor?: Color; + /** The foreground color of the text. If foreground_color is also set, this field takes precedence. */ + foregroundColorStyle?: ColorStyle; + /** True if the text is italicized. */ + italic?: boolean; + /** + * The link destination of the text, if any. Setting the link field in a TextFormatRun will clear the cell's existing links or a cell-level link set in the same request. When a link is + * set, the text foreground color will be set to the default link color 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. + */ + link?: Link; + /** True if the text has a strikethrough. */ + strikethrough?: boolean; + /** True if the text is underlined. */ + underline?: boolean; + } + interface TextFormatRun { + /** The format of this run. Absent values inherit the cell's format. */ + format?: TextFormat; + /** The character index where this run starts. */ + startIndex?: number; + } + interface TextPosition { + /** Horizontal alignment setting for the piece of text. */ + horizontalAlignment?: string; + } + interface 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; + } + interface 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?: GridRange; + } + interface ThemeColorPair { + /** The concrete color corresponding to the theme color type. */ + color?: ColorStyle; + /** The type of the spreadsheet theme color. */ + colorType?: string; + } + interface 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; + } + interface TreemapChartColorScale { + /** The background color for cells with a color value greater than or equal to maxValue. Defaults to #109618 if not specified. Deprecated: Use max_value_color_style. */ + maxValueColor?: Color; + /** + * The background color for cells with a color value greater than or equal to maxValue. Defaults to #109618 if not specified. If max_value_color is also set, this field takes + * precedence. + */ + maxValueColorStyle?: ColorStyle; + /** The background color for cells with a color value at the midpoint between minValue and maxValue. Defaults to #efe6dc if not specified. Deprecated: Use mid_value_color_style. */ + midValueColor?: Color; + /** + * The background color for cells with a color value at the midpoint between minValue and maxValue. Defaults to #efe6dc if not specified. If mid_value_color is also set, this field + * takes precedence. + */ + midValueColorStyle?: ColorStyle; + /** The background color for cells with a color value less than or equal to minValue. Defaults to #dc3912 if not specified. Deprecated: Use min_value_color_style. */ + minValueColor?: Color; + /** The background color for cells with a color value less than or equal to minValue. Defaults to #dc3912 if not specified. If min_value_color is also set, this field takes precedence. */ + minValueColorStyle?: ColorStyle; + /** The background color for cells that have no color data associated with them. Defaults to #000000 if not specified. Deprecated: Use no_data_color_style. */ + noDataColor?: Color; + /** The background color for cells that have no color data associated with them. Defaults to #000000 if not specified. If no_data_color is also set, this field takes precedence. */ + noDataColorStyle?: ColorStyle; + } + interface 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?: 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?: TreemapChartColorScale; + /** The background color for header cells. Deprecated: Use header_color_style. */ + headerColor?: Color; + /** The background color for header cells. If header_color is also set, this field takes precedence. */ + headerColorStyle?: ColorStyle; + /** 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?: 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?: 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?: ChartData; + /** The text format for all labels on the chart. The link field is not supported. */ + textFormat?: TextFormat; + } + interface TrimWhitespaceRequest { + /** The range whose cells to trim. */ + range?: GridRange; + } + interface TrimWhitespaceResponse { + /** The number of cells that were trimmed of whitespace. */ + cellsChangedCount?: number; + } + interface 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?: GridRange; + } + interface UpdateBandingRequest { + /** The banded range to update with the new properties. */ + bandedRange?: 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; + } + interface UpdateBordersRequest { + /** The border to put at the bottom of the range. */ + bottom?: Border; + /** The horizontal border to put within the range. */ + innerHorizontal?: Border; + /** The vertical border to put within the range. */ + innerVertical?: Border; + /** The border to put at the left of the range. */ + left?: Border; + /** The range whose borders should be updated. */ + range?: GridRange; + /** The border to put at the right of the range. */ + right?: Border; + /** The border to put at the top of the range. */ + top?: Border; + } + interface 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?: GridRange; + /** The data to write. */ + rows?: 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?: GridCoordinate; + } + interface UpdateChartSpecRequest { + /** The ID of the chart to update. */ + chartId?: number; + /** The specification to apply to the chart. */ + spec?: ChartSpec; + } + interface 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?: ConditionalFormatRule; + /** The sheet of the rule to move. Required if new_index is set, unused otherwise. */ + sheetId?: number; + } + interface 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?: 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?: ConditionalFormatRule; + } + interface UpdateDataSourceRequest { + /** The data source to update. */ + dataSource?: DataSource; + /** + * The fields that should be updated. At least one field must be specified. The root \`dataSource\` is implied and should not be specified. A single \`"*"\` can be used as short-hand for + * listing every field. + */ + fields?: string; + } + interface UpdateDataSourceResponse { + /** The data execution status. */ + dataExecutionStatus?: DataExecutionStatus; + /** The updated data source. */ + dataSource?: DataSource; + } + interface UpdateDeveloperMetadataRequest { + /** The filters matching the developer metadata entries to update. */ + dataFilters?: DataFilter[]; + /** The value that all metadata matched by the data filters will be updated to. */ + developerMetadata?: 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; + } + interface UpdateDeveloperMetadataResponse { + /** The updated developer metadata. */ + developerMetadata?: DeveloperMetadata[]; + } + interface 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?: 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; + } + interface UpdateDimensionPropertiesRequest { + /** The columns on a data source sheet to update. */ + dataSourceSheetRange?: DataSourceSheetDimensionRange; + /** + * 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?: DimensionProperties; + /** The rows or columns to update. */ + range?: DimensionRange; + } + interface UpdateEmbeddedObjectBorderRequest { + /** The border that applies to the embedded object. */ + border?: EmbeddedObjectBorder; + /** + * The fields that should be updated. At least one field must be specified. The root \`border\` is implied and should not be specified. A single \`"*"\` can be used as short-hand for + * listing every field. + */ + fields?: string; + /** The ID of the embedded object to update. */ + objectId?: number; + } + interface 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?: EmbeddedObjectPosition; + /** The ID of the object to moved. */ + objectId?: number; + } + interface UpdateEmbeddedObjectPositionResponse { + /** The new position of the embedded object. */ + position?: EmbeddedObjectPosition; + } + interface 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?: FilterView; + } + interface 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?: NamedRange; + } + interface 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?: ProtectedRange; + } + interface 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?: SheetProperties; + } + interface UpdateSlicerSpecRequest { + /** + * The fields that should be updated. At least one field must be specified. The root \`SlicerSpec\` is implied and should not be specified. A single "*"\` can be used as short-hand for + * listing every field. + */ + fields?: string; + /** The id of the slicer to update. */ + slicerId?: number; + /** The specification to apply to the slicer. */ + spec?: SlicerSpec; + } + interface 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?: SpreadsheetProperties; + } + interface UpdateValuesByDataFilterResponse { + /** The data filter that selected the range that was updated. */ + dataFilter?: 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?: ValueRange; + /** The range (in [A1 notation](/sheets/api/guides/concepts#cell)) that updates were applied to. */ + updatedRange?: string; + /** The number of rows where at least one cell in the row was updated. */ + updatedRows?: number; + } + interface 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?: 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; + } + interface 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](/sheets/api/guides/concepts#cell). 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[][]; + } + interface WaterfallChartColumnStyle { + /** The color of the column. Deprecated: Use color_style. */ + color?: Color; + /** The color of the column. If color is also set, this field takes precedence. */ + colorStyle?: ColorStyle; + /** The label of the column's legend. */ + label?: string; + } + interface 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; + } + interface WaterfallChartDomain { + /** The data of the WaterfallChartDomain. */ + data?: ChartData; + /** True to reverse the order of the domain values (horizontal axis). */ + reversed?: boolean; + } + interface 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?: WaterfallChartCustomSubtotal[]; + /** The data being visualized in this series. */ + data?: ChartData; + /** Information about the data labels for this series. */ + dataLabel?: DataLabel; + /** + * 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?: WaterfallChartColumnStyle; + /** Styles for all columns in this series with positive values. */ + positiveColumnsStyle?: WaterfallChartColumnStyle; + /** Styles for all subtotal columns in this series. */ + subtotalColumnsStyle?: WaterfallChartColumnStyle; + } + interface WaterfallChartSpec { + /** The line style for the connector lines. */ + connectorLineStyle?: LineStyle; + /** The domain data (horizontal axis) for the waterfall chart. */ + domain?: 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?: WaterfallChartSeries[]; + /** The stacked type. */ + stackedType?: string; + /** + * Controls whether to display additional data labels on stacked charts which sum the total value of all stacked values at each value along the domain axis. stacked_type must be + * STACKED and neither CUSTOM nor placement can be set on the total_data_label. + */ + totalDataLabel?: DataLabel; + } + interface DeveloperMetadataResource { + /** Returns the developer metadata with the specified ID. The caller must specify the spreadsheet ID and the developer metadata's unique metadataId. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** The ID of the developer metadata to retrieve. */ + metadataId: number; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to retrieve metadata from. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): client.Request; + /** + * 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. + */ + search(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to retrieve metadata from. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: SearchDeveloperMetadataRequest; + }): client.Request; + search(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to retrieve metadata from. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: SearchDeveloperMetadataRequest): client.Request; + } + interface SheetsResource { + /** Copies a single sheet from a spreadsheet to another spreadsheet. Returns the properties of the newly created sheet. */ + copyTo(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the sheet to copy. */ + sheetId: number; + /** The ID of the spreadsheet containing the sheet to copy. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: CopySheetToAnotherSpreadsheetRequest; + }): client.Request; + copyTo(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the sheet to copy. */ + sheetId: number; + /** The ID of the spreadsheet containing the sheet to copy. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: CopySheetToAnotherSpreadsheetRequest): client.Request; + } + interface ValuesResource { + /** + * 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. + */ + append(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The [A1 notation](/sheets/api/guides/concepts#cell) of a range to search for a logical table of data. Values are 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 SERIAL_NUMBER. + */ + responseDateTimeRenderOption?: string; + /** Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. */ + responseValueRenderOption?: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** How the input data should be interpreted. */ + valueInputOption?: string; + /** Request body */ + resource: ValueRange; + }): client.Request; + append(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** 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; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The [A1 notation](/sheets/api/guides/concepts#cell) of a range to search for a logical table of data. Values are 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 SERIAL_NUMBER. + */ + responseDateTimeRenderOption?: string; + /** Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. */ + responseValueRenderOption?: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** How the input data should be interpreted. */ + valueInputOption?: string; + }, + body: ValueRange): client.Request; + /** + * 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 and data validation) are kept. + */ + batchClear(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: BatchClearValuesRequest; + }): client.Request; + batchClear(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: BatchClearValuesRequest): client.Request; + /** + * 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. + */ + batchClearByDataFilter(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: BatchClearValuesByDataFilterRequest; + }): client.Request; + batchClearByDataFilter(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: BatchClearValuesByDataFilterRequest): client.Request; + /** Returns one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges. */ + batchGet(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * 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 + * SERIAL_NUMBER. + */ + dateTimeRenderOption?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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 \`ranges=["A1:B2"],majorDimension=ROWS\` returns + * \`[[1,2],[3,4]]\`, whereas requesting \`ranges=["A1:B2"],majorDimension=COLUMNS\` returns \`[[1,3],[2,4]]\`. + */ + majorDimension?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The [A1 notation or R1C1 notation](/sheets/api/guides/concepts#cell) of the range to retrieve values from. */ + ranges?: string | string[]; + /** The ID of the spreadsheet to retrieve data from. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** How values should be represented in the output. The default render option is ValueRenderOption.FORMATTED_VALUE. */ + valueRenderOption?: string; + }): client.Request; + /** + * 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. + */ + batchGetByDataFilter(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to retrieve data from. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: BatchGetValuesByDataFilterRequest; + }): client.Request; + batchGetByDataFilter(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to retrieve data from. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: BatchGetValuesByDataFilterRequest): client.Request; + /** Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more ValueRanges. */ + batchUpdate(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: BatchUpdateValuesRequest; + }): client.Request; + batchUpdate(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: BatchUpdateValuesRequest): client.Request; + /** Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more DataFilterValueRanges. */ + batchUpdateByDataFilter(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: BatchUpdateValuesByDataFilterRequest; + }): client.Request; + batchUpdateByDataFilter(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: BatchUpdateValuesByDataFilterRequest): client.Request; + /** + * 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. + */ + clear(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The [A1 notation or R1C1 notation](/sheets/api/guides/concepts#cell) of the values to clear. */ + range: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: ClearValuesRequest; + }): client.Request; + clear(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The [A1 notation or R1C1 notation](/sheets/api/guides/concepts#cell) of the values to clear. */ + range: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: ClearValuesRequest): client.Request; + /** Returns a range of values from a spreadsheet. The caller must specify the spreadsheet ID and a range. */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** + * 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 + * SERIAL_NUMBER. + */ + dateTimeRenderOption?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: 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\` returns + * \`[[1,2],[3,4]]\`, whereas requesting \`range=A1:B2,majorDimension=COLUMNS\` returns \`[[1,3],[2,4]]\`. + */ + majorDimension?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The [A1 notation or R1C1 notation](/sheets/api/guides/concepts#cell) of the range to retrieve values from. */ + range: string; + /** The ID of the spreadsheet to retrieve data from. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** How values should be represented in the output. The default render option is FORMATTED_VALUE. */ + valueRenderOption?: string; + }): client.Request; + /** Sets values in a range of a spreadsheet. The caller must specify the spreadsheet ID, range, and a valueInputOption. */ + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** + * 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 the range actually written, the response includes all values in the requested range (excluding trailing empty rows and columns). + */ + includeValuesInResponse?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The [A1 notation](/sheets/api/guides/concepts#cell) 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 SERIAL_NUMBER. + */ + responseDateTimeRenderOption?: string; + /** Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. */ + responseValueRenderOption?: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** How the input data should be interpreted. */ + valueInputOption?: string; + /** Request body */ + resource: ValueRange; + }): client.Request; + update(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** + * 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 the range actually written, the response includes all values in the requested range (excluding trailing empty rows and columns). + */ + includeValuesInResponse?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The [A1 notation](/sheets/api/guides/concepts#cell) 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 SERIAL_NUMBER. + */ + responseDateTimeRenderOption?: string; + /** Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. */ + responseValueRenderOption?: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** How the input data should be interpreted. */ + valueInputOption?: string; + }, + body: ValueRange): client.Request; + } + interface SpreadsheetsResource { + /** + * 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. + */ + batchUpdate(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The spreadsheet to apply the updates to. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: BatchUpdateSpreadsheetRequest; + }): client.Request; + batchUpdate(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The spreadsheet to apply the updates to. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: BatchUpdateSpreadsheetRequest): client.Request; + /** Creates a spreadsheet, returning the newly created spreadsheet. */ + create(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: Spreadsheet; + }): client.Request; + create(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: Spreadsheet): client.Request; + /** + * Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. By default, data within grids is not returned. You can include grid data in one of 2 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, as a best practice, retrieve only the specific spreadsheet fields that you want. To retrieve only subsets of + * spreadsheet data, use the ranges URL parameter. Ranges are specified using [A1 notation](/sheets/api/guides/concepts#cell). You can define a single cell (for example, \`A1\`) or + * multiple cells (for example, \`A1:D5\`). You can also get cells from other sheets within the same spreadsheet (for example, \`Sheet2!A1:C4\`) or retrieve multiple ranges at once (for + * example, \`?ranges=A1:D5&ranges=Sheet2!A1:C4\`). Limiting the range returns only the portions of the spreadsheet that intersect the requested ranges. + */ + get(request?: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** True if grid data should be returned. This parameter is ignored if a field mask was set in the request. */ + includeGridData?: boolean; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ranges to retrieve from the spreadsheet. */ + ranges?: string | string[]; + /** The spreadsheet to request. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }): client.Request; + /** + * 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 returns the portions of the spreadsheet that + * intersect ranges matched by any of the filters. By default, data within grids is not returned. You can include grid data one of 2 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, as a best practice, retrieve only the specific spreadsheet fields that you want. + */ + getByDataFilter(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The spreadsheet to request. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + /** Request body */ + resource: GetSpreadsheetByDataFilterRequest; + }): client.Request; + getByDataFilter(request: { + /** V1 error format. */ + "$.xgafv"?: string; + /** OAuth access token. */ + access_token?: string; + /** Data format for response. */ + alt?: string; + /** JSONP */ + callback?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ + key?: string; + /** OAuth 2.0 token for the current user. */ + oauth_token?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The spreadsheet to request. */ + spreadsheetId: string; + /** Upload protocol for media (e.g. "raw", "multipart"). */ + upload_protocol?: string; + /** Legacy upload protocol for media (e.g. "media", "multipart"). */ + uploadType?: string; + }, + body: GetSpreadsheetByDataFilterRequest): client.Request; + developerMetadata: DeveloperMetadataResource; + sheets: SheetsResource; + values: ValuesResource; + } + + const spreadsheets: SpreadsheetsResource; + } +} +" +`; + +exports[`sheets works 3`] = ` +"{ + "name": "@maxim_mazurok/gapi.client.sheets-v4", + "version": "0.0.20220620", + "description": "TypeScript typings for Google Sheets API v4", + "license": "MIT", + "author": { + "email": "maxim@mazurok.com", + "name": "Maxim Mazurok", + "url": "https://maxim.mazurok.com" + }, + "repository": { + "type": "git", + "url": "https://github.com/Maxim-Mazurok/google-api-typings-generator.git" + }, + "types": "index.d.ts", + "dependencies": { + "@types/gapi.client": "*", + "@types/gapi.client.discovery": "*" + } +} +" +`; + +exports[`sheets works 4`] = ` +"# TypeScript typings for Google Sheets API v4 + +Reads and writes Google Sheets. +For detailed description please check [documentation](https://developers.google.com/sheets/). + +## Installing + +Install typings for Google Sheets API: + +\`\`\` +npm install @types/gapi.client.sheets-v4 --save-dev +\`\`\` + +## Usage + +You need to initialize Google API client in your code: + +\`\`\`typescript +gapi.load('client', () => { + // now we can use gapi.client + // ... +}); +\`\`\` + +Then load api client wrapper: + +\`\`\`typescript +gapi.client.load('http://localhost:3000/sheets.json', () => { + // now we can use: + // gapi.client.sheets +}); +\`\`\` + +\`\`\`typescript +// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback-- +gapi.client.load('sheets', 'v4', () => { + // now we can use: + // gapi.client.sheets +}); +\`\`\` + +Don't forget to authenticate your client before sending any request to resources: + +\`\`\`typescript +// declare client_id registered in Google Developers Console +var client_id = '', + scope = [ + // See, edit, create, and delete all of your Google Drive files + 'https://www.googleapis.com/auth/drive', + + // See, edit, create, and delete only the specific Google Drive files you use with this app + 'https://www.googleapis.com/auth/drive.file', + + // See and download all your Google Drive files + 'https://www.googleapis.com/auth/drive.readonly', + + // See, edit, create, and delete all your Google Sheets spreadsheets + 'https://www.googleapis.com/auth/spreadsheets', + + // See all your Google Sheets spreadsheets + 'https://www.googleapis.com/auth/spreadsheets.readonly', + ], + immediate = true; +// ... + +gapi.auth.authorize( + { client_id: client_id, scope: scope, immediate: immediate }, + authResult => { + if (authResult && !authResult.error) { + /* handle successful authorization */ + } else { + /* handle authorization error */ + } +}); +\`\`\` + +After that you can use Google Sheets API resources: + +\`\`\`typescript + +/* +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. +*/ +await gapi.client.sheets.spreadsheets.batchUpdate({ spreadsheetId: "spreadsheetId", }); + +/* +Creates a spreadsheet, returning the newly created spreadsheet. +*/ +await gapi.client.sheets.spreadsheets.create({ }); + +/* +Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. By default, data within grids is not returned. You can include grid data in one of 2 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, as a best practice, retrieve only the specific spreadsheet fields that you want. To retrieve only subsets of spreadsheet data, use the ranges URL parameter. Ranges are specified using [A1 notation](/sheets/api/guides/concepts#cell). You can define a single cell (for example, \`A1\`) or multiple cells (for example, \`A1:D5\`). You can also get cells from other sheets within the same spreadsheet (for example, \`Sheet2!A1:C4\`) or retrieve multiple ranges at once (for example, \`?ranges=A1:D5&ranges=Sheet2!A1:C4\`). Limiting the range returns only the portions of the spreadsheet that intersect the requested ranges. +*/ +await gapi.client.sheets.spreadsheets.get({ spreadsheetId: "spreadsheetId", }); + +/* +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 returns the portions of the spreadsheet that intersect ranges matched by any of the filters. By default, data within grids is not returned. You can include grid data one of 2 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, as a best practice, retrieve only the specific spreadsheet fields that you want. +*/ +await gapi.client.sheets.spreadsheets.getByDataFilter({ spreadsheetId: "spreadsheetId", }); +\`\`\` +" +`; + +exports[`sheets works 5`] = ` +"/* This is stub file for gapi.client.sheets-v4 definition tests */ +// IMPORTANT +// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. +// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator + +// Revision: 20220620 + +gapi.load('client', async () => { + /** now we can use gapi.client */ + + await gapi.client.load('http://localhost:3000/sheets.json'); + /** now we can use gapi.client.sheets */ + + /** don't forget to authenticate your client before sending any request to resources: */ + /** declare client_id registered in Google Developers Console */ + const client_id = '<>'; + const scope = [ + /** See, edit, create, and delete all of your Google Drive files */ + 'https://www.googleapis.com/auth/drive', + /** See, edit, create, and delete only the specific Google Drive files you use with this app */ + 'https://www.googleapis.com/auth/drive.file', + /** See and download all your Google Drive files */ + 'https://www.googleapis.com/auth/drive.readonly', + /** See, edit, create, and delete all your Google Sheets spreadsheets */ + 'https://www.googleapis.com/auth/spreadsheets', + /** See all your Google Sheets spreadsheets */ + 'https://www.googleapis.com/auth/spreadsheets.readonly', + ]; + const immediate = false; + gapi.auth.authorize({ client_id, scope, immediate }, authResult => { + if (authResult && !authResult.error) { + /** handle successful authorization */ + run(); + } else { + /** handle authorization error */ + } + }); + + async function run() { + /** + * 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. + */ + await gapi.client.sheets.spreadsheets.batchUpdate({ + spreadsheetId: "Test string", + }, { + includeSpreadsheetInResponse: true, + requests: [ + { + addBanding: { + bandedRange: { + bandedRangeId: 42, + columnProperties: { + firstBandColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + firstBandColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + footerColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + footerColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + headerColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + headerColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + secondBandColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + secondBandColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + rowProperties: { + firstBandColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + firstBandColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + footerColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + footerColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + headerColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + headerColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + secondBandColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + secondBandColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + }, + }, + addChart: { + chart: { + border: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + chartId: 42, + position: { + newSheet: true, + overlayPosition: { + anchorCell: { + columnIndex: 42, + rowIndex: 42, + sheetId: 42, + }, + heightPixels: 42, + offsetXPixels: 42, + offsetYPixels: 42, + widthPixels: 42, + }, + sheetId: 42, + }, + spec: { + altText: "Test string", + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + basicChart: { + axis: [ + { + format: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + position: "Test string", + title: "Test string", + titleTextPosition: { + horizontalAlignment: "Test string", + }, + viewWindowOptions: { + viewWindowMax: 42, + viewWindowMin: 42, + viewWindowMode: "Test string", + }, + } + ], + chartType: "Test string", + compareMode: "Test string", + domains: [ + { + domain: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + reversed: true, + } + ], + headerCount: 42, + interpolateNulls: true, + legendPosition: "Test string", + lineSmoothing: true, + series: [ + { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + dataLabel: { + customLabelData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + placement: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + type: "Test string", + }, + lineStyle: { + type: "Test string", + width: 42, + }, + pointStyle: { + shape: "Test string", + size: 42, + }, + series: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + styleOverrides: [ + { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + index: 42, + pointStyle: { + shape: "Test string", + size: 42, + }, + } + ], + targetAxis: "Test string", + type: "Test string", + } + ], + stackedType: "Test string", + threeDimensional: true, + totalDataLabel: { + customLabelData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + placement: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + type: "Test string", + }, + }, + bubbleChart: { + bubbleBorderColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + bubbleBorderColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + bubbleLabels: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + bubbleMaxRadiusSize: 42, + bubbleMinRadiusSize: 42, + bubbleOpacity: 42, + bubbleSizes: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + bubbleTextStyle: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + domain: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + groupIds: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + legendPosition: "Test string", + series: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + candlestickChart: { + data: [ + { + closeSeries: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + highSeries: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + lowSeries: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + openSeries: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + } + ], + domain: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + reversed: true, + }, + }, + dataSourceChartProperties: { + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + }, + filterSpecs: [ + { + columnIndex: 42, + dataSourceColumnReference: { + name: "Test string", + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + } + ], + fontName: "Test string", + hiddenDimensionStrategy: "Test string", + histogramChart: { + bucketSize: 42, + legendPosition: "Test string", + outlierPercentile: 42, + series: [ + { + barColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + barColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + } + ], + showItemDividers: true, + }, + maximized: true, + orgChart: { + labels: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + nodeColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + nodeColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + nodeSize: "Test string", + parentLabels: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + selectedNodeColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + selectedNodeColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + tooltips: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + pieChart: { + domain: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + legendPosition: "Test string", + pieHole: 42, + series: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + threeDimensional: true, + }, + scorecardChart: { + aggregateType: "Test string", + baselineValueData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + baselineValueFormat: { + comparisonType: "Test string", + description: "Test string", + negativeColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + negativeColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + position: { + horizontalAlignment: "Test string", + }, + positiveColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + positiveColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + }, + customFormatOptions: { + prefix: "Test string", + suffix: "Test string", + }, + keyValueData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + keyValueFormat: { + position: { + horizontalAlignment: "Test string", + }, + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + }, + numberFormatSource: "Test string", + scaleFactor: 42, + }, + sortSpecs: [ + { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + dataSourceColumnReference: { + name: "Test string", + }, + dimensionIndex: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + sortOrder: "Test string", + } + ], + subtitle: "Test string", + subtitleTextFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + subtitleTextPosition: { + horizontalAlignment: "Test string", + }, + title: "Test string", + titleTextFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + titleTextPosition: { + horizontalAlignment: "Test string", + }, + treemapChart: { + colorData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + colorScale: { + maxValueColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + maxValueColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + midValueColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + midValueColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + minValueColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + minValueColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + noDataColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + noDataColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + headerColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + headerColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + hideTooltips: true, + hintedLevels: 42, + labels: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + levels: 42, + maxValue: 42, + minValue: 42, + parentLabels: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + sizeData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + }, + waterfallChart: { + connectorLineStyle: { + type: "Test string", + width: 42, + }, + domain: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + reversed: true, + }, + firstValueIsTotal: true, + hideConnectorLines: true, + series: [ + { + customSubtotals: [ + { + dataIsSubtotal: true, + label: "Test string", + subtotalIndex: 42, + } + ], + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + dataLabel: { + customLabelData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + placement: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + type: "Test string", + }, + hideTrailingSubtotal: true, + negativeColumnsStyle: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + label: "Test string", + }, + positiveColumnsStyle: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + label: "Test string", + }, + subtotalColumnsStyle: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + label: "Test string", + }, + } + ], + stackedType: "Test string", + totalDataLabel: { + customLabelData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + placement: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + type: "Test string", + }, + }, + }, + }, + }, + addConditionalFormatRule: { + index: 42, + rule: { + booleanRule: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + format: { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + borders: { + bottom: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + left: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + right: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + top: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + }, + horizontalAlignment: "Test string", + hyperlinkDisplayType: "Test string", + numberFormat: { + pattern: "Test string", + type: "Test string", + }, + padding: { + bottom: 42, + left: 42, + right: 42, + top: 42, + }, + textDirection: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + textRotation: { + angle: 42, + vertical: true, + }, + verticalAlignment: "Test string", + wrapStrategy: "Test string", + }, + }, + gradientRule: { + maxpoint: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + type: "Test string", + value: "Test string", + }, + midpoint: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + type: "Test string", + value: "Test string", + }, + minpoint: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + type: "Test string", + value: "Test string", + }, + }, + ranges: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + addDataSource: { + dataSource: { + calculatedColumns: [ + { + formula: "Test string", + reference: { + name: "Test string", + }, + } + ], + dataSourceId: "Test string", + sheetId: 42, + spec: { + bigQuery: { + projectId: "Test string", + querySpec: { + rawQuery: "Test string", + }, + tableSpec: { + datasetId: "Test string", + tableId: "Test string", + tableProjectId: "Test string", + }, + }, + parameters: [ + { + name: "Test string", + namedRangeId: "Test string", + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + } + ], + }, + }, + }, + addDimensionGroup: { + range: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + }, + addFilterView: { + filter: { + criteria: { + A: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + } + }, + filterSpecs: [ + { + columnIndex: 42, + dataSourceColumnReference: { + name: "Test string", + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + } + ], + filterViewId: 42, + namedRangeId: "Test string", + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + sortSpecs: [ + { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + dataSourceColumnReference: { + name: "Test string", + }, + dimensionIndex: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + sortOrder: "Test string", + } + ], + title: "Test string", + }, + }, + addNamedRange: { + namedRange: { + name: "Test string", + namedRangeId: "Test string", + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + }, + }, + addProtectedRange: { + protectedRange: { + description: "Test string", + editors: { + domainUsersCanEdit: true, + groups: [ + "Test string" + ], + users: [ + "Test string" + ], + }, + namedRangeId: "Test string", + protectedRangeId: 42, + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + requestingUserCanEdit: true, + unprotectedRanges: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + warningOnly: true, + }, + }, + addSheet: { + properties: { + dataSourceSheetProperties: { + columns: [ + { + formula: "Test string", + reference: { + name: "Test string", + }, + } + ], + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + }, + gridProperties: { + columnCount: 42, + columnGroupControlAfter: true, + frozenColumnCount: 42, + frozenRowCount: 42, + hideGridlines: true, + rowCount: 42, + rowGroupControlAfter: true, + }, + hidden: true, + index: 42, + rightToLeft: true, + sheetId: 42, + sheetType: "Test string", + tabColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + tabColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + title: "Test string", + }, + }, + addSlicer: { + slicer: { + position: { + newSheet: true, + overlayPosition: { + anchorCell: { + columnIndex: 42, + rowIndex: 42, + sheetId: 42, + }, + heightPixels: 42, + offsetXPixels: 42, + offsetYPixels: 42, + widthPixels: 42, + }, + sheetId: 42, + }, + slicerId: 42, + spec: { + applyToPivotTables: true, + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + columnIndex: 42, + dataRange: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + horizontalAlignment: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + title: "Test string", + }, + }, + }, + appendCells: { + fields: "Test string", + rows: [ + { + values: [ + { + dataSourceFormula: { + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + }, + dataSourceTable: { + columns: [ + { + name: "Test string", + } + ], + columnSelectionType: "Test string", + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + filterSpecs: [ + { + columnIndex: 42, + dataSourceColumnReference: { + name: "Test string", + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + } + ], + rowLimit: 42, + sortSpecs: [ + { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + dataSourceColumnReference: { + name: "Test string", + }, + dimensionIndex: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + sortOrder: "Test string", + } + ], + }, + dataValidation: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + inputMessage: "Test string", + showCustomUi: true, + strict: true, + }, + effectiveFormat: { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + borders: { + bottom: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + left: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + right: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + top: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + }, + horizontalAlignment: "Test string", + hyperlinkDisplayType: "Test string", + numberFormat: { + pattern: "Test string", + type: "Test string", + }, + padding: { + bottom: 42, + left: 42, + right: 42, + top: 42, + }, + textDirection: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + textRotation: { + angle: 42, + vertical: true, + }, + verticalAlignment: "Test string", + wrapStrategy: "Test string", + }, + effectiveValue: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + formattedValue: "Test string", + hyperlink: "Test string", + note: "Test string", + pivotTable: { + columns: [ + { + dataSourceColumnReference: { + name: "Test string", + }, + groupLimit: { + applyOrder: 42, + countLimit: 42, + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + end: 42, + interval: 42, + start: 42, + }, + manualRule: { + groups: [ + { + groupName: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + items: [ + { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + } + ], + } + ], + }, + }, + label: "Test string", + repeatHeadings: true, + showTotals: true, + sortOrder: "Test string", + sourceColumnOffset: 42, + valueBucket: { + buckets: [ + { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + } + ], + valuesIndex: 42, + }, + valueMetadata: [ + { + collapsed: true, + value: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + } + ], + } + ], + criteria: { + A: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + visibleByDefault: true, + visibleValues: [ + "Test string" + ], + } + }, + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + filterSpecs: [ + { + columnOffsetIndex: 42, + dataSourceColumnReference: { + name: "Test string", + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + visibleByDefault: true, + visibleValues: [ + "Test string" + ], + }, + } + ], + rows: [ + { + dataSourceColumnReference: { + name: "Test string", + }, + groupLimit: { + applyOrder: 42, + countLimit: 42, + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + end: 42, + interval: 42, + start: 42, + }, + manualRule: { + groups: [ + { + groupName: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + items: [ + { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + } + ], + } + ], + }, + }, + label: "Test string", + repeatHeadings: true, + showTotals: true, + sortOrder: "Test string", + sourceColumnOffset: 42, + valueBucket: { + buckets: [ + { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + } + ], + valuesIndex: 42, + }, + valueMetadata: [ + { + collapsed: true, + value: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + } + ], + } + ], + source: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + valueLayout: "Test string", + values: [ + { + calculatedDisplayType: "Test string", + dataSourceColumnReference: { + name: "Test string", + }, + formula: "Test string", + name: "Test string", + sourceColumnOffset: 42, + summarizeFunction: "Test string", + } + ], + }, + textFormatRuns: [ + { + format: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + startIndex: 42, + } + ], + userEnteredFormat: { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + borders: { + bottom: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + left: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + right: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + top: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + }, + horizontalAlignment: "Test string", + hyperlinkDisplayType: "Test string", + numberFormat: { + pattern: "Test string", + type: "Test string", + }, + padding: { + bottom: 42, + left: 42, + right: 42, + top: 42, + }, + textDirection: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + textRotation: { + angle: 42, + vertical: true, + }, + verticalAlignment: "Test string", + wrapStrategy: "Test string", + }, + userEnteredValue: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + } + ], + } + ], + sheetId: 42, + }, + appendDimension: { + dimension: "Test string", + length: 42, + sheetId: 42, + }, + autoFill: { + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + sourceAndDestination: { + dimension: "Test string", + fillLength: 42, + source: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + }, + useAlternateSeries: true, + }, + autoResizeDimensions: { + dataSourceSheetDimensions: { + columnReferences: [ + { + name: "Test string", + } + ], + sheetId: 42, + }, + dimensions: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + }, + clearBasicFilter: { + sheetId: 42, + }, + copyPaste: { + destination: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + pasteOrientation: "Test string", + pasteType: "Test string", + source: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + }, + createDeveloperMetadata: { + developerMetadata: { + location: { + dimensionRange: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + locationType: "Test string", + sheetId: 42, + spreadsheet: true, + }, + metadataId: 42, + metadataKey: "Test string", + metadataValue: "Test string", + visibility: "Test string", + }, + }, + cutPaste: { + destination: { + columnIndex: 42, + rowIndex: 42, + sheetId: 42, + }, + pasteType: "Test string", + source: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + }, + deleteBanding: { + bandedRangeId: 42, + }, + deleteConditionalFormatRule: { + index: 42, + sheetId: 42, + }, + deleteDataSource: { + dataSourceId: "Test string", + }, + deleteDeveloperMetadata: { + dataFilter: { + a1Range: "Test string", + developerMetadataLookup: { + locationMatchingStrategy: "Test string", + locationType: "Test string", + metadataId: 42, + metadataKey: "Test string", + metadataLocation: { + dimensionRange: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + locationType: "Test string", + sheetId: 42, + spreadsheet: true, + }, + metadataValue: "Test string", + visibility: "Test string", + }, + gridRange: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + }, + }, + deleteDimension: { + range: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + }, + deleteDimensionGroup: { + range: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + }, + deleteDuplicates: { + comparisonColumns: [ + { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + } + ], + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + }, + deleteEmbeddedObject: { + objectId: 42, + }, + deleteFilterView: { + filterId: 42, + }, + deleteNamedRange: { + namedRangeId: "Test string", + }, + deleteProtectedRange: { + protectedRangeId: 42, + }, + deleteRange: { + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + shiftDimension: "Test string", + }, + deleteSheet: { + sheetId: 42, + }, + duplicateFilterView: { + filterId: 42, + }, + duplicateSheet: { + insertSheetIndex: 42, + newSheetId: 42, + newSheetName: "Test string", + sourceSheetId: 42, + }, + findReplace: { + allSheets: true, + find: "Test string", + includeFormulas: true, + matchCase: true, + matchEntireCell: true, + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + replacement: "Test string", + searchByRegex: true, + sheetId: 42, + }, + insertDimension: { + inheritFromBefore: true, + range: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + }, + insertRange: { + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + shiftDimension: "Test string", + }, + mergeCells: { + mergeType: "Test string", + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + }, + moveDimension: { + destinationIndex: 42, + source: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + }, + pasteData: { + coordinate: { + columnIndex: 42, + rowIndex: 42, + sheetId: 42, + }, + data: "Test string", + delimiter: "Test string", + html: true, + type: "Test string", + }, + randomizeRange: { + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + }, + refreshDataSource: { + dataSourceId: "Test string", + force: true, + isAll: true, + references: { + references: [ + { + chartId: 42, + dataSourceFormulaCell: { + columnIndex: 42, + rowIndex: 42, + sheetId: 42, + }, + dataSourcePivotTableAnchorCell: { + columnIndex: 42, + rowIndex: 42, + sheetId: 42, + }, + dataSourceTableAnchorCell: { + columnIndex: 42, + rowIndex: 42, + sheetId: 42, + }, + sheetId: "Test string", + } + ], + }, + }, + repeatCell: { + cell: { + dataSourceFormula: { + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + }, + dataSourceTable: { + columns: [ + { + name: "Test string", + } + ], + columnSelectionType: "Test string", + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + filterSpecs: [ + { + columnIndex: 42, + dataSourceColumnReference: { + name: "Test string", + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + } + ], + rowLimit: 42, + sortSpecs: [ + { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + dataSourceColumnReference: { + name: "Test string", + }, + dimensionIndex: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + sortOrder: "Test string", + } + ], + }, + dataValidation: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + inputMessage: "Test string", + showCustomUi: true, + strict: true, + }, + effectiveFormat: { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + borders: { + bottom: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + left: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + right: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + top: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + }, + horizontalAlignment: "Test string", + hyperlinkDisplayType: "Test string", + numberFormat: { + pattern: "Test string", + type: "Test string", + }, + padding: { + bottom: 42, + left: 42, + right: 42, + top: 42, + }, + textDirection: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + textRotation: { + angle: 42, + vertical: true, + }, + verticalAlignment: "Test string", + wrapStrategy: "Test string", + }, + effectiveValue: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + formattedValue: "Test string", + hyperlink: "Test string", + note: "Test string", + pivotTable: { + columns: [ + { + dataSourceColumnReference: { + name: "Test string", + }, + groupLimit: { + applyOrder: 42, + countLimit: 42, + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + end: 42, + interval: 42, + start: 42, + }, + manualRule: { + groups: [ + { + groupName: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + items: [ + { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + } + ], + } + ], + }, + }, + label: "Test string", + repeatHeadings: true, + showTotals: true, + sortOrder: "Test string", + sourceColumnOffset: 42, + valueBucket: { + buckets: [ + { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + } + ], + valuesIndex: 42, + }, + valueMetadata: [ + { + collapsed: true, + value: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + } + ], + } + ], + criteria: { + A: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + visibleByDefault: true, + visibleValues: [ + "Test string" + ], + } + }, + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + filterSpecs: [ + { + columnOffsetIndex: 42, + dataSourceColumnReference: { + name: "Test string", + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + visibleByDefault: true, + visibleValues: [ + "Test string" + ], + }, + } + ], + rows: [ + { + dataSourceColumnReference: { + name: "Test string", + }, + groupLimit: { + applyOrder: 42, + countLimit: 42, + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + end: 42, + interval: 42, + start: 42, + }, + manualRule: { + groups: [ + { + groupName: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + items: [ + { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + } + ], + } + ], + }, + }, + label: "Test string", + repeatHeadings: true, + showTotals: true, + sortOrder: "Test string", + sourceColumnOffset: 42, + valueBucket: { + buckets: [ + { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + } + ], + valuesIndex: 42, + }, + valueMetadata: [ + { + collapsed: true, + value: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + } + ], + } + ], + source: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + valueLayout: "Test string", + values: [ + { + calculatedDisplayType: "Test string", + dataSourceColumnReference: { + name: "Test string", + }, + formula: "Test string", + name: "Test string", + sourceColumnOffset: 42, + summarizeFunction: "Test string", + } + ], + }, + textFormatRuns: [ + { + format: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + startIndex: 42, + } + ], + userEnteredFormat: { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + borders: { + bottom: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + left: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + right: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + top: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + }, + horizontalAlignment: "Test string", + hyperlinkDisplayType: "Test string", + numberFormat: { + pattern: "Test string", + type: "Test string", + }, + padding: { + bottom: 42, + left: 42, + right: 42, + top: 42, + }, + textDirection: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + textRotation: { + angle: 42, + vertical: true, + }, + verticalAlignment: "Test string", + wrapStrategy: "Test string", + }, + userEnteredValue: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + }, + fields: "Test string", + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + }, + setBasicFilter: { + filter: { + criteria: { + A: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + } + }, + filterSpecs: [ + { + columnIndex: 42, + dataSourceColumnReference: { + name: "Test string", + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + } + ], + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + sortSpecs: [ + { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + dataSourceColumnReference: { + name: "Test string", + }, + dimensionIndex: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + sortOrder: "Test string", + } + ], + }, + }, + setDataValidation: { + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + rule: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + inputMessage: "Test string", + showCustomUi: true, + strict: true, + }, + }, + sortRange: { + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + sortSpecs: [ + { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + dataSourceColumnReference: { + name: "Test string", + }, + dimensionIndex: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + sortOrder: "Test string", + } + ], + }, + textToColumns: { + delimiter: "Test string", + delimiterType: "Test string", + source: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + }, + trimWhitespace: { + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + }, + unmergeCells: { + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + }, + updateBanding: { + bandedRange: { + bandedRangeId: 42, + columnProperties: { + firstBandColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + firstBandColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + footerColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + footerColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + headerColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + headerColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + secondBandColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + secondBandColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + rowProperties: { + firstBandColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + firstBandColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + footerColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + footerColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + headerColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + headerColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + secondBandColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + secondBandColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + }, + fields: "Test string", + }, + updateBorders: { + bottom: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + innerHorizontal: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + innerVertical: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + left: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + right: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + top: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + }, + updateCells: { + fields: "Test string", + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + rows: [ + { + values: [ + { + dataSourceFormula: { + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + }, + dataSourceTable: { + columns: [ + { + name: "Test string", + } + ], + columnSelectionType: "Test string", + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + filterSpecs: [ + { + columnIndex: 42, + dataSourceColumnReference: { + name: "Test string", + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + } + ], + rowLimit: 42, + sortSpecs: [ + { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + dataSourceColumnReference: { + name: "Test string", + }, + dimensionIndex: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + sortOrder: "Test string", + } + ], + }, + dataValidation: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + inputMessage: "Test string", + showCustomUi: true, + strict: true, + }, + effectiveFormat: { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + borders: { + bottom: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + left: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + right: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + top: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + }, + horizontalAlignment: "Test string", + hyperlinkDisplayType: "Test string", + numberFormat: { + pattern: "Test string", + type: "Test string", + }, + padding: { + bottom: 42, + left: 42, + right: 42, + top: 42, + }, + textDirection: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + textRotation: { + angle: 42, + vertical: true, + }, + verticalAlignment: "Test string", + wrapStrategy: "Test string", + }, + effectiveValue: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + formattedValue: "Test string", + hyperlink: "Test string", + note: "Test string", + pivotTable: { + columns: [ + { + dataSourceColumnReference: { + name: "Test string", + }, + groupLimit: { + applyOrder: 42, + countLimit: 42, + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + end: 42, + interval: 42, + start: 42, + }, + manualRule: { + groups: [ + { + groupName: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + items: [ + { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + } + ], + } + ], + }, + }, + label: "Test string", + repeatHeadings: true, + showTotals: true, + sortOrder: "Test string", + sourceColumnOffset: 42, + valueBucket: { + buckets: [ + { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + } + ], + valuesIndex: 42, + }, + valueMetadata: [ + { + collapsed: true, + value: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + } + ], + } + ], + criteria: { + A: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + visibleByDefault: true, + visibleValues: [ + "Test string" + ], + } + }, + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + filterSpecs: [ + { + columnOffsetIndex: 42, + dataSourceColumnReference: { + name: "Test string", + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + visibleByDefault: true, + visibleValues: [ + "Test string" + ], + }, + } + ], + rows: [ + { + dataSourceColumnReference: { + name: "Test string", + }, + groupLimit: { + applyOrder: 42, + countLimit: 42, + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + end: 42, + interval: 42, + start: 42, + }, + manualRule: { + groups: [ + { + groupName: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + items: [ + { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + } + ], + } + ], + }, + }, + label: "Test string", + repeatHeadings: true, + showTotals: true, + sortOrder: "Test string", + sourceColumnOffset: 42, + valueBucket: { + buckets: [ + { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + } + ], + valuesIndex: 42, + }, + valueMetadata: [ + { + collapsed: true, + value: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + } + ], + } + ], + source: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + valueLayout: "Test string", + values: [ + { + calculatedDisplayType: "Test string", + dataSourceColumnReference: { + name: "Test string", + }, + formula: "Test string", + name: "Test string", + sourceColumnOffset: 42, + summarizeFunction: "Test string", + } + ], + }, + textFormatRuns: [ + { + format: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + startIndex: 42, + } + ], + userEnteredFormat: { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + borders: { + bottom: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + left: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + right: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + top: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + }, + horizontalAlignment: "Test string", + hyperlinkDisplayType: "Test string", + numberFormat: { + pattern: "Test string", + type: "Test string", + }, + padding: { + bottom: 42, + left: 42, + right: 42, + top: 42, + }, + textDirection: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + textRotation: { + angle: 42, + vertical: true, + }, + verticalAlignment: "Test string", + wrapStrategy: "Test string", + }, + userEnteredValue: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + } + ], + } + ], + start: { + columnIndex: 42, + rowIndex: 42, + sheetId: 42, + }, + }, + updateChartSpec: { + chartId: 42, + spec: { + altText: "Test string", + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + basicChart: { + axis: [ + { + format: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + position: "Test string", + title: "Test string", + titleTextPosition: { + horizontalAlignment: "Test string", + }, + viewWindowOptions: { + viewWindowMax: 42, + viewWindowMin: 42, + viewWindowMode: "Test string", + }, + } + ], + chartType: "Test string", + compareMode: "Test string", + domains: [ + { + domain: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + reversed: true, + } + ], + headerCount: 42, + interpolateNulls: true, + legendPosition: "Test string", + lineSmoothing: true, + series: [ + { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + dataLabel: { + customLabelData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + placement: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + type: "Test string", + }, + lineStyle: { + type: "Test string", + width: 42, + }, + pointStyle: { + shape: "Test string", + size: 42, + }, + series: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + styleOverrides: [ + { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + index: 42, + pointStyle: { + shape: "Test string", + size: 42, + }, + } + ], + targetAxis: "Test string", + type: "Test string", + } + ], + stackedType: "Test string", + threeDimensional: true, + totalDataLabel: { + customLabelData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + placement: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + type: "Test string", + }, + }, + bubbleChart: { + bubbleBorderColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + bubbleBorderColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + bubbleLabels: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + bubbleMaxRadiusSize: 42, + bubbleMinRadiusSize: 42, + bubbleOpacity: 42, + bubbleSizes: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + bubbleTextStyle: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + domain: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + groupIds: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + legendPosition: "Test string", + series: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + candlestickChart: { + data: [ + { + closeSeries: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + highSeries: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + lowSeries: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + openSeries: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + } + ], + domain: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + reversed: true, + }, + }, + dataSourceChartProperties: { + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + }, + filterSpecs: [ + { + columnIndex: 42, + dataSourceColumnReference: { + name: "Test string", + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + } + ], + fontName: "Test string", + hiddenDimensionStrategy: "Test string", + histogramChart: { + bucketSize: 42, + legendPosition: "Test string", + outlierPercentile: 42, + series: [ + { + barColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + barColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + } + ], + showItemDividers: true, + }, + maximized: true, + orgChart: { + labels: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + nodeColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + nodeColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + nodeSize: "Test string", + parentLabels: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + selectedNodeColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + selectedNodeColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + tooltips: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + pieChart: { + domain: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + legendPosition: "Test string", + pieHole: 42, + series: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + threeDimensional: true, + }, + scorecardChart: { + aggregateType: "Test string", + baselineValueData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + baselineValueFormat: { + comparisonType: "Test string", + description: "Test string", + negativeColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + negativeColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + position: { + horizontalAlignment: "Test string", + }, + positiveColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + positiveColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + }, + customFormatOptions: { + prefix: "Test string", + suffix: "Test string", + }, + keyValueData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + keyValueFormat: { + position: { + horizontalAlignment: "Test string", + }, + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + }, + numberFormatSource: "Test string", + scaleFactor: 42, + }, + sortSpecs: [ + { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + dataSourceColumnReference: { + name: "Test string", + }, + dimensionIndex: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + sortOrder: "Test string", + } + ], + subtitle: "Test string", + subtitleTextFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + subtitleTextPosition: { + horizontalAlignment: "Test string", + }, + title: "Test string", + titleTextFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + titleTextPosition: { + horizontalAlignment: "Test string", + }, + treemapChart: { + colorData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + colorScale: { + maxValueColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + maxValueColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + midValueColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + midValueColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + minValueColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + minValueColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + noDataColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + noDataColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + headerColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + headerColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + hideTooltips: true, + hintedLevels: 42, + labels: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + levels: 42, + maxValue: 42, + minValue: 42, + parentLabels: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + sizeData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + }, + waterfallChart: { + connectorLineStyle: { + type: "Test string", + width: 42, + }, + domain: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + reversed: true, + }, + firstValueIsTotal: true, + hideConnectorLines: true, + series: [ + { + customSubtotals: [ + { + dataIsSubtotal: true, + label: "Test string", + subtotalIndex: 42, + } + ], + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + dataLabel: { + customLabelData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + placement: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + type: "Test string", + }, + hideTrailingSubtotal: true, + negativeColumnsStyle: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + label: "Test string", + }, + positiveColumnsStyle: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + label: "Test string", + }, + subtotalColumnsStyle: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + label: "Test string", + }, + } + ], + stackedType: "Test string", + totalDataLabel: { + customLabelData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + placement: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + type: "Test string", + }, + }, + }, + }, + updateConditionalFormatRule: { + index: 42, + newIndex: 42, + rule: { + booleanRule: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + format: { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + borders: { + bottom: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + left: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + right: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + top: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + }, + horizontalAlignment: "Test string", + hyperlinkDisplayType: "Test string", + numberFormat: { + pattern: "Test string", + type: "Test string", + }, + padding: { + bottom: 42, + left: 42, + right: 42, + top: 42, + }, + textDirection: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + textRotation: { + angle: 42, + vertical: true, + }, + verticalAlignment: "Test string", + wrapStrategy: "Test string", + }, + }, + gradientRule: { + maxpoint: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + type: "Test string", + value: "Test string", + }, + midpoint: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + type: "Test string", + value: "Test string", + }, + minpoint: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + type: "Test string", + value: "Test string", + }, + }, + ranges: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + sheetId: 42, + }, + updateDataSource: { + dataSource: { + calculatedColumns: [ + { + formula: "Test string", + reference: { + name: "Test string", + }, + } + ], + dataSourceId: "Test string", + sheetId: 42, + spec: { + bigQuery: { + projectId: "Test string", + querySpec: { + rawQuery: "Test string", + }, + tableSpec: { + datasetId: "Test string", + tableId: "Test string", + tableProjectId: "Test string", + }, + }, + parameters: [ + { + name: "Test string", + namedRangeId: "Test string", + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + } + ], + }, + }, + fields: "Test string", + }, + updateDeveloperMetadata: { + dataFilters: [ + { + a1Range: "Test string", + developerMetadataLookup: { + locationMatchingStrategy: "Test string", + locationType: "Test string", + metadataId: 42, + metadataKey: "Test string", + metadataLocation: { + dimensionRange: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + locationType: "Test string", + sheetId: 42, + spreadsheet: true, + }, + metadataValue: "Test string", + visibility: "Test string", + }, + gridRange: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + } + ], + developerMetadata: { + location: { + dimensionRange: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + locationType: "Test string", + sheetId: 42, + spreadsheet: true, + }, + metadataId: 42, + metadataKey: "Test string", + metadataValue: "Test string", + visibility: "Test string", + }, + fields: "Test string", + }, + updateDimensionGroup: { + dimensionGroup: { + collapsed: true, + depth: 42, + range: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + }, + fields: "Test string", + }, + updateDimensionProperties: { + dataSourceSheetRange: { + columnReferences: [ + { + name: "Test string", + } + ], + sheetId: 42, + }, + fields: "Test string", + properties: { + dataSourceColumnReference: { + name: "Test string", + }, + developerMetadata: [ + { + location: { + dimensionRange: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + locationType: "Test string", + sheetId: 42, + spreadsheet: true, + }, + metadataId: 42, + metadataKey: "Test string", + metadataValue: "Test string", + visibility: "Test string", + } + ], + hiddenByFilter: true, + hiddenByUser: true, + pixelSize: 42, + }, + range: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + }, + updateEmbeddedObjectBorder: { + border: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + fields: "Test string", + objectId: 42, + }, + updateEmbeddedObjectPosition: { + fields: "Test string", + newPosition: { + newSheet: true, + overlayPosition: { + anchorCell: { + columnIndex: 42, + rowIndex: 42, + sheetId: 42, + }, + heightPixels: 42, + offsetXPixels: 42, + offsetYPixels: 42, + widthPixels: 42, + }, + sheetId: 42, + }, + objectId: 42, + }, + updateFilterView: { + fields: "Test string", + filter: { + criteria: { + A: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + } + }, + filterSpecs: [ + { + columnIndex: 42, + dataSourceColumnReference: { + name: "Test string", + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + } + ], + filterViewId: 42, + namedRangeId: "Test string", + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + sortSpecs: [ + { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + dataSourceColumnReference: { + name: "Test string", + }, + dimensionIndex: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + sortOrder: "Test string", + } + ], + title: "Test string", + }, + }, + updateNamedRange: { + fields: "Test string", + namedRange: { + name: "Test string", + namedRangeId: "Test string", + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + }, + }, + updateProtectedRange: { + fields: "Test string", + protectedRange: { + description: "Test string", + editors: { + domainUsersCanEdit: true, + groups: [ + "Test string" + ], + users: [ + "Test string" + ], + }, + namedRangeId: "Test string", + protectedRangeId: 42, + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + requestingUserCanEdit: true, + unprotectedRanges: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + warningOnly: true, + }, + }, + updateSheetProperties: { + fields: "Test string", + properties: { + dataSourceSheetProperties: { + columns: [ + { + formula: "Test string", + reference: { + name: "Test string", + }, + } + ], + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + }, + gridProperties: { + columnCount: 42, + columnGroupControlAfter: true, + frozenColumnCount: 42, + frozenRowCount: 42, + hideGridlines: true, + rowCount: 42, + rowGroupControlAfter: true, + }, + hidden: true, + index: 42, + rightToLeft: true, + sheetId: 42, + sheetType: "Test string", + tabColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + tabColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + title: "Test string", + }, + }, + updateSlicerSpec: { + fields: "Test string", + slicerId: 42, + spec: { + applyToPivotTables: true, + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + columnIndex: 42, + dataRange: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + horizontalAlignment: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + title: "Test string", + }, + }, + updateSpreadsheetProperties: { + fields: "Test string", + properties: { + autoRecalc: "Test string", + defaultFormat: { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + borders: { + bottom: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + left: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + right: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + top: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + }, + horizontalAlignment: "Test string", + hyperlinkDisplayType: "Test string", + numberFormat: { + pattern: "Test string", + type: "Test string", + }, + padding: { + bottom: 42, + left: 42, + right: 42, + top: 42, + }, + textDirection: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + textRotation: { + angle: 42, + vertical: true, + }, + verticalAlignment: "Test string", + wrapStrategy: "Test string", + }, + iterativeCalculationSettings: { + convergenceThreshold: 42, + maxIterations: 42, + }, + locale: "Test string", + spreadsheetTheme: { + primaryFontFamily: "Test string", + themeColors: [ + { + color: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + colorType: "Test string", + } + ], + }, + timeZone: "Test string", + title: "Test string", + }, + }, + } + ], + responseIncludeGridData: true, + responseRanges: [ + "Test string" + ], + }); + /** Creates a spreadsheet, returning the newly created spreadsheet. */ + await gapi.client.sheets.spreadsheets.create({ + }, { + dataSources: [ + { + calculatedColumns: [ + { + formula: "Test string", + reference: { + name: "Test string", + }, + } + ], + dataSourceId: "Test string", + sheetId: 42, + spec: { + bigQuery: { + projectId: "Test string", + querySpec: { + rawQuery: "Test string", + }, + tableSpec: { + datasetId: "Test string", + tableId: "Test string", + tableProjectId: "Test string", + }, + }, + parameters: [ + { + name: "Test string", + namedRangeId: "Test string", + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + } + ], + }, + } + ], + dataSourceSchedules: [ + { + dailySchedule: { + startTime: { + hours: 42, + minutes: 42, + nanos: 42, + seconds: 42, + }, + }, + enabled: true, + monthlySchedule: { + daysOfMonth: [ + 42 + ], + startTime: { + hours: 42, + minutes: 42, + nanos: 42, + seconds: 42, + }, + }, + nextRun: { + endTime: "Test string", + startTime: "Test string", + }, + refreshScope: "Test string", + weeklySchedule: { + daysOfWeek: [ + "Test string" + ], + startTime: { + hours: 42, + minutes: 42, + nanos: 42, + seconds: 42, + }, + }, + } + ], + developerMetadata: [ + { + location: { + dimensionRange: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + locationType: "Test string", + sheetId: 42, + spreadsheet: true, + }, + metadataId: 42, + metadataKey: "Test string", + metadataValue: "Test string", + visibility: "Test string", + } + ], + namedRanges: [ + { + name: "Test string", + namedRangeId: "Test string", + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + } + ], + properties: { + autoRecalc: "Test string", + defaultFormat: { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + borders: { + bottom: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + left: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + right: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + top: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + }, + horizontalAlignment: "Test string", + hyperlinkDisplayType: "Test string", + numberFormat: { + pattern: "Test string", + type: "Test string", + }, + padding: { + bottom: 42, + left: 42, + right: 42, + top: 42, + }, + textDirection: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + textRotation: { + angle: 42, + vertical: true, + }, + verticalAlignment: "Test string", + wrapStrategy: "Test string", + }, + iterativeCalculationSettings: { + convergenceThreshold: 42, + maxIterations: 42, + }, + locale: "Test string", + spreadsheetTheme: { + primaryFontFamily: "Test string", + themeColors: [ + { + color: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + colorType: "Test string", + } + ], + }, + timeZone: "Test string", + title: "Test string", + }, + sheets: [ + { + bandedRanges: [ + { + bandedRangeId: 42, + columnProperties: { + firstBandColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + firstBandColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + footerColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + footerColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + headerColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + headerColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + secondBandColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + secondBandColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + rowProperties: { + firstBandColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + firstBandColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + footerColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + footerColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + headerColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + headerColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + secondBandColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + secondBandColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + } + ], + basicFilter: { + criteria: { + A: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + } + }, + filterSpecs: [ + { + columnIndex: 42, + dataSourceColumnReference: { + name: "Test string", + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + } + ], + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + sortSpecs: [ + { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + dataSourceColumnReference: { + name: "Test string", + }, + dimensionIndex: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + sortOrder: "Test string", + } + ], + }, + charts: [ + { + border: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + chartId: 42, + position: { + newSheet: true, + overlayPosition: { + anchorCell: { + columnIndex: 42, + rowIndex: 42, + sheetId: 42, + }, + heightPixels: 42, + offsetXPixels: 42, + offsetYPixels: 42, + widthPixels: 42, + }, + sheetId: 42, + }, + spec: { + altText: "Test string", + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + basicChart: { + axis: [ + { + format: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + position: "Test string", + title: "Test string", + titleTextPosition: { + horizontalAlignment: "Test string", + }, + viewWindowOptions: { + viewWindowMax: 42, + viewWindowMin: 42, + viewWindowMode: "Test string", + }, + } + ], + chartType: "Test string", + compareMode: "Test string", + domains: [ + { + domain: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + reversed: true, + } + ], + headerCount: 42, + interpolateNulls: true, + legendPosition: "Test string", + lineSmoothing: true, + series: [ + { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + dataLabel: { + customLabelData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + placement: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + type: "Test string", + }, + lineStyle: { + type: "Test string", + width: 42, + }, + pointStyle: { + shape: "Test string", + size: 42, + }, + series: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + styleOverrides: [ + { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + index: 42, + pointStyle: { + shape: "Test string", + size: 42, + }, + } + ], + targetAxis: "Test string", + type: "Test string", + } + ], + stackedType: "Test string", + threeDimensional: true, + totalDataLabel: { + customLabelData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + placement: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + type: "Test string", + }, + }, + bubbleChart: { + bubbleBorderColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + bubbleBorderColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + bubbleLabels: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + bubbleMaxRadiusSize: 42, + bubbleMinRadiusSize: 42, + bubbleOpacity: 42, + bubbleSizes: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + bubbleTextStyle: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + domain: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + groupIds: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + legendPosition: "Test string", + series: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + candlestickChart: { + data: [ + { + closeSeries: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + highSeries: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + lowSeries: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + openSeries: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + } + ], + domain: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + reversed: true, + }, + }, + dataSourceChartProperties: { + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + }, + filterSpecs: [ + { + columnIndex: 42, + dataSourceColumnReference: { + name: "Test string", + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + } + ], + fontName: "Test string", + hiddenDimensionStrategy: "Test string", + histogramChart: { + bucketSize: 42, + legendPosition: "Test string", + outlierPercentile: 42, + series: [ + { + barColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + barColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + } + ], + showItemDividers: true, + }, + maximized: true, + orgChart: { + labels: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + nodeColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + nodeColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + nodeSize: "Test string", + parentLabels: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + selectedNodeColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + selectedNodeColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + tooltips: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + }, + pieChart: { + domain: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + legendPosition: "Test string", + pieHole: 42, + series: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + threeDimensional: true, + }, + scorecardChart: { + aggregateType: "Test string", + baselineValueData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + baselineValueFormat: { + comparisonType: "Test string", + description: "Test string", + negativeColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + negativeColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + position: { + horizontalAlignment: "Test string", + }, + positiveColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + positiveColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + }, + customFormatOptions: { + prefix: "Test string", + suffix: "Test string", + }, + keyValueData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + keyValueFormat: { + position: { + horizontalAlignment: "Test string", + }, + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + }, + numberFormatSource: "Test string", + scaleFactor: 42, + }, + sortSpecs: [ + { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + dataSourceColumnReference: { + name: "Test string", + }, + dimensionIndex: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + sortOrder: "Test string", + } + ], + subtitle: "Test string", + subtitleTextFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + subtitleTextPosition: { + horizontalAlignment: "Test string", + }, + title: "Test string", + titleTextFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + titleTextPosition: { + horizontalAlignment: "Test string", + }, + treemapChart: { + colorData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + colorScale: { + maxValueColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + maxValueColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + midValueColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + midValueColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + minValueColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + minValueColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + noDataColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + noDataColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + headerColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + headerColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + hideTooltips: true, + hintedLevels: 42, + labels: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + levels: 42, + maxValue: 42, + minValue: 42, + parentLabels: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + sizeData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + }, + waterfallChart: { + connectorLineStyle: { + type: "Test string", + width: 42, + }, + domain: { + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + reversed: true, + }, + firstValueIsTotal: true, + hideConnectorLines: true, + series: [ + { + customSubtotals: [ + { + dataIsSubtotal: true, + label: "Test string", + subtotalIndex: 42, + } + ], + data: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + dataLabel: { + customLabelData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + placement: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + type: "Test string", + }, + hideTrailingSubtotal: true, + negativeColumnsStyle: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + label: "Test string", + }, + positiveColumnsStyle: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + label: "Test string", + }, + subtotalColumnsStyle: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + label: "Test string", + }, + } + ], + stackedType: "Test string", + totalDataLabel: { + customLabelData: { + aggregateType: "Test string", + columnReference: { + name: "Test string", + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + intervalSize: 42, + maxValue: 42, + minValue: 42, + }, + }, + sourceRange: { + sources: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + }, + }, + placement: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + type: "Test string", + }, + }, + }, + } + ], + columnGroups: [ + { + collapsed: true, + depth: 42, + range: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + } + ], + conditionalFormats: [ + { + booleanRule: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + format: { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + borders: { + bottom: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + left: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + right: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + top: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + }, + horizontalAlignment: "Test string", + hyperlinkDisplayType: "Test string", + numberFormat: { + pattern: "Test string", + type: "Test string", + }, + padding: { + bottom: 42, + left: 42, + right: 42, + top: 42, + }, + textDirection: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + textRotation: { + angle: 42, + vertical: true, + }, + verticalAlignment: "Test string", + wrapStrategy: "Test string", + }, + }, + gradientRule: { + maxpoint: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + type: "Test string", + value: "Test string", + }, + midpoint: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + type: "Test string", + value: "Test string", + }, + minpoint: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + type: "Test string", + value: "Test string", + }, + }, + ranges: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + } + ], + data: [ + { + columnMetadata: [ + { + dataSourceColumnReference: { + name: "Test string", + }, + developerMetadata: [ + { + location: { + dimensionRange: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + locationType: "Test string", + sheetId: 42, + spreadsheet: true, + }, + metadataId: 42, + metadataKey: "Test string", + metadataValue: "Test string", + visibility: "Test string", + } + ], + hiddenByFilter: true, + hiddenByUser: true, + pixelSize: 42, + } + ], + rowData: [ + { + values: [ + { + dataSourceFormula: { + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + }, + dataSourceTable: { + columns: [ + { + name: "Test string", + } + ], + columnSelectionType: "Test string", + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + filterSpecs: [ + { + columnIndex: 42, + dataSourceColumnReference: { + name: "Test string", + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + } + ], + rowLimit: 42, + sortSpecs: [ + { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + dataSourceColumnReference: { + name: "Test string", + }, + dimensionIndex: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + sortOrder: "Test string", + } + ], + }, + dataValidation: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + inputMessage: "Test string", + showCustomUi: true, + strict: true, + }, + effectiveFormat: { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + borders: { + bottom: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + left: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + right: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + top: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + }, + horizontalAlignment: "Test string", + hyperlinkDisplayType: "Test string", + numberFormat: { + pattern: "Test string", + type: "Test string", + }, + padding: { + bottom: 42, + left: 42, + right: 42, + top: 42, + }, + textDirection: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + textRotation: { + angle: 42, + vertical: true, + }, + verticalAlignment: "Test string", + wrapStrategy: "Test string", + }, + effectiveValue: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + formattedValue: "Test string", + hyperlink: "Test string", + note: "Test string", + pivotTable: { + columns: [ + { + dataSourceColumnReference: { + name: "Test string", + }, + groupLimit: { + applyOrder: 42, + countLimit: 42, + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + end: 42, + interval: 42, + start: 42, + }, + manualRule: { + groups: [ + { + groupName: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + items: [ + { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + } + ], + } + ], + }, + }, + label: "Test string", + repeatHeadings: true, + showTotals: true, + sortOrder: "Test string", + sourceColumnOffset: 42, + valueBucket: { + buckets: [ + { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + } + ], + valuesIndex: 42, + }, + valueMetadata: [ + { + collapsed: true, + value: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + } + ], + } + ], + criteria: { + A: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + visibleByDefault: true, + visibleValues: [ + "Test string" + ], + } + }, + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + filterSpecs: [ + { + columnOffsetIndex: 42, + dataSourceColumnReference: { + name: "Test string", + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + visibleByDefault: true, + visibleValues: [ + "Test string" + ], + }, + } + ], + rows: [ + { + dataSourceColumnReference: { + name: "Test string", + }, + groupLimit: { + applyOrder: 42, + countLimit: 42, + }, + groupRule: { + dateTimeRule: { + type: "Test string", + }, + histogramRule: { + end: 42, + interval: 42, + start: 42, + }, + manualRule: { + groups: [ + { + groupName: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + items: [ + { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + } + ], + } + ], + }, + }, + label: "Test string", + repeatHeadings: true, + showTotals: true, + sortOrder: "Test string", + sourceColumnOffset: 42, + valueBucket: { + buckets: [ + { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + } + ], + valuesIndex: 42, + }, + valueMetadata: [ + { + collapsed: true, + value: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + } + ], + } + ], + source: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + valueLayout: "Test string", + values: [ + { + calculatedDisplayType: "Test string", + dataSourceColumnReference: { + name: "Test string", + }, + formula: "Test string", + name: "Test string", + sourceColumnOffset: 42, + summarizeFunction: "Test string", + } + ], + }, + textFormatRuns: [ + { + format: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + startIndex: 42, + } + ], + userEnteredFormat: { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + borders: { + bottom: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + left: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + right: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + top: { + color: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + colorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + style: "Test string", + width: 42, + }, + }, + horizontalAlignment: "Test string", + hyperlinkDisplayType: "Test string", + numberFormat: { + pattern: "Test string", + type: "Test string", + }, + padding: { + bottom: 42, + left: 42, + right: 42, + top: 42, + }, + textDirection: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + textRotation: { + angle: 42, + vertical: true, + }, + verticalAlignment: "Test string", + wrapStrategy: "Test string", + }, + userEnteredValue: { + boolValue: true, + errorValue: { + message: "Test string", + type: "Test string", + }, + formulaValue: "Test string", + numberValue: 42, + stringValue: "Test string", + }, + } + ], + } + ], + rowMetadata: [ + { + dataSourceColumnReference: { + name: "Test string", + }, + developerMetadata: [ + { + location: { + dimensionRange: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + locationType: "Test string", + sheetId: 42, + spreadsheet: true, + }, + metadataId: 42, + metadataKey: "Test string", + metadataValue: "Test string", + visibility: "Test string", + } + ], + hiddenByFilter: true, + hiddenByUser: true, + pixelSize: 42, + } + ], + startColumn: 42, + startRow: 42, + } + ], + developerMetadata: [ + { + location: { + dimensionRange: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + locationType: "Test string", + sheetId: 42, + spreadsheet: true, + }, + metadataId: 42, + metadataKey: "Test string", + metadataValue: "Test string", + visibility: "Test string", + } + ], + filterViews: [ + { + criteria: { + A: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + } + }, + filterSpecs: [ + { + columnIndex: 42, + dataSourceColumnReference: { + name: "Test string", + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + } + ], + filterViewId: 42, + namedRangeId: "Test string", + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + sortSpecs: [ + { + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + dataSourceColumnReference: { + name: "Test string", + }, + dimensionIndex: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + sortOrder: "Test string", + } + ], + title: "Test string", + } + ], + merges: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + properties: { + dataSourceSheetProperties: { + columns: [ + { + formula: "Test string", + reference: { + name: "Test string", + }, + } + ], + dataExecutionStatus: { + errorCode: "Test string", + errorMessage: "Test string", + lastRefreshTime: "Test string", + state: "Test string", + }, + dataSourceId: "Test string", + }, + gridProperties: { + columnCount: 42, + columnGroupControlAfter: true, + frozenColumnCount: 42, + frozenRowCount: 42, + hideGridlines: true, + rowCount: 42, + rowGroupControlAfter: true, + }, + hidden: true, + index: 42, + rightToLeft: true, + sheetId: 42, + sheetType: "Test string", + tabColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + tabColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + title: "Test string", + }, + protectedRanges: [ + { + description: "Test string", + editors: { + domainUsersCanEdit: true, + groups: [ + "Test string" + ], + users: [ + "Test string" + ], + }, + namedRangeId: "Test string", + protectedRangeId: 42, + range: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + requestingUserCanEdit: true, + unprotectedRanges: [ + { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + } + ], + warningOnly: true, + } + ], + rowGroups: [ + { + collapsed: true, + depth: 42, + range: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + } + ], + slicers: [ + { + position: { + newSheet: true, + overlayPosition: { + anchorCell: { + columnIndex: 42, + rowIndex: 42, + sheetId: 42, + }, + heightPixels: 42, + offsetXPixels: 42, + offsetYPixels: 42, + widthPixels: 42, + }, + sheetId: 42, + }, + slicerId: 42, + spec: { + applyToPivotTables: true, + backgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + backgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + columnIndex: 42, + dataRange: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + filterCriteria: { + condition: { + type: "Test string", + values: [ + { + relativeDate: "Test string", + userEnteredValue: "Test string", + } + ], + }, + hiddenValues: [ + "Test string" + ], + visibleBackgroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleBackgroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + visibleForegroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + visibleForegroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + }, + horizontalAlignment: "Test string", + textFormat: { + bold: true, + fontFamily: "Test string", + fontSize: 42, + foregroundColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + foregroundColorStyle: { + rgbColor: { + alpha: 42, + blue: 42, + green: 42, + red: 42, + }, + themeColor: "Test string", + }, + italic: true, + link: { + uri: "Test string", + }, + strikethrough: true, + underline: true, + }, + title: "Test string", + }, + } + ], + } + ], + spreadsheetId: "Test string", + spreadsheetUrl: "Test string", + }); + /** + * Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. By default, data within grids is not returned. You can include grid data in one of 2 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, as a best practice, retrieve only the specific spreadsheet fields that you want. To retrieve only subsets of spreadsheet data, use the + * ranges URL parameter. Ranges are specified using [A1 notation](/sheets/api/guides/concepts#cell). You can define a single cell (for example, \`A1\`) or multiple cells (for example, + * \`A1:D5\`). You can also get cells from other sheets within the same spreadsheet (for example, \`Sheet2!A1:C4\`) or retrieve multiple ranges at once (for example, + * \`?ranges=A1:D5&ranges=Sheet2!A1:C4\`). Limiting the range returns only the portions of the spreadsheet that intersect the requested ranges. + */ + await gapi.client.sheets.spreadsheets.get({ + includeGridData: true, + ranges: "Test string", + spreadsheetId: "Test string", + }); + /** + * 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 returns the portions of the spreadsheet that intersect + * ranges matched by any of the filters. By default, data within grids is not returned. You can include grid data one of 2 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, as a best + * practice, retrieve only the specific spreadsheet fields that you want. + */ + await gapi.client.sheets.spreadsheets.getByDataFilter({ + spreadsheetId: "Test string", + }, { + dataFilters: [ + { + a1Range: "Test string", + developerMetadataLookup: { + locationMatchingStrategy: "Test string", + locationType: "Test string", + metadataId: 42, + metadataKey: "Test string", + metadataLocation: { + dimensionRange: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + locationType: "Test string", + sheetId: 42, + spreadsheet: true, + }, + metadataValue: "Test string", + visibility: "Test string", + }, + gridRange: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + } + ], + includeGridData: true, + }); + /** Returns the developer metadata with the specified ID. The caller must specify the spreadsheet ID and the developer metadata's unique metadataId. */ + await gapi.client.sheets.spreadsheets.developerMetadata.get({ + metadataId: 42, + spreadsheetId: "Test string", + }); + /** + * 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. + */ + await gapi.client.sheets.spreadsheets.developerMetadata.search({ + spreadsheetId: "Test string", + }, { + dataFilters: [ + { + a1Range: "Test string", + developerMetadataLookup: { + locationMatchingStrategy: "Test string", + locationType: "Test string", + metadataId: 42, + metadataKey: "Test string", + metadataLocation: { + dimensionRange: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + locationType: "Test string", + sheetId: 42, + spreadsheet: true, + }, + metadataValue: "Test string", + visibility: "Test string", + }, + gridRange: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + } + ], + }); + /** Copies a single sheet from a spreadsheet to another spreadsheet. Returns the properties of the newly created sheet. */ + await gapi.client.sheets.spreadsheets.sheets.copyTo({ + sheetId: 42, + spreadsheetId: "Test string", + }, { + destinationSpreadsheetId: "Test string", + }); + /** + * 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. + */ + await gapi.client.sheets.spreadsheets.values.append({ + includeValuesInResponse: true, + insertDataOption: "Test string", + range: "Test string", + responseDateTimeRenderOption: "Test string", + responseValueRenderOption: "Test string", + spreadsheetId: "Test string", + valueInputOption: "Test string", + }, { + majorDimension: "Test string", + range: "Test string", + values: [ + [ + 42 + ] + ], + }); + /** + * 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 and data validation) are kept. + */ + await gapi.client.sheets.spreadsheets.values.batchClear({ + spreadsheetId: "Test string", + }, { + ranges: [ + "Test string" + ], + }); + /** + * 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. + */ + await gapi.client.sheets.spreadsheets.values.batchClearByDataFilter({ + spreadsheetId: "Test string", + }, { + dataFilters: [ + { + a1Range: "Test string", + developerMetadataLookup: { + locationMatchingStrategy: "Test string", + locationType: "Test string", + metadataId: 42, + metadataKey: "Test string", + metadataLocation: { + dimensionRange: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + locationType: "Test string", + sheetId: 42, + spreadsheet: true, + }, + metadataValue: "Test string", + visibility: "Test string", + }, + gridRange: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + } + ], + }); + /** Returns one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges. */ + await gapi.client.sheets.spreadsheets.values.batchGet({ + dateTimeRenderOption: "Test string", + majorDimension: "Test string", + ranges: "Test string", + spreadsheetId: "Test string", + valueRenderOption: "Test string", + }); + /** + * 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. + */ + await gapi.client.sheets.spreadsheets.values.batchGetByDataFilter({ + spreadsheetId: "Test string", + }, { + dataFilters: [ + { + a1Range: "Test string", + developerMetadataLookup: { + locationMatchingStrategy: "Test string", + locationType: "Test string", + metadataId: 42, + metadataKey: "Test string", + metadataLocation: { + dimensionRange: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + locationType: "Test string", + sheetId: 42, + spreadsheet: true, + }, + metadataValue: "Test string", + visibility: "Test string", + }, + gridRange: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + } + ], + dateTimeRenderOption: "Test string", + majorDimension: "Test string", + valueRenderOption: "Test string", + }); + /** Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more ValueRanges. */ + await gapi.client.sheets.spreadsheets.values.batchUpdate({ + spreadsheetId: "Test string", + }, { + data: [ + { + majorDimension: "Test string", + range: "Test string", + values: [ + [ + 42 + ] + ], + } + ], + includeValuesInResponse: true, + responseDateTimeRenderOption: "Test string", + responseValueRenderOption: "Test string", + valueInputOption: "Test string", + }); + /** Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more DataFilterValueRanges. */ + await gapi.client.sheets.spreadsheets.values.batchUpdateByDataFilter({ + spreadsheetId: "Test string", + }, { + data: [ + { + dataFilter: { + a1Range: "Test string", + developerMetadataLookup: { + locationMatchingStrategy: "Test string", + locationType: "Test string", + metadataId: 42, + metadataKey: "Test string", + metadataLocation: { + dimensionRange: { + dimension: "Test string", + endIndex: 42, + sheetId: 42, + startIndex: 42, + }, + locationType: "Test string", + sheetId: 42, + spreadsheet: true, + }, + metadataValue: "Test string", + visibility: "Test string", + }, + gridRange: { + endColumnIndex: 42, + endRowIndex: 42, + sheetId: 42, + startColumnIndex: 42, + startRowIndex: 42, + }, + }, + majorDimension: "Test string", + values: [ + [ + 42 + ] + ], + } + ], + includeValuesInResponse: true, + responseDateTimeRenderOption: "Test string", + responseValueRenderOption: "Test string", + valueInputOption: "Test string", + }); + /** + * 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. + */ + await gapi.client.sheets.spreadsheets.values.clear({ + range: "Test string", + spreadsheetId: "Test string", + }, { + }); + /** Returns a range of values from a spreadsheet. The caller must specify the spreadsheet ID and a range. */ + await gapi.client.sheets.spreadsheets.values.get({ + dateTimeRenderOption: "Test string", + majorDimension: "Test string", + range: "Test string", + spreadsheetId: "Test string", + valueRenderOption: "Test string", + }); + /** Sets values in a range of a spreadsheet. The caller must specify the spreadsheet ID, range, and a valueInputOption. */ + await gapi.client.sheets.spreadsheets.values.update({ + includeValuesInResponse: true, + range: "Test string", + responseDateTimeRenderOption: "Test string", + responseValueRenderOption: "Test string", + spreadsheetId: "Test string", + valueInputOption: "Test string", + }, { + majorDimension: "Test string", + range: "Test string", + values: [ + [ + 42 + ] + ], + }); + } +}); +" +`; + +exports[`sheets works 6`] = ` +"{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6", "dom"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "strictFunctionTypes": true + }, + "files": ["index.d.ts", "tests.ts"] +} +" +`; + +exports[`sheets works 7`] = ` +"{ + "extends": "dtslint/dtslint.json", + "rules": { + "no-redundant-jsdoc": false + } +} +" +`; + +exports[`uses method ID instead of resource name/key 1`] = ` +"//registry.npmjs.org/:_authToken=\${NPM_PUBLISH_AUTOMATION_TOKEN} +" +`; + +exports[`uses method ID instead of resource name/key 2`] = ` +"/* Type definitions for non-npm package Some Name v1 0.0 */ +// Project: bla +// Definitions by: Maxim Mazurok +// Nick Amoscato +// Declan Vong +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// IMPORTANT +// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. +// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator +// Generated from: http://x.com/ +// Revision: undefined + +/// + +declare namespace gapi.client { + /** Load Some Name v1 */ + function load(urlOrObject: "http://x.com/"): Promise; + /** @deprecated Please load APIs with discovery documents. */ + function load(name: "some-name", version: "v1"): Promise; + /** @deprecated Please load APIs with discovery documents. */ + function load(name: "some-name", version: "v1", callback: () => any): void; + + namespace thirdNamespace { + interface FirstResourceResource { + firstMethod(request?: { + }): Request; + } + + const firstResource: FirstResourceResource; + } +} +" +`; + +exports[`uses method ID instead of resource name/key 3`] = ` +"{ + "name": "@maxim_mazurok/gapi.client.some-name-v1", + "version": "0.0.undefined", + "description": "TypeScript typings for Some Name v1", + "license": "MIT", + "author": { + "email": "maxim@mazurok.com", + "name": "Maxim Mazurok", + "url": "https://maxim.mazurok.com" + }, + "repository": { + "type": "git", + "url": "https://github.com/Maxim-Mazurok/google-api-typings-generator.git" + }, + "types": "index.d.ts", + "dependencies": { + "@types/gapi.client": "*", + "@types/gapi.client.discovery": "*" + } +} +" +`; + +exports[`uses method ID instead of resource name/key 4`] = ` +"# TypeScript typings for Some Name v1 + +undefined +For detailed description please check [documentation](bla). + +## Installing + +Install typings for Some Name: + +\`\`\` +npm install @types/gapi.client.some-name-v1 --save-dev +\`\`\` + +## Usage + +You need to initialize Google API client in your code: + +\`\`\`typescript +gapi.load('client', () => { + // now we can use gapi.client + // ... +}); +\`\`\` + +Then load api client wrapper: + +\`\`\`typescript +gapi.client.load('http://x.com/', () => { + // now we can use: + // gapi.client.thirdNamespace +}); +\`\`\` + +\`\`\`typescript +// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback-- +gapi.client.load('some-name', 'v1', () => { + // now we can use: + // gapi.client.thirdNamespace +}); +\`\`\` + + + +After that you can use Some Name resources: + +\`\`\`typescript + +/* +undefined +*/ +await gapi.client.thirdNamespace.firstMethod({ }); +\`\`\` +" +`; + +exports[`uses method ID instead of resource name/key 5`] = ` +"/* This is stub file for gapi.client.some-name-v1 definition tests */ +// IMPORTANT +// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. +// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator + +// Revision: undefined + +gapi.load('client', async () => { + /** now we can use gapi.client */ + + await gapi.client.load('http://x.com/'); + /** now we can use gapi.client.thirdNamespace */ + + run(); + + async function run() { + await gapi.client.thirdNamespace.firstResource.firstMethod(); + } +}); +" +`; + +exports[`uses method ID instead of resource name/key 6`] = ` +"{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6", "dom"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "strictFunctionTypes": true + }, + "files": ["index.d.ts", "tests.ts"] +} +" +`; + +exports[`uses method ID instead of resource name/key 7`] = ` +"{ + "extends": "dtslint/dtslint.json", + "rules": { + "no-redundant-jsdoc": false + } +} +" +`; diff --git a/test/restDocs/snapshots/dt/gapi.client.admin-directory_v1/index.d.ts b/test/restDocs/snapshots/dt/gapi.client.admin-directory_v1/index.d.ts deleted file mode 100644 index 6096b4aa73..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.admin-directory_v1/index.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Type definitions for non-npm package Admin SDK API directory_v1 0.0 -// Project: https://developers.google.com/admin-sdk/ -// Definitions by: Maxim Mazurok -// Nick Amoscato -// Declan Vong -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -// Referenced type definitions are generated by https://github.com/Maxim-Mazurok/google-api-typings-generator -// In case of any problems please open issue in https://github.com/Maxim-Mazurok/google-api-typings-generator/issues/new - -/// diff --git a/test/restDocs/snapshots/dt/gapi.client.admin-directory_v1/package.json b/test/restDocs/snapshots/dt/gapi.client.admin-directory_v1/package.json deleted file mode 100644 index 231ef68eda..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.admin-directory_v1/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "private": true, - "dependencies": { - "@maxim_mazurok/gapi.client.admin-directory_v1": "latest" - } -} diff --git a/test/restDocs/snapshots/dt/gapi.client.admin-directory_v1/tsconfig.json b/test/restDocs/snapshots/dt/gapi.client.admin-directory_v1/tsconfig.json deleted file mode 100644 index 7ca6887e3d..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.admin-directory_v1/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": ["es6"], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "noEmit": true, - "forceConsistentCasingInFileNames": true, - "baseUrl": "../", - "typeRoots": ["../"], - "types": [] - }, - "files": ["index.d.ts"] -} diff --git a/test/restDocs/snapshots/dt/gapi.client.admin-directory_v1/tslint.json b/test/restDocs/snapshots/dt/gapi.client.admin-directory_v1/tslint.json deleted file mode 100644 index 585e9a1d59..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.admin-directory_v1/tslint.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "@definitelytyped/dtslint/dt.json", - "rules": { - "npm-naming": false - } -} diff --git a/test/restDocs/snapshots/dt/gapi.client.calendar-v3/index.d.ts b/test/restDocs/snapshots/dt/gapi.client.calendar-v3/index.d.ts deleted file mode 100644 index 9caf70e346..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.calendar-v3/index.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Type definitions for non-npm package Calendar API v3 0.0 -// Project: https://developers.google.com/google-apps/calendar/firstapp -// Definitions by: Maxim Mazurok -// Nick Amoscato -// Declan Vong -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -// Referenced type definitions are generated by https://github.com/Maxim-Mazurok/google-api-typings-generator -// In case of any problems please open issue in https://github.com/Maxim-Mazurok/google-api-typings-generator/issues/new - -/// diff --git a/test/restDocs/snapshots/dt/gapi.client.calendar-v3/package.json b/test/restDocs/snapshots/dt/gapi.client.calendar-v3/package.json deleted file mode 100644 index 25dcb558f4..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.calendar-v3/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "private": true, - "dependencies": { - "@maxim_mazurok/gapi.client.calendar-v3": "latest" - } -} diff --git a/test/restDocs/snapshots/dt/gapi.client.calendar-v3/tsconfig.json b/test/restDocs/snapshots/dt/gapi.client.calendar-v3/tsconfig.json deleted file mode 100644 index 7ca6887e3d..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.calendar-v3/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": ["es6"], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "noEmit": true, - "forceConsistentCasingInFileNames": true, - "baseUrl": "../", - "typeRoots": ["../"], - "types": [] - }, - "files": ["index.d.ts"] -} diff --git a/test/restDocs/snapshots/dt/gapi.client.calendar-v3/tslint.json b/test/restDocs/snapshots/dt/gapi.client.calendar-v3/tslint.json deleted file mode 100644 index 585e9a1d59..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.calendar-v3/tslint.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "@definitelytyped/dtslint/dt.json", - "rules": { - "npm-naming": false - } -} diff --git a/test/restDocs/snapshots/dt/gapi.client.drive-v3/index.d.ts b/test/restDocs/snapshots/dt/gapi.client.drive-v3/index.d.ts deleted file mode 100644 index 33a0bd7315..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.drive-v3/index.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Type definitions for non-npm package Drive API v3 0.0 -// Project: https://developers.google.com/drive/ -// Definitions by: Maxim Mazurok -// Nick Amoscato -// Declan Vong -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -// Referenced type definitions are generated by https://github.com/Maxim-Mazurok/google-api-typings-generator -// In case of any problems please open issue in https://github.com/Maxim-Mazurok/google-api-typings-generator/issues/new - -/// diff --git a/test/restDocs/snapshots/dt/gapi.client.drive-v3/package.json b/test/restDocs/snapshots/dt/gapi.client.drive-v3/package.json deleted file mode 100644 index f26e136a16..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.drive-v3/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "private": true, - "dependencies": { - "@maxim_mazurok/gapi.client.drive-v3": "latest" - } -} diff --git a/test/restDocs/snapshots/dt/gapi.client.drive-v3/tsconfig.json b/test/restDocs/snapshots/dt/gapi.client.drive-v3/tsconfig.json deleted file mode 100644 index 7ca6887e3d..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.drive-v3/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": ["es6"], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "noEmit": true, - "forceConsistentCasingInFileNames": true, - "baseUrl": "../", - "typeRoots": ["../"], - "types": [] - }, - "files": ["index.d.ts"] -} diff --git a/test/restDocs/snapshots/dt/gapi.client.drive-v3/tslint.json b/test/restDocs/snapshots/dt/gapi.client.drive-v3/tslint.json deleted file mode 100644 index 585e9a1d59..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.drive-v3/tslint.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "@definitelytyped/dtslint/dt.json", - "rules": { - "npm-naming": false - } -} diff --git a/test/restDocs/snapshots/dt/gapi.client.sheets-v4/index.d.ts b/test/restDocs/snapshots/dt/gapi.client.sheets-v4/index.d.ts deleted file mode 100644 index bee026fcfc..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.sheets-v4/index.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -// Type definitions for non-npm package Google Sheets API v4 0.0 -// Project: https://developers.google.com/sheets/ -// Definitions by: Maxim Mazurok -// Nick Amoscato -// Declan Vong -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -// Referenced type definitions are generated by https://github.com/Maxim-Mazurok/google-api-typings-generator -// In case of any problems please open issue in https://github.com/Maxim-Mazurok/google-api-typings-generator/issues/new - -/// diff --git a/test/restDocs/snapshots/dt/gapi.client.sheets-v4/package.json b/test/restDocs/snapshots/dt/gapi.client.sheets-v4/package.json deleted file mode 100644 index 01618fc4ec..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.sheets-v4/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "private": true, - "dependencies": { - "@maxim_mazurok/gapi.client.sheets-v4": "latest" - } -} diff --git a/test/restDocs/snapshots/dt/gapi.client.sheets-v4/tsconfig.json b/test/restDocs/snapshots/dt/gapi.client.sheets-v4/tsconfig.json deleted file mode 100644 index 7ca6887e3d..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.sheets-v4/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": ["es6"], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "noEmit": true, - "forceConsistentCasingInFileNames": true, - "baseUrl": "../", - "typeRoots": ["../"], - "types": [] - }, - "files": ["index.d.ts"] -} diff --git a/test/restDocs/snapshots/dt/gapi.client.sheets-v4/tslint.json b/test/restDocs/snapshots/dt/gapi.client.sheets-v4/tslint.json deleted file mode 100644 index 585e9a1d59..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.sheets-v4/tslint.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "@definitelytyped/dtslint/dt.json", - "rules": { - "npm-naming": false - } -} diff --git a/test/restDocs/snapshots/dt/gapi.client.sheets/index.d.ts b/test/restDocs/snapshots/dt/gapi.client.sheets/index.d.ts deleted file mode 100644 index c590ad8159..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.sheets/index.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Type definitions for non-npm package Google Sheets API v4 4.0 -// Project: https://developers.google.com/sheets/ -// Definitions by: Maxim Mazurok -// Nick Amoscato -// Declan Vong -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -// DEPRECATED, use @types/gapi.client.sheets-v4 instead; see https://github.com/Maxim-Mazurok/google-api-typings-generator/issues/652 for details - -/// diff --git a/test/restDocs/snapshots/dt/gapi.client.sheets/package.json b/test/restDocs/snapshots/dt/gapi.client.sheets/package.json deleted file mode 100644 index 01618fc4ec..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.sheets/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "private": true, - "dependencies": { - "@maxim_mazurok/gapi.client.sheets-v4": "latest" - } -} diff --git a/test/restDocs/snapshots/dt/gapi.client.sheets/tsconfig.json b/test/restDocs/snapshots/dt/gapi.client.sheets/tsconfig.json deleted file mode 100644 index 7ca6887e3d..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.sheets/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": ["es6"], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "noEmit": true, - "forceConsistentCasingInFileNames": true, - "baseUrl": "../", - "typeRoots": ["../"], - "types": [] - }, - "files": ["index.d.ts"] -} diff --git a/test/restDocs/snapshots/dt/gapi.client.sheets/tslint.json b/test/restDocs/snapshots/dt/gapi.client.sheets/tslint.json deleted file mode 100644 index 585e9a1d59..0000000000 --- a/test/restDocs/snapshots/dt/gapi.client.sheets/tslint.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "@definitelytyped/dtslint/dt.json", - "rules": { - "npm-naming": false - } -} diff --git a/test/restDocs/snapshots/gapi.client.admin-directory_v1/.npmrc b/test/restDocs/snapshots/gapi.client.admin-directory_v1/.npmrc deleted file mode 100644 index 0063b50cfd..0000000000 --- a/test/restDocs/snapshots/gapi.client.admin-directory_v1/.npmrc +++ /dev/null @@ -1 +0,0 @@ -//registry.npmjs.org/:_authToken=${NPM_PUBLISH_AUTOMATION_TOKEN} diff --git a/test/restDocs/snapshots/gapi.client.admin-directory_v1/index.d.ts b/test/restDocs/snapshots/gapi.client.admin-directory_v1/index.d.ts deleted file mode 100644 index 43a352614e..0000000000 --- a/test/restDocs/snapshots/gapi.client.admin-directory_v1/index.d.ts +++ /dev/null @@ -1,8263 +0,0 @@ -/* Type definitions for non-npm package Admin SDK API directory_v1 0.0 */ -// Project: https://developers.google.com/admin-sdk/ -// Definitions by: Maxim Mazurok -// Nick Amoscato -// Declan Vong -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -// IMPORTANT -// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. -// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator -// Generated from: http://localhost:3000/admin.json -// Revision: 20220628 - -/// - -declare namespace gapi.client { - /** Load Admin SDK API directory_v1 */ - function load(urlOrObject: "http://localhost:3000/admin.json"): Promise; - /** @deprecated Please load APIs with discovery documents. */ - function load(name: "admin", version: "directory_v1"): Promise; - /** @deprecated Please load APIs with discovery documents. */ - function load(name: "admin", version: "directory_v1", callback: () => any): void; - - namespace admin { - interface Alias { - alias?: string; - etag?: string; - id?: string; - kind?: string; - primaryEmail?: string; - } - interface Aliases { - aliases?: any[]; - etag?: string; - kind?: string; - } - interface Asp { - /** The unique ID of the ASP. */ - codeId?: number; - /** The time when the ASP was created. Expressed in [Unix time](https://en.wikipedia.org/wiki/Epoch_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](https://en.wikipedia.org/wiki/Epoch_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 Asps { - /** ETag of the resource. */ - etag?: string; - /** A list of ASP resources. */ - items?: Asp[]; - /** The type of the API resource. This is always `admin#directory#aspList`. */ - kind?: string; - } - interface AuxiliaryMessage { - /** Human readable message in English. Example: "Given printer is invalid or no longer supported." */ - auxiliaryMessage?: string; - /** Field that this message concerns. */ - fieldMask?: string; - /** Message severity */ - severity?: string; - } - interface BatchCreatePrintersRequest { - /** A list of Printers to be created. Max 50 at a time. */ - requests?: CreatePrinterRequest[]; - } - interface BatchCreatePrintersResponse { - /** A list of create failures. Printer IDs are not populated, as printer were not created. */ - failures?: FailureInfo[]; - /** A list of successfully created printers with their IDs populated. */ - printers?: Printer[]; - } - interface BatchDeletePrintersRequest { - /** A list of Printer.id that should be deleted. Max 100 at a time. */ - printerIds?: string[]; - } - interface BatchDeletePrintersResponse { - /** A list of update failures. */ - failedPrinters?: FailureInfo[]; - /** A list of Printer.id that were successfully deleted. */ - printerIds?: string[]; - } - interface Building { - /** - * The postal address of the building. See [`PostalAddress`](/my-business/reference/rest/v4/PostalAddress) for details. Note that only a single address line and region code are - * required. - */ - address?: BuildingAddress; - /** 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?: 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; - } - interface BuildingAddress { - /** Unstructured address lines describing the lower levels of an address. */ - addressLines?: string[]; - /** Optional. Highest administrative subdivision which is used for postal addresses of a country or region. */ - administrativeArea?: string; - /** Optional. BCP-47 language code of the contents of this address (if known). */ - 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 addressLines. - */ - locality?: string; - /** Optional. Postal code of the address. */ - postalCode?: string; - /** Required. CLDR region code of the country/region of the address. */ - regionCode?: string; - /** Optional. Sublocality of the address. */ - sublocality?: string; - } - interface BuildingCoordinates { - /** Latitude in decimal degrees. */ - latitude?: number; - /** Longitude in decimal degrees. */ - longitude?: number; - } - interface Buildings { - /** The Buildings in this page of results. */ - buildings?: 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; - } - interface 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; - /** Instances of features for the calendar resource. */ - 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; - } - interface CalendarResources { - /** ETag of the resource. */ - etag?: string; - /** The CalendarResources in this page of results. */ - items?: 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; - } - interface 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, which is `api#channel`. */ - kind?: string; - /** Additional parameters controlling delivery channel behavior. Optional. */ - params?: { [P in string]: string }; - /** 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 ChromeOsDevice { - /** List of active time ranges (Read-only). */ - activeTimeRanges?: Array<{ - /** Duration of usage in milliseconds. */ - activeTime?: number; - /** Date of usage */ - date?: string; - }>; - /** The asset identifier as noted by an administrator or specified during enrollment. */ - annotatedAssetId?: string; - /** The address or location of the device as noted by the administrator. Maximum length is `200` characters. Empty values are allowed. */ - annotatedLocation?: string; - /** The user of the device as noted by the administrator. Maximum length is 100 characters. Empty values are allowed. */ - annotatedUser?: string; - /** (Read-only) The timestamp after which the device will stop receiving Chrome updates or support */ - autoUpdateExpiration?: string; - /** - * The boot mode for the device. The possible values are: * `Verified`: The device is running a valid version of the Chrome OS. * `Dev`: The devices's developer hardware switch is - * enabled. When booted, the device has a command line shell. For an example of a developer switch, see the [Chromebook developer - * information](https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-series-5-chromebook#TOC-Developer-switch). - */ - bootMode?: string; - /** Information regarding CPU specs in the device. */ - cpuInfo?: Array<{ - /** The CPU architecture. */ - architecture?: string; - /** Information for the Logical CPUs */ - logicalCpus?: Array<{ - /** C-States indicate the power consumption state of the CPU. For more information look at documentation published by the CPU maker. */ - cStates?: Array<{ - /** Name of the state. */ - displayName?: string; - /** Time spent in the state since the last reboot. */ - sessionDuration?: string; - }>; - /** Current frequency the CPU is running at. */ - currentScalingFrequencyKhz?: number; - /** Idle time since last boot. */ - idleDuration?: string; - /** Maximum frequency the CPU is allowed to run at, by policy. */ - maxScalingFrequencyKhz?: number; - }>; - /** The max CPU clock speed in kHz. */ - maxClockSpeedKhz?: number; - /** The CPU model name. */ - model?: string; - }>; - /** Reports of CPU utilization and temperature (Read-only) */ - cpuStatusReports?: Array<{ - /** List of CPU temperature samples. */ - cpuTemperatureInfo?: Array<{ - /** CPU label */ - label?: string; - /** Temperature in Celsius degrees. */ - temperature?: number; - }>; - cpuUtilizationPercentageInfo?: number[]; - /** Date and time the report was received. */ - reportTime?: string; - }>; - /** List of device files to download (Read-only) */ - deviceFiles?: Array<{ - /** Date and time the file was created */ - createTime?: string; - /** File download URL */ - downloadUrl?: string; - /** File name */ - name?: string; - /** File type */ - type?: string; - }>; - /** The unique ID of the Chrome device. */ - deviceId?: string; - /** Reports of disk space and other info about mounted/connected volumes. */ - diskVolumeReports?: Array<{ - /** Disk volumes */ - volumeInfo?: Array<{ - /** Free disk space [in bytes] */ - storageFree?: string; - /** Total disk space [in bytes] */ - storageTotal?: string; - /** Volume id */ - volumeId?: string; - }>; - }>; - /** - * (Read-only) Built-in MAC address for the docking station that the device connected to. Factory sets Media access control address (MAC address) assigned for use by a dock. It is - * reserved specifically for MAC pass through device policy. The format is twelve (12) hexadecimal digits without any delimiter (uppercase letters). This is only relevant for some - * devices. - */ - dockMacAddress?: string; - /** ETag of the resource. */ - etag?: string; - /** The device's MAC address on the ethernet network interface. */ - ethernetMacAddress?: string; - /** - * (Read-only) MAC address used by the Chromebook’s internal ethernet port, and for onboard network (ethernet) interface. The format is twelve (12) hexadecimal digits without any - * delimiter (uppercase letters). This is only relevant for some devices. - */ - ethernetMacAddress0?: string; - /** The Chrome device's firmware version. */ - firmwareVersion?: string; - /** The type of resource. For the Chromeosdevices resource, the value is `admin#directory#chromeosdevice`. */ - kind?: string; - /** Date and time the device was last enrolled (Read-only) */ - lastEnrollmentTime?: string; - /** Contains last known network (Read-only) */ - lastKnownNetwork?: Array<{ - /** The IP address. */ - ipAddress?: string; - /** The WAN IP address. */ - wanIpAddress?: string; - }>; - /** Date and time the device was last synchronized with the policy settings in the G Suite administrator control panel (Read-only) */ - lastSync?: string; - /** The device's wireless MAC address. If the device does not have this information, it is not included in the response. */ - macAddress?: string; - /** (Read-only) The date the device was manufactured in yyyy-mm-dd format. */ - manufactureDate?: string; - /** - * The Mobile Equipment Identifier (MEID) or the International Mobile Equipment Identity (IMEI) for the 3G mobile card in a mobile device. A MEID/IMEI is typically used when adding a - * device to a wireless carrier's post-pay service plan. If the device does not have this information, this property is not included in the response. For more information on how to - * export a MEID/IMEI list, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-chrome-devices.html#export_meid). - */ - meid?: string; - /** The device's model information. If the device does not have this information, this property is not included in the response. */ - model?: string; - /** - * Notes about this device added by the administrator. This property can be [searched](https://support.google.com/chrome/a/answer/1698333) with the - * [list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method's `query` parameter. Maximum length is 500 characters. Empty values are allowed. - */ - notes?: string; - /** The device's order number. Only devices directly purchased from Google have an order number. */ - orderNumber?: string; - /** - * The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, - * orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. - * For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). - */ - orgUnitId?: string; - /** - * The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level - * organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the - * API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). - */ - orgUnitPath?: string; - /** The Chrome device's operating system version. */ - osVersion?: string; - /** The Chrome device's platform version. */ - platformVersion?: string; - /** List of recent device users, in descending order, by last login time. */ - recentUsers?: Array<{ - /** The user's email address. This is only present if the user type is `USER_TYPE_MANAGED`. */ - email?: string; - /** The type of the user. */ - type?: string; - }>; - /** List of screenshot files to download. Type is always "SCREENSHOT_FILE". (Read-only) */ - screenshotFiles?: Array<{ - /** Date and time the file was created */ - createTime?: string; - /** File download URL */ - downloadUrl?: string; - /** File name */ - name?: string; - /** File type */ - type?: string; - }>; - /** The Chrome device serial number entered when the device was enabled. This value is the same as the Admin console's *Serial Number* in the *Chrome OS Devices* tab. */ - serialNumber?: string; - /** The status of the device. */ - status?: string; - /** Final date the device will be supported (Read-only) */ - supportEndDate?: string; - /** Reports of amounts of available RAM memory (Read-only) */ - systemRamFreeReports?: Array<{ - /** Date and time the report was received. */ - reportTime?: string; - systemRamFreeInfo?: string[]; - }>; - /** Total RAM on the device [in bytes] (Read-only) */ - systemRamTotal?: string; - /** Trusted Platform Module (TPM) (Read-only) */ - tpmVersionInfo?: { - /** TPM family. We use the TPM 2.0 style encoding, e.g.: TPM 1.2: "1.2" -> 312e3200 TPM 2.0: "2.0" -> 322e3000 */ - family?: string; - /** TPM firmware version. */ - firmwareVersion?: string; - /** TPM manufacturer code. */ - manufacturer?: string; - /** TPM specification level. See Library Specification for TPM 2.0 and Main Specification for TPM 1.2. */ - specLevel?: string; - /** TPM model number. */ - tpmModel?: string; - /** Vendor-specific information such as Vendor ID. */ - vendorSpecific?: string; - }; - /** Determines if the device will auto renew its support after the support end date. This is a read-only property. */ - willAutoRenew?: boolean; - } - interface ChromeOsDeviceAction { - /** Action to be taken on the Chrome OS device. */ - action?: string; - /** - * Only used when the action is `deprovision`. With the `deprovision` action, this field is required. *Note*: The deprovision reason is audited because it might have implications on - * licenses for perpetual subscription customers. - */ - deprovisionReason?: string; - } - interface ChromeOsDevices { - /** List of Chrome OS Device objects. */ - chromeosdevices?: ChromeOsDevice[]; - /** ETag of the resource. */ - etag?: string; - /** Kind of resource this is. */ - kind?: string; - /** Token used to access the next page of this result. To access the next page, use this token's value in the `pageToken` query string of this request. */ - nextPageToken?: string; - } - interface ChromeOsMoveDevicesToOu { - /** Chrome OS devices to be moved to OU */ - deviceIds?: string[]; - } - interface CreatePrinterRequest { - /** Required. The name of the customer. Format: customers/{customer_id} */ - parent?: string; - /** Required. A printer to create. If you want to place the printer under particular OU then populate printer.org_unit_id filed. Otherwise the printer will be placed under root OU. */ - printer?: Printer; - } - interface 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 Google Workspace account. (Readonly) */ - id?: string; - /** Identifies the resource as a customer. Value: `admin#directory#customer` */ - kind?: string; - /** - * The customer's ISO 639-2 language code. See the [Language Codes](/admin-sdk/directory/v1/languages) page for the list of supported codes. Valid language codes outside the supported - * set will be accepted by the API but may lead to unexpected behavior. The default value is `en`. - */ - language?: string; - /** The customer's contact phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format. */ - phoneNumber?: string; - /** The customer's postal address information. */ - postalAddress?: CustomerPostalAddress; - } - interface 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](https://www.iso.org/iso/country_codes.htm). */ - 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; - } - interface DirectoryChromeosdevicesCommand { - /** The time at which the command will expire. If the device doesn't execute the command within this time the command will become expired. */ - commandExpireTime?: string; - /** Unique ID of a device command. */ - commandId?: string; - /** The result of the command execution. */ - commandResult?: DirectoryChromeosdevicesCommandResult; - /** The timestamp when the command was issued by the admin. */ - issueTime?: string; - /** The payload that the command specified, if any. */ - payload?: string; - /** Indicates the command state. */ - state?: string; - /** The type of the command. */ - type?: string; - } - interface DirectoryChromeosdevicesCommandResult { - /** The error message with a short explanation as to why the command failed. Only present if the command failed. */ - errorMessage?: string; - /** The time at which the command was executed or failed to execute. */ - executeTime?: string; - /** The result of the command. */ - result?: string; - } - interface DirectoryChromeosdevicesIssueCommandRequest { - /** The type of command. */ - commandType?: string; - /** - * The payload for the command, provide it only if command supports it. The following commands support adding payload: - SET_VOLUME: Payload is a stringified JSON object in the form: { - * "volume": 50 }. The volume has to be an integer in the range [0,100]. - */ - payload?: string; - } - interface DirectoryChromeosdevicesIssueCommandResponse { - /** The unique ID of the issued command, used to retrieve the command status. */ - commandId?: string; - } - interface 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; - } - interface DomainAliases { - /** List of domain alias objects. */ - domainAliases?: DomainAlias[]; - /** ETag of the resource. */ - etag?: string; - /** Kind of resource this is. */ - kind?: string; - } - interface Domains { - /** Creation time of the domain. Expressed in [Unix time](https://en.wikipedia.org/wiki/Epoch_time) format. (Read-only). */ - creationTime?: string; - /** List of domain alias objects. (Read-only) */ - domainAliases?: 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; - } - interface Domains2 { - /** List of domain objects. */ - domains?: Domains[]; - /** ETag of the resource. */ - etag?: string; - /** Kind of resource this is. */ - kind?: string; - } - // tslint:disable-next-line:no-empty-interface - interface Empty { - } - interface FailureInfo { - /** Canonical code for why the update failed to apply. */ - errorCode?: string; - /** Failure reason message. */ - errorMessage?: string; - /** Failed printer. */ - printer?: Printer; - /** Id of a failed printer. */ - printerId?: string; - } - interface Feature { - /** ETag of the resource. */ - etags?: string; - /** Kind of resource this is. */ - kind?: string; - /** The name of the feature. */ - name?: string; - } - interface FeatureInstance { - /** The feature that this is an instance of. A calendar resource may have multiple instances of a feature. */ - feature?: Feature; - } - interface FeatureRename { - /** New name of the feature. */ - newName?: string; - } - interface Features { - /** ETag of the resource. */ - etag?: string; - /** The Features in this page of results. */ - features?: 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; - } - interface Group { - /** Read-only. Value is `true` if this group was created by an administrator rather than a user. */ - adminCreated?: boolean; - /** Read-only. A list of a group's alias email addresses. */ - aliases?: string[]; - /** - * An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to - * the group, links to FAQs about the group, or related groups. Maximum length is `4,096` characters. - */ - description?: string; - /** - * The number of users that are direct members of the group. If a group is a member (child) of this group (the parent), members of the child group are not counted in the - * `directMembersCount` property of the parent group. - */ - directMembersCount?: string; - /** - * The group's email address. If your account has multiple domains, select the appropriate domain for the email address. The `email` must be unique. This property is required when - * creating a group. Group email addresses are subject to the same character usage rules as usernames, see the [help center](https://support.google.com/a/answer/9193374) for details. - */ - email?: string; - /** ETag of the resource. */ - etag?: string; - /** Read-only. The unique ID of a group. A group `id` can be used as a group request URI's `groupKey`. */ - id?: string; - /** The type of the API resource. For Groups resources, the value is `admin#directory#group`. */ - kind?: string; - /** The group's display name. */ - name?: string; - /** - * Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the - * group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored by the API service. - */ - nonEditableAliases?: string[]; - } - interface Groups { - /** ETag of the resource. */ - etag?: string; - /** List of group objects. */ - groups?: Group[]; - /** Kind of resource this is. */ - kind?: string; - /** Token used to access next page of this result. */ - nextPageToken?: string; - } - interface ListPrinterModelsResponse { - /** A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ - nextPageToken?: string; - /** Printer models that are currently allowed to be configured for ChromeOs. Some printers may be added or removed over time. */ - printerModels?: PrinterModel[]; - } - interface ListPrintersResponse { - /** A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ - nextPageToken?: string; - /** - * List of printers. If `org_unit_id` was given in the request, then only printers visible for this OU will be returned. If `org_unit_id` was not given in the request, then all - * printers will be returned. - */ - printers?: Printer[]; - } - interface Member { - /** Defines mail delivery preferences of member. This is only supported by create/update/get. */ - delivery_settings?: string; - /** - * The member's email address. A member can be a user or another group. This property is required when adding a member to a group. The `email` must be unique and cannot be an alias of - * another group. If the email address is changed, the API automatically reflects the email address changes. - */ - email?: string; - /** ETag of the resource. */ - etag?: string; - /** The unique ID of the group member. A member `id` can be used as a member request URI's `memberKey`. */ - id?: string; - /** The type of the API resource. For Members resources, the value is `admin#directory#member`. */ - kind?: string; - /** - * The member's role in a group. The API returns an error for cycles in group memberships. For example, if `group1` is a member of `group2`, `group2` cannot be a member of `group1`. - * For more information about a member's role, see the [administration help center](https://support.google.com/a/answer/167094). - */ - role?: string; - /** Status of member (Immutable) */ - status?: string; - /** The type of group member. */ - type?: string; - } - interface Members { - /** ETag of the resource. */ - etag?: string; - /** Kind of resource this is. */ - kind?: string; - /** List of member objects. */ - members?: Member[]; - /** Token used to access next page of this result. */ - nextPageToken?: string; - } - interface MembersHasMember { - /** Output only. Identifies whether the given user is a member of the group. Membership can be direct or nested. */ - isMember?: boolean; - } - interface MobileDevice { - /** Adb (USB debugging) enabled or disabled on device (Read-only) */ - adbStatus?: boolean; - /** - * The list of applications installed on an Android mobile device. It is not applicable to Google Sync and iOS devices. The list includes any Android applications that access Google - * Workspace data. When updating an applications list, it is important to note that updates replace the existing list. If the Android device has two existing applications and the API - * updates the list with five applications, the is now the updated list of five applications. - */ - applications?: Array<{ - /** The application's display name. An example is `Browser`. */ - displayName?: string; - /** The application's package name. An example is `com.android.browser`. */ - packageName?: string; - /** - * The list of permissions of this application. These can be either a standard Android permission or one defined by the application, and are found in an application's [Android - * manifest](https://developer.android.com/guide/topics/manifest/uses-permission-element.html). Examples of a Calendar application's permissions are `READ_CALENDAR`, or - * `MANAGE_ACCOUNTS`. - */ - permission?: string[]; - /** The application's version code. An example is `13`. */ - versionCode?: number; - /** The application's version name. An example is `3.2-140714`. */ - versionName?: string; - }>; - /** The device's baseband version. */ - basebandVersion?: string; - /** Mobile Device Bootloader version (Read-only) */ - bootloaderVersion?: string; - /** Mobile Device Brand (Read-only) */ - brand?: string; - /** The device's operating system build number. */ - buildNumber?: string; - /** The default locale used on the device. */ - defaultLanguage?: string; - /** Developer options enabled or disabled on device (Read-only) */ - developerOptionsStatus?: boolean; - /** The compromised device status. */ - deviceCompromisedStatus?: string; - /** The serial number for a Google Sync mobile device. For Android and iOS devices, this is a software generated unique identifier. */ - deviceId?: string; - /** DevicePasswordStatus (Read-only) */ - devicePasswordStatus?: string; - /** - * List of owner's email addresses. If your application needs the current list of user emails, use the [get](/admin-sdk/directory/v1/reference/mobiledevices/get.html) method. For - * additional information, see the [retrieve a user](/admin-sdk/directory/v1/guides/manage-users#get_user) method. - */ - 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; - /** - * The IMEI/MEID unique identifier for Android hardware. It is not applicable to Google Sync devices. When adding an Android mobile device, this is an optional property. When updating - * one of these devices, this is a read-only property. - */ - hardwareId?: string; - /** The device's IMEI number. */ - imei?: string; - /** The device's kernel version. */ - kernelVersion?: string; - /** The type of the API resource. For Mobiledevices resources, the value is `admin#directory#mobiledevice`. */ - 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. */ - managedAccountIsOnOwnerProfile?: boolean; - /** Mobile Device manufacturer (Read-only) */ - manufacturer?: string; - /** The device's MEID number. */ - meid?: string; - /** - * The mobile device's model name, for example Nexus S. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more information, see the - * [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile=devices#update_mobile_device). - */ - model?: string; - /** - * List of the owner's user names. If your application needs the current list of device owner names, use the [get](/admin-sdk/directory/v1/reference/mobiledevices/get.html) method. For - * more information about retrieving mobile device user information, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-users#get_user). - */ - name?: string[]; - /** Mobile Device mobile or network operator (if available) (Read-only) */ - networkOperator?: string; - /** - * The mobile device's operating system, for example IOS 4.3 or Android 2.3.5. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more - * information, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile-devices#update_mobile_device). - */ - 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; - /** The unique ID the API service uses to identify the mobile device. */ - resourceId?: string; - /** Mobile Device Security patch level (Read-only) */ - securityPatchLevel?: string; - /** The device's serial number. */ - serialNumber?: string; - /** The device's status. */ - status?: string; - /** Work profile supported on device (Read-only) */ - supportsWorkProfile?: boolean; - /** The type of mobile device. */ - type?: string; - /** Unknown sources enabled or disabled on device (Read-only) */ - unknownSourcesStatus?: boolean; - /** - * Gives information about the device such as `os` version. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more information, see the - * [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile-devices#update_mobile_device). - */ - userAgent?: string; - /** The device's MAC address on Wi-Fi networks. */ - wifiMacAddress?: string; - } - interface MobileDeviceAction { - /** The action to be performed on the device. */ - action?: string; - } - interface MobileDevices { - /** ETag of the resource. */ - etag?: string; - /** Kind of resource this is. */ - kind?: string; - /** List of Mobile Device objects. */ - mobiledevices?: MobileDevice[]; - /** Token used to access next page of this result. */ - nextPageToken?: string; - } - interface OrgUnit { - /** - * Determines if a sub-organizational unit can inherit the settings of the parent organization. The default value is `false`, meaning a sub-organizational unit inherits the settings of - * the nearest parent organizational unit. For more information on inheritance and users in an organization structure, see the [administration help - * center](https://support.google.com/a/answer/4352075). - */ - blockInheritance?: boolean; - /** Description of the organizational unit. */ - description?: string; - /** ETag of the resource. */ - etag?: string; - /** The type of the API resource. For Orgunits resources, the value is `admin#directory#orgUnit`. */ - kind?: string; - /** The organizational unit's path name. For example, an organizational unit's name within the /corp/support/sales_support parent path is sales_support. Required. */ - name?: string; - /** The unique ID of the organizational unit. */ - orgUnitId?: string; - /** - * The full path to the organizational unit. The `orgUnitPath` is a derived property. When listed, it is derived from `parentOrgunitPath` and organizational unit's `name`. For example, - * for an organizational unit named 'apps' under parent organization '/engineering', the orgUnitPath is '/engineering/apps'. In order to edit an `orgUnitPath`, either update the name - * of the organization or the `parentOrgunitPath`. A user's organizational unit determines which Google Workspace services the user has access to. If the user is moved to a new - * organization, the user's access changes. For more information about organization structures, see the [administration help center](https://support.google.com/a/answer/4352075). For - * more information about moving a user to a different organization, see [Update a user](/admin-sdk/directory/v1/guides/manage-users.html#update_user). - */ - orgUnitPath?: string; - /** The unique ID of the parent organizational unit. Required, unless `parentOrgUnitPath` is set. */ - parentOrgUnitId?: string; - /** The organizational unit's parent path. For example, /corp/sales is the parent path for /corp/sales/sales_support organizational unit. Required, unless `parentOrgUnitId` is set. */ - parentOrgUnitPath?: string; - } - interface OrgUnits { - /** ETag of the resource. */ - etag?: string; - /** The type of the API resource. For Org Unit resources, the type is `admin#directory#orgUnits`. */ - kind?: string; - /** List of organizational unit objects. */ - organizationUnits?: OrgUnit[]; - } - interface Printer { - /** Output only. Auxiliary messages about issues with the printer configuration if any. */ - auxiliaryMessages?: AuxiliaryMessage[]; - /** Output only. Time when printer was created. */ - createTime?: string; - /** Editable. Description of printer. */ - description?: string; - /** Editable. Name of printer. */ - displayName?: string; - /** Id of the printer. (During printer creation leave empty) */ - id?: string; - /** Editable. Make and model of printer. e.g. Lexmark MS610de Value must be in format as seen in ListPrinterModels response. */ - makeAndModel?: string; - /** The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) */ - name?: string; - /** Organization Unit that owns this printer (Only can be set during Printer creation) */ - orgUnitId?: string; - /** Editable. Printer URI. */ - uri?: string; - /** Editable. flag to use driverless configuration or not. If it's set to be true, make_and_model can be ignored */ - useDriverlessConfig?: boolean; - } - interface PrinterModel { - /** Display name. eq. "Brother MFC-8840D" */ - displayName?: string; - /** Make and model as represented in "make_and_model" field in Printer object. eq. "brother mfc-8840d" */ - makeAndModel?: string; - /** Manufacturer. eq. "Brother" */ - manufacturer?: string; - } - interface 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?: 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. This value is returned with [`Privileges.list()`](/admin-sdk/directory/v1/reference/privileges/list). */ - serviceId?: string; - /** The name of the service this privilege is for. */ - serviceName?: string; - } - interface Privileges { - /** ETag of the resource. */ - etag?: string; - /** A list of Privilege resources. */ - items?: Privilege[]; - /** The type of the API resource. This is always `admin#directory#privileges`. */ - kind?: string; - } - interface 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?: Array<{ - /** The name of the privilege. */ - privilegeName?: string; - /** The obfuscated ID of the service this privilege is for. This value is returned with [`Privileges.list()`](/admin-sdk/directory/v1/reference/privileges/list). */ - serviceId?: string; - }>; - } - interface RoleAssignment { - /** - * The unique ID of the entity this role is assigned to—either the `user_id` of a user or the `uniqueId` of a service account, as defined in [Identity and Access Management - * (IAM)](https://cloud.google.com/iam/docs/reference/rest/v1/projects.serviceAccounts). - */ - 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. */ - scopeType?: string; - } - interface RoleAssignments { - /** ETag of the resource. */ - etag?: string; - /** A list of RoleAssignment resources. */ - items?: RoleAssignment[]; - /** The type of the API resource. This is always `admin#directory#roleAssignments`. */ - kind?: string; - nextPageToken?: string; - } - interface Roles { - /** ETag of the resource. */ - etag?: string; - /** A list of Role resources. */ - items?: Role[]; - /** The type of the API resource. This is always `admin#directory#roles`. */ - kind?: string; - nextPageToken?: string; - } - interface Schema { - /** Display name for the schema. */ - displayName?: string; - /** The ETag of the resource. */ - etag?: string; - /** A list of fields in the schema. */ - fields?: SchemaFieldSpec[]; - /** Kind of resource this is. */ - kind?: string; - /** The unique identifier of the schema (Read-only) */ - schemaId?: string; - /** The schema's name. Each `schema_name` must be unique within a customer. Reusing a name results in a `409: Entity already exists` error. */ - schemaName?: string; - } - interface SchemaFieldSpec { - /** Display Name of the field. */ - displayName?: string; - /** The ETag of the field. */ - etag?: string; - /** The unique identifier of the field (Read-only) */ - fieldId?: string; - /** The name of the field. */ - fieldName?: string; - /** The type of the field. */ - fieldType?: string; - /** Boolean specifying whether the field is indexed or not. Default: `true`. */ - indexed?: boolean; - /** The kind of resource this is. For schema fields this is always `admin#directory#schema#fieldspec`. */ - kind?: string; - /** A boolean specifying whether this is a multi-valued field or not. Default: `false`. */ - 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?: { - /** Maximum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant. */ - maxValue?: number; - /** Minimum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant. */ - minValue?: number; - }; - /** - * Specifies who can view values of this field. See [Retrieve users as a non-administrator](/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin) for more information. - * Note: It may take up to 24 hours for changes to this field to be reflected. - */ - readAccessType?: string; - } - interface Schemas { - /** ETag of the resource. */ - etag?: string; - /** Kind of resource this is. */ - kind?: string; - /** List of UserSchema objects. */ - schemas?: Schema[]; - } - interface 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; - } - interface Tokens { - /** ETag of the resource. */ - etag?: string; - /** A list of Token resources. */ - items?: Token[]; - /** The type of the API resource. This is always `admin#directory#tokenList`. */ - kind?: string; - } - interface User { - /** A list of the user's addresses. The maximum allowed data size for this field is 10Kb. */ - addresses?: any; - /** Output only. This property is `true` if the user has completed an initial login and accepted the Terms of Service agreement. */ - agreedToTerms?: boolean; - /** Output only. A list of the user's alias email addresses. */ - aliases?: string[]; - /** Indicates if user is archived. */ - archived?: boolean; - /** - * Indicates if the user is forced to change their password at next login. This setting doesn't apply when [the user signs in via a third-party identity - * provider](https://support.google.com/a/answer/60224). - */ - changePasswordAtNextLogin?: boolean; - /** User's G Suite account creation time. (Read-only) */ - creationTime?: string; - /** - * Output only. The customer ID to [retrieve all account users](/admin-sdk/directory/v1/guides/manage-users.html#get_all_users). You can use the alias `my_customer` to represent your - * account's `customerId`. As a reseller administrator, you can use the resold customer account's `customerId`. To get a `customerId`, use the account's primary domain in the `domain` - * parameter of a [users.list](/admin-sdk/directory/v1/reference/users/list) request. - */ - customerId?: string; - /** Custom fields of the user. The key is a `schema_name` and its values are `'field_name': 'field_value'`. */ - customSchemas?: { [P in string]: UserCustomProperties }; - deletionTime?: string; - /** A list of the user's email addresses. The maximum allowed data size for this field is 10Kb. */ - emails?: any; - /** Output only. ETag of the resource. */ - etag?: string; - /** A list of external IDs for the user, such as an employee or network ID. The maximum allowed data size for this field is 2Kb. */ - externalIds?: any; - /** The user's gender. The maximum allowed data size for this field is 1Kb. */ - gender?: any; - /** - * Stores the hash format of the `password` property. The following `hashFunction` values are allowed: * `MD5` - Accepts simple hex-encoded values. * `SHA1` - Accepts simple - * hex-encoded values. * `crypt` - Compliant with the [C crypt library](https://en.wikipedia.org/wiki/Crypt_%28C%29). Supports the DES, MD5 (hash prefix `$1$`), SHA-256 (hash prefix - * `$5$`), and SHA-512 (hash prefix `$6$`) hash algorithms. If rounds are specified as part of the prefix, they must be 10,000 or fewer. - */ - hashFunction?: string; - /** The unique ID for the user. A user `id` can be used as a user request URI's `userKey`. */ - id?: string; - /** - * The user's Instant Messenger (IM) accounts. A user account can have multiple ims properties. But, only one of these ims properties can be the primary IM contact. The maximum allowed - * data size for this field is 2Kb. - */ - ims?: any; - /** - * Indicates if the user's profile is visible in the Google Workspace global address list when the contact sharing feature is enabled for the domain. For more information about - * excluding user profiles, see the [administration help center](https://support.google.com/a/answer/1285988). - */ - includeInGlobalAddressList?: boolean; - /** If `true`, the user's IP address is [whitelisted](https://support.google.com/a/answer/60752). */ - ipWhitelisted?: boolean; - /** - * Output only. Indicates a user with super admininistrator privileges. The `isAdmin` property can only be edited in the [Make a user an - * administrator](/admin-sdk/directory/v1/guides/manage-users.html#make_admin) operation ( [makeAdmin](/admin-sdk/directory/v1/reference/users/makeAdmin.html) method). If edited in the - * user [insert](/admin-sdk/directory/v1/reference/users/insert.html) or [update](/admin-sdk/directory/v1/reference/users/update.html) methods, the edit is ignored by the API service. - */ - isAdmin?: boolean; - /** - * Output only. Indicates if the user is a delegated administrator. Delegated administrators are supported by the API but cannot create or undelete users, or make users administrators. - * These requests are ignored by the API service. Roles and privileges for administrators are assigned using the [Admin console](https://support.google.com/a/answer/33325). - */ - isDelegatedAdmin?: boolean; - /** Output only. Is 2-step verification enforced (Read-only) */ - isEnforcedIn2Sv?: boolean; - /** Output only. Is enrolled in 2-step verification (Read-only) */ - isEnrolledIn2Sv?: boolean; - /** Output only. Indicates if the user's Google mailbox is created. This property is only applicable if the user has been assigned a Gmail license. */ - isMailboxSetup?: boolean; - /** The user's keywords. The maximum allowed data size for this field is 1Kb. */ - keywords?: any; - /** Output only. The type of the API resource. For Users resources, the value is `admin#directory#user`. */ - kind?: string; - /** The user's languages. The maximum allowed data size for this field is 1Kb. */ - languages?: any; - /** User's last login time. (Read-only) */ - lastLoginTime?: string; - /** The user's locations. The maximum allowed data size for this field is 10Kb. */ - locations?: any; - /** - * Holds the given and family names of the user, and the read-only `fullName` value. The maximum number of characters in the `givenName` and in the `familyName` values is 60. In - * addition, name values support unicode/UTF-8 characters, and can contain spaces, letters (a-z), numbers (0-9), dashes (-), forward slashes (/), and periods (.). For more information - * about character usage rules, see the [administration help center](https://support.google.com/a/answer/9193374). Maximum allowed data size for this field is 1Kb. - */ - name?: UserName; - /** Output only. List of the user's non-editable alias email addresses. These are typically outside the account's primary domain or sub-domain. */ - nonEditableAliases?: string[]; - /** Notes for the user. */ - notes?: any; - /** A list of organizations the user belongs to. The maximum allowed data size for this field is 10Kb. */ - organizations?: any; - /** The full path of the parent organization associated with the user. If the parent organization is the top-level, it is represented as a forward slash (`/`). */ - orgUnitPath?: string; - /** User's password */ - password?: string; - /** A list of the user's phone numbers. The maximum allowed data size for this field is 1Kb. */ - phones?: any; - /** A list of [POSIX](https://www.opengroup.org/austin/papers/posix_faq.html) account information for the user. */ - posixAccounts?: any; - /** The user's primary email address. This property is required in a request to create a user account. The `primaryEmail` must be unique and cannot be an alias of another user. */ - primaryEmail?: string; - /** Recovery email of the user. */ - recoveryEmail?: string; - /** Recovery phone of the user. The phone number must be in the E.164 format, starting with the plus sign (+). Example: *+16506661212*. */ - recoveryPhone?: string; - /** A list of the user's relationships to other users. The maximum allowed data size for this field is 2Kb. */ - relations?: any; - /** A list of SSH public keys. */ - sshPublicKeys?: any; - /** Indicates if user is suspended. */ - suspended?: boolean; - /** - * Output only. Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. The property is returned only if the `suspended` property - * is `true`. - */ - suspensionReason?: string; - /** Output only. ETag of the user's photo (Read-only) */ - thumbnailPhotoEtag?: string; - /** Output only. Photo Url of the user (Read-only) */ - thumbnailPhotoUrl?: string; - /** The user's websites. The maximum allowed data size for this field is 2Kb. */ - websites?: any; - } - interface 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; - } - interface 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; - } - interface UserCustomProperties { - [key: string]: any; - } - interface 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; - } - interface UserExternalId { - /** Custom type. */ - customType?: string; - /** The type of the Id. */ - type?: string; - /** The value of the id. */ - value?: string; - } - interface 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; - } - interface 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; - } - interface 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; - } - interface UserLanguage { - /** Other language. User can provide their own language name if there is no corresponding ISO 639 language code. If this is set, `languageCode` can't be set. */ - customLanguage?: string; - /** - * ISO 639 string representation of a language. See [Language Codes](/admin-sdk/directory/v1/languages) for the list of supported codes. Valid language codes outside the supported set - * will be accepted by the API but may lead to unexpected behavior. Illegal values cause `SchemaException`. If this is set, `customLanguage` can't be set. - */ - languageCode?: string; - /** - * Optional. If present, controls whether the specified `languageCode` is the user's preferred language. If `customLanguage` is set, this can't be set. Allowed values are `preferred` - * and `not_preferred`. - */ - preference?: string; - } - interface 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; - } - interface UserMakeAdmin { - /** Indicates the administrator status of the user. */ - status?: boolean; - } - interface UserName { - /** The user's last name. Required when creating a user account. */ - familyName?: string; - /** The user's full name formed by concatenating the first and last name values. */ - fullName?: string; - /** The user's first name. Required when creating a user account. */ - givenName?: string; - } - interface 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 millipercent 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; - } - interface 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; - } - interface UserPhoto { - /** ETag of the resource. */ - etag?: string; - /** Height of the photo in pixels. */ - height?: number; - /** The ID the API uses to uniquely identify the user. */ - id?: string; - /** The type of the API resource. For Photo resources, this is `admin#directory#user#photo`. */ - kind?: string; - /** The MIME type of the photo. Allowed values are `JPEG`, `PNG`, `GIF`, `BMP`, `TIFF`, and web-safe base64 encoding. */ - mimeType?: string; - /** - * The user photo's upload data in [web-safe Base64](https://en.wikipedia.org/wiki/Base64#URL_applications) format in bytes. This means: * The slash (/) character is replaced with the - * underscore (_) character. * The plus sign (+) character is replaced with the hyphen (-) character. * The equals sign (=) character is replaced with the asterisk (*). * For padding, - * the period (.) character is used instead of the RFC-4648 baseURL definition which uses the equals sign (=) for padding. This is done to simplify URL-parsing. * Whatever the size of - * the photo being uploaded, the API downsizes it to 96x96 pixels. - */ - photoData?: string; - /** The user's primary email address. */ - primaryEmail?: string; - /** Width of the photo in pixels. */ - width?: number; - } - interface UserPosixAccount { - /** A POSIX account field identifier. */ - 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; - } - interface 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; - } - interface 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?: User[]; - } - interface 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; - } - interface UserUndelete { - /** OrgUnit of User */ - orgUnitPath?: string; - } - interface 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; - } - interface 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; - } - interface VerificationCodes { - /** ETag of the resource. */ - etag?: string; - /** A list of verification code resources. */ - items?: VerificationCode[]; - /** The type of the resource. This is always `admin#directory#verificationCodesList`. */ - kind?: string; - } - interface ChannelsResource { - /** Stops watching resources through this channel. */ - stop(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Channel; - }): Request; - stop(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Channel): Request; - } - interface CommandsResource { - /** Gets command data a specific command issued to the device. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable. Immutable ID of Chrome OS Device Command. */ - commandId: string; - /** Immutable. Immutable ID of the Google Workspace account. */ - customerId: string; - /** Immutable. Immutable ID of Chrome OS Device. */ - deviceId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - } - interface ChromeosResource { - /** Issues a command for the device to execute. */ - issueCommand(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable. Immutable ID of the Google Workspace account. */ - customerId: string; - /** Immutable. Immutable ID of Chrome OS Device. */ - deviceId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: DirectoryChromeosdevicesIssueCommandRequest; - }): Request; - issueCommand(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable. Immutable ID of the Google Workspace account. */ - customerId: string; - /** Immutable. Immutable ID of Chrome OS Device. */ - deviceId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: DirectoryChromeosdevicesIssueCommandRequest): Request; - commands: CommandsResource; - } - interface DevicesResource { - chromeos: ChromeosResource; - } - interface CustomerResource { - devices: DevicesResource; - } - interface PrintersResource { - /** Creates printers under given Organization Unit. */ - batchCreatePrinters(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Required. The name of the customer. Format: customers/{customer_id} */ - parent: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: BatchCreatePrintersRequest; - }): Request; - batchCreatePrinters(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Required. The name of the customer. Format: customers/{customer_id} */ - parent: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: BatchCreatePrintersRequest): Request; - /** Deletes printers in batch. */ - batchDeletePrinters(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Required. The name of the customer. Format: customers/{customer_id} */ - parent: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: BatchDeletePrintersRequest; - }): Request; - batchDeletePrinters(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Required. The name of the customer. Format: customers/{customer_id} */ - parent: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: BatchDeletePrintersRequest): Request; - /** Creates a printer under given Organization Unit. */ - create(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Required. The name of the customer. Format: customers/{customer_id} */ - parent: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Printer; - }): Request; - create(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Required. The name of the customer. Format: customers/{customer_id} */ - parent: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Printer): Request; - /** Deletes a `Printer`. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** Required. The name of the printer to be updated. Format: customers/{customer_id}/chrome/printers/{printer_id} */ - name: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request<{}>; - /** Returns a `Printer` resource (printer's config). */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** Required. The name of the printer to retrieve. Format: customers/{customer_id}/chrome/printers/{printer_id} */ - name: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** List printers configs. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** Search query. Search syntax is shared between this api and Admin Console printers pages. */ - filter?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** - * The order to sort results by. Must be one of display_name, description, make_and_model, or create_time. Default order is ascending, but descending order can be returned by - * appending "desc" to the order_by field. For instance, "description desc" will return the printers sorted by description in descending order. - */ - orderBy?: string; - /** - * Organization Unit that we want to list the printers for. When org_unit is not present in the request then all printers of the customer are returned (or filtered). When org_unit - * is present in the request then only printers available to this OU will be returned (owned or inherited). You may see if printer is owned or inherited for this OU by looking at - * Printer.org_unit_id. - */ - orgUnitId?: string; - /** The maximum number of objects to return. The service may return fewer than this value. */ - pageSize?: number; - /** A page token, received from a previous call. */ - pageToken?: string; - /** Required. The name of the customer who owns this collection of printers. Format: customers/{customer_id} */ - parent: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Lists the supported printer models. */ - listPrinterModels(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** Filer to list only models by a given manufacturer in format: "manufacturer:Brother". Search syntax is shared between this api and Admin Console printers pages. */ - filter?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** The maximum number of objects to return. The service may return fewer than this value. */ - pageSize?: number; - /** A page token, received from a previous call. */ - pageToken?: string; - /** Required. The name of the customer who owns this collection of printers. Format: customers/{customer_id} */ - parent: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Updates a `Printer` resource. */ - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The list of fields to be cleared. Note, some of the fields are read only and cannot be updated. Values for not specified fields will be patched. */ - clearMask?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) */ - name: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The list of fields to be updated. Note, some of the fields are read only and cannot be updated. Values for not specified fields will be patched. */ - updateMask?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Printer; - }): Request; - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The list of fields to be cleared. Note, some of the fields are read only and cannot be updated. Values for not specified fields will be patched. */ - clearMask?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) */ - name: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The list of fields to be updated. Note, some of the fields are read only and cannot be updated. Values for not specified fields will be patched. */ - updateMask?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Printer): Request; - } - interface ChromeResource { - printers: PrintersResource; - } - interface CustomersResource { - chrome: ChromeResource; - } - - const channels: ChannelsResource; - - const customer: CustomerResource; - - const customers: CustomersResource; - } - namespace directory { - interface Alias { - alias?: string; - etag?: string; - id?: string; - kind?: string; - primaryEmail?: string; - } - interface Aliases { - aliases?: any[]; - etag?: string; - kind?: string; - } - interface Asp { - /** The unique ID of the ASP. */ - codeId?: number; - /** The time when the ASP was created. Expressed in [Unix time](https://en.wikipedia.org/wiki/Epoch_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](https://en.wikipedia.org/wiki/Epoch_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 Asps { - /** ETag of the resource. */ - etag?: string; - /** A list of ASP resources. */ - items?: Asp[]; - /** The type of the API resource. This is always `admin#directory#aspList`. */ - kind?: string; - } - interface AuxiliaryMessage { - /** Human readable message in English. Example: "Given printer is invalid or no longer supported." */ - auxiliaryMessage?: string; - /** Field that this message concerns. */ - fieldMask?: string; - /** Message severity */ - severity?: string; - } - interface BatchCreatePrintersRequest { - /** A list of Printers to be created. Max 50 at a time. */ - requests?: CreatePrinterRequest[]; - } - interface BatchCreatePrintersResponse { - /** A list of create failures. Printer IDs are not populated, as printer were not created. */ - failures?: FailureInfo[]; - /** A list of successfully created printers with their IDs populated. */ - printers?: Printer[]; - } - interface BatchDeletePrintersRequest { - /** A list of Printer.id that should be deleted. Max 100 at a time. */ - printerIds?: string[]; - } - interface BatchDeletePrintersResponse { - /** A list of update failures. */ - failedPrinters?: FailureInfo[]; - /** A list of Printer.id that were successfully deleted. */ - printerIds?: string[]; - } - interface Building { - /** - * The postal address of the building. See [`PostalAddress`](/my-business/reference/rest/v4/PostalAddress) for details. Note that only a single address line and region code are - * required. - */ - address?: BuildingAddress; - /** 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?: 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; - } - interface BuildingAddress { - /** Unstructured address lines describing the lower levels of an address. */ - addressLines?: string[]; - /** Optional. Highest administrative subdivision which is used for postal addresses of a country or region. */ - administrativeArea?: string; - /** Optional. BCP-47 language code of the contents of this address (if known). */ - 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 addressLines. - */ - locality?: string; - /** Optional. Postal code of the address. */ - postalCode?: string; - /** Required. CLDR region code of the country/region of the address. */ - regionCode?: string; - /** Optional. Sublocality of the address. */ - sublocality?: string; - } - interface BuildingCoordinates { - /** Latitude in decimal degrees. */ - latitude?: number; - /** Longitude in decimal degrees. */ - longitude?: number; - } - interface Buildings { - /** The Buildings in this page of results. */ - buildings?: 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; - } - interface 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; - /** Instances of features for the calendar resource. */ - 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; - } - interface CalendarResources { - /** ETag of the resource. */ - etag?: string; - /** The CalendarResources in this page of results. */ - items?: 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; - } - interface 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, which is `api#channel`. */ - kind?: string; - /** Additional parameters controlling delivery channel behavior. Optional. */ - params?: { [P in string]: string }; - /** 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 ChromeOsDevice { - /** List of active time ranges (Read-only). */ - activeTimeRanges?: Array<{ - /** Duration of usage in milliseconds. */ - activeTime?: number; - /** Date of usage */ - date?: string; - }>; - /** The asset identifier as noted by an administrator or specified during enrollment. */ - annotatedAssetId?: string; - /** The address or location of the device as noted by the administrator. Maximum length is `200` characters. Empty values are allowed. */ - annotatedLocation?: string; - /** The user of the device as noted by the administrator. Maximum length is 100 characters. Empty values are allowed. */ - annotatedUser?: string; - /** (Read-only) The timestamp after which the device will stop receiving Chrome updates or support */ - autoUpdateExpiration?: string; - /** - * The boot mode for the device. The possible values are: * `Verified`: The device is running a valid version of the Chrome OS. * `Dev`: The devices's developer hardware switch is - * enabled. When booted, the device has a command line shell. For an example of a developer switch, see the [Chromebook developer - * information](https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-series-5-chromebook#TOC-Developer-switch). - */ - bootMode?: string; - /** Information regarding CPU specs in the device. */ - cpuInfo?: Array<{ - /** The CPU architecture. */ - architecture?: string; - /** Information for the Logical CPUs */ - logicalCpus?: Array<{ - /** C-States indicate the power consumption state of the CPU. For more information look at documentation published by the CPU maker. */ - cStates?: Array<{ - /** Name of the state. */ - displayName?: string; - /** Time spent in the state since the last reboot. */ - sessionDuration?: string; - }>; - /** Current frequency the CPU is running at. */ - currentScalingFrequencyKhz?: number; - /** Idle time since last boot. */ - idleDuration?: string; - /** Maximum frequency the CPU is allowed to run at, by policy. */ - maxScalingFrequencyKhz?: number; - }>; - /** The max CPU clock speed in kHz. */ - maxClockSpeedKhz?: number; - /** The CPU model name. */ - model?: string; - }>; - /** Reports of CPU utilization and temperature (Read-only) */ - cpuStatusReports?: Array<{ - /** List of CPU temperature samples. */ - cpuTemperatureInfo?: Array<{ - /** CPU label */ - label?: string; - /** Temperature in Celsius degrees. */ - temperature?: number; - }>; - cpuUtilizationPercentageInfo?: number[]; - /** Date and time the report was received. */ - reportTime?: string; - }>; - /** List of device files to download (Read-only) */ - deviceFiles?: Array<{ - /** Date and time the file was created */ - createTime?: string; - /** File download URL */ - downloadUrl?: string; - /** File name */ - name?: string; - /** File type */ - type?: string; - }>; - /** The unique ID of the Chrome device. */ - deviceId?: string; - /** Reports of disk space and other info about mounted/connected volumes. */ - diskVolumeReports?: Array<{ - /** Disk volumes */ - volumeInfo?: Array<{ - /** Free disk space [in bytes] */ - storageFree?: string; - /** Total disk space [in bytes] */ - storageTotal?: string; - /** Volume id */ - volumeId?: string; - }>; - }>; - /** - * (Read-only) Built-in MAC address for the docking station that the device connected to. Factory sets Media access control address (MAC address) assigned for use by a dock. It is - * reserved specifically for MAC pass through device policy. The format is twelve (12) hexadecimal digits without any delimiter (uppercase letters). This is only relevant for some - * devices. - */ - dockMacAddress?: string; - /** ETag of the resource. */ - etag?: string; - /** The device's MAC address on the ethernet network interface. */ - ethernetMacAddress?: string; - /** - * (Read-only) MAC address used by the Chromebook’s internal ethernet port, and for onboard network (ethernet) interface. The format is twelve (12) hexadecimal digits without any - * delimiter (uppercase letters). This is only relevant for some devices. - */ - ethernetMacAddress0?: string; - /** The Chrome device's firmware version. */ - firmwareVersion?: string; - /** The type of resource. For the Chromeosdevices resource, the value is `admin#directory#chromeosdevice`. */ - kind?: string; - /** Date and time the device was last enrolled (Read-only) */ - lastEnrollmentTime?: string; - /** Contains last known network (Read-only) */ - lastKnownNetwork?: Array<{ - /** The IP address. */ - ipAddress?: string; - /** The WAN IP address. */ - wanIpAddress?: string; - }>; - /** Date and time the device was last synchronized with the policy settings in the G Suite administrator control panel (Read-only) */ - lastSync?: string; - /** The device's wireless MAC address. If the device does not have this information, it is not included in the response. */ - macAddress?: string; - /** (Read-only) The date the device was manufactured in yyyy-mm-dd format. */ - manufactureDate?: string; - /** - * The Mobile Equipment Identifier (MEID) or the International Mobile Equipment Identity (IMEI) for the 3G mobile card in a mobile device. A MEID/IMEI is typically used when adding a - * device to a wireless carrier's post-pay service plan. If the device does not have this information, this property is not included in the response. For more information on how to - * export a MEID/IMEI list, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-chrome-devices.html#export_meid). - */ - meid?: string; - /** The device's model information. If the device does not have this information, this property is not included in the response. */ - model?: string; - /** - * Notes about this device added by the administrator. This property can be [searched](https://support.google.com/chrome/a/answer/1698333) with the - * [list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method's `query` parameter. Maximum length is 500 characters. Empty values are allowed. - */ - notes?: string; - /** The device's order number. Only devices directly purchased from Google have an order number. */ - orderNumber?: string; - /** - * The unique ID of the organizational unit. orgUnitPath is the human readable version of orgUnitId. While orgUnitPath may change by renaming an organizational unit within the path, - * orgUnitId is unchangeable for one organizational unit. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the API. - * For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). - */ - orgUnitId?: string; - /** - * The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level - * organization, it is represented as a forward slash, `/`. This property can be [updated](/admin-sdk/directory/v1/guides/manage-chrome-devices#move_chrome_devices_to_ou) using the - * API. For more information about how to create an organizational structure for your device, see the [administration help center](https://support.google.com/a/answer/182433). - */ - orgUnitPath?: string; - /** The Chrome device's operating system version. */ - osVersion?: string; - /** The Chrome device's platform version. */ - platformVersion?: string; - /** List of recent device users, in descending order, by last login time. */ - recentUsers?: Array<{ - /** The user's email address. This is only present if the user type is `USER_TYPE_MANAGED`. */ - email?: string; - /** The type of the user. */ - type?: string; - }>; - /** List of screenshot files to download. Type is always "SCREENSHOT_FILE". (Read-only) */ - screenshotFiles?: Array<{ - /** Date and time the file was created */ - createTime?: string; - /** File download URL */ - downloadUrl?: string; - /** File name */ - name?: string; - /** File type */ - type?: string; - }>; - /** The Chrome device serial number entered when the device was enabled. This value is the same as the Admin console's *Serial Number* in the *Chrome OS Devices* tab. */ - serialNumber?: string; - /** The status of the device. */ - status?: string; - /** Final date the device will be supported (Read-only) */ - supportEndDate?: string; - /** Reports of amounts of available RAM memory (Read-only) */ - systemRamFreeReports?: Array<{ - /** Date and time the report was received. */ - reportTime?: string; - systemRamFreeInfo?: string[]; - }>; - /** Total RAM on the device [in bytes] (Read-only) */ - systemRamTotal?: string; - /** Trusted Platform Module (TPM) (Read-only) */ - tpmVersionInfo?: { - /** TPM family. We use the TPM 2.0 style encoding, e.g.: TPM 1.2: "1.2" -> 312e3200 TPM 2.0: "2.0" -> 322e3000 */ - family?: string; - /** TPM firmware version. */ - firmwareVersion?: string; - /** TPM manufacturer code. */ - manufacturer?: string; - /** TPM specification level. See Library Specification for TPM 2.0 and Main Specification for TPM 1.2. */ - specLevel?: string; - /** TPM model number. */ - tpmModel?: string; - /** Vendor-specific information such as Vendor ID. */ - vendorSpecific?: string; - }; - /** Determines if the device will auto renew its support after the support end date. This is a read-only property. */ - willAutoRenew?: boolean; - } - interface ChromeOsDeviceAction { - /** Action to be taken on the Chrome OS device. */ - action?: string; - /** - * Only used when the action is `deprovision`. With the `deprovision` action, this field is required. *Note*: The deprovision reason is audited because it might have implications on - * licenses for perpetual subscription customers. - */ - deprovisionReason?: string; - } - interface ChromeOsDevices { - /** List of Chrome OS Device objects. */ - chromeosdevices?: ChromeOsDevice[]; - /** ETag of the resource. */ - etag?: string; - /** Kind of resource this is. */ - kind?: string; - /** Token used to access the next page of this result. To access the next page, use this token's value in the `pageToken` query string of this request. */ - nextPageToken?: string; - } - interface ChromeOsMoveDevicesToOu { - /** Chrome OS devices to be moved to OU */ - deviceIds?: string[]; - } - interface CreatePrinterRequest { - /** Required. The name of the customer. Format: customers/{customer_id} */ - parent?: string; - /** Required. A printer to create. If you want to place the printer under particular OU then populate printer.org_unit_id filed. Otherwise the printer will be placed under root OU. */ - printer?: Printer; - } - interface 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 Google Workspace account. (Readonly) */ - id?: string; - /** Identifies the resource as a customer. Value: `admin#directory#customer` */ - kind?: string; - /** - * The customer's ISO 639-2 language code. See the [Language Codes](/admin-sdk/directory/v1/languages) page for the list of supported codes. Valid language codes outside the supported - * set will be accepted by the API but may lead to unexpected behavior. The default value is `en`. - */ - language?: string; - /** The customer's contact phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format. */ - phoneNumber?: string; - /** The customer's postal address information. */ - postalAddress?: CustomerPostalAddress; - } - interface 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](https://www.iso.org/iso/country_codes.htm). */ - 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; - } - interface DirectoryChromeosdevicesCommand { - /** The time at which the command will expire. If the device doesn't execute the command within this time the command will become expired. */ - commandExpireTime?: string; - /** Unique ID of a device command. */ - commandId?: string; - /** The result of the command execution. */ - commandResult?: DirectoryChromeosdevicesCommandResult; - /** The timestamp when the command was issued by the admin. */ - issueTime?: string; - /** The payload that the command specified, if any. */ - payload?: string; - /** Indicates the command state. */ - state?: string; - /** The type of the command. */ - type?: string; - } - interface DirectoryChromeosdevicesCommandResult { - /** The error message with a short explanation as to why the command failed. Only present if the command failed. */ - errorMessage?: string; - /** The time at which the command was executed or failed to execute. */ - executeTime?: string; - /** The result of the command. */ - result?: string; - } - interface DirectoryChromeosdevicesIssueCommandRequest { - /** The type of command. */ - commandType?: string; - /** - * The payload for the command, provide it only if command supports it. The following commands support adding payload: - SET_VOLUME: Payload is a stringified JSON object in the form: { - * "volume": 50 }. The volume has to be an integer in the range [0,100]. - */ - payload?: string; - } - interface DirectoryChromeosdevicesIssueCommandResponse { - /** The unique ID of the issued command, used to retrieve the command status. */ - commandId?: string; - } - interface 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; - } - interface DomainAliases { - /** List of domain alias objects. */ - domainAliases?: DomainAlias[]; - /** ETag of the resource. */ - etag?: string; - /** Kind of resource this is. */ - kind?: string; - } - interface Domains { - /** Creation time of the domain. Expressed in [Unix time](https://en.wikipedia.org/wiki/Epoch_time) format. (Read-only). */ - creationTime?: string; - /** List of domain alias objects. (Read-only) */ - domainAliases?: 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; - } - interface Domains2 { - /** List of domain objects. */ - domains?: Domains[]; - /** ETag of the resource. */ - etag?: string; - /** Kind of resource this is. */ - kind?: string; - } - // tslint:disable-next-line:no-empty-interface - interface Empty { - } - interface FailureInfo { - /** Canonical code for why the update failed to apply. */ - errorCode?: string; - /** Failure reason message. */ - errorMessage?: string; - /** Failed printer. */ - printer?: Printer; - /** Id of a failed printer. */ - printerId?: string; - } - interface Feature { - /** ETag of the resource. */ - etags?: string; - /** Kind of resource this is. */ - kind?: string; - /** The name of the feature. */ - name?: string; - } - interface FeatureInstance { - /** The feature that this is an instance of. A calendar resource may have multiple instances of a feature. */ - feature?: Feature; - } - interface FeatureRename { - /** New name of the feature. */ - newName?: string; - } - interface Features { - /** ETag of the resource. */ - etag?: string; - /** The Features in this page of results. */ - features?: 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; - } - interface Group { - /** Read-only. Value is `true` if this group was created by an administrator rather than a user. */ - adminCreated?: boolean; - /** Read-only. A list of a group's alias email addresses. */ - aliases?: string[]; - /** - * An extended description to help users determine the purpose of a group. For example, you can include information about who should join the group, the types of messages to send to - * the group, links to FAQs about the group, or related groups. Maximum length is `4,096` characters. - */ - description?: string; - /** - * The number of users that are direct members of the group. If a group is a member (child) of this group (the parent), members of the child group are not counted in the - * `directMembersCount` property of the parent group. - */ - directMembersCount?: string; - /** - * The group's email address. If your account has multiple domains, select the appropriate domain for the email address. The `email` must be unique. This property is required when - * creating a group. Group email addresses are subject to the same character usage rules as usernames, see the [help center](https://support.google.com/a/answer/9193374) for details. - */ - email?: string; - /** ETag of the resource. */ - etag?: string; - /** Read-only. The unique ID of a group. A group `id` can be used as a group request URI's `groupKey`. */ - id?: string; - /** The type of the API resource. For Groups resources, the value is `admin#directory#group`. */ - kind?: string; - /** The group's display name. */ - name?: string; - /** - * Read-only. A list of the group's non-editable alias email addresses that are outside of the account's primary domain or subdomains. These are functioning email addresses used by the - * group. This is a read-only property returned in the API's response for a group. If edited in a group's POST or PUT request, the edit is ignored by the API service. - */ - nonEditableAliases?: string[]; - } - interface Groups { - /** ETag of the resource. */ - etag?: string; - /** List of group objects. */ - groups?: Group[]; - /** Kind of resource this is. */ - kind?: string; - /** Token used to access next page of this result. */ - nextPageToken?: string; - } - interface ListPrinterModelsResponse { - /** A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ - nextPageToken?: string; - /** Printer models that are currently allowed to be configured for ChromeOs. Some printers may be added or removed over time. */ - printerModels?: PrinterModel[]; - } - interface ListPrintersResponse { - /** A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ - nextPageToken?: string; - /** - * List of printers. If `org_unit_id` was given in the request, then only printers visible for this OU will be returned. If `org_unit_id` was not given in the request, then all - * printers will be returned. - */ - printers?: Printer[]; - } - interface Member { - /** Defines mail delivery preferences of member. This is only supported by create/update/get. */ - delivery_settings?: string; - /** - * The member's email address. A member can be a user or another group. This property is required when adding a member to a group. The `email` must be unique and cannot be an alias of - * another group. If the email address is changed, the API automatically reflects the email address changes. - */ - email?: string; - /** ETag of the resource. */ - etag?: string; - /** The unique ID of the group member. A member `id` can be used as a member request URI's `memberKey`. */ - id?: string; - /** The type of the API resource. For Members resources, the value is `admin#directory#member`. */ - kind?: string; - /** - * The member's role in a group. The API returns an error for cycles in group memberships. For example, if `group1` is a member of `group2`, `group2` cannot be a member of `group1`. - * For more information about a member's role, see the [administration help center](https://support.google.com/a/answer/167094). - */ - role?: string; - /** Status of member (Immutable) */ - status?: string; - /** The type of group member. */ - type?: string; - } - interface Members { - /** ETag of the resource. */ - etag?: string; - /** Kind of resource this is. */ - kind?: string; - /** List of member objects. */ - members?: Member[]; - /** Token used to access next page of this result. */ - nextPageToken?: string; - } - interface MembersHasMember { - /** Output only. Identifies whether the given user is a member of the group. Membership can be direct or nested. */ - isMember?: boolean; - } - interface MobileDevice { - /** Adb (USB debugging) enabled or disabled on device (Read-only) */ - adbStatus?: boolean; - /** - * The list of applications installed on an Android mobile device. It is not applicable to Google Sync and iOS devices. The list includes any Android applications that access Google - * Workspace data. When updating an applications list, it is important to note that updates replace the existing list. If the Android device has two existing applications and the API - * updates the list with five applications, the is now the updated list of five applications. - */ - applications?: Array<{ - /** The application's display name. An example is `Browser`. */ - displayName?: string; - /** The application's package name. An example is `com.android.browser`. */ - packageName?: string; - /** - * The list of permissions of this application. These can be either a standard Android permission or one defined by the application, and are found in an application's [Android - * manifest](https://developer.android.com/guide/topics/manifest/uses-permission-element.html). Examples of a Calendar application's permissions are `READ_CALENDAR`, or - * `MANAGE_ACCOUNTS`. - */ - permission?: string[]; - /** The application's version code. An example is `13`. */ - versionCode?: number; - /** The application's version name. An example is `3.2-140714`. */ - versionName?: string; - }>; - /** The device's baseband version. */ - basebandVersion?: string; - /** Mobile Device Bootloader version (Read-only) */ - bootloaderVersion?: string; - /** Mobile Device Brand (Read-only) */ - brand?: string; - /** The device's operating system build number. */ - buildNumber?: string; - /** The default locale used on the device. */ - defaultLanguage?: string; - /** Developer options enabled or disabled on device (Read-only) */ - developerOptionsStatus?: boolean; - /** The compromised device status. */ - deviceCompromisedStatus?: string; - /** The serial number for a Google Sync mobile device. For Android and iOS devices, this is a software generated unique identifier. */ - deviceId?: string; - /** DevicePasswordStatus (Read-only) */ - devicePasswordStatus?: string; - /** - * List of owner's email addresses. If your application needs the current list of user emails, use the [get](/admin-sdk/directory/v1/reference/mobiledevices/get.html) method. For - * additional information, see the [retrieve a user](/admin-sdk/directory/v1/guides/manage-users#get_user) method. - */ - 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; - /** - * The IMEI/MEID unique identifier for Android hardware. It is not applicable to Google Sync devices. When adding an Android mobile device, this is an optional property. When updating - * one of these devices, this is a read-only property. - */ - hardwareId?: string; - /** The device's IMEI number. */ - imei?: string; - /** The device's kernel version. */ - kernelVersion?: string; - /** The type of the API resource. For Mobiledevices resources, the value is `admin#directory#mobiledevice`. */ - 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. */ - managedAccountIsOnOwnerProfile?: boolean; - /** Mobile Device manufacturer (Read-only) */ - manufacturer?: string; - /** The device's MEID number. */ - meid?: string; - /** - * The mobile device's model name, for example Nexus S. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more information, see the - * [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile=devices#update_mobile_device). - */ - model?: string; - /** - * List of the owner's user names. If your application needs the current list of device owner names, use the [get](/admin-sdk/directory/v1/reference/mobiledevices/get.html) method. For - * more information about retrieving mobile device user information, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-users#get_user). - */ - name?: string[]; - /** Mobile Device mobile or network operator (if available) (Read-only) */ - networkOperator?: string; - /** - * The mobile device's operating system, for example IOS 4.3 or Android 2.3.5. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more - * information, see the [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile-devices#update_mobile_device). - */ - 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; - /** The unique ID the API service uses to identify the mobile device. */ - resourceId?: string; - /** Mobile Device Security patch level (Read-only) */ - securityPatchLevel?: string; - /** The device's serial number. */ - serialNumber?: string; - /** The device's status. */ - status?: string; - /** Work profile supported on device (Read-only) */ - supportsWorkProfile?: boolean; - /** The type of mobile device. */ - type?: string; - /** Unknown sources enabled or disabled on device (Read-only) */ - unknownSourcesStatus?: boolean; - /** - * Gives information about the device such as `os` version. This property can be [updated](/admin-sdk/directory/v1/reference/mobiledevices/update.html). For more information, see the - * [Developer's Guide](/admin-sdk/directory/v1/guides/manage-mobile-devices#update_mobile_device). - */ - userAgent?: string; - /** The device's MAC address on Wi-Fi networks. */ - wifiMacAddress?: string; - } - interface MobileDeviceAction { - /** The action to be performed on the device. */ - action?: string; - } - interface MobileDevices { - /** ETag of the resource. */ - etag?: string; - /** Kind of resource this is. */ - kind?: string; - /** List of Mobile Device objects. */ - mobiledevices?: MobileDevice[]; - /** Token used to access next page of this result. */ - nextPageToken?: string; - } - interface OrgUnit { - /** - * Determines if a sub-organizational unit can inherit the settings of the parent organization. The default value is `false`, meaning a sub-organizational unit inherits the settings of - * the nearest parent organizational unit. For more information on inheritance and users in an organization structure, see the [administration help - * center](https://support.google.com/a/answer/4352075). - */ - blockInheritance?: boolean; - /** Description of the organizational unit. */ - description?: string; - /** ETag of the resource. */ - etag?: string; - /** The type of the API resource. For Orgunits resources, the value is `admin#directory#orgUnit`. */ - kind?: string; - /** The organizational unit's path name. For example, an organizational unit's name within the /corp/support/sales_support parent path is sales_support. Required. */ - name?: string; - /** The unique ID of the organizational unit. */ - orgUnitId?: string; - /** - * The full path to the organizational unit. The `orgUnitPath` is a derived property. When listed, it is derived from `parentOrgunitPath` and organizational unit's `name`. For example, - * for an organizational unit named 'apps' under parent organization '/engineering', the orgUnitPath is '/engineering/apps'. In order to edit an `orgUnitPath`, either update the name - * of the organization or the `parentOrgunitPath`. A user's organizational unit determines which Google Workspace services the user has access to. If the user is moved to a new - * organization, the user's access changes. For more information about organization structures, see the [administration help center](https://support.google.com/a/answer/4352075). For - * more information about moving a user to a different organization, see [Update a user](/admin-sdk/directory/v1/guides/manage-users.html#update_user). - */ - orgUnitPath?: string; - /** The unique ID of the parent organizational unit. Required, unless `parentOrgUnitPath` is set. */ - parentOrgUnitId?: string; - /** The organizational unit's parent path. For example, /corp/sales is the parent path for /corp/sales/sales_support organizational unit. Required, unless `parentOrgUnitId` is set. */ - parentOrgUnitPath?: string; - } - interface OrgUnits { - /** ETag of the resource. */ - etag?: string; - /** The type of the API resource. For Org Unit resources, the type is `admin#directory#orgUnits`. */ - kind?: string; - /** List of organizational unit objects. */ - organizationUnits?: OrgUnit[]; - } - interface Printer { - /** Output only. Auxiliary messages about issues with the printer configuration if any. */ - auxiliaryMessages?: AuxiliaryMessage[]; - /** Output only. Time when printer was created. */ - createTime?: string; - /** Editable. Description of printer. */ - description?: string; - /** Editable. Name of printer. */ - displayName?: string; - /** Id of the printer. (During printer creation leave empty) */ - id?: string; - /** Editable. Make and model of printer. e.g. Lexmark MS610de Value must be in format as seen in ListPrinterModels response. */ - makeAndModel?: string; - /** The resource name of the Printer object, in the format customers/{customer-id}/printers/{printer-id} (During printer creation leave empty) */ - name?: string; - /** Organization Unit that owns this printer (Only can be set during Printer creation) */ - orgUnitId?: string; - /** Editable. Printer URI. */ - uri?: string; - /** Editable. flag to use driverless configuration or not. If it's set to be true, make_and_model can be ignored */ - useDriverlessConfig?: boolean; - } - interface PrinterModel { - /** Display name. eq. "Brother MFC-8840D" */ - displayName?: string; - /** Make and model as represented in "make_and_model" field in Printer object. eq. "brother mfc-8840d" */ - makeAndModel?: string; - /** Manufacturer. eq. "Brother" */ - manufacturer?: string; - } - interface 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?: 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. This value is returned with [`Privileges.list()`](/admin-sdk/directory/v1/reference/privileges/list). */ - serviceId?: string; - /** The name of the service this privilege is for. */ - serviceName?: string; - } - interface Privileges { - /** ETag of the resource. */ - etag?: string; - /** A list of Privilege resources. */ - items?: Privilege[]; - /** The type of the API resource. This is always `admin#directory#privileges`. */ - kind?: string; - } - interface 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?: Array<{ - /** The name of the privilege. */ - privilegeName?: string; - /** The obfuscated ID of the service this privilege is for. This value is returned with [`Privileges.list()`](/admin-sdk/directory/v1/reference/privileges/list). */ - serviceId?: string; - }>; - } - interface RoleAssignment { - /** - * The unique ID of the entity this role is assigned to—either the `user_id` of a user or the `uniqueId` of a service account, as defined in [Identity and Access Management - * (IAM)](https://cloud.google.com/iam/docs/reference/rest/v1/projects.serviceAccounts). - */ - 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. */ - scopeType?: string; - } - interface RoleAssignments { - /** ETag of the resource. */ - etag?: string; - /** A list of RoleAssignment resources. */ - items?: RoleAssignment[]; - /** The type of the API resource. This is always `admin#directory#roleAssignments`. */ - kind?: string; - nextPageToken?: string; - } - interface Roles { - /** ETag of the resource. */ - etag?: string; - /** A list of Role resources. */ - items?: Role[]; - /** The type of the API resource. This is always `admin#directory#roles`. */ - kind?: string; - nextPageToken?: string; - } - interface Schema { - /** Display name for the schema. */ - displayName?: string; - /** The ETag of the resource. */ - etag?: string; - /** A list of fields in the schema. */ - fields?: SchemaFieldSpec[]; - /** Kind of resource this is. */ - kind?: string; - /** The unique identifier of the schema (Read-only) */ - schemaId?: string; - /** The schema's name. Each `schema_name` must be unique within a customer. Reusing a name results in a `409: Entity already exists` error. */ - schemaName?: string; - } - interface SchemaFieldSpec { - /** Display Name of the field. */ - displayName?: string; - /** The ETag of the field. */ - etag?: string; - /** The unique identifier of the field (Read-only) */ - fieldId?: string; - /** The name of the field. */ - fieldName?: string; - /** The type of the field. */ - fieldType?: string; - /** Boolean specifying whether the field is indexed or not. Default: `true`. */ - indexed?: boolean; - /** The kind of resource this is. For schema fields this is always `admin#directory#schema#fieldspec`. */ - kind?: string; - /** A boolean specifying whether this is a multi-valued field or not. Default: `false`. */ - 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?: { - /** Maximum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant. */ - maxValue?: number; - /** Minimum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant. */ - minValue?: number; - }; - /** - * Specifies who can view values of this field. See [Retrieve users as a non-administrator](/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin) for more information. - * Note: It may take up to 24 hours for changes to this field to be reflected. - */ - readAccessType?: string; - } - interface Schemas { - /** ETag of the resource. */ - etag?: string; - /** Kind of resource this is. */ - kind?: string; - /** List of UserSchema objects. */ - schemas?: Schema[]; - } - interface 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; - } - interface Tokens { - /** ETag of the resource. */ - etag?: string; - /** A list of Token resources. */ - items?: Token[]; - /** The type of the API resource. This is always `admin#directory#tokenList`. */ - kind?: string; - } - interface User { - /** A list of the user's addresses. The maximum allowed data size for this field is 10Kb. */ - addresses?: any; - /** Output only. This property is `true` if the user has completed an initial login and accepted the Terms of Service agreement. */ - agreedToTerms?: boolean; - /** Output only. A list of the user's alias email addresses. */ - aliases?: string[]; - /** Indicates if user is archived. */ - archived?: boolean; - /** - * Indicates if the user is forced to change their password at next login. This setting doesn't apply when [the user signs in via a third-party identity - * provider](https://support.google.com/a/answer/60224). - */ - changePasswordAtNextLogin?: boolean; - /** User's G Suite account creation time. (Read-only) */ - creationTime?: string; - /** - * Output only. The customer ID to [retrieve all account users](/admin-sdk/directory/v1/guides/manage-users.html#get_all_users). You can use the alias `my_customer` to represent your - * account's `customerId`. As a reseller administrator, you can use the resold customer account's `customerId`. To get a `customerId`, use the account's primary domain in the `domain` - * parameter of a [users.list](/admin-sdk/directory/v1/reference/users/list) request. - */ - customerId?: string; - /** Custom fields of the user. The key is a `schema_name` and its values are `'field_name': 'field_value'`. */ - customSchemas?: { [P in string]: UserCustomProperties }; - deletionTime?: string; - /** A list of the user's email addresses. The maximum allowed data size for this field is 10Kb. */ - emails?: any; - /** Output only. ETag of the resource. */ - etag?: string; - /** A list of external IDs for the user, such as an employee or network ID. The maximum allowed data size for this field is 2Kb. */ - externalIds?: any; - /** The user's gender. The maximum allowed data size for this field is 1Kb. */ - gender?: any; - /** - * Stores the hash format of the `password` property. The following `hashFunction` values are allowed: * `MD5` - Accepts simple hex-encoded values. * `SHA1` - Accepts simple - * hex-encoded values. * `crypt` - Compliant with the [C crypt library](https://en.wikipedia.org/wiki/Crypt_%28C%29). Supports the DES, MD5 (hash prefix `$1$`), SHA-256 (hash prefix - * `$5$`), and SHA-512 (hash prefix `$6$`) hash algorithms. If rounds are specified as part of the prefix, they must be 10,000 or fewer. - */ - hashFunction?: string; - /** The unique ID for the user. A user `id` can be used as a user request URI's `userKey`. */ - id?: string; - /** - * The user's Instant Messenger (IM) accounts. A user account can have multiple ims properties. But, only one of these ims properties can be the primary IM contact. The maximum allowed - * data size for this field is 2Kb. - */ - ims?: any; - /** - * Indicates if the user's profile is visible in the Google Workspace global address list when the contact sharing feature is enabled for the domain. For more information about - * excluding user profiles, see the [administration help center](https://support.google.com/a/answer/1285988). - */ - includeInGlobalAddressList?: boolean; - /** If `true`, the user's IP address is [whitelisted](https://support.google.com/a/answer/60752). */ - ipWhitelisted?: boolean; - /** - * Output only. Indicates a user with super admininistrator privileges. The `isAdmin` property can only be edited in the [Make a user an - * administrator](/admin-sdk/directory/v1/guides/manage-users.html#make_admin) operation ( [makeAdmin](/admin-sdk/directory/v1/reference/users/makeAdmin.html) method). If edited in the - * user [insert](/admin-sdk/directory/v1/reference/users/insert.html) or [update](/admin-sdk/directory/v1/reference/users/update.html) methods, the edit is ignored by the API service. - */ - isAdmin?: boolean; - /** - * Output only. Indicates if the user is a delegated administrator. Delegated administrators are supported by the API but cannot create or undelete users, or make users administrators. - * These requests are ignored by the API service. Roles and privileges for administrators are assigned using the [Admin console](https://support.google.com/a/answer/33325). - */ - isDelegatedAdmin?: boolean; - /** Output only. Is 2-step verification enforced (Read-only) */ - isEnforcedIn2Sv?: boolean; - /** Output only. Is enrolled in 2-step verification (Read-only) */ - isEnrolledIn2Sv?: boolean; - /** Output only. Indicates if the user's Google mailbox is created. This property is only applicable if the user has been assigned a Gmail license. */ - isMailboxSetup?: boolean; - /** The user's keywords. The maximum allowed data size for this field is 1Kb. */ - keywords?: any; - /** Output only. The type of the API resource. For Users resources, the value is `admin#directory#user`. */ - kind?: string; - /** The user's languages. The maximum allowed data size for this field is 1Kb. */ - languages?: any; - /** User's last login time. (Read-only) */ - lastLoginTime?: string; - /** The user's locations. The maximum allowed data size for this field is 10Kb. */ - locations?: any; - /** - * Holds the given and family names of the user, and the read-only `fullName` value. The maximum number of characters in the `givenName` and in the `familyName` values is 60. In - * addition, name values support unicode/UTF-8 characters, and can contain spaces, letters (a-z), numbers (0-9), dashes (-), forward slashes (/), and periods (.). For more information - * about character usage rules, see the [administration help center](https://support.google.com/a/answer/9193374). Maximum allowed data size for this field is 1Kb. - */ - name?: UserName; - /** Output only. List of the user's non-editable alias email addresses. These are typically outside the account's primary domain or sub-domain. */ - nonEditableAliases?: string[]; - /** Notes for the user. */ - notes?: any; - /** A list of organizations the user belongs to. The maximum allowed data size for this field is 10Kb. */ - organizations?: any; - /** The full path of the parent organization associated with the user. If the parent organization is the top-level, it is represented as a forward slash (`/`). */ - orgUnitPath?: string; - /** User's password */ - password?: string; - /** A list of the user's phone numbers. The maximum allowed data size for this field is 1Kb. */ - phones?: any; - /** A list of [POSIX](https://www.opengroup.org/austin/papers/posix_faq.html) account information for the user. */ - posixAccounts?: any; - /** The user's primary email address. This property is required in a request to create a user account. The `primaryEmail` must be unique and cannot be an alias of another user. */ - primaryEmail?: string; - /** Recovery email of the user. */ - recoveryEmail?: string; - /** Recovery phone of the user. The phone number must be in the E.164 format, starting with the plus sign (+). Example: *+16506661212*. */ - recoveryPhone?: string; - /** A list of the user's relationships to other users. The maximum allowed data size for this field is 2Kb. */ - relations?: any; - /** A list of SSH public keys. */ - sshPublicKeys?: any; - /** Indicates if user is suspended. */ - suspended?: boolean; - /** - * Output only. Has the reason a user account is suspended either by the administrator or by Google at the time of suspension. The property is returned only if the `suspended` property - * is `true`. - */ - suspensionReason?: string; - /** Output only. ETag of the user's photo (Read-only) */ - thumbnailPhotoEtag?: string; - /** Output only. Photo Url of the user (Read-only) */ - thumbnailPhotoUrl?: string; - /** The user's websites. The maximum allowed data size for this field is 2Kb. */ - websites?: any; - } - interface 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; - } - interface 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; - } - interface UserCustomProperties { - [key: string]: any; - } - interface 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; - } - interface UserExternalId { - /** Custom type. */ - customType?: string; - /** The type of the Id. */ - type?: string; - /** The value of the id. */ - value?: string; - } - interface 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; - } - interface 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; - } - interface 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; - } - interface UserLanguage { - /** Other language. User can provide their own language name if there is no corresponding ISO 639 language code. If this is set, `languageCode` can't be set. */ - customLanguage?: string; - /** - * ISO 639 string representation of a language. See [Language Codes](/admin-sdk/directory/v1/languages) for the list of supported codes. Valid language codes outside the supported set - * will be accepted by the API but may lead to unexpected behavior. Illegal values cause `SchemaException`. If this is set, `customLanguage` can't be set. - */ - languageCode?: string; - /** - * Optional. If present, controls whether the specified `languageCode` is the user's preferred language. If `customLanguage` is set, this can't be set. Allowed values are `preferred` - * and `not_preferred`. - */ - preference?: string; - } - interface 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; - } - interface UserMakeAdmin { - /** Indicates the administrator status of the user. */ - status?: boolean; - } - interface UserName { - /** The user's last name. Required when creating a user account. */ - familyName?: string; - /** The user's full name formed by concatenating the first and last name values. */ - fullName?: string; - /** The user's first name. Required when creating a user account. */ - givenName?: string; - } - interface 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 millipercent 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; - } - interface 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; - } - interface UserPhoto { - /** ETag of the resource. */ - etag?: string; - /** Height of the photo in pixels. */ - height?: number; - /** The ID the API uses to uniquely identify the user. */ - id?: string; - /** The type of the API resource. For Photo resources, this is `admin#directory#user#photo`. */ - kind?: string; - /** The MIME type of the photo. Allowed values are `JPEG`, `PNG`, `GIF`, `BMP`, `TIFF`, and web-safe base64 encoding. */ - mimeType?: string; - /** - * The user photo's upload data in [web-safe Base64](https://en.wikipedia.org/wiki/Base64#URL_applications) format in bytes. This means: * The slash (/) character is replaced with the - * underscore (_) character. * The plus sign (+) character is replaced with the hyphen (-) character. * The equals sign (=) character is replaced with the asterisk (*). * For padding, - * the period (.) character is used instead of the RFC-4648 baseURL definition which uses the equals sign (=) for padding. This is done to simplify URL-parsing. * Whatever the size of - * the photo being uploaded, the API downsizes it to 96x96 pixels. - */ - photoData?: string; - /** The user's primary email address. */ - primaryEmail?: string; - /** Width of the photo in pixels. */ - width?: number; - } - interface UserPosixAccount { - /** A POSIX account field identifier. */ - 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; - } - interface 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; - } - interface 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?: User[]; - } - interface 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; - } - interface UserUndelete { - /** OrgUnit of User */ - orgUnitPath?: string; - } - interface 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; - } - interface 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; - } - interface VerificationCodes { - /** ETag of the resource. */ - etag?: string; - /** A list of verification code resources. */ - items?: VerificationCode[]; - /** The type of the resource. This is always `admin#directory#verificationCodesList`. */ - kind?: string; - } - interface AspsResource { - /** Deletes an ASP issued by a user. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID of the ASP to be deleted. */ - codeId: number; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }): Request; - /** Gets information about an ASP issued by a user. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID of the ASP. */ - codeId: number; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }): Request; - /** Lists the ASPs issued by a user. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }): Request; - } - interface ChromeosdevicesResource { - /** - * Takes an action that affects a Chrome OS Device. This includes deprovisioning, disabling, and re-enabling devices. *Warning:* * Deprovisioning a device will stop device policy - * syncing and remove device-level printers. After a device is deprovisioned, it must be wiped before it can be re-enrolled. * Lost or stolen devices should use the disable action. * - * Re-enabling a disabled device will consume a device license. If you do not have sufficient licenses available when completing the re-enable action, you will receive an error. For - * more information about deprovisioning and disabling devices, visit the [help center](https://support.google.com/chrome/a/answer/3523633). - */ - action(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The unique ID of the device. The `resourceId`s are returned in the response from the [chromeosdevices.list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method. */ - resourceId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: ChromeOsDeviceAction; - }): Request; - action(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The unique ID of the device. The `resourceId`s are returned in the response from the [chromeosdevices.list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method. */ - resourceId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: ChromeOsDeviceAction): Request; - /** Retrieves a Chrome OS device's properties. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** The unique ID of the device. The `deviceId`s are returned in the response from the [chromeosdevices.list](/admin-sdk/directory/v1/reference/chromeosdevices/list) method. */ - deviceId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Determines whether the response contains the full list of properties or only a subset. */ - projection?: string; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Retrieves a paginated list of Chrome OS devices within an account. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** Return devices from all child orgunits, as well as the specified org unit. If this is set to true 'orgUnitPath' must be provided. */ - includeChildOrgunits?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** Maximum number of results to return. */ - maxResults?: number; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Device property to use for sorting results. */ - orderBy?: string; - /** The full path of the organizational unit (minus the leading `/`) or its unique ID. */ - orgUnitPath?: string; - /** - * The `pageToken` query parameter is used to request the next page of query results. The follow-on request's `pageToken` query parameter is the `nextPageToken` from your previous - * response. - */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Restrict information returned to a set of selected fields. */ - projection?: string; - /** Search string in the format given at https://developers.google.com/admin-sdk/directory/v1/list-query-operators */ - query?: string; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Whether to return results in ascending or descending order. Must be used with the `orderBy` parameter. */ - sortOrder?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Moves or inserts multiple Chrome OS devices to an organizational unit. You can move up to 50 devices at once. */ - moveDevicesToOu(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Full path of the target organizational unit or its ID */ - orgUnitPath: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: ChromeOsMoveDevicesToOu; - }): Request; - moveDevicesToOu(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Full path of the target organizational unit or its ID */ - orgUnitPath: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: ChromeOsMoveDevicesToOu): Request; - /** - * Updates a device's updatable properties, such as `annotatedUser`, `annotatedLocation`, `notes`, `orgUnitPath`, or `annotatedAssetId`. This method supports [patch - * semantics](/admin-sdk/directory/v1/guides/performance#patch). - */ - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** The unique ID of the device. The `deviceId`s are returned in the response from the [chromeosdevices.list](/admin-sdk/v1/reference/chromeosdevices/list) method. */ - deviceId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Restrict information returned to a set of selected fields. */ - projection?: string; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: ChromeOsDevice; - }): Request; - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** The unique ID of the device. The `deviceId`s are returned in the response from the [chromeosdevices.list](/admin-sdk/v1/reference/chromeosdevices/list) method. */ - deviceId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Restrict information returned to a set of selected fields. */ - projection?: string; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: ChromeOsDevice): Request; - /** Updates a device's updatable properties, such as `annotatedUser`, `annotatedLocation`, `notes`, `orgUnitPath`, or `annotatedAssetId`. */ - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** The unique ID of the device. The `deviceId`s are returned in the response from the [chromeosdevices.list](/admin-sdk/v1/reference/chromeosdevices/list) method. */ - deviceId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Restrict information returned to a set of selected fields. */ - projection?: string; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: ChromeOsDevice; - }): Request; - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** The unique ID of the device. The `deviceId`s are returned in the response from the [chromeosdevices.list](/admin-sdk/v1/reference/chromeosdevices/list) method. */ - deviceId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Restrict information returned to a set of selected fields. */ - projection?: string; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: ChromeOsDevice): Request; - } - interface CustomersResource { - /** Retrieves a customer. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Id of the customer to be retrieved */ - customerKey: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Patches a customer. */ - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Id of the customer to be updated */ - customerKey: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Customer; - }): Request; - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Id of the customer to be updated */ - customerKey: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Customer): Request; - /** Updates a customer. */ - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Id of the customer to be updated */ - customerKey: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Customer; - }): Request; - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Id of the customer to be updated */ - customerKey: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Customer): Request; - } - interface DomainAliasesResource { - /** Deletes a domain Alias of the customer. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Name of domain alias to be retrieved. */ - domainAliasName: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Retrieves a domain alias of the customer. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Name of domain alias to be retrieved. */ - domainAliasName: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Inserts a domain alias of the customer. */ - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: DomainAlias; - }): Request; - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: DomainAlias): Request; - /** Lists the domain aliases of the customer. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Name of the parent domain for which domain aliases are to be fetched. */ - parentDomainName?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - } - interface DomainsResource { - /** Deletes a domain of the customer. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Name of domain to be deleted */ - domainName: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Retrieves a domain of the customer. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Name of domain to be retrieved */ - domainName: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Inserts a domain of the customer. */ - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Domains; - }): Request; - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Domains): Request; - /** Lists the domains of the customer. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - } - interface AliasesResource { - /** Removes an alias. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** The alias to be removed */ - alias: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Adds an alias for the group. */ - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Alias; - }): Request; - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Alias): Request; - /** Lists all aliases for a group. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - } - interface GroupsResource { - /** Deletes a group. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Retrieves a group's properties. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Creates a group. */ - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Group; - }): Request; - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Group): Request; - /** Retrieves all groups of a domain or of a user given a userKey (paginated). */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. In case of a multi-domain account, to fetch all groups for a customer, fill in this field instead of `domain`. You can - * also use the `my_customer` alias to represent your account's `customerId`. The `customerId` is also returned as part of the [Users](/admin-sdk/directory/v1/reference/users) - * resource. Either the `customer` or the `domain` parameter must be provided. - */ - customer?: string; - /** The domain name. Use this field to get groups from only one domain. To return all domains for a customer account, use the `customer` query parameter instead. */ - domain?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** Maximum number of results to return. Max allowed value is 200. */ - maxResults?: number; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Column to use for sorting results */ - orderBy?: string; - /** Token to specify next page in the list */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** 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; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Whether to return results in ascending or descending order. Only of use when orderBy is also used */ - sortOrder?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Email or immutable ID of the user if only those groups are to be listed, the given user is a member of. If it's an ID, it should match with the ID of the user object. */ - userKey?: string; - }): Request; - /** Updates a group's properties. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). */ - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Group; - }): Request; - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Group): Request; - /** Updates a group's properties. */ - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Group; - }): Request; - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Group): Request; - aliases: AliasesResource; - } - interface MembersResource { - /** Removes a member from a group. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** - * Identifies the group member in the API request. A group member can be a user or another group. The value can be the member's (group or user) primary email address, alias, or - * unique ID. - */ - memberKey: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Retrieves a group member's properties. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** - * Identifies the group member in the API request. A group member can be a user or another group. The value can be the member's (group or user) primary email address, alias, or - * unique ID. - */ - memberKey: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Checks whether the given user is a member of the group. Membership can be direct or nested. */ - hasMember(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Adds a user to the specified group. */ - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Member; - }): Request; - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Member): Request; - /** Retrieves a paginated list of all members in a group. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** Whether to list indirect memberships. Default: false. */ - includeDerivedMembership?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** Maximum number of results to return. Max allowed value is 200. */ - maxResults?: number; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Token to specify next page in the list. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The `roles` query parameter allows you to retrieve group members by role. Allowed values are `OWNER`, `MANAGER`, and `MEMBER`. */ - roles?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Updates the membership properties of a user in the specified group. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). */ - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** - * Identifies the group member in the API request. A group member can be a user or another group. The value can be the member's (group or user) primary email address, alias, or - * unique ID. - */ - memberKey: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Member; - }): Request; - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** - * Identifies the group member in the API request. A group member can be a user or another group. The value can be the member's (group or user) primary email address, alias, or - * unique ID. - */ - memberKey: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Member): Request; - /** Updates the membership of a user in the specified group. */ - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** - * Identifies the group member in the API request. A group member can be a user or another group. The value can be the member's (group or user) primary email address, alias, or - * unique ID. - */ - memberKey: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Member; - }): Request; - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** - * Identifies the group member in the API request. A group member can be a user or another group. The value can be the member's (group or user) primary email address, alias, or - * unique ID. - */ - memberKey: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Member): Request; - } - interface MobiledevicesResource { - /** Takes an action that affects a mobile device. For example, remotely wiping a device. */ - action(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The unique ID the API service uses to identify the mobile device. */ - resourceId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: MobileDeviceAction; - }): Request; - action(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The unique ID the API service uses to identify the mobile device. */ - resourceId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: MobileDeviceAction): Request; - /** Removes a mobile device. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The unique ID the API service uses to identify the mobile device. */ - resourceId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Retrieves a mobile device's properties. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Restrict information returned to a set of selected fields. */ - projection?: string; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The unique ID the API service uses to identify the mobile device. */ - resourceId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** - * Retrieves a paginated list of all user-owned mobile devices for an account. To retrieve a list that includes company-owned devices, use the Cloud Identity [Devices - * API](https://cloud.google.com/identity/docs/concepts/overview-devices) instead. - */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** Maximum number of results to return. Max allowed value is 100. */ - maxResults?: number; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Device property to use for sorting results. */ - orderBy?: string; - /** Token to specify next page in the list */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Restrict information returned to a set of selected fields. */ - projection?: string; - /** Search string in the format given at https://developers.google.com/admin-sdk/directory/v1/search-operators */ - query?: string; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Whether to return results in ascending or descending order. Must be used with the `orderBy` parameter. */ - sortOrder?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - } - interface OrgunitsResource { - /** Removes an organizational unit. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** The full path of the organizational unit (minus the leading `/`) or its unique ID. */ - orgUnitPath: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Retrieves an organizational unit. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** The full path of the organizational unit (minus the leading `/`) or its unique ID. */ - orgUnitPath: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Adds an organizational unit. */ - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: OrgUnit; - }): Request; - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: OrgUnit): Request; - /** Retrieves a list of all organizational units for an account. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** The full path to the organizational unit or its unique ID. Returns the children of the specified organizational unit. */ - orgUnitPath?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Whether to return all sub-organizations or just immediate children. */ - type?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Updates an organizational unit. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch) */ - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** The full path of the organizational unit (minus the leading `/`) or its unique ID. */ - orgUnitPath: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: OrgUnit; - }): Request; - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** The full path of the organizational unit (minus the leading `/`) or its unique ID. */ - orgUnitPath: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: OrgUnit): Request; - /** Updates an organizational unit. */ - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** The full path of the organizational unit (minus the leading `/`) or its unique ID. */ - orgUnitPath: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: OrgUnit; - }): Request; - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's `customerId`. The - * `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** The full path of the organizational unit (minus the leading `/`) or its unique ID. */ - orgUnitPath: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: OrgUnit): Request; - } - interface PrivilegesResource { - /** Retrieves a paginated list of all privileges for a customer. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - } - interface BuildingsResource { - /** Deletes a building. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** The id of the building to delete. */ - buildingId: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Retrieves a building. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** The unique ID of the building to retrieve. */ - buildingId: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Inserts a building. */ - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Source from which Building.coordinates are derived. */ - coordinatesSource?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Building; - }): Request; - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Source from which Building.coordinates are derived. */ - coordinatesSource?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Building): Request; - /** Retrieves a list of buildings for an account. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** Maximum number of results to return. */ - maxResults?: number; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Token to specify the next page in the list. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Patches a building. */ - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** The id of the building to update. */ - buildingId: string; - /** JSONP */ - callback?: string; - /** Source from which Building.coordinates are derived. */ - coordinatesSource?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Building; - }): Request; - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** The id of the building to update. */ - buildingId: string; - /** JSONP */ - callback?: string; - /** Source from which Building.coordinates are derived. */ - coordinatesSource?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Building): Request; - /** Updates a building. */ - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** The id of the building to update. */ - buildingId: string; - /** JSONP */ - callback?: string; - /** Source from which Building.coordinates are derived. */ - coordinatesSource?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Building; - }): Request; - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** The id of the building to update. */ - buildingId: string; - /** JSONP */ - callback?: string; - /** Source from which Building.coordinates are derived. */ - coordinatesSource?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Building): Request; - } - interface CalendarsResource { - /** Deletes a calendar resource. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** The unique ID of the calendar resource to delete. */ - calendarResourceId: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Retrieves a calendar resource. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** The unique ID of the calendar resource to retrieve. */ - calendarResourceId: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Inserts a calendar resource. */ - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: CalendarResource; - }): Request; - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: CalendarResource): Request; - /** Retrieves a list of calendar resources for an account. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** Maximum number of results to return. */ - maxResults?: number; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** - * 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; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** - * 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, '!=' for mismatch and ':' for prefix match or HAS match where applicable. For prefix match, the value should always be followed by a *. - * Logical operators NOT and AND are supported (in this order of precedence). Supported fields include `generatedResourceName`, `name`, `buildingId`, `floor_name`, `capacity`, - * `featureInstances.feature.name`, `resourceEmail`, `resourceCategory`. For example `buildingId=US-NYC-9TH AND featureInstances.feature.name:Phone`. - */ - query?: string; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Patches a calendar resource. */ - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** The unique ID of the calendar resource to update. */ - calendarResourceId: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: CalendarResource; - }): Request; - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** The unique ID of the calendar resource to update. */ - calendarResourceId: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: CalendarResource): Request; - /** - * 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. - */ - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** The unique ID of the calendar resource to update. */ - calendarResourceId: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: CalendarResource; - }): Request; - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** The unique ID of the calendar resource to update. */ - calendarResourceId: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: CalendarResource): Request; - } - interface FeaturesResource { - /** Deletes a feature. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Retrieves a feature. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Inserts a feature. */ - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Feature; - }): Request; - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Feature): Request; - /** Retrieves a list of features for an account. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** Maximum number of results to return. */ - maxResults?: number; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Token to specify the next page in the list. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Patches a feature. */ - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Feature; - }): Request; - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Feature): Request; - /** Renames a feature. */ - rename(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** The unique ID of the feature to rename. */ - oldName: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: FeatureRename; - }): Request; - rename(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the `my_customer` alias to represent your account's customer ID. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** The unique ID of the feature to rename. */ - oldName: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: FeatureRename): Request; - /** Updates a feature. */ - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Feature; - }): Request; - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The unique ID for the customer's Google Workspace 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Feature): Request; - } - interface ResourcesResource { - buildings: BuildingsResource; - calendars: CalendarsResource; - features: FeaturesResource; - } - interface RoleAssignmentsResource { - /** Deletes a role assignment. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Immutable ID of the role assignment. */ - roleAssignmentId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Retrieves a role assignment. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Immutable ID of the role assignment. */ - roleAssignmentId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Creates a role assignment. */ - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: RoleAssignment; - }): Request; - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: RoleAssignment): Request; - /** Retrieves a paginated list of all roleAssignments. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** Maximum number of results to return. */ - maxResults?: number; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Token to specify the next page in the list. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Immutable ID of a role. If included in the request, returns only role assignments containing this role ID. */ - roleId?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }): Request; - } - interface RolesResource { - /** Deletes a role. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Immutable ID of the role. */ - roleId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Retrieves a role. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Immutable ID of the role. */ - roleId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Creates a role. */ - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Role; - }): Request; - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Role): Request; - /** Retrieves a paginated list of all the roles in a domain. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** Maximum number of results to return. */ - maxResults?: number; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Token to specify the next page in the list. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Patches a role. */ - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Immutable ID of the role. */ - roleId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Role; - }): Request; - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Immutable ID of the role. */ - roleId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Role): Request; - /** Updates a role. */ - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Immutable ID of the role. */ - roleId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Role; - }): Request; - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customer: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Immutable ID of the role. */ - roleId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Role): Request; - } - interface SchemasResource { - /** Deletes a schema. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Name or immutable ID of the schema. */ - schemaKey: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Retrieves a schema. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Name or immutable ID of the schema. */ - schemaKey: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Creates a schema. */ - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Schema; - }): Request; - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Schema): Request; - /** Retrieves all schemas for a customer. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): Request; - /** Patches a schema. */ - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Name or immutable ID of the schema. */ - schemaKey: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Schema; - }): Request; - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Name or immutable ID of the schema. */ - schemaKey: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Schema): Request; - /** Updates a schema. */ - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Name or immutable ID of the schema. */ - schemaKey: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Schema; - }): Request; - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace account. */ - customerId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Name or immutable ID of the schema. */ - schemaKey: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Schema): Request; - } - interface TokensResource { - /** Deletes all access tokens issued by a user for an application. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The Client ID of the application the token is issued to. */ - clientId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }): Request; - /** Gets information about an access token issued by a user. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** The Client ID of the application the token is issued to. */ - clientId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }): Request; - /** Returns the set of tokens specified user has issued to 3rd party applications. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }): Request; - } - interface TwoStepVerificationResource { - /** Turns off 2-Step Verification for user. */ - turnOff(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }): Request; - } - interface AliasesResource { - /** Removes an alias. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** The alias to be removed. */ - alias: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }): Request; - /** Adds an alias. */ - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - /** Request body */ - resource: Alias; - }): Request; - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }, - body: Alias): Request; - /** Lists all aliases for a user. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Events to watch for. */ - event?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }): Request; - /** Watches for changes in users list. */ - watch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Events to watch for. */ - event?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Email or immutable ID of the user */ - userKey: string; - /** Request body */ - resource: Channel; - }): Request; - watch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Events to watch for. */ - event?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Email or immutable ID of the user */ - userKey: string; - }, - body: Channel): Request; - } - interface PhotosResource { - /** Removes the user's photo. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }): Request; - /** Retrieves the user's photo. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }): Request; - /** Adds a photo for the user. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). */ - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - /** Request body */ - resource: UserPhoto; - }): Request; - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }, - body: UserPhoto): Request; - /** Adds a photo for the user. */ - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - /** Request body */ - resource: UserPhoto; - }): Request; - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }, - body: UserPhoto): Request; - } - interface UsersResource { - /** Deletes a user. */ - delete(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }): Request; - /** Retrieves a user. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** A comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when `projection=custom`. */ - customFieldMask?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** What subset of fields to fetch for this user. */ - projection?: string; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - /** - * Whether to fetch the administrator-only or domain-wide public view of the user. For more information, see [Retrieve a user as a - * non-administrator](/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin). - */ - viewType?: string; - }): Request; - /** Creates a user. */ - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: User; - }): Request; - insert(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: User): Request; - /** Retrieves a paginated list of either deleted users or all users in a domain. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * The unique ID for the customer's Google Workspace account. In case of a multi-domain account, to fetch all groups for a customer, fill this field instead of domain. You can also - * use the `my_customer` alias to represent your account's `customerId`. The `customerId` is also returned as part of the [Users resource](/admin-sdk/directory/v1/reference/users). - * Either the `customer` or the `domain` parameter must be provided. - */ - customer?: string; - /** A comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when `projection=custom`. */ - customFieldMask?: string; - /** - * The domain name. Use this field to get groups from only one domain. To return all domains for a customer account, use the `customer` query parameter instead. Either the - * `customer` or the `domain` parameter must be provided. - */ - domain?: string; - /** Event on which subscription is intended (if subscribing) */ - event?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** Maximum number of results to return. */ - maxResults?: number; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Property to use for sorting results. */ - orderBy?: string; - /** Token to specify next page in the list */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** What subset of fields to fetch for this user. */ - projection?: string; - /** Query string for searching user fields. For more information on constructing user queries, see [Search for Users](/admin-sdk/directory/v1/guides/search-users). */ - query?: string; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** If set to `true`, retrieves the list of deleted users. (Default: `false`) */ - showDeleted?: string; - /** Whether to return results in ascending or descending order, ignoring case. */ - sortOrder?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** - * Whether to fetch the administrator-only or domain-wide public view of the user. For more information, see [Retrieve a user as a - * non-administrator](/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin). - */ - viewType?: string; - }): Request; - /** Makes a user a super administrator. */ - makeAdmin(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - /** Request body */ - resource: UserMakeAdmin; - }): Request; - makeAdmin(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }, - body: UserMakeAdmin): Request; - /** - * Updates a user using patch semantics. The update method should be used instead, since it also supports patch semantics and has better performance. This method is unable to clear - * fields that contain repeated objects (`addresses`, `phones`, etc). Use the update method instead. - */ - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - /** Request body */ - resource: User; - }): Request; - patch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }, - body: User): Request; - /** Signs a user out of all web and device sessions and reset their sign-in cookies. User will have to sign in by authenticating again. */ - signOut(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Identifies the target user in the API request. The value can be the user's primary email address, alias email address, or unique user ID. */ - userKey: string; - }): Request; - /** Undeletes a deleted user. */ - undelete(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** The immutable id of the user */ - userKey: string; - /** Request body */ - resource: UserUndelete; - }): Request; - undelete(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** The immutable id of the user */ - userKey: string; - }, - body: UserUndelete): Request; - /** - * Updates a user. 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, - * and fields set to `null` will be cleared. - */ - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - /** Request body */ - resource: User; - }): Request; - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }, - body: User): Request; - /** Watches for changes in users list. */ - watch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace 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; - /** Events to watch for. */ - event?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** Maximum number of results to return. */ - maxResults?: number; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Column to use for sorting results */ - orderBy?: string; - /** Token to specify next page in the list */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** 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; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** If set to true, retrieves the list of deleted users. (Default: false) */ - showDeleted?: string; - /** Whether to return results in ascending or descending order. */ - sortOrder?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** - * Whether to fetch the administrator-only or domain-wide public view of the user. For more information, see [Retrieve a user as a - * non-administrator](/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin). - */ - viewType?: string; - /** Request body */ - resource: Channel; - }): Request; - watch(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Immutable ID of the Google Workspace 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; - /** Events to watch for. */ - event?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** Maximum number of results to return. */ - maxResults?: number; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Column to use for sorting results */ - orderBy?: string; - /** Token to specify next page in the list */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** 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; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** If set to true, retrieves the list of deleted users. (Default: false) */ - showDeleted?: string; - /** Whether to return results in ascending or descending order. */ - sortOrder?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** - * Whether to fetch the administrator-only or domain-wide public view of the user. For more information, see [Retrieve a user as a - * non-administrator](/admin-sdk/directory/v1/guides/manage-users#retrieve_users_non_admin). - */ - viewType?: string; - }, - body: Channel): Request; - aliases: AliasesResource; - photos: PhotosResource; - } - interface VerificationCodesResource { - /** Generates new backup verification codes for the user. */ - generate(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Email or immutable ID of the user */ - userKey: string; - }): Request; - /** Invalidates the current backup verification codes for the user. */ - invalidate(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Email or immutable ID of the user */ - userKey: string; - }): Request; - /** Returns the current set of valid backup verification codes for the specified user. */ - list(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: 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; - }): Request; - } - - const asps: AspsResource; - - const chromeosdevices: ChromeosdevicesResource; - - const customers: CustomersResource; - - const domainAliases: DomainAliasesResource; - - const domains: DomainsResource; - - const groups: GroupsResource; - - const members: MembersResource; - - const mobiledevices: MobiledevicesResource; - - const orgunits: OrgunitsResource; - - const privileges: PrivilegesResource; - - const resources: ResourcesResource; - - const roleAssignments: RoleAssignmentsResource; - - const roles: RolesResource; - - const schemas: SchemasResource; - - const tokens: TokensResource; - - const twoStepVerification: TwoStepVerificationResource; - - const users: UsersResource; - - const verificationCodes: VerificationCodesResource; - } -} diff --git a/test/restDocs/snapshots/gapi.client.admin-directory_v1/package.json b/test/restDocs/snapshots/gapi.client.admin-directory_v1/package.json deleted file mode 100644 index 775b13582f..0000000000 --- a/test/restDocs/snapshots/gapi.client.admin-directory_v1/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@maxim_mazurok/gapi.client.admin-directory_v1", - "version": "0.0.20220628", - "description": "TypeScript typings for Admin SDK API directory_v1", - "license": "MIT", - "author": { - "email": "maxim@mazurok.com", - "name": "Maxim Mazurok", - "url": "https://maxim.mazurok.com" - }, - "repository": { - "type": "git", - "url": "https://github.com/Maxim-Mazurok/google-api-typings-generator.git" - }, - "types": "index.d.ts", - "dependencies": { - "@types/gapi.client": "*", - "@types/gapi.client.discovery": "*" - } -} diff --git a/test/restDocs/snapshots/gapi.client.admin-directory_v1/readme.md b/test/restDocs/snapshots/gapi.client.admin-directory_v1/readme.md deleted file mode 100644 index 7974c19034..0000000000 --- a/test/restDocs/snapshots/gapi.client.admin-directory_v1/readme.md +++ /dev/null @@ -1,544 +0,0 @@ -# TypeScript typings for Admin SDK API directory_v1 - -Admin SDK lets administrators of enterprise domains to view and manage resources like user, groups etc. It also provides audit and usage reports of domain. -For detailed description please check [documentation](https://developers.google.com/admin-sdk/). - -## Installing - -Install typings for Admin SDK API: - -``` -npm install @types/gapi.client.admin-directory_v1 --save-dev -``` - -## Usage - -You need to initialize Google API client in your code: - -```typescript -gapi.load('client', () => { - // now we can use gapi.client - // ... -}); -``` - -Then load api client wrapper: - -```typescript -gapi.client.load('http://localhost:3000/admin.json', () => { - // now we can use: - // gapi.client.admin - // gapi.client.directory -}); -``` - -```typescript -// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback-- -gapi.client.load('admin', 'directory_v1', () => { - // now we can use: - // gapi.client.admin - // gapi.client.directory -}); -``` - -Don't forget to authenticate your client before sending any request to resources: - -```typescript -// declare client_id registered in Google Developers Console -var client_id = '', - scope = [ - // See, add, edit, and permanently delete the printers that your organization can use with Chrome - 'https://www.googleapis.com/auth/admin.chrome.printers', - - // See the printers that your organization can use with Chrome - 'https://www.googleapis.com/auth/admin.chrome.printers.readonly', - - // View and manage customer related information - 'https://www.googleapis.com/auth/admin.directory.customer', - - // View customer related information - 'https://www.googleapis.com/auth/admin.directory.customer.readonly', - - // View and manage your Chrome OS devices' metadata - 'https://www.googleapis.com/auth/admin.directory.device.chromeos', - - // View your Chrome OS devices' metadata - 'https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly', - - // View and manage your mobile devices' metadata - 'https://www.googleapis.com/auth/admin.directory.device.mobile', - - // Manage your mobile devices by performing administrative tasks - 'https://www.googleapis.com/auth/admin.directory.device.mobile.action', - - // View your mobile devices' metadata - 'https://www.googleapis.com/auth/admin.directory.device.mobile.readonly', - - // View and manage the provisioning of domains for your customers - 'https://www.googleapis.com/auth/admin.directory.domain', - - // View domains related to your customers - 'https://www.googleapis.com/auth/admin.directory.domain.readonly', - - // View and manage the provisioning of groups on your domain - 'https://www.googleapis.com/auth/admin.directory.group', - - // View and manage group subscriptions on your domain - 'https://www.googleapis.com/auth/admin.directory.group.member', - - // View group subscriptions on your domain - 'https://www.googleapis.com/auth/admin.directory.group.member.readonly', - - // View groups on your domain - 'https://www.googleapis.com/auth/admin.directory.group.readonly', - - // View and manage organization units on your domain - 'https://www.googleapis.com/auth/admin.directory.orgunit', - - // View organization units on your domain - 'https://www.googleapis.com/auth/admin.directory.orgunit.readonly', - - // View and manage the provisioning of calendar resources on your domain - 'https://www.googleapis.com/auth/admin.directory.resource.calendar', - - // View calendar resources on your domain - 'https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly', - - // Manage delegated admin roles for your domain - 'https://www.googleapis.com/auth/admin.directory.rolemanagement', - - // View delegated admin roles for your domain - 'https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly', - - // View and manage the provisioning of users on your domain - 'https://www.googleapis.com/auth/admin.directory.user', - - // View and manage user aliases on your domain - 'https://www.googleapis.com/auth/admin.directory.user.alias', - - // View user aliases on your domain - 'https://www.googleapis.com/auth/admin.directory.user.alias.readonly', - - // See info about users on your domain - 'https://www.googleapis.com/auth/admin.directory.user.readonly', - - // Manage data access permissions for users on your domain - 'https://www.googleapis.com/auth/admin.directory.user.security', - - // View and manage the provisioning of user schemas on your domain - 'https://www.googleapis.com/auth/admin.directory.userschema', - - // View user schemas on your domain - 'https://www.googleapis.com/auth/admin.directory.userschema.readonly', - - // See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account. - 'https://www.googleapis.com/auth/cloud-platform', - ], - immediate = true; -// ... - -gapi.auth.authorize( - { client_id: client_id, scope: scope, immediate: immediate }, - authResult => { - if (authResult && !authResult.error) { - /* handle successful authorization */ - } else { - /* handle authorization error */ - } -}); -``` - -After that you can use Admin SDK API resources: - -```typescript - -/* -Deletes an ASP issued by a user. -*/ -await gapi.client.directory.asps.delete({ codeId: 1, userKey: "userKey", }); - -/* -Gets information about an ASP issued by a user. -*/ -await gapi.client.directory.asps.get({ codeId: 1, userKey: "userKey", }); - -/* -Lists the ASPs issued by a user. -*/ -await gapi.client.directory.asps.list({ userKey: "userKey", }); - -/* -Stops watching resources through this channel. -*/ -await gapi.client.admin.channels.stop({ }); - -/* -Takes an action that affects a Chrome OS Device. This includes deprovisioning, disabling, and re-enabling devices. *Warning:* * Deprovisioning a device will stop device policy syncing and remove device-level printers. After a device is deprovisioned, it must be wiped before it can be re-enrolled. * Lost or stolen devices should use the disable action. * Re-enabling a disabled device will consume a device license. If you do not have sufficient licenses available when completing the re-enable action, you will receive an error. For more information about deprovisioning and disabling devices, visit the [help center](https://support.google.com/chrome/a/answer/3523633). -*/ -await gapi.client.directory.chromeosdevices.action({ customerId: "customerId", resourceId: "resourceId", }); - -/* -Retrieves a Chrome OS device's properties. -*/ -await gapi.client.directory.chromeosdevices.get({ customerId: "customerId", deviceId: "deviceId", }); - -/* -Retrieves a paginated list of Chrome OS devices within an account. -*/ -await gapi.client.directory.chromeosdevices.list({ customerId: "customerId", }); - -/* -Moves or inserts multiple Chrome OS devices to an organizational unit. You can move up to 50 devices at once. -*/ -await gapi.client.directory.chromeosdevices.moveDevicesToOu({ customerId: "customerId", orgUnitPath: "orgUnitPath", }); - -/* -Updates a device's updatable properties, such as `annotatedUser`, `annotatedLocation`, `notes`, `orgUnitPath`, or `annotatedAssetId`. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). -*/ -await gapi.client.directory.chromeosdevices.patch({ customerId: "customerId", deviceId: "deviceId", }); - -/* -Updates a device's updatable properties, such as `annotatedUser`, `annotatedLocation`, `notes`, `orgUnitPath`, or `annotatedAssetId`. -*/ -await gapi.client.directory.chromeosdevices.update({ customerId: "customerId", deviceId: "deviceId", }); - -/* -Retrieves a customer. -*/ -await gapi.client.directory.customers.get({ customerKey: "customerKey", }); - -/* -Patches a customer. -*/ -await gapi.client.directory.customers.patch({ customerKey: "customerKey", }); - -/* -Updates a customer. -*/ -await gapi.client.directory.customers.update({ customerKey: "customerKey", }); - -/* -Deletes a domain Alias of the customer. -*/ -await gapi.client.directory.domainAliases.delete({ customer: "customer", domainAliasName: "domainAliasName", }); - -/* -Retrieves a domain alias of the customer. -*/ -await gapi.client.directory.domainAliases.get({ customer: "customer", domainAliasName: "domainAliasName", }); - -/* -Inserts a domain alias of the customer. -*/ -await gapi.client.directory.domainAliases.insert({ customer: "customer", }); - -/* -Lists the domain aliases of the customer. -*/ -await gapi.client.directory.domainAliases.list({ customer: "customer", }); - -/* -Deletes a domain of the customer. -*/ -await gapi.client.directory.domains.delete({ customer: "customer", domainName: "domainName", }); - -/* -Retrieves a domain of the customer. -*/ -await gapi.client.directory.domains.get({ customer: "customer", domainName: "domainName", }); - -/* -Inserts a domain of the customer. -*/ -await gapi.client.directory.domains.insert({ customer: "customer", }); - -/* -Lists the domains of the customer. -*/ -await gapi.client.directory.domains.list({ customer: "customer", }); - -/* -Deletes a group. -*/ -await gapi.client.directory.groups.delete({ groupKey: "groupKey", }); - -/* -Retrieves a group's properties. -*/ -await gapi.client.directory.groups.get({ groupKey: "groupKey", }); - -/* -Creates a group. -*/ -await gapi.client.directory.groups.insert({ }); - -/* -Retrieves all groups of a domain or of a user given a userKey (paginated). -*/ -await gapi.client.directory.groups.list({ }); - -/* -Updates a group's properties. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). -*/ -await gapi.client.directory.groups.patch({ groupKey: "groupKey", }); - -/* -Updates a group's properties. -*/ -await gapi.client.directory.groups.update({ groupKey: "groupKey", }); - -/* -Removes a member from a group. -*/ -await gapi.client.directory.members.delete({ groupKey: "groupKey", memberKey: "memberKey", }); - -/* -Retrieves a group member's properties. -*/ -await gapi.client.directory.members.get({ groupKey: "groupKey", memberKey: "memberKey", }); - -/* -Checks whether the given user is a member of the group. Membership can be direct or nested. -*/ -await gapi.client.directory.members.hasMember({ groupKey: "groupKey", memberKey: "memberKey", }); - -/* -Adds a user to the specified group. -*/ -await gapi.client.directory.members.insert({ groupKey: "groupKey", }); - -/* -Retrieves a paginated list of all members in a group. -*/ -await gapi.client.directory.members.list({ groupKey: "groupKey", }); - -/* -Updates the membership properties of a user in the specified group. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). -*/ -await gapi.client.directory.members.patch({ groupKey: "groupKey", memberKey: "memberKey", }); - -/* -Updates the membership of a user in the specified group. -*/ -await gapi.client.directory.members.update({ groupKey: "groupKey", memberKey: "memberKey", }); - -/* -Takes an action that affects a mobile device. For example, remotely wiping a device. -*/ -await gapi.client.directory.mobiledevices.action({ customerId: "customerId", resourceId: "resourceId", }); - -/* -Removes a mobile device. -*/ -await gapi.client.directory.mobiledevices.delete({ customerId: "customerId", resourceId: "resourceId", }); - -/* -Retrieves a mobile device's properties. -*/ -await gapi.client.directory.mobiledevices.get({ customerId: "customerId", resourceId: "resourceId", }); - -/* -Retrieves a paginated list of all user-owned mobile devices for an account. To retrieve a list that includes company-owned devices, use the Cloud Identity [Devices API](https://cloud.google.com/identity/docs/concepts/overview-devices) instead. -*/ -await gapi.client.directory.mobiledevices.list({ customerId: "customerId", }); - -/* -Removes an organizational unit. -*/ -await gapi.client.directory.orgunits.delete({ customerId: "customerId", orgUnitPath: "orgUnitPath", }); - -/* -Retrieves an organizational unit. -*/ -await gapi.client.directory.orgunits.get({ customerId: "customerId", orgUnitPath: "orgUnitPath", }); - -/* -Adds an organizational unit. -*/ -await gapi.client.directory.orgunits.insert({ customerId: "customerId", }); - -/* -Retrieves a list of all organizational units for an account. -*/ -await gapi.client.directory.orgunits.list({ customerId: "customerId", }); - -/* -Updates an organizational unit. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch) -*/ -await gapi.client.directory.orgunits.patch({ customerId: "customerId", orgUnitPath: "orgUnitPath", }); - -/* -Updates an organizational unit. -*/ -await gapi.client.directory.orgunits.update({ customerId: "customerId", orgUnitPath: "orgUnitPath", }); - -/* -Retrieves a paginated list of all privileges for a customer. -*/ -await gapi.client.directory.privileges.list({ customer: "customer", }); - -/* -Deletes a role assignment. -*/ -await gapi.client.directory.roleAssignments.delete({ customer: "customer", roleAssignmentId: "roleAssignmentId", }); - -/* -Retrieves a role assignment. -*/ -await gapi.client.directory.roleAssignments.get({ customer: "customer", roleAssignmentId: "roleAssignmentId", }); - -/* -Creates a role assignment. -*/ -await gapi.client.directory.roleAssignments.insert({ customer: "customer", }); - -/* -Retrieves a paginated list of all roleAssignments. -*/ -await gapi.client.directory.roleAssignments.list({ customer: "customer", }); - -/* -Deletes a role. -*/ -await gapi.client.directory.roles.delete({ customer: "customer", roleId: "roleId", }); - -/* -Retrieves a role. -*/ -await gapi.client.directory.roles.get({ customer: "customer", roleId: "roleId", }); - -/* -Creates a role. -*/ -await gapi.client.directory.roles.insert({ customer: "customer", }); - -/* -Retrieves a paginated list of all the roles in a domain. -*/ -await gapi.client.directory.roles.list({ customer: "customer", }); - -/* -Patches a role. -*/ -await gapi.client.directory.roles.patch({ customer: "customer", roleId: "roleId", }); - -/* -Updates a role. -*/ -await gapi.client.directory.roles.update({ customer: "customer", roleId: "roleId", }); - -/* -Deletes a schema. -*/ -await gapi.client.directory.schemas.delete({ customerId: "customerId", schemaKey: "schemaKey", }); - -/* -Retrieves a schema. -*/ -await gapi.client.directory.schemas.get({ customerId: "customerId", schemaKey: "schemaKey", }); - -/* -Creates a schema. -*/ -await gapi.client.directory.schemas.insert({ customerId: "customerId", }); - -/* -Retrieves all schemas for a customer. -*/ -await gapi.client.directory.schemas.list({ customerId: "customerId", }); - -/* -Patches a schema. -*/ -await gapi.client.directory.schemas.patch({ customerId: "customerId", schemaKey: "schemaKey", }); - -/* -Updates a schema. -*/ -await gapi.client.directory.schemas.update({ customerId: "customerId", schemaKey: "schemaKey", }); - -/* -Deletes all access tokens issued by a user for an application. -*/ -await gapi.client.directory.tokens.delete({ clientId: "clientId", userKey: "userKey", }); - -/* -Gets information about an access token issued by a user. -*/ -await gapi.client.directory.tokens.get({ clientId: "clientId", userKey: "userKey", }); - -/* -Returns the set of tokens specified user has issued to 3rd party applications. -*/ -await gapi.client.directory.tokens.list({ userKey: "userKey", }); - -/* -Turns off 2-Step Verification for user. -*/ -await gapi.client.directory.twoStepVerification.turnOff({ userKey: "userKey", }); - -/* -Deletes a user. -*/ -await gapi.client.directory.users.delete({ userKey: "userKey", }); - -/* -Retrieves a user. -*/ -await gapi.client.directory.users.get({ userKey: "userKey", }); - -/* -Creates a user. -*/ -await gapi.client.directory.users.insert({ }); - -/* -Retrieves a paginated list of either deleted users or all users in a domain. -*/ -await gapi.client.directory.users.list({ }); - -/* -Makes a user a super administrator. -*/ -await gapi.client.directory.users.makeAdmin({ userKey: "userKey", }); - -/* -Updates a user using patch semantics. The update method should be used instead, since it also supports patch semantics and has better performance. This method is unable to clear fields that contain repeated objects (`addresses`, `phones`, etc). Use the update method instead. -*/ -await gapi.client.directory.users.patch({ userKey: "userKey", }); - -/* -Signs a user out of all web and device sessions and reset their sign-in cookies. User will have to sign in by authenticating again. -*/ -await gapi.client.directory.users.signOut({ userKey: "userKey", }); - -/* -Undeletes a deleted user. -*/ -await gapi.client.directory.users.undelete({ userKey: "userKey", }); - -/* -Updates a user. 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, and fields set to `null` will be cleared. -*/ -await gapi.client.directory.users.update({ userKey: "userKey", }); - -/* -Watches for changes in users list. -*/ -await gapi.client.directory.users.watch({ }); - -/* -Generates new backup verification codes for the user. -*/ -await gapi.client.directory.verificationCodes.generate({ userKey: "userKey", }); - -/* -Invalidates the current backup verification codes for the user. -*/ -await gapi.client.directory.verificationCodes.invalidate({ userKey: "userKey", }); - -/* -Returns the current set of valid backup verification codes for the specified user. -*/ -await gapi.client.directory.verificationCodes.list({ userKey: "userKey", }); -``` diff --git a/test/restDocs/snapshots/gapi.client.admin-directory_v1/tests.ts b/test/restDocs/snapshots/gapi.client.admin-directory_v1/tests.ts deleted file mode 100644 index b3281ae10b..0000000000 --- a/test/restDocs/snapshots/gapi.client.admin-directory_v1/tests.ts +++ /dev/null @@ -1,1710 +0,0 @@ -/* This is stub file for gapi.client.admin-directory_v1 definition tests */ -// IMPORTANT -// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. -// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator - -// Revision: 20220628 - -gapi.load('client', async () => { - /** now we can use gapi.client */ - - await gapi.client.load('http://localhost:3000/admin.json'); - /** now we can use gapi.client.admin, gapi.client.directory */ - - /** don't forget to authenticate your client before sending any request to resources: */ - /** declare client_id registered in Google Developers Console */ - const client_id = '<>'; - const scope = [ - /** See, add, edit, and permanently delete the printers that your organization can use with Chrome */ - 'https://www.googleapis.com/auth/admin.chrome.printers', - /** See the printers that your organization can use with Chrome */ - 'https://www.googleapis.com/auth/admin.chrome.printers.readonly', - /** View and manage customer related information */ - 'https://www.googleapis.com/auth/admin.directory.customer', - /** View customer related information */ - 'https://www.googleapis.com/auth/admin.directory.customer.readonly', - /** View and manage your Chrome OS devices' metadata */ - 'https://www.googleapis.com/auth/admin.directory.device.chromeos', - /** View your Chrome OS devices' metadata */ - 'https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly', - /** View and manage your mobile devices' metadata */ - 'https://www.googleapis.com/auth/admin.directory.device.mobile', - /** Manage your mobile devices by performing administrative tasks */ - 'https://www.googleapis.com/auth/admin.directory.device.mobile.action', - /** View your mobile devices' metadata */ - 'https://www.googleapis.com/auth/admin.directory.device.mobile.readonly', - /** View and manage the provisioning of domains for your customers */ - 'https://www.googleapis.com/auth/admin.directory.domain', - /** View domains related to your customers */ - 'https://www.googleapis.com/auth/admin.directory.domain.readonly', - /** View and manage the provisioning of groups on your domain */ - 'https://www.googleapis.com/auth/admin.directory.group', - /** View and manage group subscriptions on your domain */ - 'https://www.googleapis.com/auth/admin.directory.group.member', - /** View group subscriptions on your domain */ - 'https://www.googleapis.com/auth/admin.directory.group.member.readonly', - /** View groups on your domain */ - 'https://www.googleapis.com/auth/admin.directory.group.readonly', - /** View and manage organization units on your domain */ - 'https://www.googleapis.com/auth/admin.directory.orgunit', - /** View organization units on your domain */ - 'https://www.googleapis.com/auth/admin.directory.orgunit.readonly', - /** View and manage the provisioning of calendar resources on your domain */ - 'https://www.googleapis.com/auth/admin.directory.resource.calendar', - /** View calendar resources on your domain */ - 'https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly', - /** Manage delegated admin roles for your domain */ - 'https://www.googleapis.com/auth/admin.directory.rolemanagement', - /** View delegated admin roles for your domain */ - 'https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly', - /** View and manage the provisioning of users on your domain */ - 'https://www.googleapis.com/auth/admin.directory.user', - /** View and manage user aliases on your domain */ - 'https://www.googleapis.com/auth/admin.directory.user.alias', - /** View user aliases on your domain */ - 'https://www.googleapis.com/auth/admin.directory.user.alias.readonly', - /** See info about users on your domain */ - 'https://www.googleapis.com/auth/admin.directory.user.readonly', - /** Manage data access permissions for users on your domain */ - 'https://www.googleapis.com/auth/admin.directory.user.security', - /** View and manage the provisioning of user schemas on your domain */ - 'https://www.googleapis.com/auth/admin.directory.userschema', - /** View user schemas on your domain */ - 'https://www.googleapis.com/auth/admin.directory.userschema.readonly', - /** See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account. */ - 'https://www.googleapis.com/auth/cloud-platform', - ]; - const immediate = false; - gapi.auth.authorize({ client_id, scope, immediate }, authResult => { - if (authResult && !authResult.error) { - /** handle successful authorization */ - run(); - } else { - /** handle authorization error */ - } - }); - - async function run() { - /** Stops watching resources through this channel. */ - await gapi.client.admin.channels.stop({ - }, { - address: "Test string", - expiration: "Test string", - id: "Test string", - kind: "Test string", - params: { - A: "Test string" - }, - payload: true, - resourceId: "Test string", - resourceUri: "Test string", - token: "Test string", - type: "Test string", - }); - /** Issues a command for the device to execute. */ - await gapi.client.admin.customer.devices.chromeos.issueCommand({ - customerId: "Test string", - deviceId: "Test string", - }, { - commandType: "Test string", - payload: "Test string", - }); - /** Gets command data a specific command issued to the device. */ - await gapi.client.admin.customer.devices.chromeos.commands.get({ - commandId: "Test string", - customerId: "Test string", - deviceId: "Test string", - }); - /** Creates printers under given Organization Unit. */ - await gapi.client.admin.customers.chrome.printers.batchCreatePrinters({ - parent: "Test string", - }, { - requests: [ - { - parent: "Test string", - printer: { - auxiliaryMessages: [ - { - auxiliaryMessage: "Test string", - fieldMask: "Test string", - severity: "Test string", - } - ], - createTime: "Test string", - description: "Test string", - displayName: "Test string", - id: "Test string", - makeAndModel: "Test string", - name: "Test string", - orgUnitId: "Test string", - uri: "Test string", - useDriverlessConfig: true, - }, - } - ], - }); - /** Deletes printers in batch. */ - await gapi.client.admin.customers.chrome.printers.batchDeletePrinters({ - parent: "Test string", - }, { - printerIds: [ - "Test string" - ], - }); - /** Creates a printer under given Organization Unit. */ - await gapi.client.admin.customers.chrome.printers.create({ - parent: "Test string", - }, { - auxiliaryMessages: [ - { - auxiliaryMessage: "Test string", - fieldMask: "Test string", - severity: "Test string", - } - ], - createTime: "Test string", - description: "Test string", - displayName: "Test string", - id: "Test string", - makeAndModel: "Test string", - name: "Test string", - orgUnitId: "Test string", - uri: "Test string", - useDriverlessConfig: true, - }); - /** Deletes a `Printer`. */ - await gapi.client.admin.customers.chrome.printers.delete({ - name: "Test string", - }); - /** Returns a `Printer` resource (printer's config). */ - await gapi.client.admin.customers.chrome.printers.get({ - name: "Test string", - }); - /** List printers configs. */ - await gapi.client.admin.customers.chrome.printers.list({ - filter: "Test string", - orderBy: "Test string", - orgUnitId: "Test string", - pageSize: 42, - pageToken: "Test string", - parent: "Test string", - }); - /** Lists the supported printer models. */ - await gapi.client.admin.customers.chrome.printers.listPrinterModels({ - filter: "Test string", - pageSize: 42, - pageToken: "Test string", - parent: "Test string", - }); - /** Updates a `Printer` resource. */ - await gapi.client.admin.customers.chrome.printers.patch({ - clearMask: "Test string", - name: "Test string", - updateMask: "Test string", - }, { - auxiliaryMessages: [ - { - auxiliaryMessage: "Test string", - fieldMask: "Test string", - severity: "Test string", - } - ], - createTime: "Test string", - description: "Test string", - displayName: "Test string", - id: "Test string", - makeAndModel: "Test string", - name: "Test string", - orgUnitId: "Test string", - uri: "Test string", - useDriverlessConfig: true, - }); - /** Deletes an ASP issued by a user. */ - await gapi.client.directory.asps.delete({ - codeId: 42, - userKey: "Test string", - }); - /** Gets information about an ASP issued by a user. */ - await gapi.client.directory.asps.get({ - codeId: 42, - userKey: "Test string", - }); - /** Lists the ASPs issued by a user. */ - await gapi.client.directory.asps.list({ - userKey: "Test string", - }); - /** - * Takes an action that affects a Chrome OS Device. This includes deprovisioning, disabling, and re-enabling devices. *Warning:* * Deprovisioning a device will stop device policy syncing - * and remove device-level printers. After a device is deprovisioned, it must be wiped before it can be re-enrolled. * Lost or stolen devices should use the disable action. * Re-enabling a - * disabled device will consume a device license. If you do not have sufficient licenses available when completing the re-enable action, you will receive an error. For more information - * about deprovisioning and disabling devices, visit the [help center](https://support.google.com/chrome/a/answer/3523633). - */ - await gapi.client.directory.chromeosdevices.action({ - customerId: "Test string", - resourceId: "Test string", - }, { - action: "Test string", - deprovisionReason: "Test string", - }); - /** Retrieves a Chrome OS device's properties. */ - await gapi.client.directory.chromeosdevices.get({ - customerId: "Test string", - deviceId: "Test string", - projection: "Test string", - }); - /** Retrieves a paginated list of Chrome OS devices within an account. */ - await gapi.client.directory.chromeosdevices.list({ - customerId: "Test string", - includeChildOrgunits: true, - maxResults: 42, - orderBy: "Test string", - orgUnitPath: "Test string", - pageToken: "Test string", - projection: "Test string", - query: "Test string", - sortOrder: "Test string", - }); - /** Moves or inserts multiple Chrome OS devices to an organizational unit. You can move up to 50 devices at once. */ - await gapi.client.directory.chromeosdevices.moveDevicesToOu({ - customerId: "Test string", - orgUnitPath: "Test string", - }, { - deviceIds: [ - "Test string" - ], - }); - /** - * Updates a device's updatable properties, such as `annotatedUser`, `annotatedLocation`, `notes`, `orgUnitPath`, or `annotatedAssetId`. This method supports [patch - * semantics](/admin-sdk/directory/v1/guides/performance#patch). - */ - await gapi.client.directory.chromeosdevices.patch({ - customerId: "Test string", - deviceId: "Test string", - projection: "Test string", - }, { - activeTimeRanges: [ - { - activeTime: 42, - date: "Test string", - } - ], - annotatedAssetId: "Test string", - annotatedLocation: "Test string", - annotatedUser: "Test string", - autoUpdateExpiration: "Test string", - bootMode: "Test string", - cpuInfo: [ - { - architecture: "Test string", - logicalCpus: [ - { - cStates: [ - { - displayName: "Test string", - sessionDuration: "Test string", - } - ], - currentScalingFrequencyKhz: 42, - idleDuration: "Test string", - maxScalingFrequencyKhz: 42, - } - ], - maxClockSpeedKhz: 42, - model: "Test string", - } - ], - cpuStatusReports: [ - { - cpuTemperatureInfo: [ - { - label: "Test string", - temperature: 42, - } - ], - cpuUtilizationPercentageInfo: [ - 42 - ], - reportTime: "Test string", - } - ], - deviceFiles: [ - { - createTime: "Test string", - downloadUrl: "Test string", - name: "Test string", - type: "Test string", - } - ], - deviceId: "Test string", - diskVolumeReports: [ - { - volumeInfo: [ - { - storageFree: "Test string", - storageTotal: "Test string", - volumeId: "Test string", - } - ], - } - ], - dockMacAddress: "Test string", - etag: "Test string", - ethernetMacAddress: "Test string", - ethernetMacAddress0: "Test string", - firmwareVersion: "Test string", - kind: "Test string", - lastEnrollmentTime: "Test string", - lastKnownNetwork: [ - { - ipAddress: "Test string", - wanIpAddress: "Test string", - } - ], - lastSync: "Test string", - macAddress: "Test string", - manufactureDate: "Test string", - meid: "Test string", - model: "Test string", - notes: "Test string", - orderNumber: "Test string", - orgUnitId: "Test string", - orgUnitPath: "Test string", - osVersion: "Test string", - platformVersion: "Test string", - recentUsers: [ - { - email: "Test string", - type: "Test string", - } - ], - screenshotFiles: [ - { - createTime: "Test string", - downloadUrl: "Test string", - name: "Test string", - type: "Test string", - } - ], - serialNumber: "Test string", - status: "Test string", - supportEndDate: "Test string", - systemRamFreeReports: [ - { - reportTime: "Test string", - systemRamFreeInfo: [ - "Test string" - ], - } - ], - systemRamTotal: "Test string", - tpmVersionInfo: { - family: "Test string", - firmwareVersion: "Test string", - manufacturer: "Test string", - specLevel: "Test string", - tpmModel: "Test string", - vendorSpecific: "Test string", - }, - willAutoRenew: true, - }); - /** Updates a device's updatable properties, such as `annotatedUser`, `annotatedLocation`, `notes`, `orgUnitPath`, or `annotatedAssetId`. */ - await gapi.client.directory.chromeosdevices.update({ - customerId: "Test string", - deviceId: "Test string", - projection: "Test string", - }, { - activeTimeRanges: [ - { - activeTime: 42, - date: "Test string", - } - ], - annotatedAssetId: "Test string", - annotatedLocation: "Test string", - annotatedUser: "Test string", - autoUpdateExpiration: "Test string", - bootMode: "Test string", - cpuInfo: [ - { - architecture: "Test string", - logicalCpus: [ - { - cStates: [ - { - displayName: "Test string", - sessionDuration: "Test string", - } - ], - currentScalingFrequencyKhz: 42, - idleDuration: "Test string", - maxScalingFrequencyKhz: 42, - } - ], - maxClockSpeedKhz: 42, - model: "Test string", - } - ], - cpuStatusReports: [ - { - cpuTemperatureInfo: [ - { - label: "Test string", - temperature: 42, - } - ], - cpuUtilizationPercentageInfo: [ - 42 - ], - reportTime: "Test string", - } - ], - deviceFiles: [ - { - createTime: "Test string", - downloadUrl: "Test string", - name: "Test string", - type: "Test string", - } - ], - deviceId: "Test string", - diskVolumeReports: [ - { - volumeInfo: [ - { - storageFree: "Test string", - storageTotal: "Test string", - volumeId: "Test string", - } - ], - } - ], - dockMacAddress: "Test string", - etag: "Test string", - ethernetMacAddress: "Test string", - ethernetMacAddress0: "Test string", - firmwareVersion: "Test string", - kind: "Test string", - lastEnrollmentTime: "Test string", - lastKnownNetwork: [ - { - ipAddress: "Test string", - wanIpAddress: "Test string", - } - ], - lastSync: "Test string", - macAddress: "Test string", - manufactureDate: "Test string", - meid: "Test string", - model: "Test string", - notes: "Test string", - orderNumber: "Test string", - orgUnitId: "Test string", - orgUnitPath: "Test string", - osVersion: "Test string", - platformVersion: "Test string", - recentUsers: [ - { - email: "Test string", - type: "Test string", - } - ], - screenshotFiles: [ - { - createTime: "Test string", - downloadUrl: "Test string", - name: "Test string", - type: "Test string", - } - ], - serialNumber: "Test string", - status: "Test string", - supportEndDate: "Test string", - systemRamFreeReports: [ - { - reportTime: "Test string", - systemRamFreeInfo: [ - "Test string" - ], - } - ], - systemRamTotal: "Test string", - tpmVersionInfo: { - family: "Test string", - firmwareVersion: "Test string", - manufacturer: "Test string", - specLevel: "Test string", - tpmModel: "Test string", - vendorSpecific: "Test string", - }, - willAutoRenew: true, - }); - /** Retrieves a customer. */ - await gapi.client.directory.customers.get({ - customerKey: "Test string", - }); - /** Patches a customer. */ - await gapi.client.directory.customers.patch({ - customerKey: "Test string", - }, { - alternateEmail: "Test string", - customerCreationTime: "Test string", - customerDomain: "Test string", - etag: "Test string", - id: "Test string", - kind: "Test string", - language: "Test string", - phoneNumber: "Test string", - postalAddress: { - addressLine1: "Test string", - addressLine2: "Test string", - addressLine3: "Test string", - contactName: "Test string", - countryCode: "Test string", - locality: "Test string", - organizationName: "Test string", - postalCode: "Test string", - region: "Test string", - }, - }); - /** Updates a customer. */ - await gapi.client.directory.customers.update({ - customerKey: "Test string", - }, { - alternateEmail: "Test string", - customerCreationTime: "Test string", - customerDomain: "Test string", - etag: "Test string", - id: "Test string", - kind: "Test string", - language: "Test string", - phoneNumber: "Test string", - postalAddress: { - addressLine1: "Test string", - addressLine2: "Test string", - addressLine3: "Test string", - contactName: "Test string", - countryCode: "Test string", - locality: "Test string", - organizationName: "Test string", - postalCode: "Test string", - region: "Test string", - }, - }); - /** Deletes a domain Alias of the customer. */ - await gapi.client.directory.domainAliases.delete({ - customer: "Test string", - domainAliasName: "Test string", - }); - /** Retrieves a domain alias of the customer. */ - await gapi.client.directory.domainAliases.get({ - customer: "Test string", - domainAliasName: "Test string", - }); - /** Inserts a domain alias of the customer. */ - await gapi.client.directory.domainAliases.insert({ - customer: "Test string", - }, { - creationTime: "Test string", - domainAliasName: "Test string", - etag: "Test string", - kind: "Test string", - parentDomainName: "Test string", - verified: true, - }); - /** Lists the domain aliases of the customer. */ - await gapi.client.directory.domainAliases.list({ - customer: "Test string", - parentDomainName: "Test string", - }); - /** Deletes a domain of the customer. */ - await gapi.client.directory.domains.delete({ - customer: "Test string", - domainName: "Test string", - }); - /** Retrieves a domain of the customer. */ - await gapi.client.directory.domains.get({ - customer: "Test string", - domainName: "Test string", - }); - /** Inserts a domain of the customer. */ - await gapi.client.directory.domains.insert({ - customer: "Test string", - }, { - creationTime: "Test string", - domainAliases: [ - { - creationTime: "Test string", - domainAliasName: "Test string", - etag: "Test string", - kind: "Test string", - parentDomainName: "Test string", - verified: true, - } - ], - domainName: "Test string", - etag: "Test string", - isPrimary: true, - kind: "Test string", - verified: true, - }); - /** Lists the domains of the customer. */ - await gapi.client.directory.domains.list({ - customer: "Test string", - }); - /** Deletes a group. */ - await gapi.client.directory.groups.delete({ - groupKey: "Test string", - }); - /** Retrieves a group's properties. */ - await gapi.client.directory.groups.get({ - groupKey: "Test string", - }); - /** Creates a group. */ - await gapi.client.directory.groups.insert({ - }, { - adminCreated: true, - aliases: [ - "Test string" - ], - description: "Test string", - directMembersCount: "Test string", - email: "Test string", - etag: "Test string", - id: "Test string", - kind: "Test string", - name: "Test string", - nonEditableAliases: [ - "Test string" - ], - }); - /** Retrieves all groups of a domain or of a user given a userKey (paginated). */ - await gapi.client.directory.groups.list({ - customer: "Test string", - domain: "Test string", - maxResults: 42, - orderBy: "Test string", - pageToken: "Test string", - query: "Test string", - sortOrder: "Test string", - userKey: "Test string", - }); - /** Updates a group's properties. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). */ - await gapi.client.directory.groups.patch({ - groupKey: "Test string", - }, { - adminCreated: true, - aliases: [ - "Test string" - ], - description: "Test string", - directMembersCount: "Test string", - email: "Test string", - etag: "Test string", - id: "Test string", - kind: "Test string", - name: "Test string", - nonEditableAliases: [ - "Test string" - ], - }); - /** Updates a group's properties. */ - await gapi.client.directory.groups.update({ - groupKey: "Test string", - }, { - adminCreated: true, - aliases: [ - "Test string" - ], - description: "Test string", - directMembersCount: "Test string", - email: "Test string", - etag: "Test string", - id: "Test string", - kind: "Test string", - name: "Test string", - nonEditableAliases: [ - "Test string" - ], - }); - /** Removes an alias. */ - await gapi.client.directory.groups.aliases.delete({ - alias: "Test string", - groupKey: "Test string", - }); - /** Adds an alias for the group. */ - await gapi.client.directory.groups.aliases.insert({ - groupKey: "Test string", - }, { - alias: "Test string", - etag: "Test string", - id: "Test string", - kind: "Test string", - primaryEmail: "Test string", - }); - /** Lists all aliases for a group. */ - await gapi.client.directory.groups.aliases.list({ - groupKey: "Test string", - }); - /** Removes a member from a group. */ - await gapi.client.directory.members.delete({ - groupKey: "Test string", - memberKey: "Test string", - }); - /** Retrieves a group member's properties. */ - await gapi.client.directory.members.get({ - groupKey: "Test string", - memberKey: "Test string", - }); - /** Checks whether the given user is a member of the group. Membership can be direct or nested. */ - await gapi.client.directory.members.hasMember({ - groupKey: "Test string", - memberKey: "Test string", - }); - /** Adds a user to the specified group. */ - await gapi.client.directory.members.insert({ - groupKey: "Test string", - }, { - delivery_settings: "Test string", - email: "Test string", - etag: "Test string", - id: "Test string", - kind: "Test string", - role: "Test string", - status: "Test string", - type: "Test string", - }); - /** Retrieves a paginated list of all members in a group. */ - await gapi.client.directory.members.list({ - groupKey: "Test string", - includeDerivedMembership: true, - maxResults: 42, - pageToken: "Test string", - roles: "Test string", - }); - /** Updates the membership properties of a user in the specified group. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). */ - await gapi.client.directory.members.patch({ - groupKey: "Test string", - memberKey: "Test string", - }, { - delivery_settings: "Test string", - email: "Test string", - etag: "Test string", - id: "Test string", - kind: "Test string", - role: "Test string", - status: "Test string", - type: "Test string", - }); - /** Updates the membership of a user in the specified group. */ - await gapi.client.directory.members.update({ - groupKey: "Test string", - memberKey: "Test string", - }, { - delivery_settings: "Test string", - email: "Test string", - etag: "Test string", - id: "Test string", - kind: "Test string", - role: "Test string", - status: "Test string", - type: "Test string", - }); - /** Takes an action that affects a mobile device. For example, remotely wiping a device. */ - await gapi.client.directory.mobiledevices.action({ - customerId: "Test string", - resourceId: "Test string", - }, { - action: "Test string", - }); - /** Removes a mobile device. */ - await gapi.client.directory.mobiledevices.delete({ - customerId: "Test string", - resourceId: "Test string", - }); - /** Retrieves a mobile device's properties. */ - await gapi.client.directory.mobiledevices.get({ - customerId: "Test string", - projection: "Test string", - resourceId: "Test string", - }); - /** - * Retrieves a paginated list of all user-owned mobile devices for an account. To retrieve a list that includes company-owned devices, use the Cloud Identity [Devices - * API](https://cloud.google.com/identity/docs/concepts/overview-devices) instead. - */ - await gapi.client.directory.mobiledevices.list({ - customerId: "Test string", - maxResults: 42, - orderBy: "Test string", - pageToken: "Test string", - projection: "Test string", - query: "Test string", - sortOrder: "Test string", - }); - /** Removes an organizational unit. */ - await gapi.client.directory.orgunits.delete({ - customerId: "Test string", - orgUnitPath: "Test string", - }); - /** Retrieves an organizational unit. */ - await gapi.client.directory.orgunits.get({ - customerId: "Test string", - orgUnitPath: "Test string", - }); - /** Adds an organizational unit. */ - await gapi.client.directory.orgunits.insert({ - customerId: "Test string", - }, { - blockInheritance: true, - description: "Test string", - etag: "Test string", - kind: "Test string", - name: "Test string", - orgUnitId: "Test string", - orgUnitPath: "Test string", - parentOrgUnitId: "Test string", - parentOrgUnitPath: "Test string", - }); - /** Retrieves a list of all organizational units for an account. */ - await gapi.client.directory.orgunits.list({ - customerId: "Test string", - orgUnitPath: "Test string", - type: "Test string", - }); - /** Updates an organizational unit. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch) */ - await gapi.client.directory.orgunits.patch({ - customerId: "Test string", - orgUnitPath: "Test string", - }, { - blockInheritance: true, - description: "Test string", - etag: "Test string", - kind: "Test string", - name: "Test string", - orgUnitId: "Test string", - orgUnitPath: "Test string", - parentOrgUnitId: "Test string", - parentOrgUnitPath: "Test string", - }); - /** Updates an organizational unit. */ - await gapi.client.directory.orgunits.update({ - customerId: "Test string", - orgUnitPath: "Test string", - }, { - blockInheritance: true, - description: "Test string", - etag: "Test string", - kind: "Test string", - name: "Test string", - orgUnitId: "Test string", - orgUnitPath: "Test string", - parentOrgUnitId: "Test string", - parentOrgUnitPath: "Test string", - }); - /** Retrieves a paginated list of all privileges for a customer. */ - await gapi.client.directory.privileges.list({ - customer: "Test string", - }); - /** Deletes a building. */ - await gapi.client.directory.resources.buildings.delete({ - buildingId: "Test string", - customer: "Test string", - }); - /** Retrieves a building. */ - await gapi.client.directory.resources.buildings.get({ - buildingId: "Test string", - customer: "Test string", - }); - /** Inserts a building. */ - await gapi.client.directory.resources.buildings.insert({ - coordinatesSource: "Test string", - customer: "Test string", - }, { - address: { - addressLines: [ - "Test string" - ], - administrativeArea: "Test string", - languageCode: "Test string", - locality: "Test string", - postalCode: "Test string", - regionCode: "Test string", - sublocality: "Test string", - }, - buildingId: "Test string", - buildingName: "Test string", - coordinates: { - latitude: 42, - longitude: 42, - }, - description: "Test string", - etags: "Test string", - floorNames: [ - "Test string" - ], - kind: "Test string", - }); - /** Retrieves a list of buildings for an account. */ - await gapi.client.directory.resources.buildings.list({ - customer: "Test string", - maxResults: 42, - pageToken: "Test string", - }); - /** Patches a building. */ - await gapi.client.directory.resources.buildings.patch({ - buildingId: "Test string", - coordinatesSource: "Test string", - customer: "Test string", - }, { - address: { - addressLines: [ - "Test string" - ], - administrativeArea: "Test string", - languageCode: "Test string", - locality: "Test string", - postalCode: "Test string", - regionCode: "Test string", - sublocality: "Test string", - }, - buildingId: "Test string", - buildingName: "Test string", - coordinates: { - latitude: 42, - longitude: 42, - }, - description: "Test string", - etags: "Test string", - floorNames: [ - "Test string" - ], - kind: "Test string", - }); - /** Updates a building. */ - await gapi.client.directory.resources.buildings.update({ - buildingId: "Test string", - coordinatesSource: "Test string", - customer: "Test string", - }, { - address: { - addressLines: [ - "Test string" - ], - administrativeArea: "Test string", - languageCode: "Test string", - locality: "Test string", - postalCode: "Test string", - regionCode: "Test string", - sublocality: "Test string", - }, - buildingId: "Test string", - buildingName: "Test string", - coordinates: { - latitude: 42, - longitude: 42, - }, - description: "Test string", - etags: "Test string", - floorNames: [ - "Test string" - ], - kind: "Test string", - }); - /** Deletes a calendar resource. */ - await gapi.client.directory.resources.calendars.delete({ - calendarResourceId: "Test string", - customer: "Test string", - }); - /** Retrieves a calendar resource. */ - await gapi.client.directory.resources.calendars.get({ - calendarResourceId: "Test string", - customer: "Test string", - }); - /** Inserts a calendar resource. */ - await gapi.client.directory.resources.calendars.insert({ - customer: "Test string", - }, { - buildingId: "Test string", - capacity: 42, - etags: "Test string", - featureInstances: 42, - floorName: "Test string", - floorSection: "Test string", - generatedResourceName: "Test string", - kind: "Test string", - resourceCategory: "Test string", - resourceDescription: "Test string", - resourceEmail: "Test string", - resourceId: "Test string", - resourceName: "Test string", - resourceType: "Test string", - userVisibleDescription: "Test string", - }); - /** Retrieves a list of calendar resources for an account. */ - await gapi.client.directory.resources.calendars.list({ - customer: "Test string", - maxResults: 42, - orderBy: "Test string", - pageToken: "Test string", - query: "Test string", - }); - /** Patches a calendar resource. */ - await gapi.client.directory.resources.calendars.patch({ - calendarResourceId: "Test string", - customer: "Test string", - }, { - buildingId: "Test string", - capacity: 42, - etags: "Test string", - featureInstances: 42, - floorName: "Test string", - floorSection: "Test string", - generatedResourceName: "Test string", - kind: "Test string", - resourceCategory: "Test string", - resourceDescription: "Test string", - resourceEmail: "Test string", - resourceId: "Test string", - resourceName: "Test string", - resourceType: "Test string", - userVisibleDescription: "Test string", - }); - /** - * 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. - */ - await gapi.client.directory.resources.calendars.update({ - calendarResourceId: "Test string", - customer: "Test string", - }, { - buildingId: "Test string", - capacity: 42, - etags: "Test string", - featureInstances: 42, - floorName: "Test string", - floorSection: "Test string", - generatedResourceName: "Test string", - kind: "Test string", - resourceCategory: "Test string", - resourceDescription: "Test string", - resourceEmail: "Test string", - resourceId: "Test string", - resourceName: "Test string", - resourceType: "Test string", - userVisibleDescription: "Test string", - }); - /** Deletes a feature. */ - await gapi.client.directory.resources.features.delete({ - customer: "Test string", - featureKey: "Test string", - }); - /** Retrieves a feature. */ - await gapi.client.directory.resources.features.get({ - customer: "Test string", - featureKey: "Test string", - }); - /** Inserts a feature. */ - await gapi.client.directory.resources.features.insert({ - customer: "Test string", - }, { - etags: "Test string", - kind: "Test string", - name: "Test string", - }); - /** Retrieves a list of features for an account. */ - await gapi.client.directory.resources.features.list({ - customer: "Test string", - maxResults: 42, - pageToken: "Test string", - }); - /** Patches a feature. */ - await gapi.client.directory.resources.features.patch({ - customer: "Test string", - featureKey: "Test string", - }, { - etags: "Test string", - kind: "Test string", - name: "Test string", - }); - /** Renames a feature. */ - await gapi.client.directory.resources.features.rename({ - customer: "Test string", - oldName: "Test string", - }, { - newName: "Test string", - }); - /** Updates a feature. */ - await gapi.client.directory.resources.features.update({ - customer: "Test string", - featureKey: "Test string", - }, { - etags: "Test string", - kind: "Test string", - name: "Test string", - }); - /** Deletes a role assignment. */ - await gapi.client.directory.roleAssignments.delete({ - customer: "Test string", - roleAssignmentId: "Test string", - }); - /** Retrieves a role assignment. */ - await gapi.client.directory.roleAssignments.get({ - customer: "Test string", - roleAssignmentId: "Test string", - }); - /** Creates a role assignment. */ - await gapi.client.directory.roleAssignments.insert({ - customer: "Test string", - }, { - assignedTo: "Test string", - etag: "Test string", - kind: "Test string", - orgUnitId: "Test string", - roleAssignmentId: "Test string", - roleId: "Test string", - scopeType: "Test string", - }); - /** Retrieves a paginated list of all roleAssignments. */ - await gapi.client.directory.roleAssignments.list({ - customer: "Test string", - maxResults: 42, - pageToken: "Test string", - roleId: "Test string", - userKey: "Test string", - }); - /** Deletes a role. */ - await gapi.client.directory.roles.delete({ - customer: "Test string", - roleId: "Test string", - }); - /** Retrieves a role. */ - await gapi.client.directory.roles.get({ - customer: "Test string", - roleId: "Test string", - }); - /** Creates a role. */ - await gapi.client.directory.roles.insert({ - customer: "Test string", - }, { - etag: "Test string", - isSuperAdminRole: true, - isSystemRole: true, - kind: "Test string", - roleDescription: "Test string", - roleId: "Test string", - roleName: "Test string", - rolePrivileges: [ - { - privilegeName: "Test string", - serviceId: "Test string", - } - ], - }); - /** Retrieves a paginated list of all the roles in a domain. */ - await gapi.client.directory.roles.list({ - customer: "Test string", - maxResults: 42, - pageToken: "Test string", - }); - /** Patches a role. */ - await gapi.client.directory.roles.patch({ - customer: "Test string", - roleId: "Test string", - }, { - etag: "Test string", - isSuperAdminRole: true, - isSystemRole: true, - kind: "Test string", - roleDescription: "Test string", - roleId: "Test string", - roleName: "Test string", - rolePrivileges: [ - { - privilegeName: "Test string", - serviceId: "Test string", - } - ], - }); - /** Updates a role. */ - await gapi.client.directory.roles.update({ - customer: "Test string", - roleId: "Test string", - }, { - etag: "Test string", - isSuperAdminRole: true, - isSystemRole: true, - kind: "Test string", - roleDescription: "Test string", - roleId: "Test string", - roleName: "Test string", - rolePrivileges: [ - { - privilegeName: "Test string", - serviceId: "Test string", - } - ], - }); - /** Deletes a schema. */ - await gapi.client.directory.schemas.delete({ - customerId: "Test string", - schemaKey: "Test string", - }); - /** Retrieves a schema. */ - await gapi.client.directory.schemas.get({ - customerId: "Test string", - schemaKey: "Test string", - }); - /** Creates a schema. */ - await gapi.client.directory.schemas.insert({ - customerId: "Test string", - }, { - displayName: "Test string", - etag: "Test string", - fields: [ - { - displayName: "Test string", - etag: "Test string", - fieldId: "Test string", - fieldName: "Test string", - fieldType: "Test string", - indexed: true, - kind: "Test string", - multiValued: true, - numericIndexingSpec: { - maxValue: 42, - minValue: 42, - }, - readAccessType: "Test string", - } - ], - kind: "Test string", - schemaId: "Test string", - schemaName: "Test string", - }); - /** Retrieves all schemas for a customer. */ - await gapi.client.directory.schemas.list({ - customerId: "Test string", - }); - /** Patches a schema. */ - await gapi.client.directory.schemas.patch({ - customerId: "Test string", - schemaKey: "Test string", - }, { - displayName: "Test string", - etag: "Test string", - fields: [ - { - displayName: "Test string", - etag: "Test string", - fieldId: "Test string", - fieldName: "Test string", - fieldType: "Test string", - indexed: true, - kind: "Test string", - multiValued: true, - numericIndexingSpec: { - maxValue: 42, - minValue: 42, - }, - readAccessType: "Test string", - } - ], - kind: "Test string", - schemaId: "Test string", - schemaName: "Test string", - }); - /** Updates a schema. */ - await gapi.client.directory.schemas.update({ - customerId: "Test string", - schemaKey: "Test string", - }, { - displayName: "Test string", - etag: "Test string", - fields: [ - { - displayName: "Test string", - etag: "Test string", - fieldId: "Test string", - fieldName: "Test string", - fieldType: "Test string", - indexed: true, - kind: "Test string", - multiValued: true, - numericIndexingSpec: { - maxValue: 42, - minValue: 42, - }, - readAccessType: "Test string", - } - ], - kind: "Test string", - schemaId: "Test string", - schemaName: "Test string", - }); - /** Deletes all access tokens issued by a user for an application. */ - await gapi.client.directory.tokens.delete({ - clientId: "Test string", - userKey: "Test string", - }); - /** Gets information about an access token issued by a user. */ - await gapi.client.directory.tokens.get({ - clientId: "Test string", - userKey: "Test string", - }); - /** Returns the set of tokens specified user has issued to 3rd party applications. */ - await gapi.client.directory.tokens.list({ - userKey: "Test string", - }); - /** Turns off 2-Step Verification for user. */ - await gapi.client.directory.twoStepVerification.turnOff({ - userKey: "Test string", - }); - /** Deletes a user. */ - await gapi.client.directory.users.delete({ - userKey: "Test string", - }); - /** Retrieves a user. */ - await gapi.client.directory.users.get({ - customFieldMask: "Test string", - projection: "Test string", - userKey: "Test string", - viewType: "Test string", - }); - /** Creates a user. */ - await gapi.client.directory.users.insert({ - }, { - addresses: 42, - agreedToTerms: true, - aliases: [ - "Test string" - ], - archived: true, - changePasswordAtNextLogin: true, - creationTime: "Test string", - customerId: "Test string", - customSchemas: { - A: { - A: 42 - } - }, - deletionTime: "Test string", - emails: 42, - etag: "Test string", - externalIds: 42, - gender: 42, - hashFunction: "Test string", - id: "Test string", - ims: 42, - includeInGlobalAddressList: true, - ipWhitelisted: true, - isAdmin: true, - isDelegatedAdmin: true, - isEnforcedIn2Sv: true, - isEnrolledIn2Sv: true, - isMailboxSetup: true, - keywords: 42, - kind: "Test string", - languages: 42, - lastLoginTime: "Test string", - locations: 42, - name: { - familyName: "Test string", - fullName: "Test string", - givenName: "Test string", - }, - nonEditableAliases: [ - "Test string" - ], - notes: 42, - organizations: 42, - orgUnitPath: "Test string", - password: "Test string", - phones: 42, - posixAccounts: 42, - primaryEmail: "Test string", - recoveryEmail: "Test string", - recoveryPhone: "Test string", - relations: 42, - sshPublicKeys: 42, - suspended: true, - suspensionReason: "Test string", - thumbnailPhotoEtag: "Test string", - thumbnailPhotoUrl: "Test string", - websites: 42, - }); - /** Retrieves a paginated list of either deleted users or all users in a domain. */ - await gapi.client.directory.users.list({ - customer: "Test string", - customFieldMask: "Test string", - domain: "Test string", - event: "Test string", - maxResults: 42, - orderBy: "Test string", - pageToken: "Test string", - projection: "Test string", - query: "Test string", - showDeleted: "Test string", - sortOrder: "Test string", - viewType: "Test string", - }); - /** Makes a user a super administrator. */ - await gapi.client.directory.users.makeAdmin({ - userKey: "Test string", - }, { - status: true, - }); - /** - * Updates a user using patch semantics. The update method should be used instead, since it also supports patch semantics and has better performance. This method is unable to clear fields - * that contain repeated objects (`addresses`, `phones`, etc). Use the update method instead. - */ - await gapi.client.directory.users.patch({ - userKey: "Test string", - }, { - addresses: 42, - agreedToTerms: true, - aliases: [ - "Test string" - ], - archived: true, - changePasswordAtNextLogin: true, - creationTime: "Test string", - customerId: "Test string", - customSchemas: { - A: { - A: 42 - } - }, - deletionTime: "Test string", - emails: 42, - etag: "Test string", - externalIds: 42, - gender: 42, - hashFunction: "Test string", - id: "Test string", - ims: 42, - includeInGlobalAddressList: true, - ipWhitelisted: true, - isAdmin: true, - isDelegatedAdmin: true, - isEnforcedIn2Sv: true, - isEnrolledIn2Sv: true, - isMailboxSetup: true, - keywords: 42, - kind: "Test string", - languages: 42, - lastLoginTime: "Test string", - locations: 42, - name: { - familyName: "Test string", - fullName: "Test string", - givenName: "Test string", - }, - nonEditableAliases: [ - "Test string" - ], - notes: 42, - organizations: 42, - orgUnitPath: "Test string", - password: "Test string", - phones: 42, - posixAccounts: 42, - primaryEmail: "Test string", - recoveryEmail: "Test string", - recoveryPhone: "Test string", - relations: 42, - sshPublicKeys: 42, - suspended: true, - suspensionReason: "Test string", - thumbnailPhotoEtag: "Test string", - thumbnailPhotoUrl: "Test string", - websites: 42, - }); - /** Signs a user out of all web and device sessions and reset their sign-in cookies. User will have to sign in by authenticating again. */ - await gapi.client.directory.users.signOut({ - userKey: "Test string", - }); - /** Undeletes a deleted user. */ - await gapi.client.directory.users.undelete({ - userKey: "Test string", - }, { - orgUnitPath: "Test string", - }); - /** - * Updates a user. 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, and - * fields set to `null` will be cleared. - */ - await gapi.client.directory.users.update({ - userKey: "Test string", - }, { - addresses: 42, - agreedToTerms: true, - aliases: [ - "Test string" - ], - archived: true, - changePasswordAtNextLogin: true, - creationTime: "Test string", - customerId: "Test string", - customSchemas: { - A: { - A: 42 - } - }, - deletionTime: "Test string", - emails: 42, - etag: "Test string", - externalIds: 42, - gender: 42, - hashFunction: "Test string", - id: "Test string", - ims: 42, - includeInGlobalAddressList: true, - ipWhitelisted: true, - isAdmin: true, - isDelegatedAdmin: true, - isEnforcedIn2Sv: true, - isEnrolledIn2Sv: true, - isMailboxSetup: true, - keywords: 42, - kind: "Test string", - languages: 42, - lastLoginTime: "Test string", - locations: 42, - name: { - familyName: "Test string", - fullName: "Test string", - givenName: "Test string", - }, - nonEditableAliases: [ - "Test string" - ], - notes: 42, - organizations: 42, - orgUnitPath: "Test string", - password: "Test string", - phones: 42, - posixAccounts: 42, - primaryEmail: "Test string", - recoveryEmail: "Test string", - recoveryPhone: "Test string", - relations: 42, - sshPublicKeys: 42, - suspended: true, - suspensionReason: "Test string", - thumbnailPhotoEtag: "Test string", - thumbnailPhotoUrl: "Test string", - websites: 42, - }); - /** Watches for changes in users list. */ - await gapi.client.directory.users.watch({ - customer: "Test string", - customFieldMask: "Test string", - domain: "Test string", - event: "Test string", - maxResults: 42, - orderBy: "Test string", - pageToken: "Test string", - projection: "Test string", - query: "Test string", - showDeleted: "Test string", - sortOrder: "Test string", - viewType: "Test string", - }, { - address: "Test string", - expiration: "Test string", - id: "Test string", - kind: "Test string", - params: { - A: "Test string" - }, - payload: true, - resourceId: "Test string", - resourceUri: "Test string", - token: "Test string", - type: "Test string", - }); - /** Removes an alias. */ - await gapi.client.directory.users.aliases.delete({ - alias: "Test string", - userKey: "Test string", - }); - /** Adds an alias. */ - await gapi.client.directory.users.aliases.insert({ - userKey: "Test string", - }, { - alias: "Test string", - etag: "Test string", - id: "Test string", - kind: "Test string", - primaryEmail: "Test string", - }); - /** Lists all aliases for a user. */ - await gapi.client.directory.users.aliases.list({ - event: "Test string", - userKey: "Test string", - }); - /** Watches for changes in users list. */ - await gapi.client.directory.users.aliases.watch({ - event: "Test string", - userKey: "Test string", - }, { - address: "Test string", - expiration: "Test string", - id: "Test string", - kind: "Test string", - params: { - A: "Test string" - }, - payload: true, - resourceId: "Test string", - resourceUri: "Test string", - token: "Test string", - type: "Test string", - }); - /** Removes the user's photo. */ - await gapi.client.directory.users.photos.delete({ - userKey: "Test string", - }); - /** Retrieves the user's photo. */ - await gapi.client.directory.users.photos.get({ - userKey: "Test string", - }); - /** Adds a photo for the user. This method supports [patch semantics](/admin-sdk/directory/v1/guides/performance#patch). */ - await gapi.client.directory.users.photos.patch({ - userKey: "Test string", - }, { - etag: "Test string", - height: 42, - id: "Test string", - kind: "Test string", - mimeType: "Test string", - photoData: "Test string", - primaryEmail: "Test string", - width: 42, - }); - /** Adds a photo for the user. */ - await gapi.client.directory.users.photos.update({ - userKey: "Test string", - }, { - etag: "Test string", - height: 42, - id: "Test string", - kind: "Test string", - mimeType: "Test string", - photoData: "Test string", - primaryEmail: "Test string", - width: 42, - }); - /** Generates new backup verification codes for the user. */ - await gapi.client.directory.verificationCodes.generate({ - userKey: "Test string", - }); - /** Invalidates the current backup verification codes for the user. */ - await gapi.client.directory.verificationCodes.invalidate({ - userKey: "Test string", - }); - /** Returns the current set of valid backup verification codes for the specified user. */ - await gapi.client.directory.verificationCodes.list({ - userKey: "Test string", - }); - } -}); diff --git a/test/restDocs/snapshots/gapi.client.admin-directory_v1/tsconfig.json b/test/restDocs/snapshots/gapi.client.admin-directory_v1/tsconfig.json deleted file mode 100644 index d5540261de..0000000000 --- a/test/restDocs/snapshots/gapi.client.admin-directory_v1/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": ["es6", "dom"], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "baseUrl": "../", - "typeRoots": [ - "../" - ], - "types": [], - "noEmit": true, - "forceConsistentCasingInFileNames": true, - "strictFunctionTypes": true - }, - "files": ["index.d.ts", "tests.ts"] -} diff --git a/test/restDocs/snapshots/gapi.client.admin-directory_v1/tslint.json b/test/restDocs/snapshots/gapi.client.admin-directory_v1/tslint.json deleted file mode 100644 index 1598764131..0000000000 --- a/test/restDocs/snapshots/gapi.client.admin-directory_v1/tslint.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "dtslint/dtslint.json", - "rules": { - "no-redundant-jsdoc": false - } -} diff --git a/test/restDocs/snapshots/gapi.client.calendar-v3/.npmrc b/test/restDocs/snapshots/gapi.client.calendar-v3/.npmrc deleted file mode 100644 index 0063b50cfd..0000000000 --- a/test/restDocs/snapshots/gapi.client.calendar-v3/.npmrc +++ /dev/null @@ -1 +0,0 @@ -//registry.npmjs.org/:_authToken=${NPM_PUBLISH_AUTOMATION_TOKEN} diff --git a/test/restDocs/snapshots/gapi.client.calendar-v3/index.d.ts b/test/restDocs/snapshots/gapi.client.calendar-v3/index.d.ts deleted file mode 100644 index 273a4f52c9..0000000000 --- a/test/restDocs/snapshots/gapi.client.calendar-v3/index.d.ts +++ /dev/null @@ -1,2680 +0,0 @@ -/* Type definitions for non-npm package Calendar API v3 0.0 */ -// Project: https://developers.google.com/google-apps/calendar/firstapp -// Definitions by: Maxim Mazurok -// Nick Amoscato -// Declan Vong -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -// IMPORTANT -// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. -// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator -// Generated from: http://localhost:3000/calendar.json -// Revision: 20220624 - -/// - -declare namespace gapi.client { - /** Load Calendar API v3 */ - function load(urlOrObject: "http://localhost:3000/calendar.json"): Promise; - /** @deprecated Please load APIs with discovery documents. */ - function load(name: "calendar", version: "v3"): Promise; - /** @deprecated Please load APIs with discovery documents. */ - function load(name: "calendar", version: "v3", callback: () => any): void; - - namespace calendar { - interface Acl { - /** ETag of the collection. */ - etag?: string; - /** List of rules on the access control list. */ - items?: 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 AclRule { - /** ETag of the resource. */ - etag?: string; - /** Identifier of the Access Control List (ACL) rule. See Sharing calendars. */ - 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 extent to which calendar access is granted by this ACL rule. */ - scope?: { - /** - * The type of the scope. Possible values are: - * - "default" - The public scope. This is the default value. - * - "user" - Limits the scope to a single user. - * - "group" - Limits the scope to a group. - * - "domain" - Limits the scope to a domain. Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not. - */ - type?: string; - /** The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default". */ - value?: string; - }; - } - interface Calendar { - /** Conferencing properties for this calendar, for example what types of conferences are allowed. */ - conferenceProperties?: 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 CalendarList { - /** ETag of the collection. */ - etag?: string; - /** Calendars that are present on the user's calendar list. */ - items?: 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 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?: ConferenceProperties; - /** The default reminders that the authenticated user has for this calendar. */ - defaultReminders?: 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 attribute is only returned when the calendar is hidden, in which case the value is true. */ - 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?: { - /** The list of notifications set for this calendar. */ - notifications?: CalendarNotification[]; - }; - /** 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 CalendarNotification { - /** - * The method used to deliver the notification. The possible value is: - * - "email" - Notifications are sent via email. - * 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 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, which is "api#channel". */ - kind?: string; - /** Additional parameters controlling delivery channel behavior. Optional. */ - params?: { [P in string]: string }; - /** 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. Valid values are "web_hook" (or "webhook"). Both values refer to a channel where Http requests are used to deliver messages. */ - type?: string; - } - interface 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 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 colorId field. Read-only. */ - calendar?: { [P in string]: ColorDefinition }; - /** 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 colorId field. Read-only. */ - event?: { [P in string]: ColorDefinition }; - /** Type of the resource ("calendar#colors"). */ - kind?: string; - /** Last modification time of the color palette (as a RFC3339 timestamp). Read-only. */ - updated?: string; - } - interface ConferenceData { - /** - * The ID of the conference. - * Can be used by developers to keep track of conferences, should not be displayed to users. - * The ID value is formed differently for each conference solution type: - * - eventHangout: ID is not set. (This conference type is deprecated.) - * - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.) - * - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc. - * - addOn: ID is defined by the third-party provider. Optional. - */ - conferenceId?: string; - /** - * The conference solution, such as Google Meet. - * Unset for a conference with a failed create request. - * Either conferenceSolution and at least one entryPoint, or createRequest is required. - */ - conferenceSolution?: 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?: 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?: 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?: ConferenceParameters; - /** - * The signature of the conference data. - * Generated on server side. - * Unset for a conference with a failed create request. - * Optional for a conference with a pending create request. - */ - signature?: string; - } - interface ConferenceParameters { - /** Additional add-on specific data. */ - addOnParameters?: ConferenceParametersAddOnParameters; - } - interface ConferenceParametersAddOnParameters { - parameters?: { [P in string]: string }; - } - interface ConferenceProperties { - /** - * The types of conference solutions that are supported for this calendar. - * The possible values are: - * - "eventHangout" - * - "eventNamedHangout" - * - "hangoutsMeet" Optional. - */ - allowedConferenceSolutionTypes?: string[]; - } - interface 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 ConferenceSolution { - /** The user-visible icon for this solution. */ - iconUri?: string; - /** The key which can uniquely identify the conference solution for this event. */ - key?: ConferenceSolutionKey; - /** The user-visible name of this solution. Not localized. */ - name?: string; - } - interface 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 (deprecated; existing events may show this conference solution type but new conferences cannot be created) - * - "eventNamedHangout" for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created) - * - "hangoutsMeet" for Google Meet (http://meet.google.com) - * - "addOn" for 3P conference providers - */ - type?: string; - } - interface CreateConferenceRequest { - /** The conference solution, such as Hangouts or Google Meet. */ - conferenceSolutionKey?: 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?: ConferenceRequestStatus; - } - interface 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 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 Event { - /** Whether anyone can invite themselves to the event (deprecated). Optional. The default is False. */ - anyoneCanAddSelf?: boolean; - /** - * File attachments for the event. - * In order to modify attachments the supportsAttachments request parameter should be set to true. - * There can be at most 25 attachments per event, - */ - attachments?: EventAttachment[]; - /** - * The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide - * delegation of authority to populate the attendee list. - */ - attendees?: 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 Google 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?: ConferenceData; - /** Creation time of the event (as a RFC3339 timestamp). Read-only. */ - created?: string; - /** The creator of the event. Read-only. */ - creator?: { - /** The creator's name, if available. */ - displayName?: string; - /** The creator's email address, if available. */ - email?: string; - /** The creator's Profile ID, if available. */ - id?: string; - /** Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False. */ - self?: boolean; - }; - /** Description of the event. Can contain HTML. Optional. */ - description?: string; - /** The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance. */ - end?: 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; - /** - * Specific type of the event. Read-only. Possible values are: - * - "default" - A regular event or not further specified. - * - "outOfOffice" - An out-of-office event. - * - "focusTime" - A focus-time event. - */ - eventType?: string; - /** Extended properties of the event. */ - extendedProperties?: { - /** Properties that are private to the copy of the event that appears on this calendar. */ - private?: { [P in string]: string }; - /** Properties that are shared between copies of the event on other attendees' calendars. */ - shared?: { [P in string]: string }; - }; - /** A gadget that extends this event. Gadgets are deprecated; this structure is instead only used for returning birthday calendar metadata. */ - gadget?: { - /** - * The gadget's display mode. Deprecated. Possible values are: - * - "icon" - The gadget displays next to the event's title in the calendar view. - * - "chip" - The gadget displays when the event is clicked. - */ - display?: string; - /** The gadget's height in pixels. The height must be an integer greater than 0. Optional. Deprecated. */ - height?: number; - /** The gadget's icon URL. The URL scheme must be HTTPS. Deprecated. */ - iconLink?: string; - /** The gadget's URL. The URL scheme must be HTTPS. Deprecated. */ - link?: string; - /** Preferences. */ - preferences?: { [P in string]: string }; - /** The gadget's title. Deprecated. */ - title?: string; - /** The gadget's type. Deprecated. */ - type?: string; - /** The gadget's width in pixels. The width must be an integer greater than 0. Optional. Deprecated. */ - width?: number; - }; - /** 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?: { - /** The organizer's name, if available. */ - displayName?: string; - /** The organizer's email address, if available. It must be a valid email address as per RFC5322. */ - email?: string; - /** The organizer's Profile ID, if available. */ - id?: string; - /** Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False. */ - self?: boolean; - }; - /** - * 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?: EventDateTime; - /** If set to True, Event propagation is disabled. Note that it is not the same thing as Private event properties. 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?: { - /** - * If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event. The maximum - * number of override reminders is 5. - */ - overrides?: EventReminder[]; - /** Whether the default reminders of the calendar apply to the event. */ - useDefault?: boolean; - }; - /** 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?: { - /** Title of the source; for example a title of a web page or an email subject. */ - title?: string; - /** URL of the source pointing to a resource. The URL scheme must be HTTP or HTTPS. */ - url?: string; - }; - /** The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance. */ - start?: 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 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. This field can only be modified for custom third-party attachments. */ - iconLink?: string; - /** Internet media type (MIME type) of the attachment. */ - mimeType?: string; - /** Attachment title. */ - title?: string; - } - interface 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. */ - 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 (recommended for new events). - * - "declined" - The attendee has declined the invitation. - * - "tentative" - The attendee has tentatively accepted the invitation. - * - "accepted" - The attendee has accepted the invitation. Warning: If you add an event using the values declined, tentative, or accepted, attendees with the "Add invitations to my - * calendar" setting set to "When I respond to invitation in email" won't see an event on their calendar unless they choose to change their invitation response in the event invitation - * email. - */ - 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 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 EventReminder { - /** - * The method used by this reminder. Possible values are: - * - "email" - Reminders are sent via email. - * - "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 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?: EventReminder[]; - /** Description of the calendar. Read-only. */ - description?: string; - /** ETag of the collection. */ - etag?: string; - /** List of events on the calendar. */ - items?: 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 FreeBusyCalendar { - /** List of time ranges during which this calendar should be regarded as busy. */ - busy?: TimePeriod[]; - /** Optional error(s) (if computation for the calendar failed). */ - errors?: Error[]; - } - interface FreeBusyGroup { - /** List of calendars' identifiers within a group. */ - calendars?: string[]; - /** Optional error(s) (if computation for the group failed). */ - errors?: Error[]; - } - interface 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?: 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 FreeBusyRequestItem { - /** The identifier of a calendar or a group. */ - id?: string; - } - interface FreeBusyResponse { - /** List of free/busy information for calendars. */ - calendars?: { [P in string]: FreeBusyCalendar }; - /** Expansion of groups. */ - groups?: { [P in string]: FreeBusyGroup }; - /** Type of the resource ("calendar#freeBusy"). */ - kind?: string; - /** The end of the interval. */ - timeMax?: string; - /** The start of the interval. */ - timeMin?: string; - } - interface 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 Settings { - /** Etag of the collection. */ - etag?: string; - /** List of user settings. */ - items?: 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 TimePeriod { - /** The (exclusive) end of the time period. */ - end?: string; - /** The (inclusive) start of the time period. */ - start?: string; - } - interface AclResource { - /** Deletes an access control rule. */ - delete(request?: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** ACL rule identifier. */ - ruleId: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Returns an access control rule. */ - get(request?: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** ACL rule identifier. */ - ruleId: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Creates an access control rule. */ - insert(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether to send notifications about the calendar sharing change. Optional. The default is True. */ - sendNotifications?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: AclRule; - }): Request; - insert(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether to send notifications about the calendar sharing change. Optional. The default is True. */ - sendNotifications?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: AclRule): Request; - /** Returns the rules in the access control list for the calendar. */ - list(request?: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Token specifying which result page to return. Optional. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Updates an access control rule. This method supports patch semantics. */ - patch(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: AclRule; - }): Request; - patch(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: AclRule): Request; - /** Updates an access control rule. */ - update(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: AclRule; - }): Request; - update(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: AclRule): Request; - /** Watch for changes to ACL resources. */ - watch(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Token specifying which result page to return. Optional. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Channel; - }): Request; - watch(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Token specifying which result page to return. Optional. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Channel): Request; - } - interface CalendarListResource { - /** Removes a calendar from the user's calendar list. */ - delete(request?: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Returns a calendar from the user's calendar list. */ - get(request?: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Inserts an existing calendar into the user's calendar list. */ - insert(request: { - /** Data format for the response. */ - alt?: 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: CalendarListEntry; - }): Request; - insert(request: { - /** Data format for the response. */ - alt?: 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: CalendarListEntry): Request; - /** Returns the calendars on the user's calendar list. */ - list(request?: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** The minimum access role for the user in the returned entries. Optional. The default is no restriction. */ - minAccessRole?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Token specifying which result page to return. Optional. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Updates an existing calendar on the user's calendar list. This method supports patch semantics. */ - patch(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: CalendarListEntry; - }): Request; - patch(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: CalendarListEntry): Request; - /** Updates an existing calendar on the user's calendar list. */ - update(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: CalendarListEntry; - }): Request; - update(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: CalendarListEntry): Request; - /** Watch for changes to CalendarList resources. */ - watch(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** The minimum access role for the user in the returned entries. Optional. The default is no restriction. */ - minAccessRole?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Token specifying which result page to return. Optional. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Channel; - }): Request; - watch(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** The minimum access role for the user in the returned entries. Optional. The default is no restriction. */ - minAccessRole?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Token specifying which result page to return. Optional. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Channel): Request; - } - interface CalendarsResource { - /** Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account. */ - clear(request?: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars. */ - delete(request?: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Returns metadata for a calendar. */ - get(request?: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Creates a secondary calendar. */ - insert(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Calendar; - }): Request; - insert(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Calendar): Request; - /** Updates metadata for a calendar. This method supports patch semantics. */ - patch(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Calendar; - }): Request; - patch(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Calendar): Request; - /** Updates metadata for a calendar. */ - update(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Calendar; - }): Request; - update(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Calendar): Request; - } - interface ChannelsResource { - /** Stop watching resources through this channel */ - stop(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Channel; - }): Request; - stop(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Channel): Request; - } - interface ColorsResource { - /** Returns the color definitions for calendars and events. */ - get(request?: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - } - interface EventsResource { - /** Deletes an event. */ - delete(request?: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** - * Deprecated. Please use sendUpdates instead. - * - * Whether to send notifications about the deletion of the event. Note that some emails might still be sent even if you set the value to false. The default is false. - */ - sendNotifications?: boolean; - /** Guests who should receive notifications about the deletion of the event. */ - sendUpdates?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Returns an event. */ - get(request?: { - /** Data format for the response. */ - alt?: string; - /** - * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a - * generated, non-working value will be provided). - */ - 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Time zone used in the response. Optional. The default is the time zone of the calendar. */ - timeZone?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Imports an event. This operation is used to add a private copy of an existing event to a calendar. */ - import(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether API client performing operation supports event attachments. Optional. The default is False. */ - supportsAttachments?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Event; - }): Request; - import(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether API client performing operation supports event attachments. Optional. The default is False. */ - supportsAttachments?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Event): Request; - /** Creates an event. */ - insert(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** - * Deprecated. Please use sendUpdates instead. - * - * Whether to send notifications about the creation of the new event. Note that some emails might still be sent even if you set the value to false. The default is false. - */ - sendNotifications?: boolean; - /** Whether to send notifications about the creation of the new event. Note that some emails might still be sent. The default is false. */ - sendUpdates?: string; - /** Whether API client performing operation supports event attachments. Optional. The default is False. */ - supportsAttachments?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Event; - }): Request; - insert(request: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** - * Deprecated. Please use sendUpdates instead. - * - * Whether to send notifications about the creation of the new event. Note that some emails might still be sent even if you set the value to false. The default is false. - */ - sendNotifications?: boolean; - /** Whether to send notifications about the creation of the new event. Note that some emails might still be sent. The default is false. */ - sendUpdates?: string; - /** Whether API client performing operation supports event attachments. Optional. The default is False. */ - supportsAttachments?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Event): Request; - /** Returns instances of the specified recurring event. */ - instances(request?: { - /** Data format for the response. */ - alt?: string; - /** - * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a - * generated, non-working value will be provided). - */ - 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** The original start time of the instance in the result. Optional. */ - originalStart?: string; - /** Token specifying which result page to return. Optional. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Returns events on the specified calendar. */ - list(request?: { - /** Data format for the response. */ - alt?: string; - /** - * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a - * generated, non-working value will be provided). - */ - 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** Specifies event ID in the iCalendar format to be included in the response. Optional. */ - iCalUID?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** 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; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** - * 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 | string[]; - /** Free text search terms to find events that match these terms in the following fields: summary, description, location, attendee's displayName, attendee's email. Optional. */ - q?: string; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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 | 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, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin. - */ - timeMax?: string; - /** - * Lower bound (exclusive) 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, - * for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Moves an event to another calendar, i.e. changes an event's organizer. */ - move(request?: { - /** Data format for the response. */ - alt?: string; - /** 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** - * Deprecated. Please use sendUpdates instead. - * - * Whether to send notifications about the change of the event's organizer. Note that some emails might still be sent even if you set the value to false. The default is false. - */ - sendNotifications?: boolean; - /** Guests who should receive notifications about the change of the event's organizer. */ - sendUpdates?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Updates an event. This method supports patch semantics. */ - patch(request: { - /** Data format for the response. */ - alt?: string; - /** - * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a - * generated, non-working value will be provided). - */ - 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** - * Deprecated. Please use sendUpdates instead. - * - * Whether to send notifications about the event update (for example, description changes, etc.). Note that some emails might still be sent even if you set the value to false. The - * default is false. - */ - sendNotifications?: boolean; - /** Guests who should receive notifications about the event update (for example, title changes, etc.). */ - sendUpdates?: string; - /** Whether API client performing operation supports event attachments. Optional. The default is False. */ - supportsAttachments?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Event; - }): Request; - patch(request: { - /** Data format for the response. */ - alt?: string; - /** - * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a - * generated, non-working value will be provided). - */ - 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** - * Deprecated. Please use sendUpdates instead. - * - * Whether to send notifications about the event update (for example, description changes, etc.). Note that some emails might still be sent even if you set the value to false. The - * default is false. - */ - sendNotifications?: boolean; - /** Guests who should receive notifications about the event update (for example, title changes, etc.). */ - sendUpdates?: string; - /** Whether API client performing operation supports event attachments. Optional. The default is False. */ - supportsAttachments?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Event): Request; - /** Creates an event based on a simple text string. */ - quickAdd(request?: { - /** Data format for the response. */ - alt?: string; - /** - * 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** - * Deprecated. Please use sendUpdates instead. - * - * Whether to send notifications about the creation of the event. Note that some emails might still be sent even if you set the value to false. The default is false. - */ - sendNotifications?: boolean; - /** Guests who should receive notifications about the creation of the new event. */ - sendUpdates?: string; - /** The text describing the event to be created. */ - text: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Updates an event. */ - update(request: { - /** Data format for the response. */ - alt?: string; - /** - * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a - * generated, non-working value will be provided). - */ - 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** - * Deprecated. Please use sendUpdates instead. - * - * Whether to send notifications about the event update (for example, description changes, etc.). Note that some emails might still be sent even if you set the value to false. The - * default is false. - */ - sendNotifications?: boolean; - /** Guests who should receive notifications about the event update (for example, title changes, etc.). */ - sendUpdates?: string; - /** Whether API client performing operation supports event attachments. Optional. The default is False. */ - supportsAttachments?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Event; - }): Request; - update(request: { - /** Data format for the response. */ - alt?: string; - /** - * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a - * generated, non-working value will be provided). - */ - 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** - * Deprecated. Please use sendUpdates instead. - * - * Whether to send notifications about the event update (for example, description changes, etc.). Note that some emails might still be sent even if you set the value to false. The - * default is false. - */ - sendNotifications?: boolean; - /** Guests who should receive notifications about the event update (for example, title changes, etc.). */ - sendUpdates?: string; - /** Whether API client performing operation supports event attachments. Optional. The default is False. */ - supportsAttachments?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Event): Request; - /** Watch for changes to Events resources. */ - watch(request: { - /** Data format for the response. */ - alt?: string; - /** - * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a - * generated, non-working value will be provided). - */ - 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** Specifies event ID in the iCalendar format to be included in the response. Optional. */ - iCalUID?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** 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; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** - * 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 | string[]; - /** Free text search terms to find events that match these terms in the following fields: summary, description, location, attendee's displayName, attendee's email. Optional. */ - q?: string; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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 | 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, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin. - */ - timeMax?: string; - /** - * Lower bound (exclusive) 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, - * for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Channel; - }): Request; - watch(request: { - /** Data format for the response. */ - alt?: string; - /** - * Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a - * generated, non-working value will be provided). - */ - 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; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** Specifies event ID in the iCalendar format to be included in the response. Optional. */ - iCalUID?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** 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; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** - * 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 | string[]; - /** Free text search terms to find events that match these terms in the following fields: summary, description, location, attendee's displayName, attendee's email. Optional. */ - q?: string; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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 | 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, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin. - */ - timeMax?: string; - /** - * Lower bound (exclusive) 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, - * for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Channel): Request; - } - interface FreebusyResource { - /** Returns free/busy information for a set of calendars. */ - query(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: FreeBusyRequest; - }): Request; - query(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: FreeBusyRequest): Request; - } - interface SettingsResource { - /** Returns a single user setting. */ - get(request?: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** The id of the user setting. */ - setting: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Returns all user settings for the authenticated user. */ - list(request?: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Token specifying which result page to return. Optional. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Watch for changes to Settings resources. */ - watch(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Token specifying which result page to return. Optional. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Channel; - }): Request; - watch(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Token specifying which result page to return. Optional. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Channel): Request; - } - - const acl: AclResource; - - const calendarList: CalendarListResource; - - const calendars: CalendarsResource; - - const channels: ChannelsResource; - - const colors: ColorsResource; - - const events: EventsResource; - - const freebusy: FreebusyResource; - - const settings: SettingsResource; - } -} diff --git a/test/restDocs/snapshots/gapi.client.calendar-v3/package.json b/test/restDocs/snapshots/gapi.client.calendar-v3/package.json deleted file mode 100644 index 74cecc97ec..0000000000 --- a/test/restDocs/snapshots/gapi.client.calendar-v3/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@maxim_mazurok/gapi.client.calendar-v3", - "version": "0.0.20220624", - "description": "TypeScript typings for Calendar API v3", - "license": "MIT", - "author": { - "email": "maxim@mazurok.com", - "name": "Maxim Mazurok", - "url": "https://maxim.mazurok.com" - }, - "repository": { - "type": "git", - "url": "https://github.com/Maxim-Mazurok/google-api-typings-generator.git" - }, - "types": "index.d.ts", - "dependencies": { - "@types/gapi.client": "*", - "@types/gapi.client.discovery": "*" - } -} diff --git a/test/restDocs/snapshots/gapi.client.calendar-v3/readme.md b/test/restDocs/snapshots/gapi.client.calendar-v3/readme.md deleted file mode 100644 index 39d8343880..0000000000 --- a/test/restDocs/snapshots/gapi.client.calendar-v3/readme.md +++ /dev/null @@ -1,265 +0,0 @@ -# TypeScript typings for Calendar API v3 - -Manipulates events and other calendar data. -For detailed description please check [documentation](https://developers.google.com/google-apps/calendar/firstapp). - -## Installing - -Install typings for Calendar API: - -``` -npm install @types/gapi.client.calendar-v3 --save-dev -``` - -## Usage - -You need to initialize Google API client in your code: - -```typescript -gapi.load('client', () => { - // now we can use gapi.client - // ... -}); -``` - -Then load api client wrapper: - -```typescript -gapi.client.load('http://localhost:3000/calendar.json', () => { - // now we can use: - // gapi.client.calendar -}); -``` - -```typescript -// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback-- -gapi.client.load('calendar', 'v3', () => { - // now we can use: - // gapi.client.calendar -}); -``` - -Don't forget to authenticate your client before sending any request to resources: - -```typescript -// declare client_id registered in Google Developers Console -var client_id = '', - scope = [ - // See, edit, share, and permanently delete all the calendars you can access using Google Calendar - 'https://www.googleapis.com/auth/calendar', - - // View and edit events on all your calendars - 'https://www.googleapis.com/auth/calendar.events', - - // View events on all your calendars - 'https://www.googleapis.com/auth/calendar.events.readonly', - - // See and download any calendar you can access using your Google Calendar - 'https://www.googleapis.com/auth/calendar.readonly', - - // View your Calendar settings - 'https://www.googleapis.com/auth/calendar.settings.readonly', - ], - immediate = true; -// ... - -gapi.auth.authorize( - { client_id: client_id, scope: scope, immediate: immediate }, - authResult => { - if (authResult && !authResult.error) { - /* handle successful authorization */ - } else { - /* handle authorization error */ - } -}); -``` - -After that you can use Calendar API resources: - -```typescript - -/* -Deletes an access control rule. -*/ -await gapi.client.calendar.acl.delete({ calendarId: "calendarId", ruleId: "ruleId", }); - -/* -Returns an access control rule. -*/ -await gapi.client.calendar.acl.get({ calendarId: "calendarId", ruleId: "ruleId", }); - -/* -Creates an access control rule. -*/ -await gapi.client.calendar.acl.insert({ calendarId: "calendarId", }); - -/* -Returns the rules in the access control list for the calendar. -*/ -await gapi.client.calendar.acl.list({ calendarId: "calendarId", }); - -/* -Updates an access control rule. This method supports patch semantics. -*/ -await gapi.client.calendar.acl.patch({ calendarId: "calendarId", ruleId: "ruleId", }); - -/* -Updates an access control rule. -*/ -await gapi.client.calendar.acl.update({ calendarId: "calendarId", ruleId: "ruleId", }); - -/* -Watch for changes to ACL resources. -*/ -await gapi.client.calendar.acl.watch({ calendarId: "calendarId", }); - -/* -Removes a calendar from the user's calendar list. -*/ -await gapi.client.calendar.calendarList.delete({ calendarId: "calendarId", }); - -/* -Returns a calendar from the user's calendar list. -*/ -await gapi.client.calendar.calendarList.get({ calendarId: "calendarId", }); - -/* -Inserts an existing calendar into the user's calendar list. -*/ -await gapi.client.calendar.calendarList.insert({ }); - -/* -Returns the calendars on the user's calendar list. -*/ -await gapi.client.calendar.calendarList.list({ }); - -/* -Updates an existing calendar on the user's calendar list. This method supports patch semantics. -*/ -await gapi.client.calendar.calendarList.patch({ calendarId: "calendarId", }); - -/* -Updates an existing calendar on the user's calendar list. -*/ -await gapi.client.calendar.calendarList.update({ calendarId: "calendarId", }); - -/* -Watch for changes to CalendarList resources. -*/ -await gapi.client.calendar.calendarList.watch({ }); - -/* -Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account. -*/ -await gapi.client.calendar.calendars.clear({ calendarId: "calendarId", }); - -/* -Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars. -*/ -await gapi.client.calendar.calendars.delete({ calendarId: "calendarId", }); - -/* -Returns metadata for a calendar. -*/ -await gapi.client.calendar.calendars.get({ calendarId: "calendarId", }); - -/* -Creates a secondary calendar. -*/ -await gapi.client.calendar.calendars.insert({ }); - -/* -Updates metadata for a calendar. This method supports patch semantics. -*/ -await gapi.client.calendar.calendars.patch({ calendarId: "calendarId", }); - -/* -Updates metadata for a calendar. -*/ -await gapi.client.calendar.calendars.update({ calendarId: "calendarId", }); - -/* -Stop watching resources through this channel -*/ -await gapi.client.calendar.channels.stop({ }); - -/* -Returns the color definitions for calendars and events. -*/ -await gapi.client.calendar.colors.get({ }); - -/* -Deletes an event. -*/ -await gapi.client.calendar.events.delete({ calendarId: "calendarId", eventId: "eventId", }); - -/* -Returns an event. -*/ -await gapi.client.calendar.events.get({ calendarId: "calendarId", eventId: "eventId", }); - -/* -Imports an event. This operation is used to add a private copy of an existing event to a calendar. -*/ -await gapi.client.calendar.events.import({ calendarId: "calendarId", }); - -/* -Creates an event. -*/ -await gapi.client.calendar.events.insert({ calendarId: "calendarId", }); - -/* -Returns instances of the specified recurring event. -*/ -await gapi.client.calendar.events.instances({ calendarId: "calendarId", eventId: "eventId", }); - -/* -Returns events on the specified calendar. -*/ -await gapi.client.calendar.events.list({ calendarId: "calendarId", }); - -/* -Moves an event to another calendar, i.e. changes an event's organizer. -*/ -await gapi.client.calendar.events.move({ calendarId: "calendarId", destination: "destination", eventId: "eventId", }); - -/* -Updates an event. This method supports patch semantics. -*/ -await gapi.client.calendar.events.patch({ calendarId: "calendarId", eventId: "eventId", }); - -/* -Creates an event based on a simple text string. -*/ -await gapi.client.calendar.events.quickAdd({ calendarId: "calendarId", text: "text", }); - -/* -Updates an event. -*/ -await gapi.client.calendar.events.update({ calendarId: "calendarId", eventId: "eventId", }); - -/* -Watch for changes to Events resources. -*/ -await gapi.client.calendar.events.watch({ calendarId: "calendarId", }); - -/* -Returns free/busy information for a set of calendars. -*/ -await gapi.client.calendar.freebusy.query({ }); - -/* -Returns a single user setting. -*/ -await gapi.client.calendar.settings.get({ setting: "setting", }); - -/* -Returns all user settings for the authenticated user. -*/ -await gapi.client.calendar.settings.list({ }); - -/* -Watch for changes to Settings resources. -*/ -await gapi.client.calendar.settings.watch({ }); -``` diff --git a/test/restDocs/snapshots/gapi.client.calendar-v3/tests.ts b/test/restDocs/snapshots/gapi.client.calendar-v3/tests.ts deleted file mode 100644 index 6685c9841c..0000000000 --- a/test/restDocs/snapshots/gapi.client.calendar-v3/tests.ts +++ /dev/null @@ -1,1169 +0,0 @@ -/* This is stub file for gapi.client.calendar-v3 definition tests */ -// IMPORTANT -// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. -// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator - -// Revision: 20220624 - -gapi.load('client', async () => { - /** now we can use gapi.client */ - - await gapi.client.load('http://localhost:3000/calendar.json'); - /** now we can use gapi.client.calendar */ - - /** don't forget to authenticate your client before sending any request to resources: */ - /** declare client_id registered in Google Developers Console */ - const client_id = '<>'; - const scope = [ - /** See, edit, share, and permanently delete all the calendars you can access using Google Calendar */ - 'https://www.googleapis.com/auth/calendar', - /** View and edit events on all your calendars */ - 'https://www.googleapis.com/auth/calendar.events', - /** View events on all your calendars */ - 'https://www.googleapis.com/auth/calendar.events.readonly', - /** See and download any calendar you can access using your Google Calendar */ - 'https://www.googleapis.com/auth/calendar.readonly', - /** View your Calendar settings */ - 'https://www.googleapis.com/auth/calendar.settings.readonly', - ]; - const immediate = false; - gapi.auth.authorize({ client_id, scope, immediate }, authResult => { - if (authResult && !authResult.error) { - /** handle successful authorization */ - run(); - } else { - /** handle authorization error */ - } - }); - - async function run() { - /** Deletes an access control rule. */ - await gapi.client.calendar.acl.delete({ - calendarId: "Test string", - ruleId: "Test string", - }); - /** Returns an access control rule. */ - await gapi.client.calendar.acl.get({ - calendarId: "Test string", - ruleId: "Test string", - }); - /** Creates an access control rule. */ - await gapi.client.calendar.acl.insert({ - calendarId: "Test string", - sendNotifications: true, - }, { - etag: "Test string", - id: "Test string", - kind: "Test string", - role: "Test string", - scope: { - type: "Test string", - value: "Test string", - }, - }); - /** Returns the rules in the access control list for the calendar. */ - await gapi.client.calendar.acl.list({ - calendarId: "Test string", - maxResults: 42, - pageToken: "Test string", - showDeleted: true, - syncToken: "Test string", - }); - /** Updates an access control rule. This method supports patch semantics. */ - await gapi.client.calendar.acl.patch({ - calendarId: "Test string", - ruleId: "Test string", - sendNotifications: true, - }, { - etag: "Test string", - id: "Test string", - kind: "Test string", - role: "Test string", - scope: { - type: "Test string", - value: "Test string", - }, - }); - /** Updates an access control rule. */ - await gapi.client.calendar.acl.update({ - calendarId: "Test string", - ruleId: "Test string", - sendNotifications: true, - }, { - etag: "Test string", - id: "Test string", - kind: "Test string", - role: "Test string", - scope: { - type: "Test string", - value: "Test string", - }, - }); - /** Watch for changes to ACL resources. */ - await gapi.client.calendar.acl.watch({ - calendarId: "Test string", - maxResults: 42, - pageToken: "Test string", - showDeleted: true, - syncToken: "Test string", - }, { - address: "Test string", - expiration: "Test string", - id: "Test string", - kind: "Test string", - params: { - A: "Test string" - }, - payload: true, - resourceId: "Test string", - resourceUri: "Test string", - token: "Test string", - type: "Test string", - }); - /** Removes a calendar from the user's calendar list. */ - await gapi.client.calendar.calendarList.delete({ - calendarId: "Test string", - }); - /** Returns a calendar from the user's calendar list. */ - await gapi.client.calendar.calendarList.get({ - calendarId: "Test string", - }); - /** Inserts an existing calendar into the user's calendar list. */ - await gapi.client.calendar.calendarList.insert({ - colorRgbFormat: true, - }, { - accessRole: "Test string", - backgroundColor: "Test string", - colorId: "Test string", - conferenceProperties: { - allowedConferenceSolutionTypes: [ - "Test string" - ], - }, - defaultReminders: [ - { - method: "Test string", - minutes: 42, - } - ], - deleted: true, - description: "Test string", - etag: "Test string", - foregroundColor: "Test string", - hidden: true, - id: "Test string", - kind: "Test string", - location: "Test string", - notificationSettings: { - notifications: [ - { - method: "Test string", - type: "Test string", - } - ], - }, - primary: true, - selected: true, - summary: "Test string", - summaryOverride: "Test string", - timeZone: "Test string", - }); - /** Returns the calendars on the user's calendar list. */ - await gapi.client.calendar.calendarList.list({ - maxResults: 42, - minAccessRole: "Test string", - pageToken: "Test string", - showDeleted: true, - showHidden: true, - syncToken: "Test string", - }); - /** Updates an existing calendar on the user's calendar list. This method supports patch semantics. */ - await gapi.client.calendar.calendarList.patch({ - calendarId: "Test string", - colorRgbFormat: true, - }, { - accessRole: "Test string", - backgroundColor: "Test string", - colorId: "Test string", - conferenceProperties: { - allowedConferenceSolutionTypes: [ - "Test string" - ], - }, - defaultReminders: [ - { - method: "Test string", - minutes: 42, - } - ], - deleted: true, - description: "Test string", - etag: "Test string", - foregroundColor: "Test string", - hidden: true, - id: "Test string", - kind: "Test string", - location: "Test string", - notificationSettings: { - notifications: [ - { - method: "Test string", - type: "Test string", - } - ], - }, - primary: true, - selected: true, - summary: "Test string", - summaryOverride: "Test string", - timeZone: "Test string", - }); - /** Updates an existing calendar on the user's calendar list. */ - await gapi.client.calendar.calendarList.update({ - calendarId: "Test string", - colorRgbFormat: true, - }, { - accessRole: "Test string", - backgroundColor: "Test string", - colorId: "Test string", - conferenceProperties: { - allowedConferenceSolutionTypes: [ - "Test string" - ], - }, - defaultReminders: [ - { - method: "Test string", - minutes: 42, - } - ], - deleted: true, - description: "Test string", - etag: "Test string", - foregroundColor: "Test string", - hidden: true, - id: "Test string", - kind: "Test string", - location: "Test string", - notificationSettings: { - notifications: [ - { - method: "Test string", - type: "Test string", - } - ], - }, - primary: true, - selected: true, - summary: "Test string", - summaryOverride: "Test string", - timeZone: "Test string", - }); - /** Watch for changes to CalendarList resources. */ - await gapi.client.calendar.calendarList.watch({ - maxResults: 42, - minAccessRole: "Test string", - pageToken: "Test string", - showDeleted: true, - showHidden: true, - syncToken: "Test string", - }, { - address: "Test string", - expiration: "Test string", - id: "Test string", - kind: "Test string", - params: { - A: "Test string" - }, - payload: true, - resourceId: "Test string", - resourceUri: "Test string", - token: "Test string", - type: "Test string", - }); - /** Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account. */ - await gapi.client.calendar.calendars.clear({ - calendarId: "Test string", - }); - /** Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars. */ - await gapi.client.calendar.calendars.delete({ - calendarId: "Test string", - }); - /** Returns metadata for a calendar. */ - await gapi.client.calendar.calendars.get({ - calendarId: "Test string", - }); - /** Creates a secondary calendar. */ - await gapi.client.calendar.calendars.insert({} , { - conferenceProperties: { - allowedConferenceSolutionTypes: [ - "Test string" - ], - }, - description: "Test string", - etag: "Test string", - id: "Test string", - kind: "Test string", - location: "Test string", - summary: "Test string", - timeZone: "Test string", - }); - /** Updates metadata for a calendar. This method supports patch semantics. */ - await gapi.client.calendar.calendars.patch({ - calendarId: "Test string", - }, { - conferenceProperties: { - allowedConferenceSolutionTypes: [ - "Test string" - ], - }, - description: "Test string", - etag: "Test string", - id: "Test string", - kind: "Test string", - location: "Test string", - summary: "Test string", - timeZone: "Test string", - }); - /** Updates metadata for a calendar. */ - await gapi.client.calendar.calendars.update({ - calendarId: "Test string", - }, { - conferenceProperties: { - allowedConferenceSolutionTypes: [ - "Test string" - ], - }, - description: "Test string", - etag: "Test string", - id: "Test string", - kind: "Test string", - location: "Test string", - summary: "Test string", - timeZone: "Test string", - }); - /** Stop watching resources through this channel */ - await gapi.client.calendar.channels.stop({} , { - address: "Test string", - expiration: "Test string", - id: "Test string", - kind: "Test string", - params: { - A: "Test string" - }, - payload: true, - resourceId: "Test string", - resourceUri: "Test string", - token: "Test string", - type: "Test string", - }); - /** Returns the color definitions for calendars and events. */ - await gapi.client.calendar.colors.get(); - /** Deletes an event. */ - await gapi.client.calendar.events.delete({ - calendarId: "Test string", - eventId: "Test string", - sendNotifications: true, - sendUpdates: "Test string", - }); - /** Returns an event. */ - await gapi.client.calendar.events.get({ - alwaysIncludeEmail: true, - calendarId: "Test string", - eventId: "Test string", - maxAttendees: 42, - timeZone: "Test string", - }); - /** Imports an event. This operation is used to add a private copy of an existing event to a calendar. */ - await gapi.client.calendar.events.import({ - calendarId: "Test string", - conferenceDataVersion: 42, - supportsAttachments: true, - }, { - anyoneCanAddSelf: true, - attachments: [ - { - fileId: "Test string", - fileUrl: "Test string", - iconLink: "Test string", - mimeType: "Test string", - title: "Test string", - } - ], - attendees: [ - { - additionalGuests: 42, - comment: "Test string", - displayName: "Test string", - email: "Test string", - id: "Test string", - optional: true, - organizer: true, - resource: true, - responseStatus: "Test string", - self: true, - } - ], - attendeesOmitted: true, - colorId: "Test string", - conferenceData: { - conferenceId: "Test string", - conferenceSolution: { - iconUri: "Test string", - key: { - type: "Test string", - }, - name: "Test string", - }, - createRequest: { - conferenceSolutionKey: { - type: "Test string", - }, - requestId: "Test string", - status: { - statusCode: "Test string", - }, - }, - entryPoints: [ - { - accessCode: "Test string", - entryPointFeatures: [ - "Test string" - ], - entryPointType: "Test string", - label: "Test string", - meetingCode: "Test string", - passcode: "Test string", - password: "Test string", - pin: "Test string", - regionCode: "Test string", - uri: "Test string", - } - ], - notes: "Test string", - parameters: { - addOnParameters: { - parameters: { - A: "Test string" - }, - }, - }, - signature: "Test string", - }, - created: "Test string", - creator: { - displayName: "Test string", - email: "Test string", - id: "Test string", - self: true, - }, - description: "Test string", - end: { - date: "Test string", - dateTime: "Test string", - timeZone: "Test string", - }, - endTimeUnspecified: true, - etag: "Test string", - eventType: "Test string", - extendedProperties: { - private: { - A: "Test string" - }, - shared: { - A: "Test string" - }, - }, - gadget: { - display: "Test string", - height: 42, - iconLink: "Test string", - link: "Test string", - preferences: { - A: "Test string" - }, - title: "Test string", - type: "Test string", - width: 42, - }, - guestsCanInviteOthers: true, - guestsCanModify: true, - guestsCanSeeOtherGuests: true, - hangoutLink: "Test string", - htmlLink: "Test string", - iCalUID: "Test string", - id: "Test string", - kind: "Test string", - location: "Test string", - locked: true, - organizer: { - displayName: "Test string", - email: "Test string", - id: "Test string", - self: true, - }, - originalStartTime: { - date: "Test string", - dateTime: "Test string", - timeZone: "Test string", - }, - privateCopy: true, - recurrence: [ - "Test string" - ], - recurringEventId: "Test string", - reminders: { - overrides: [ - { - method: "Test string", - minutes: 42, - } - ], - useDefault: true, - }, - sequence: 42, - source: { - title: "Test string", - url: "Test string", - }, - start: { - date: "Test string", - dateTime: "Test string", - timeZone: "Test string", - }, - status: "Test string", - summary: "Test string", - transparency: "Test string", - updated: "Test string", - visibility: "Test string", - }); - /** Creates an event. */ - await gapi.client.calendar.events.insert({ - calendarId: "Test string", - conferenceDataVersion: 42, - maxAttendees: 42, - sendNotifications: true, - sendUpdates: "Test string", - supportsAttachments: true, - }, { - anyoneCanAddSelf: true, - attachments: [ - { - fileId: "Test string", - fileUrl: "Test string", - iconLink: "Test string", - mimeType: "Test string", - title: "Test string", - } - ], - attendees: [ - { - additionalGuests: 42, - comment: "Test string", - displayName: "Test string", - email: "Test string", - id: "Test string", - optional: true, - organizer: true, - resource: true, - responseStatus: "Test string", - self: true, - } - ], - attendeesOmitted: true, - colorId: "Test string", - conferenceData: { - conferenceId: "Test string", - conferenceSolution: { - iconUri: "Test string", - key: { - type: "Test string", - }, - name: "Test string", - }, - createRequest: { - conferenceSolutionKey: { - type: "Test string", - }, - requestId: "Test string", - status: { - statusCode: "Test string", - }, - }, - entryPoints: [ - { - accessCode: "Test string", - entryPointFeatures: [ - "Test string" - ], - entryPointType: "Test string", - label: "Test string", - meetingCode: "Test string", - passcode: "Test string", - password: "Test string", - pin: "Test string", - regionCode: "Test string", - uri: "Test string", - } - ], - notes: "Test string", - parameters: { - addOnParameters: { - parameters: { - A: "Test string" - }, - }, - }, - signature: "Test string", - }, - created: "Test string", - creator: { - displayName: "Test string", - email: "Test string", - id: "Test string", - self: true, - }, - description: "Test string", - end: { - date: "Test string", - dateTime: "Test string", - timeZone: "Test string", - }, - endTimeUnspecified: true, - etag: "Test string", - eventType: "Test string", - extendedProperties: { - private: { - A: "Test string" - }, - shared: { - A: "Test string" - }, - }, - gadget: { - display: "Test string", - height: 42, - iconLink: "Test string", - link: "Test string", - preferences: { - A: "Test string" - }, - title: "Test string", - type: "Test string", - width: 42, - }, - guestsCanInviteOthers: true, - guestsCanModify: true, - guestsCanSeeOtherGuests: true, - hangoutLink: "Test string", - htmlLink: "Test string", - iCalUID: "Test string", - id: "Test string", - kind: "Test string", - location: "Test string", - locked: true, - organizer: { - displayName: "Test string", - email: "Test string", - id: "Test string", - self: true, - }, - originalStartTime: { - date: "Test string", - dateTime: "Test string", - timeZone: "Test string", - }, - privateCopy: true, - recurrence: [ - "Test string" - ], - recurringEventId: "Test string", - reminders: { - overrides: [ - { - method: "Test string", - minutes: 42, - } - ], - useDefault: true, - }, - sequence: 42, - source: { - title: "Test string", - url: "Test string", - }, - start: { - date: "Test string", - dateTime: "Test string", - timeZone: "Test string", - }, - status: "Test string", - summary: "Test string", - transparency: "Test string", - updated: "Test string", - visibility: "Test string", - }); - /** Returns instances of the specified recurring event. */ - await gapi.client.calendar.events.instances({ - alwaysIncludeEmail: true, - calendarId: "Test string", - eventId: "Test string", - maxAttendees: 42, - maxResults: 42, - originalStart: "Test string", - pageToken: "Test string", - showDeleted: true, - timeMax: "Test string", - timeMin: "Test string", - timeZone: "Test string", - }); - /** Returns events on the specified calendar. */ - await gapi.client.calendar.events.list({ - alwaysIncludeEmail: true, - calendarId: "Test string", - iCalUID: "Test string", - maxAttendees: 42, - maxResults: 42, - orderBy: "Test string", - pageToken: "Test string", - privateExtendedProperty: "Test string", - q: "Test string", - sharedExtendedProperty: "Test string", - showDeleted: true, - showHiddenInvitations: true, - singleEvents: true, - syncToken: "Test string", - timeMax: "Test string", - timeMin: "Test string", - timeZone: "Test string", - updatedMin: "Test string", - }); - /** Moves an event to another calendar, i.e. changes an event's organizer. */ - await gapi.client.calendar.events.move({ - calendarId: "Test string", - destination: "Test string", - eventId: "Test string", - sendNotifications: true, - sendUpdates: "Test string", - }); - /** Updates an event. This method supports patch semantics. */ - await gapi.client.calendar.events.patch({ - alwaysIncludeEmail: true, - calendarId: "Test string", - conferenceDataVersion: 42, - eventId: "Test string", - maxAttendees: 42, - sendNotifications: true, - sendUpdates: "Test string", - supportsAttachments: true, - }, { - anyoneCanAddSelf: true, - attachments: [ - { - fileId: "Test string", - fileUrl: "Test string", - iconLink: "Test string", - mimeType: "Test string", - title: "Test string", - } - ], - attendees: [ - { - additionalGuests: 42, - comment: "Test string", - displayName: "Test string", - email: "Test string", - id: "Test string", - optional: true, - organizer: true, - resource: true, - responseStatus: "Test string", - self: true, - } - ], - attendeesOmitted: true, - colorId: "Test string", - conferenceData: { - conferenceId: "Test string", - conferenceSolution: { - iconUri: "Test string", - key: { - type: "Test string", - }, - name: "Test string", - }, - createRequest: { - conferenceSolutionKey: { - type: "Test string", - }, - requestId: "Test string", - status: { - statusCode: "Test string", - }, - }, - entryPoints: [ - { - accessCode: "Test string", - entryPointFeatures: [ - "Test string" - ], - entryPointType: "Test string", - label: "Test string", - meetingCode: "Test string", - passcode: "Test string", - password: "Test string", - pin: "Test string", - regionCode: "Test string", - uri: "Test string", - } - ], - notes: "Test string", - parameters: { - addOnParameters: { - parameters: { - A: "Test string" - }, - }, - }, - signature: "Test string", - }, - created: "Test string", - creator: { - displayName: "Test string", - email: "Test string", - id: "Test string", - self: true, - }, - description: "Test string", - end: { - date: "Test string", - dateTime: "Test string", - timeZone: "Test string", - }, - endTimeUnspecified: true, - etag: "Test string", - eventType: "Test string", - extendedProperties: { - private: { - A: "Test string" - }, - shared: { - A: "Test string" - }, - }, - gadget: { - display: "Test string", - height: 42, - iconLink: "Test string", - link: "Test string", - preferences: { - A: "Test string" - }, - title: "Test string", - type: "Test string", - width: 42, - }, - guestsCanInviteOthers: true, - guestsCanModify: true, - guestsCanSeeOtherGuests: true, - hangoutLink: "Test string", - htmlLink: "Test string", - iCalUID: "Test string", - id: "Test string", - kind: "Test string", - location: "Test string", - locked: true, - organizer: { - displayName: "Test string", - email: "Test string", - id: "Test string", - self: true, - }, - originalStartTime: { - date: "Test string", - dateTime: "Test string", - timeZone: "Test string", - }, - privateCopy: true, - recurrence: [ - "Test string" - ], - recurringEventId: "Test string", - reminders: { - overrides: [ - { - method: "Test string", - minutes: 42, - } - ], - useDefault: true, - }, - sequence: 42, - source: { - title: "Test string", - url: "Test string", - }, - start: { - date: "Test string", - dateTime: "Test string", - timeZone: "Test string", - }, - status: "Test string", - summary: "Test string", - transparency: "Test string", - updated: "Test string", - visibility: "Test string", - }); - /** Creates an event based on a simple text string. */ - await gapi.client.calendar.events.quickAdd({ - calendarId: "Test string", - sendNotifications: true, - sendUpdates: "Test string", - text: "Test string", - }); - /** Updates an event. */ - await gapi.client.calendar.events.update({ - alwaysIncludeEmail: true, - calendarId: "Test string", - conferenceDataVersion: 42, - eventId: "Test string", - maxAttendees: 42, - sendNotifications: true, - sendUpdates: "Test string", - supportsAttachments: true, - }, { - anyoneCanAddSelf: true, - attachments: [ - { - fileId: "Test string", - fileUrl: "Test string", - iconLink: "Test string", - mimeType: "Test string", - title: "Test string", - } - ], - attendees: [ - { - additionalGuests: 42, - comment: "Test string", - displayName: "Test string", - email: "Test string", - id: "Test string", - optional: true, - organizer: true, - resource: true, - responseStatus: "Test string", - self: true, - } - ], - attendeesOmitted: true, - colorId: "Test string", - conferenceData: { - conferenceId: "Test string", - conferenceSolution: { - iconUri: "Test string", - key: { - type: "Test string", - }, - name: "Test string", - }, - createRequest: { - conferenceSolutionKey: { - type: "Test string", - }, - requestId: "Test string", - status: { - statusCode: "Test string", - }, - }, - entryPoints: [ - { - accessCode: "Test string", - entryPointFeatures: [ - "Test string" - ], - entryPointType: "Test string", - label: "Test string", - meetingCode: "Test string", - passcode: "Test string", - password: "Test string", - pin: "Test string", - regionCode: "Test string", - uri: "Test string", - } - ], - notes: "Test string", - parameters: { - addOnParameters: { - parameters: { - A: "Test string" - }, - }, - }, - signature: "Test string", - }, - created: "Test string", - creator: { - displayName: "Test string", - email: "Test string", - id: "Test string", - self: true, - }, - description: "Test string", - end: { - date: "Test string", - dateTime: "Test string", - timeZone: "Test string", - }, - endTimeUnspecified: true, - etag: "Test string", - eventType: "Test string", - extendedProperties: { - private: { - A: "Test string" - }, - shared: { - A: "Test string" - }, - }, - gadget: { - display: "Test string", - height: 42, - iconLink: "Test string", - link: "Test string", - preferences: { - A: "Test string" - }, - title: "Test string", - type: "Test string", - width: 42, - }, - guestsCanInviteOthers: true, - guestsCanModify: true, - guestsCanSeeOtherGuests: true, - hangoutLink: "Test string", - htmlLink: "Test string", - iCalUID: "Test string", - id: "Test string", - kind: "Test string", - location: "Test string", - locked: true, - organizer: { - displayName: "Test string", - email: "Test string", - id: "Test string", - self: true, - }, - originalStartTime: { - date: "Test string", - dateTime: "Test string", - timeZone: "Test string", - }, - privateCopy: true, - recurrence: [ - "Test string" - ], - recurringEventId: "Test string", - reminders: { - overrides: [ - { - method: "Test string", - minutes: 42, - } - ], - useDefault: true, - }, - sequence: 42, - source: { - title: "Test string", - url: "Test string", - }, - start: { - date: "Test string", - dateTime: "Test string", - timeZone: "Test string", - }, - status: "Test string", - summary: "Test string", - transparency: "Test string", - updated: "Test string", - visibility: "Test string", - }); - /** Watch for changes to Events resources. */ - await gapi.client.calendar.events.watch({ - alwaysIncludeEmail: true, - calendarId: "Test string", - iCalUID: "Test string", - maxAttendees: 42, - maxResults: 42, - orderBy: "Test string", - pageToken: "Test string", - privateExtendedProperty: "Test string", - q: "Test string", - sharedExtendedProperty: "Test string", - showDeleted: true, - showHiddenInvitations: true, - singleEvents: true, - syncToken: "Test string", - timeMax: "Test string", - timeMin: "Test string", - timeZone: "Test string", - updatedMin: "Test string", - }, { - address: "Test string", - expiration: "Test string", - id: "Test string", - kind: "Test string", - params: { - A: "Test string" - }, - payload: true, - resourceId: "Test string", - resourceUri: "Test string", - token: "Test string", - type: "Test string", - }); - /** Returns free/busy information for a set of calendars. */ - await gapi.client.calendar.freebusy.query({} , { - calendarExpansionMax: 42, - groupExpansionMax: 42, - items: [ - { - id: "Test string", - } - ], - timeMax: "Test string", - timeMin: "Test string", - timeZone: "Test string", - }); - /** Returns a single user setting. */ - await gapi.client.calendar.settings.get({ - setting: "Test string", - }); - /** Returns all user settings for the authenticated user. */ - await gapi.client.calendar.settings.list({ - maxResults: 42, - pageToken: "Test string", - syncToken: "Test string", - }); - /** Watch for changes to Settings resources. */ - await gapi.client.calendar.settings.watch({ - maxResults: 42, - pageToken: "Test string", - syncToken: "Test string", - }, { - address: "Test string", - expiration: "Test string", - id: "Test string", - kind: "Test string", - params: { - A: "Test string" - }, - payload: true, - resourceId: "Test string", - resourceUri: "Test string", - token: "Test string", - type: "Test string", - }); - } -}); diff --git a/test/restDocs/snapshots/gapi.client.calendar-v3/tsconfig.json b/test/restDocs/snapshots/gapi.client.calendar-v3/tsconfig.json deleted file mode 100644 index d5540261de..0000000000 --- a/test/restDocs/snapshots/gapi.client.calendar-v3/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": ["es6", "dom"], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "baseUrl": "../", - "typeRoots": [ - "../" - ], - "types": [], - "noEmit": true, - "forceConsistentCasingInFileNames": true, - "strictFunctionTypes": true - }, - "files": ["index.d.ts", "tests.ts"] -} diff --git a/test/restDocs/snapshots/gapi.client.calendar-v3/tslint.json b/test/restDocs/snapshots/gapi.client.calendar-v3/tslint.json deleted file mode 100644 index 1598764131..0000000000 --- a/test/restDocs/snapshots/gapi.client.calendar-v3/tslint.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "dtslint/dtslint.json", - "rules": { - "no-redundant-jsdoc": false - } -} diff --git a/test/restDocs/snapshots/gapi.client.drive-v3/.npmrc b/test/restDocs/snapshots/gapi.client.drive-v3/.npmrc deleted file mode 100644 index 0063b50cfd..0000000000 --- a/test/restDocs/snapshots/gapi.client.drive-v3/.npmrc +++ /dev/null @@ -1 +0,0 @@ -//registry.npmjs.org/:_authToken=${NPM_PUBLISH_AUTOMATION_TOKEN} diff --git a/test/restDocs/snapshots/gapi.client.drive-v3/index.d.ts b/test/restDocs/snapshots/gapi.client.drive-v3/index.d.ts deleted file mode 100644 index 9fd96d83a3..0000000000 --- a/test/restDocs/snapshots/gapi.client.drive-v3/index.d.ts +++ /dev/null @@ -1,2814 +0,0 @@ -/* Type definitions for non-npm package Drive API v3 0.0 */ -// Project: https://developers.google.com/drive/ -// Definitions by: Maxim Mazurok -// Nick Amoscato -// Declan Vong -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -// IMPORTANT -// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. -// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator -// Generated from: http://localhost:3000/drive.json -// Revision: 20220626 - -/// - -declare namespace gapi.client { - /** Load Drive API v3 */ - function load(urlOrObject: "http://localhost:3000/drive.json"): Promise; - /** @deprecated Please load APIs with discovery documents. */ - function load(name: "drive", version: "v3"): Promise; - /** @deprecated Please load APIs with discovery documents. */ - function load(name: "drive", version: "v3", callback: () => any): void; - - namespace drive { - interface About { - /** Whether the user has installed the requesting app. */ - appInstalled?: boolean; - /** Whether the user can create shared drives. */ - canCreateDrives?: boolean; - /** Deprecated - use canCreateDrives instead. */ - canCreateTeamDrives?: boolean; - /** A list of themes that are supported for shared drives. */ - driveThemes?: Array<{ - /** A link to this theme's background image. */ - backgroundImageLink?: string; - /** The color of this theme as an RGB hex string. */ - colorRgb?: string; - /** The ID of the theme. */ - id?: string; - }>; - /** A map of source MIME type to possible targets for all supported exports. */ - exportFormats?: { [P in string]: string[] }; - /** 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?: { [P in string]: string[] }; - /** 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?: { [P in string]: string }; - /** The maximum upload size in bytes. */ - maxUploadSize?: string; - /** The user's storage quota limits and usage. All fields are measured in bytes. */ - storageQuota?: { - /** The usage limit, if applicable. This will not be present if the user has unlimited storage. */ - limit?: string; - /** The total usage across all services. */ - usage?: string; - /** The usage by all files in Google Drive. */ - usageInDrive?: string; - /** The usage by trashed files in Google Drive. */ - usageInDriveTrash?: string; - }; - /** Deprecated - use driveThemes instead. */ - teamDriveThemes?: Array<{ - /** Deprecated - use driveThemes/backgroundImageLink instead. */ - backgroundImageLink?: string; - /** Deprecated - use driveThemes/colorRgb instead. */ - colorRgb?: string; - /** Deprecated - use driveThemes/id instead. */ - id?: string; - }>; - /** The authenticated user. */ - user?: User; - } - interface Change { - /** The type of the change. Possible values are file and drive. */ - changeType?: string; - /** The updated state of the shared drive. Present if the changeType is drive, the user is still a member of the shared drive, and the shared drive has not been deleted. */ - drive?: Drive; - /** The ID of the shared drive associated with this change. */ - driveId?: string; - /** 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?: 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 shared drive has been removed from this list of changes, for example by deletion or loss of access. */ - removed?: boolean; - /** Deprecated - use drive instead. */ - teamDrive?: TeamDrive; - /** Deprecated - use driveId instead. */ - teamDriveId?: string; - /** The time of this change (RFC 3339 date-time). */ - time?: string; - /** Deprecated - use changeType instead. */ - type?: string; - } - interface 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?: 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; - } - interface 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, which is "api#channel". */ - kind?: string; - /** Additional parameters controlling delivery channel behavior. Optional. */ - params?: { [P in string]: string }; - /** 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. Valid values are "web_hook" (or "webhook"). Both values refer to a channel where Http requests are used to deliver messages. */ - type?: string; - } - interface Comment { - /** A region of the document represented as a JSON string. For details on defining anchor properties, refer to Add comments and replies. */ - anchor?: string; - /** The author of the comment. The author's email address and permission ID will not be populated. */ - author?: 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?: { - /** The MIME type of the quoted content. */ - mimeType?: string; - /** The quoted content itself. This is interpreted as plain text if set through the API. */ - value?: string; - }; - /** The full list of replies to the comment in chronological order. */ - replies?: Reply[]; - /** Whether the comment has been resolved by one of its replies. */ - resolved?: boolean; - } - interface 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?: 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; - } - interface ContentRestriction { - /** - * Whether the content of the file is read-only. If a file is read-only, a new revision of the file may not be added, comments may not be added or modified, and the title of the file - * may not be modified. - */ - readOnly?: boolean; - /** Reason for why the content of the file is restricted. This is only mutable on requests that also set readOnly=true. */ - reason?: string; - /** The user who set the content restriction. Only populated if readOnly is true. */ - restrictingUser?: User; - /** The time at which the content restriction was set (formatted RFC 3339 timestamp). Only populated if readOnly is true. */ - restrictionTime?: string; - /** The type of the content restriction. Currently the only possible value is globalContentRestriction. */ - type?: string; - } - interface Drive { - /** - * An image file and cropping parameters from which a background image for this shared drive is set. This is a write only field; it can only be set on drive.drives.update requests that - * don't set themeId. When specified, all fields of the backgroundImageFile must be set. - */ - backgroundImageFile?: { - /** The ID of an image file in Google Drive to use for the background image. */ - id?: string; - /** - * The width of the cropped image in the closed range of 0 to 1. This value represents the width of the cropped image divided by the width of the entire image. The height is - * computed by applying a width to height aspect ratio of 80 to 9. The resulting image must be at least 1280 pixels wide and 144 pixels high. - */ - width?: number; - /** - * The X coordinate of the upper left corner of the cropping area in the background image. This is a value in the closed range of 0 to 1. This value represents the horizontal - * distance from the left side of the entire image to the left side of the cropping area divided by the width of the entire image. - */ - xCoordinate?: number; - /** - * The Y coordinate of the upper left corner of the cropping area in the background image. This is a value in the closed range of 0 to 1. This value represents the vertical - * distance from the top side of the entire image to the top side of the cropping area divided by the height of the entire image. - */ - yCoordinate?: number; - }; - /** A short-lived link to this shared drive's background image. */ - backgroundImageLink?: string; - /** Capabilities the current user has on this shared drive. */ - capabilities?: { - /** Whether the current user can add children to folders in this shared drive. */ - canAddChildren?: boolean; - /** Whether the current user can change the copyRequiresWriterPermission restriction of this shared drive. */ - canChangeCopyRequiresWriterPermissionRestriction?: boolean; - /** Whether the current user can change the domainUsersOnly restriction of this shared drive. */ - canChangeDomainUsersOnlyRestriction?: boolean; - /** Whether the current user can change the background of this shared drive. */ - canChangeDriveBackground?: boolean; - /** Whether the current user can change the driveMembersOnly restriction of this shared drive. */ - canChangeDriveMembersOnlyRestriction?: boolean; - /** Whether the current user can comment on files in this shared drive. */ - canComment?: boolean; - /** Whether the current user can copy files in this shared drive. */ - canCopy?: boolean; - /** Whether the current user can delete children from folders in this shared drive. */ - canDeleteChildren?: boolean; - /** Whether the current user can delete this shared drive. Attempting to delete the shared drive may still fail if there are untrashed items inside the shared drive. */ - canDeleteDrive?: boolean; - /** Whether the current user can download files in this shared drive. */ - canDownload?: boolean; - /** Whether the current user can edit files in this shared drive */ - canEdit?: boolean; - /** Whether the current user can list the children of folders in this shared drive. */ - canListChildren?: boolean; - /** Whether the current user can add members to this shared drive or remove them or change their role. */ - canManageMembers?: boolean; - /** Whether the current user can read the revisions resource of files in this shared drive. */ - canReadRevisions?: boolean; - /** Whether the current user can rename files or folders in this shared drive. */ - canRename?: boolean; - /** Whether the current user can rename this shared drive. */ - canRenameDrive?: boolean; - /** Whether the current user can reset the shared drive restrictions to defaults. */ - canResetDriveRestrictions?: boolean; - /** Whether the current user can share files or folders in this shared drive. */ - canShare?: boolean; - /** Whether the current user can trash children from folders in this shared drive. */ - canTrashChildren?: boolean; - }; - /** The color of this shared drive as an RGB hex string. It can only be set on a drive.drives.update request that does not set themeId. */ - colorRgb?: string; - /** The time at which the shared drive was created (RFC 3339 date-time). */ - createdTime?: string; - /** Whether the shared drive is hidden from default view. */ - hidden?: boolean; - /** The ID of this shared drive which is also the ID of the top level folder of this shared drive. */ - id?: string; - /** Identifies what kind of resource this is. Value: the fixed string "drive#drive". */ - kind?: string; - /** The name of this shared drive. */ - name?: string; - /** The organizational unit of this shared drive. This field is only populated on drives.list responses when the useDomainAdminAccess parameter is set to true. */ - orgUnitId?: string; - /** A set of restrictions that apply to this shared drive or items inside this shared drive. */ - restrictions?: { - /** Whether administrative privileges on this shared drive are required to modify restrictions. */ - adminManagedRestrictions?: boolean; - /** - * Whether the options to copy, print, or download files inside this shared drive, should be disabled for readers and commenters. When this restriction is set to true, it will - * override the similarly named field to true for any file inside this shared drive. - */ - copyRequiresWriterPermission?: boolean; - /** - * Whether access to this shared drive and items inside this shared drive is restricted to users of the domain to which this shared drive belongs. This restriction may be - * overridden by other sharing policies controlled outside of this shared drive. - */ - domainUsersOnly?: boolean; - /** Whether access to items inside this shared drive is restricted to its members. */ - driveMembersOnly?: boolean; - }; - /** - * The ID of the theme from which the background image and color will be set. The set of possible driveThemes can be retrieved from a drive.about.get response. When not specified on a - * drive.drives.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; - } - interface DriveList { - /** The list of shared drives. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched. */ - drives?: Drive[]; - /** Identifies what kind of resource this is. Value: the fixed string "drive#driveList". */ - kind?: string; - /** - * The page token for the next page of shared drives. This will be absent if the end of the 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; - } - interface 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. These properties can only be retrieved using an authenticated request. An authenticated request uses an access - * token obtained with a OAuth 2 client ID. You cannot use an API key to retrieve private properties. - */ - appProperties?: { [P in string]: string }; - /** Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take. */ - capabilities?: { - /** Whether the current user is the pending owner of the file. Not populated for shared drive files. */ - canAcceptOwnership?: boolean; - /** Whether the current user can add children to this folder. This is always false when the item is not a folder. */ - canAddChildren?: boolean; - /** - * Whether the current user can add a folder from another drive (different shared drive or My Drive) to this folder. This is false when the item is not a folder. Only populated for - * items in shared drives. - */ - canAddFolderFromAnotherDrive?: boolean; - /** Whether the current user can add a parent for the item without removing an existing parent in the same request. Not populated for shared drive files. */ - canAddMyDriveParent?: boolean; - /** Whether the current user can change the copyRequiresWriterPermission restriction of this file. */ - canChangeCopyRequiresWriterPermission?: boolean; - /** Whether the current user can change the securityUpdateEnabled field on link share metadata. */ - canChangeSecurityUpdateEnabled?: boolean; - /** Deprecated */ - canChangeViewersCanCopyContent?: boolean; - /** Whether the current user can comment on this file. */ - canComment?: boolean; - /** - * Whether the current user can copy this file. For an item in a shared drive, whether the current user can copy non-folder descendants of this item, or this item itself if it is - * not a folder. - */ - canCopy?: boolean; - /** Whether the current user can delete this file. */ - canDelete?: boolean; - /** Whether the current user can delete children of this folder. This is false when the item is not a folder. Only populated for items in shared drives. */ - canDeleteChildren?: boolean; - /** Whether the current user can download this file. */ - canDownload?: boolean; - /** - * Whether the current user can edit this file. Other factors may limit the type of changes a user can make to a file. For example, see canChangeCopyRequiresWriterPermission or - * canModifyContent. - */ - canEdit?: boolean; - /** Whether the current user can list the children of this folder. This is always false when the item is not a folder. */ - canListChildren?: boolean; - /** Whether the current user can modify the content of this file. */ - canModifyContent?: boolean; - /** Whether the current user can modify restrictions on content of this file. */ - canModifyContentRestriction?: boolean; - /** Whether the current user can move children of this folder outside of the shared drive. This is false when the item is not a folder. Only populated for items in shared drives. */ - canMoveChildrenOutOfDrive?: boolean; - /** Deprecated - use canMoveChildrenOutOfDrive instead. */ - canMoveChildrenOutOfTeamDrive?: boolean; - /** - * Whether the current user can move children of this folder within this drive. This is false when the item is not a folder. Note that a request to move the child may still fail - * depending on the current user's access to the child and to the destination folder. - */ - canMoveChildrenWithinDrive?: boolean; - /** Deprecated - use canMoveChildrenWithinDrive instead. */ - canMoveChildrenWithinTeamDrive?: boolean; - /** Deprecated - use canMoveItemOutOfDrive instead. */ - canMoveItemIntoTeamDrive?: boolean; - /** - * Whether the current user can move this item outside of this drive by changing its parent. Note that a request to change the parent of the item may still fail depending on the - * new parent that is being added. - */ - canMoveItemOutOfDrive?: boolean; - /** Deprecated - use canMoveItemOutOfDrive instead. */ - canMoveItemOutOfTeamDrive?: boolean; - /** - * Whether the current user can move this item within this drive. Note that a request to change the parent of the item may still fail depending on the new parent that is being - * added and the parent that is being removed. - */ - canMoveItemWithinDrive?: boolean; - /** Deprecated - use canMoveItemWithinDrive instead. */ - canMoveItemWithinTeamDrive?: boolean; - /** Deprecated - use canMoveItemWithinDrive or canMoveItemOutOfDrive instead. */ - canMoveTeamDriveItem?: boolean; - /** Whether the current user can read the shared drive to which this file belongs. Only populated for items in shared drives. */ - canReadDrive?: boolean; - /** - * Whether the current user can read the revisions resource of this file. For a shared drive item, whether revisions of non-folder descendants of this item, or this item itself if - * it is not a folder, can be read. - */ - canReadRevisions?: boolean; - /** Deprecated - use canReadDrive instead. */ - canReadTeamDrive?: boolean; - /** - * Whether the current user can remove children from this folder. This is always false when the item is not a folder. For a folder in a shared drive, use canDeleteChildren or - * canTrashChildren instead. - */ - canRemoveChildren?: boolean; - /** Whether the current user can remove a parent from the item without adding another parent in the same request. Not populated for shared drive files. */ - canRemoveMyDriveParent?: boolean; - /** Whether the current user can rename this file. */ - canRename?: boolean; - /** Whether the current user can modify the sharing settings for this file. */ - canShare?: boolean; - /** Whether the current user can move this file to trash. */ - canTrash?: boolean; - /** Whether the current user can trash children of this folder. This is false when the item is not a folder. Only populated for items in shared drives. */ - canTrashChildren?: boolean; - /** Whether the current user can restore this file from trash. */ - canUntrash?: boolean; - }; - /** Additional information about the content of the file. These fields are never populated in responses. */ - contentHints?: { - /** Text to be indexed for the file to improve fullText queries. This is limited to 128KB in length and may contain HTML elements. */ - indexableText?: string; - /** A thumbnail for the file. This will only be used if Google Drive cannot generate a standard thumbnail. */ - thumbnail?: { - /** The thumbnail data encoded with URL-safe Base64 (RFC 4648 section 5). */ - image?: string; - /** The MIME type of the thumbnail. */ - mimeType?: string; - }; - }; - /** Restrictions for accessing the content of the file. Only populated if such a restriction exists. */ - contentRestrictions?: ContentRestriction[]; - /** 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; - /** ID of the shared drive the file resides in. Only populated for items in shared drives. */ - driveId?: string; - /** Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder. */ - explicitlyTrashed?: boolean; - /** Links for exporting Docs Editors files to specific formats. */ - exportLinks?: { [P in string]: string }; - /** The final component of fullFileExtension. This is only available for files with binary content in Google Drive. */ - fileExtension?: string; - /** - * The color for a folder or shortcut to 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 Google - * 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 there are permissions directly on this file. This field is only populated for items in shared drives. */ - 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 Google 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?: { - /** The aperture used to create the photo (f-number). */ - aperture?: number; - /** The make of the camera used to create the photo. */ - cameraMake?: string; - /** The model of the camera used to create the photo. */ - cameraModel?: string; - /** The color space of the photo. */ - colorSpace?: string; - /** The exposure bias of the photo (APEX value). */ - exposureBias?: number; - /** The exposure mode used to create the photo. */ - exposureMode?: string; - /** The length of the exposure, in seconds. */ - exposureTime?: number; - /** Whether a flash was used to create the photo. */ - flashUsed?: boolean; - /** The focal length used to create the photo, in millimeters. */ - focalLength?: number; - /** The height of the image in pixels. */ - height?: number; - /** The ISO speed used to create the photo. */ - isoSpeed?: number; - /** The lens used to create the photo. */ - lens?: string; - /** Geographic location information stored in the image. */ - location?: { - /** The altitude stored in the image. */ - altitude?: number; - /** The latitude stored in the image. */ - latitude?: number; - /** The longitude stored in the image. */ - longitude?: number; - }; - /** The smallest f-number of the lens at the focal length used to create the photo (APEX value). */ - maxApertureValue?: number; - /** The metering mode used to create the photo. */ - meteringMode?: string; - /** The number of clockwise 90 degree rotations applied from the image's original orientation. */ - rotation?: number; - /** The type of sensor used to create the photo. */ - sensor?: string; - /** The distance to the subject of the photo, in meters. */ - subjectDistance?: number; - /** The date and time the photo was taken (EXIF DateTime). */ - time?: string; - /** The white balance mode used to create the photo. */ - whiteBalance?: string; - /** The width of the image in pixels. */ - width?: number; - }; - /** 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?: User; - /** Contains details about the link URLs that clients are using to refer to this item. */ - linkShareMetadata?: { - /** Whether the file is eligible for security update. */ - securityUpdateEligible?: boolean; - /** Whether the security update is enabled for this file. */ - securityUpdateEnabled?: boolean; - }; - /** The MD5 checksum for the content of the file. This is only applicable to files with binary content in Google Drive. */ - md5Checksum?: string; - /** - * The MIME type of the file. - * Google 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 shared 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 Google Drive. */ - originalFilename?: string; - /** Whether the user owns the file. Not populated for items in shared drives. */ - ownedByMe?: boolean; - /** The owner of this file. Only certain legacy files may have more than one owner. This field isn't populated for items in shared drives. */ - owners?: 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 items in shared drives. */ - permissions?: 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?: { [P in string]: string }; - /** 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; - /** A key needed to access the item via a shared link. */ - resourceKey?: string; - /** Whether the file has been shared. Not populated for items in shared drives. */ - 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?: User; - /** Shortcut file details. Only populated for shortcut files, which have the mimeType field set to application/vnd.google-apps.shortcut. */ - shortcutDetails?: { - /** The ID of the file that this shortcut points to. */ - targetId?: string; - /** The MIME type of the file that this shortcut points to. The value of this field is a snapshot of the target's MIME type, captured when the shortcut is created. */ - targetMimeType?: string; - /** The ResourceKey for the target file. */ - targetResourceKey?: string; - }; - /** The size of the file's content in bytes. This is applicable to binary files in Google Drive and Google Docs files. */ - 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; - /** Deprecated - use driveId instead. */ - 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. If the file - * isn't shared publicly, the URL returned in Files.thumbnailLink must be fetched using a credentialed request. - */ - 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. The trashed item is excluded from all files.list responses - * returned for any user who does not own the file. However, all users with access to the file can see the trashed item metadata in an API response. All users with access can copy, - * download, export, and share the file. - */ - trashed?: boolean; - /** The time that the item was trashed (RFC 3339 date-time). Only populated for items in shared drives. */ - trashedTime?: string; - /** If the file has been explicitly trashed, the user who trashed it. Only populated for items in shared drives. */ - trashingUser?: 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?: { - /** The duration of the video in milliseconds. */ - durationMillis?: string; - /** The height of the video in pixels. */ - height?: number; - /** The width of the video in pixels. */ - width?: number; - }; - /** 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 Google 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 items in shared drives. */ - writersCanShare?: boolean; - } - interface 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?: 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 drives - * with the "allDrives" 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 "drive". - */ - 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; - } - interface 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; - } - interface 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; - /** - * The "pretty" name of the value of the permission. The following is a list of examples for each type of permission: - * - user - User's full name, as defined for their Google account, such as "Joe Smith." - * - group - Name of the Google Group, such as "The Company Administrators." - * - domain - String domain name, such as "thecompany.com." - * - anyone - No displayName is present. - */ - 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. IDs should be treated as opaque values. */ - id?: string; - /** Identifies what kind of resource this is. Value: the fixed string "drive#permission". */ - kind?: string; - /** Whether the account associated with this permission is a pending owner. Only populated for user type permissions for files that are not in a shared drive. */ - pendingOwner?: boolean; - /** Details of whether the permissions on this shared drive item are inherited or directly on this item. This is an output-only field which is present only for shared drive items. */ - permissionDetails?: Array<{ - /** Whether this permission is inherited. This field is always populated. This is an output-only field. */ - inherited?: boolean; - /** The ID of the item from which this permission is inherited. This is an output-only field. */ - inheritedFrom?: string; - /** - * The permission type for this user. While new values may be added in future, the following are currently possible: - * - file - * - member - */ - permissionType?: string; - /** - * The primary role for this user. While new values may be added in the future, the following are currently possible: - * - organizer - * - fileOrganizer - * - writer - * - commenter - * - reader - */ - role?: 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; - /** Deprecated - use permissionDetails instead. */ - teamDrivePermissionDetails?: Array<{ - /** Deprecated - use permissionDetails/inherited instead. */ - inherited?: boolean; - /** Deprecated - use permissionDetails/inheritedFrom instead. */ - inheritedFrom?: string; - /** Deprecated - use permissionDetails/role instead. */ - role?: string; - /** Deprecated - use permissionDetails/permissionType instead. */ - teamDrivePermissionType?: string; - }>; - /** - * The type of the grantee. Valid values are: - * - user - * - group - * - domain - * - anyone When creating a permission, if type is user or group, you must provide an emailAddress for the user or group. When type is domain, you must provide a domain. There isn't - * extra information required for a anyone type. - */ - type?: string; - /** Indicates the view for this permission. Only populated for permissions that belong to a view. published is the only supported value. */ - view?: string; - } - interface 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?: Permission[]; - } - interface Reply { - /** - * The action the reply performed to the parent comment. Valid values are: - * - resolve - * - reopen - */ - action?: string; - /** The author of the reply. The author's email address and permission ID will not be populated. */ - author?: 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; - } - interface 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?: Reply[]; - } - interface Revision { - /** Links for exporting Docs Editors files to specific formats. */ - exportLinks?: { [P in string]: string }; - /** 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?: 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 Docs Editors files. */ - publishAuto?: boolean; - /** Whether this revision is published. This is only applicable to Docs Editors files. */ - published?: boolean; - /** A link to the published revision. This is only populated for Google Sites files. */ - publishedLink?: string; - /** Whether this revision is published outside the domain. This is only applicable to Docs Editors files. */ - publishedOutsideDomain?: boolean; - /** The size of the revision's content in bytes. This is only applicable to files with binary content in Drive. */ - size?: string; - } - interface 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?: Revision[]; - } - interface 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; - } - interface 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?: { - /** The ID of an image file in Drive to use for the background image. */ - id?: string; - /** - * The width of the cropped image in the closed range of 0 to 1. This value represents the width of the cropped image divided by the width of the entire image. The height is - * computed by applying a width to height aspect ratio of 80 to 9. The resulting image must be at least 1280 pixels wide and 144 pixels high. - */ - width?: number; - /** - * The X coordinate of the upper left corner of the cropping area in the background image. This is a value in the closed range of 0 to 1. This value represents the horizontal - * distance from the left side of the entire image to the left side of the cropping area divided by the width of the entire image. - */ - xCoordinate?: number; - /** - * The Y coordinate of the upper left corner of the cropping area in the background image. This is a value in the closed range of 0 to 1. This value represents the vertical - * distance from the top side of the entire image to the top side of the cropping area divided by the height of the entire image. - */ - yCoordinate?: number; - }; - /** A short-lived link to this Team Drive's background image. */ - backgroundImageLink?: string; - /** Capabilities the current user has on this Team Drive. */ - capabilities?: { - /** Whether the current user can add children to folders in this Team Drive. */ - canAddChildren?: boolean; - /** Whether the current user can change the copyRequiresWriterPermission restriction of this Team Drive. */ - canChangeCopyRequiresWriterPermissionRestriction?: boolean; - /** Whether the current user can change the domainUsersOnly restriction of this Team Drive. */ - canChangeDomainUsersOnlyRestriction?: boolean; - /** Whether the current user can change the background of this Team Drive. */ - canChangeTeamDriveBackground?: boolean; - /** Whether the current user can change the teamMembersOnly restriction of this Team Drive. */ - canChangeTeamMembersOnlyRestriction?: boolean; - /** Whether the current user can comment on files in this Team Drive. */ - canComment?: boolean; - /** Whether the current user can copy files in this Team Drive. */ - canCopy?: boolean; - /** Whether the current user can delete children from folders in this Team Drive. */ - canDeleteChildren?: boolean; - /** Whether the current user can delete this Team Drive. Attempting to delete the Team Drive may still fail if there are untrashed items inside the Team Drive. */ - canDeleteTeamDrive?: boolean; - /** Whether the current user can download files in this Team Drive. */ - canDownload?: boolean; - /** Whether the current user can edit files in this Team Drive */ - canEdit?: boolean; - /** Whether the current user can list the children of folders in this Team Drive. */ - canListChildren?: boolean; - /** Whether the current user can add members to this Team Drive or remove them or change their role. */ - canManageMembers?: boolean; - /** Whether the current user can read the revisions resource of files in this Team Drive. */ - canReadRevisions?: boolean; - /** Deprecated - use canDeleteChildren or canTrashChildren instead. */ - canRemoveChildren?: boolean; - /** Whether the current user can rename files or folders in this Team Drive. */ - canRename?: boolean; - /** Whether the current user can rename this Team Drive. */ - canRenameTeamDrive?: boolean; - /** Whether the current user can reset the Team Drive restrictions to defaults. */ - canResetTeamDriveRestrictions?: boolean; - /** Whether the current user can share files or folders in this Team Drive. */ - canShare?: boolean; - /** Whether the current user can trash children from folders in this Team Drive. */ - canTrashChildren?: boolean; - }; - /** 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; - /** The organizational unit of this shared drive. This field is only populated on drives.list responses when the useDomainAdminAccess parameter is set to true. */ - orgUnitId?: string; - /** A set of restrictions that apply to this Team Drive or items inside this Team Drive. */ - restrictions?: { - /** Whether administrative privileges on this Team Drive are required to modify restrictions. */ - adminManagedRestrictions?: boolean; - /** - * Whether the options to copy, print, or download files inside this Team Drive, should be disabled for readers and commenters. When this restriction is set to true, it will - * override the similarly named field to true for any file inside this Team Drive. - */ - copyRequiresWriterPermission?: boolean; - /** - * Whether access to this Team Drive and items inside this Team Drive is restricted to users of the domain to which this Team Drive belongs. This restriction may be overridden by - * other sharing policies controlled outside of this Team Drive. - */ - domainUsersOnly?: boolean; - /** Whether access to items inside this Team Drive is restricted to members of this Team Drive. */ - teamMembersOnly?: boolean; - }; - /** - * 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; - } - interface 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?: TeamDrive[]; - } - interface 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; - } - interface AboutResource { - /** Gets information about the user, the user's Drive, and system capabilities. */ - get(request?: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - } - interface ChangesResource { - /** Gets the starting pageToken for listing future changes. */ - getStartPageToken(request?: { - /** Data format for the response. */ - alt?: string; - /** The ID of the shared drive for which the starting pageToken for listing future changes from that shared drive is returned. */ - driveId?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** Deprecated use driveId instead. */ - teamDriveId?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Lists the changes for a user or shared drive. */ - list(request?: { - /** Data format for the response. */ - alt?: string; - /** The shared drive from which changes are returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier. */ - driveId?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** - * 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 both My Drive and shared drive items should be included in results. */ - includeItemsFromAllDrives?: boolean; - /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ - includePermissionsForView?: string; - /** 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; - /** Deprecated use includeItemsFromAllDrives instead. */ - includeTeamDriveItems?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** 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; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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 both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** Deprecated use driveId instead. */ - teamDriveId?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Subscribes to changes for a user. */ - watch(request: { - /** Data format for the response. */ - alt?: string; - /** The shared drive from which changes are returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier. */ - driveId?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** - * 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 both My Drive and shared drive items should be included in results. */ - includeItemsFromAllDrives?: boolean; - /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ - includePermissionsForView?: string; - /** 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; - /** Deprecated use includeItemsFromAllDrives instead. */ - includeTeamDriveItems?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** 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; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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 both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** Deprecated use driveId instead. */ - teamDriveId?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Channel; - }): Request; - watch(request: { - /** Data format for the response. */ - alt?: string; - /** The shared drive from which changes are returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier. */ - driveId?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** - * 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 both My Drive and shared drive items should be included in results. */ - includeItemsFromAllDrives?: boolean; - /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ - includePermissionsForView?: string; - /** 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; - /** Deprecated use includeItemsFromAllDrives instead. */ - includeTeamDriveItems?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** 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; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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 both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** Deprecated use driveId instead. */ - teamDriveId?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Channel): Request; - } - interface ChannelsResource { - /** Stop watching resources through this channel */ - stop(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Channel; - }): Request; - stop(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Channel): Request; - } - interface CommentsResource { - /** Creates a new comment on a file. */ - create(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Comment; - }): Request; - create(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Comment): Request; - /** Deletes a comment. */ - delete(request?: { - /** Data format for the response. */ - alt?: string; - /** The ID of the comment. */ - commentId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Gets a comment by ID. */ - get(request?: { - /** Data format for the response. */ - alt?: string; - /** The ID of the comment. */ - commentId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** Whether to return deleted comments. Deleted comments will not include their original content. */ - includeDeleted?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Lists a file's comments. */ - list(request?: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** Whether to include deleted comments. Deleted comments will not include their original content. */ - includeDeleted?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** 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; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** The minimum value of 'modifiedTime' for the result comments (RFC 3339 date-time). */ - startModifiedTime?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Updates a comment with patch semantics. */ - update(request: { - /** Data format for the response. */ - alt?: string; - /** The ID of the comment. */ - commentId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Comment; - }): Request; - update(request: { - /** Data format for the response. */ - alt?: string; - /** The ID of the comment. */ - commentId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Comment): Request; - } - interface DrivesResource { - /** Creates a new shared drive. */ - create(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** - * An ID, such as a random UUID, which uniquely identifies this user's request for idempotent creation of a shared drive. A repeated request by the same user and with the same - * request ID will avoid creating duplicates by attempting to create the same shared drive. If the shared drive already exists a 409 error will be returned. - */ - requestId: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Drive; - }): Request; - create(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** - * An ID, such as a random UUID, which uniquely identifies this user's request for idempotent creation of a shared drive. A repeated request by the same user and with the same - * request ID will avoid creating duplicates by attempting to create the same shared drive. If the shared drive already exists a 409 error will be returned. - */ - requestId: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Drive): Request; - /** Permanently deletes a shared drive for which the user is an organizer. The shared drive cannot contain any untrashed items. */ - delete(request?: { - /** Whether any items inside the shared drive should also be deleted. This option is only supported when useDomainAdminAccess is also set to true. */ - allowItemDeletion?: boolean; - /** Data format for the response. */ - alt?: string; - /** The ID of the shared drive. */ - driveId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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 shared drive - * belongs. - */ - useDomainAdminAccess?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Gets a shared drive's metadata by ID. */ - get(request?: { - /** Data format for the response. */ - alt?: string; - /** The ID of the shared drive. */ - driveId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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 shared drive - * belongs. - */ - useDomainAdminAccess?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Hides a shared drive from the default view. */ - hide(request?: { - /** Data format for the response. */ - alt?: string; - /** The ID of the shared drive. */ - driveId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Lists the user's shared drives. */ - list(request?: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Maximum number of shared drives to return per page. */ - pageSize?: number; - /** Page token for shared drives. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Query string for searching shared drives. */ - q?: string; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Issue the request as a domain administrator; if set to true, then all shared drives of the domain in which the requester is an administrator are returned. */ - useDomainAdminAccess?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Restores a shared drive to the default view. */ - unhide(request?: { - /** Data format for the response. */ - alt?: string; - /** The ID of the shared drive. */ - driveId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Updates the metadate for a shared drive. */ - update(request: { - /** Data format for the response. */ - alt?: string; - /** The ID of the shared drive. */ - driveId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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 shared drive - * belongs. - */ - useDomainAdminAccess?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Drive; - }): Request; - update(request: { - /** Data format for the response. */ - alt?: string; - /** The ID of the shared drive. */ - driveId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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 shared drive - * belongs. - */ - useDomainAdminAccess?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Drive): Request; - } - interface FilesResource { - /** Creates a copy of a file and applies any requested updates with patch semantics. Folders cannot be copied. */ - copy(request: { - /** Data format for the response. */ - alt?: string; - /** Deprecated. Copying files into multiple folders is no longer supported. Use shortcuts instead. */ - enforceSingleParent?: boolean; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ - includePermissionsForView?: string; - /** - * Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be - * kept forever. If the limit is reached, try deleting pinned revisions. - */ - keepRevisionForever?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** A language hint for OCR processing during image import (ISO 639-1 code). */ - ocrLanguage?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: File; - }): Request; - copy(request: { - /** Data format for the response. */ - alt?: string; - /** Deprecated. Copying files into multiple folders is no longer supported. Use shortcuts instead. */ - enforceSingleParent?: boolean; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ - includePermissionsForView?: string; - /** - * Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be - * kept forever. If the limit is reached, try deleting pinned revisions. - */ - keepRevisionForever?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** A language hint for OCR processing during image import (ISO 639-1 code). */ - ocrLanguage?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: File): Request; - /** Creates a new file. */ - create(request: { - /** Data format for the response. */ - alt?: string; - /** Deprecated. Creating files in multiple folders is no longer supported. */ - enforceSingleParent?: boolean; - /** Selector specifying which fields to include in a partial response. */ - fields?: 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; - /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ - includePermissionsForView?: string; - /** - * Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be - * kept forever. If the limit is reached, try deleting pinned revisions. - */ - keepRevisionForever?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** A language hint for OCR processing during image import (ISO 639-1 code). */ - ocrLanguage?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** Whether to use the uploaded content as indexable text. */ - useContentAsIndexableText?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: File; - }): Request; - create(request: { - /** Data format for the response. */ - alt?: string; - /** Deprecated. Creating files in multiple folders is no longer supported. */ - enforceSingleParent?: boolean; - /** Selector specifying which fields to include in a partial response. */ - fields?: 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; - /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ - includePermissionsForView?: string; - /** - * Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be - * kept forever. If the limit is reached, try deleting pinned revisions. - */ - keepRevisionForever?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** A language hint for OCR processing during image import (ISO 639-1 code). */ - ocrLanguage?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** Whether to use the uploaded content as indexable text. */ - useContentAsIndexableText?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: File): Request; - /** - * Permanently deletes a file owned by the user without moving it to the trash. If the file belongs to a shared 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. - */ - delete(request?: { - /** Data format for the response. */ - alt?: string; - /** Deprecated. If an item is not in a shared drive and its last parent is deleted but the item itself is not, the item will be placed under its owner's root. */ - enforceSingleParent?: boolean; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Permanently deletes all of the user's trashed files. */ - emptyTrash(request?: { - /** Data format for the response. */ - alt?: string; - /** Deprecated. If an item is not in a shared drive and its last parent is deleted but the item itself is not, the item will be placed under its owner's root. */ - enforceSingleParent?: boolean; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Exports a Google Workspace document to the requested MIME type and returns exported byte content. Note that the exported content is limited to 10MB. */ - export(request?: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** The MIME type of the format requested for this export. */ - mimeType: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Generates a set of file IDs which can be provided in create or copy requests. */ - generateIds(request?: { - /** Data format for the response. */ - alt?: string; - /** The number of IDs to return. */ - count?: number; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** The space in which the IDs can be used to create new files. Supported values are 'drive' and 'appDataFolder'. (Default: 'drive') */ - space?: string; - /** The type of items which the IDs can be used for. Supported values are 'files' and 'shortcuts'. Note that 'shortcuts' are only supported in the drive 'space'. (Default: 'files') */ - type?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Gets a file's metadata or content by ID. */ - get(request?: { - /** Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media. */ - acknowledgeAbuse?: boolean; - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ - includePermissionsForView?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Lists or searches files. */ - list(request?: { - /** Data format for the response. */ - alt?: string; - /** - * Groupings of files to which the query applies. Supported groupings are: 'user' (files created by, opened by, or shared directly with the user), 'drive' (files in the specified - * shared drive as indicated by the 'driveId'), 'domain' (files shared to the user's domain), and 'allDrives' (A combination of 'user' and 'drive' for all drives where the user is - * a member). When able, use 'user' or 'drive', instead of 'allDrives', for efficiency. - */ - corpora?: string; - /** The source of files to list. Deprecated: use 'corpora' instead. */ - corpus?: string; - /** ID of the shared drive to search. */ - driveId?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** Whether both My Drive and shared drive items should be included in results. */ - includeItemsFromAllDrives?: boolean; - /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ - includePermissionsForView?: string; - /** Deprecated use includeItemsFromAllDrives instead. */ - includeTeamDriveItems?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** - * 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; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** A query for filtering the file results. See the "Search for Files" guide for supported syntax. */ - q?: string; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** A comma-separated list of spaces to query within the corpus. Supported values are 'drive' and 'appDataFolder'. */ - spaces?: string; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** Deprecated use driveId instead. */ - teamDriveId?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** - * Updates a file's metadata and/or content. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might change - * automatically, such as modifiedDate. This method supports patch semantics. - */ - update(request: { - /** A comma-separated list of parent IDs to add. */ - addParents?: string; - /** Data format for the response. */ - alt?: string; - /** Deprecated. Adding files to multiple folders is no longer supported. Use shortcuts instead. */ - enforceSingleParent?: boolean; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ - includePermissionsForView?: string; - /** - * Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be - * kept forever. If the limit is reached, try deleting pinned revisions. - */ - keepRevisionForever?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** A language hint for OCR processing during image import (ISO 639-1 code). */ - ocrLanguage?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** A comma-separated list of parent IDs to remove. */ - removeParents?: string; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** Whether to use the uploaded content as indexable text. */ - useContentAsIndexableText?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: File; - }): Request; - update(request: { - /** A comma-separated list of parent IDs to add. */ - addParents?: string; - /** Data format for the response. */ - alt?: string; - /** Deprecated. Adding files to multiple folders is no longer supported. Use shortcuts instead. */ - enforceSingleParent?: boolean; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ - includePermissionsForView?: string; - /** - * Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be - * kept forever. If the limit is reached, try deleting pinned revisions. - */ - keepRevisionForever?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** A language hint for OCR processing during image import (ISO 639-1 code). */ - ocrLanguage?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** A comma-separated list of parent IDs to remove. */ - removeParents?: string; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** Whether to use the uploaded content as indexable text. */ - useContentAsIndexableText?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: File): Request; - /** Subscribes to changes to a file. While you can establish a channel for changes to a file on a shared drive, a change to a shared drive file won't create a notification. */ - watch(request: { - /** Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media. */ - acknowledgeAbuse?: boolean; - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ - includePermissionsForView?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Channel; - }): Request; - watch(request: { - /** Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media. */ - acknowledgeAbuse?: boolean; - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ - includePermissionsForView?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Channel): Request; - } - interface PermissionsResource { - /** Creates a permission for a file or shared drive. */ - create(request: { - /** Data format for the response. */ - alt?: string; - /** A plain text custom message to include in the notification email. */ - emailMessage?: string; - /** Deprecated. See moveToNewOwnersRoot for details. */ - enforceSingleParent?: boolean; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file or shared drive. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** - * This parameter will only take effect if the item is not in a shared drive and the request is attempting to transfer the ownership of the item. If set to true, the item will be - * moved to the new owner's My Drive root folder and all prior parents removed. If set to false, parents are not changed. - */ - moveToNewOwnersRoot?: boolean; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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 both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - 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. File owners - * can only transfer ownership of files existing on My Drive. Files existing in a shared drive are owned by the organization that owns that shared drive. Ownership transfers are - * not supported for files and folders in shared drives. Organizers of a shared drive can move items from that shared drive into their My Drive which transfers the ownership to - * them. - */ - transferOwnership?: boolean; - /** - * Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an - * administrator of the domain to which the shared drive belongs. - */ - useDomainAdminAccess?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Permission; - }): Request; - create(request: { - /** Data format for the response. */ - alt?: string; - /** A plain text custom message to include in the notification email. */ - emailMessage?: string; - /** Deprecated. See moveToNewOwnersRoot for details. */ - enforceSingleParent?: boolean; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file or shared drive. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** - * This parameter will only take effect if the item is not in a shared drive and the request is attempting to transfer the ownership of the item. If set to true, the item will be - * moved to the new owner's My Drive root folder and all prior parents removed. If set to false, parents are not changed. - */ - moveToNewOwnersRoot?: boolean; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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 both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - 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. File owners - * can only transfer ownership of files existing on My Drive. Files existing in a shared drive are owned by the organization that owns that shared drive. Ownership transfers are - * not supported for files and folders in shared drives. Organizers of a shared drive can move items from that shared drive into their My Drive which transfers the ownership to - * them. - */ - transferOwnership?: boolean; - /** - * Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an - * administrator of the domain to which the shared drive belongs. - */ - useDomainAdminAccess?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Permission): Request; - /** Deletes a permission. */ - delete(request?: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file or shared drive. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** The ID of the permission. */ - permissionId: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** - * Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an - * administrator of the domain to which the shared drive belongs. - */ - useDomainAdminAccess?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Gets a permission by ID. */ - get(request?: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** The ID of the permission. */ - permissionId: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** - * Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an - * administrator of the domain to which the shared drive belongs. - */ - useDomainAdminAccess?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Lists a file's or shared drive's permissions. */ - list(request?: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file or shared drive. */ - fileId: string; - /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ - includePermissionsForView?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** - * The maximum number of permissions to return per page. When not set for files in a shared drive, at most 100 results will be returned. When not set for files that are not in a - * shared 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; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - supportsTeamDrives?: boolean; - /** - * Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an - * administrator of the domain to which the shared drive belongs. - */ - useDomainAdminAccess?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Updates a permission with patch semantics. */ - update(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file or shared drive. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** The ID of the permission. */ - permissionId: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether to remove the expiration date. */ - removeExpiration?: boolean; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - 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. File owners - * can only transfer ownership of files existing on My Drive. Files existing in a shared drive are owned by the organization that owns that shared drive. Ownership transfers are - * not supported for files and folders in shared drives. Organizers of a shared drive can move items from that shared drive into their My Drive which transfers the ownership to - * them. - */ - transferOwnership?: boolean; - /** - * Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an - * administrator of the domain to which the shared drive belongs. - */ - useDomainAdminAccess?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Permission; - }): Request; - update(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file or shared drive. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** The ID of the permission. */ - permissionId: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Whether to remove the expiration date. */ - removeExpiration?: boolean; - /** Whether the requesting application supports both My Drives and shared drives. */ - supportsAllDrives?: boolean; - /** Deprecated use supportsAllDrives instead. */ - 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. File owners - * can only transfer ownership of files existing on My Drive. Files existing in a shared drive are owned by the organization that owns that shared drive. Ownership transfers are - * not supported for files and folders in shared drives. Organizers of a shared drive can move items from that shared drive into their My Drive which transfers the ownership to - * them. - */ - transferOwnership?: boolean; - /** - * Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an - * administrator of the domain to which the shared drive belongs. - */ - useDomainAdminAccess?: boolean; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Permission): Request; - } - interface RepliesResource { - /** Creates a new reply to a comment. */ - create(request: { - /** Data format for the response. */ - alt?: string; - /** The ID of the comment. */ - commentId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Reply; - }): Request; - create(request: { - /** Data format for the response. */ - alt?: string; - /** The ID of the comment. */ - commentId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Reply): Request; - /** Deletes a reply. */ - delete(request?: { - /** Data format for the response. */ - alt?: string; - /** The ID of the comment. */ - commentId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the reply. */ - replyId: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Gets a reply by ID. */ - get(request?: { - /** Data format for the response. */ - alt?: string; - /** The ID of the comment. */ - commentId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** Whether to return deleted replies. Deleted replies will not include their original content. */ - includeDeleted?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the reply. */ - replyId: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Lists a comment's replies. */ - list(request?: { - /** Data format for the response. */ - alt?: string; - /** The ID of the comment. */ - commentId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** Whether to include deleted replies. Deleted replies will not include their original content. */ - includeDeleted?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** 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; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Updates a reply with patch semantics. */ - update(request: { - /** Data format for the response. */ - alt?: string; - /** The ID of the comment. */ - commentId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the reply. */ - replyId: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Reply; - }): Request; - update(request: { - /** Data format for the response. */ - alt?: string; - /** The ID of the comment. */ - commentId: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the reply. */ - replyId: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Reply): Request; - } - interface RevisionsResource { - /** - * Permanently deletes a file version. You can only delete revisions for files with binary content in Google Drive, like images or videos. Revisions for other files, like Google Docs - * or Sheets, and the last remaining file version can't be deleted. - */ - delete(request?: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the revision. */ - revisionId: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Gets a revision's metadata or content by ID. */ - get(request?: { - /** Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when alt=media. */ - acknowledgeAbuse?: boolean; - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the revision. */ - revisionId: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Lists a file's revisions. */ - list(request?: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: 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; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Updates a revision with patch semantics. */ - update(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the revision. */ - revisionId: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: Revision; - }): Request; - update(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** The ID of the file. */ - fileId: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the revision. */ - revisionId: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: Revision): Request; - } - interface TeamdrivesResource { - /** Deprecated use drives.create instead. */ - create(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** - * 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: TeamDrive; - }): Request; - create(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** - * 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: TeamDrive): Request; - /** Deprecated use drives.delete instead. */ - delete(request?: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the Team Drive */ - teamDriveId: string; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Deprecated use drives.get instead. */ - get(request?: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Deprecated use drives.list instead. */ - list(request?: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Maximum number of Team Drives to return. */ - pageSize?: number; - /** Page token for Team Drives. */ - pageToken?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Query string for searching Team Drives. */ - q?: string; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }): Request; - /** Deprecated use drives.update instead */ - update(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - /** Request body */ - resource: TeamDrive; - }): Request; - update(request: { - /** Data format for the response. */ - alt?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ - quotaUser?: string; - /** 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; - /** Deprecated. Please use quotaUser instead. */ - userIp?: string; - }, - body: TeamDrive): Request; - } - - const about: AboutResource; - - const changes: ChangesResource; - - const channels: ChannelsResource; - - const comments: CommentsResource; - - const drives: DrivesResource; - - const files: FilesResource; - - const permissions: PermissionsResource; - - const replies: RepliesResource; - - const revisions: RevisionsResource; - - const teamdrives: TeamdrivesResource; - } -} diff --git a/test/restDocs/snapshots/gapi.client.drive-v3/package.json b/test/restDocs/snapshots/gapi.client.drive-v3/package.json deleted file mode 100644 index 5053cbfc58..0000000000 --- a/test/restDocs/snapshots/gapi.client.drive-v3/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@maxim_mazurok/gapi.client.drive-v3", - "version": "0.0.20220626", - "description": "TypeScript typings for Drive API v3", - "license": "MIT", - "author": { - "email": "maxim@mazurok.com", - "name": "Maxim Mazurok", - "url": "https://maxim.mazurok.com" - }, - "repository": { - "type": "git", - "url": "https://github.com/Maxim-Mazurok/google-api-typings-generator.git" - }, - "types": "index.d.ts", - "dependencies": { - "@types/gapi.client": "*", - "@types/gapi.client.discovery": "*" - } -} diff --git a/test/restDocs/snapshots/gapi.client.drive-v3/readme.md b/test/restDocs/snapshots/gapi.client.drive-v3/readme.md deleted file mode 100644 index 481bf4c5ad..0000000000 --- a/test/restDocs/snapshots/gapi.client.drive-v3/readme.md +++ /dev/null @@ -1,319 +0,0 @@ -# TypeScript typings for Drive API v3 - -Manages files in Drive including uploading, downloading, searching, detecting changes, and updating sharing permissions. -For detailed description please check [documentation](https://developers.google.com/drive/). - -## Installing - -Install typings for Drive API: - -``` -npm install @types/gapi.client.drive-v3 --save-dev -``` - -## Usage - -You need to initialize Google API client in your code: - -```typescript -gapi.load('client', () => { - // now we can use gapi.client - // ... -}); -``` - -Then load api client wrapper: - -```typescript -gapi.client.load('http://localhost:3000/drive.json', () => { - // now we can use: - // gapi.client.drive -}); -``` - -```typescript -// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback-- -gapi.client.load('drive', 'v3', () => { - // now we can use: - // gapi.client.drive -}); -``` - -Don't forget to authenticate your client before sending any request to resources: - -```typescript -// declare client_id registered in Google Developers Console -var client_id = '', - scope = [ - // See, edit, create, and delete all of your Google Drive files - 'https://www.googleapis.com/auth/drive', - - // See, create, and delete its own configuration data in your Google Drive - 'https://www.googleapis.com/auth/drive.appdata', - - // See, edit, create, and delete only the specific Google Drive files you use with this app - 'https://www.googleapis.com/auth/drive.file', - - // View and manage metadata of files in your Google Drive - 'https://www.googleapis.com/auth/drive.metadata', - - // See information about your Google Drive files - 'https://www.googleapis.com/auth/drive.metadata.readonly', - - // View the photos, videos and albums in your Google Photos - 'https://www.googleapis.com/auth/drive.photos.readonly', - - // See and download all your Google Drive files - 'https://www.googleapis.com/auth/drive.readonly', - - // Modify your Google Apps Script scripts' behavior - 'https://www.googleapis.com/auth/drive.scripts', - ], - immediate = true; -// ... - -gapi.auth.authorize( - { client_id: client_id, scope: scope, immediate: immediate }, - authResult => { - if (authResult && !authResult.error) { - /* handle successful authorization */ - } else { - /* handle authorization error */ - } -}); -``` - -After that you can use Drive API resources: - -```typescript - -/* -Gets information about the user, the user's Drive, and system capabilities. -*/ -await gapi.client.drive.about.get({ }); - -/* -Gets the starting pageToken for listing future changes. -*/ -await gapi.client.drive.changes.getStartPageToken({ }); - -/* -Lists the changes for a user or shared drive. -*/ -await gapi.client.drive.changes.list({ pageToken: "pageToken", }); - -/* -Subscribes to changes for a user. -*/ -await gapi.client.drive.changes.watch({ pageToken: "pageToken", }); - -/* -Stop watching resources through this channel -*/ -await gapi.client.drive.channels.stop({ }); - -/* -Creates a new comment on a file. -*/ -await gapi.client.drive.comments.create({ fileId: "fileId", }); - -/* -Deletes a comment. -*/ -await gapi.client.drive.comments.delete({ commentId: "commentId", fileId: "fileId", }); - -/* -Gets a comment by ID. -*/ -await gapi.client.drive.comments.get({ commentId: "commentId", fileId: "fileId", }); - -/* -Lists a file's comments. -*/ -await gapi.client.drive.comments.list({ fileId: "fileId", }); - -/* -Updates a comment with patch semantics. -*/ -await gapi.client.drive.comments.update({ commentId: "commentId", fileId: "fileId", }); - -/* -Creates a new shared drive. -*/ -await gapi.client.drive.drives.create({ requestId: "requestId", }); - -/* -Permanently deletes a shared drive for which the user is an organizer. The shared drive cannot contain any untrashed items. -*/ -await gapi.client.drive.drives.delete({ driveId: "driveId", }); - -/* -Gets a shared drive's metadata by ID. -*/ -await gapi.client.drive.drives.get({ driveId: "driveId", }); - -/* -Hides a shared drive from the default view. -*/ -await gapi.client.drive.drives.hide({ driveId: "driveId", }); - -/* -Lists the user's shared drives. -*/ -await gapi.client.drive.drives.list({ }); - -/* -Restores a shared drive to the default view. -*/ -await gapi.client.drive.drives.unhide({ driveId: "driveId", }); - -/* -Updates the metadate for a shared drive. -*/ -await gapi.client.drive.drives.update({ driveId: "driveId", }); - -/* -Creates a copy of a file and applies any requested updates with patch semantics. Folders cannot be copied. -*/ -await gapi.client.drive.files.copy({ fileId: "fileId", }); - -/* -Creates a new file. -*/ -await gapi.client.drive.files.create({ }); - -/* -Permanently deletes a file owned by the user without moving it to the trash. If the file belongs to a shared 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. -*/ -await gapi.client.drive.files.delete({ fileId: "fileId", }); - -/* -Permanently deletes all of the user's trashed files. -*/ -await gapi.client.drive.files.emptyTrash({ }); - -/* -Exports a Google Workspace document to the requested MIME type and returns exported byte content. Note that the exported content is limited to 10MB. -*/ -await gapi.client.drive.files.export({ fileId: "fileId", mimeType: "mimeType", }); - -/* -Generates a set of file IDs which can be provided in create or copy requests. -*/ -await gapi.client.drive.files.generateIds({ }); - -/* -Gets a file's metadata or content by ID. -*/ -await gapi.client.drive.files.get({ fileId: "fileId", }); - -/* -Lists or searches files. -*/ -await gapi.client.drive.files.list({ }); - -/* -Updates a file's metadata and/or content. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might change automatically, such as modifiedDate. This method supports patch semantics. -*/ -await gapi.client.drive.files.update({ fileId: "fileId", }); - -/* -Subscribes to changes to a file. While you can establish a channel for changes to a file on a shared drive, a change to a shared drive file won't create a notification. -*/ -await gapi.client.drive.files.watch({ fileId: "fileId", }); - -/* -Creates a permission for a file or shared drive. -*/ -await gapi.client.drive.permissions.create({ fileId: "fileId", }); - -/* -Deletes a permission. -*/ -await gapi.client.drive.permissions.delete({ fileId: "fileId", permissionId: "permissionId", }); - -/* -Gets a permission by ID. -*/ -await gapi.client.drive.permissions.get({ fileId: "fileId", permissionId: "permissionId", }); - -/* -Lists a file's or shared drive's permissions. -*/ -await gapi.client.drive.permissions.list({ fileId: "fileId", }); - -/* -Updates a permission with patch semantics. -*/ -await gapi.client.drive.permissions.update({ fileId: "fileId", permissionId: "permissionId", }); - -/* -Creates a new reply to a comment. -*/ -await gapi.client.drive.replies.create({ commentId: "commentId", fileId: "fileId", }); - -/* -Deletes a reply. -*/ -await gapi.client.drive.replies.delete({ commentId: "commentId", fileId: "fileId", replyId: "replyId", }); - -/* -Gets a reply by ID. -*/ -await gapi.client.drive.replies.get({ commentId: "commentId", fileId: "fileId", replyId: "replyId", }); - -/* -Lists a comment's replies. -*/ -await gapi.client.drive.replies.list({ commentId: "commentId", fileId: "fileId", }); - -/* -Updates a reply with patch semantics. -*/ -await gapi.client.drive.replies.update({ commentId: "commentId", fileId: "fileId", replyId: "replyId", }); - -/* -Permanently deletes a file version. You can only delete revisions for files with binary content in Google Drive, like images or videos. Revisions for other files, like Google Docs or Sheets, and the last remaining file version can't be deleted. -*/ -await gapi.client.drive.revisions.delete({ fileId: "fileId", revisionId: "revisionId", }); - -/* -Gets a revision's metadata or content by ID. -*/ -await gapi.client.drive.revisions.get({ fileId: "fileId", revisionId: "revisionId", }); - -/* -Lists a file's revisions. -*/ -await gapi.client.drive.revisions.list({ fileId: "fileId", }); - -/* -Updates a revision with patch semantics. -*/ -await gapi.client.drive.revisions.update({ fileId: "fileId", revisionId: "revisionId", }); - -/* -Deprecated use drives.create instead. -*/ -await gapi.client.drive.teamdrives.create({ requestId: "requestId", }); - -/* -Deprecated use drives.delete instead. -*/ -await gapi.client.drive.teamdrives.delete({ teamDriveId: "teamDriveId", }); - -/* -Deprecated use drives.get instead. -*/ -await gapi.client.drive.teamdrives.get({ teamDriveId: "teamDriveId", }); - -/* -Deprecated use drives.list instead. -*/ -await gapi.client.drive.teamdrives.list({ }); - -/* -Deprecated use drives.update instead -*/ -await gapi.client.drive.teamdrives.update({ teamDriveId: "teamDriveId", }); -``` diff --git a/test/restDocs/snapshots/gapi.client.drive-v3/tests.ts b/test/restDocs/snapshots/gapi.client.drive-v3/tests.ts deleted file mode 100644 index 5e772b57aa..0000000000 --- a/test/restDocs/snapshots/gapi.client.drive-v3/tests.ts +++ /dev/null @@ -1,1479 +0,0 @@ -/* This is stub file for gapi.client.drive-v3 definition tests */ -// IMPORTANT -// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. -// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator - -// Revision: 20220626 - -gapi.load('client', async () => { - /** now we can use gapi.client */ - - await gapi.client.load('http://localhost:3000/drive.json'); - /** now we can use gapi.client.drive */ - - /** don't forget to authenticate your client before sending any request to resources: */ - /** declare client_id registered in Google Developers Console */ - const client_id = '<>'; - const scope = [ - /** See, edit, create, and delete all of your Google Drive files */ - 'https://www.googleapis.com/auth/drive', - /** See, create, and delete its own configuration data in your Google Drive */ - 'https://www.googleapis.com/auth/drive.appdata', - /** See, edit, create, and delete only the specific Google Drive files you use with this app */ - 'https://www.googleapis.com/auth/drive.file', - /** View and manage metadata of files in your Google Drive */ - 'https://www.googleapis.com/auth/drive.metadata', - /** See information about your Google Drive files */ - 'https://www.googleapis.com/auth/drive.metadata.readonly', - /** View the photos, videos and albums in your Google Photos */ - 'https://www.googleapis.com/auth/drive.photos.readonly', - /** See and download all your Google Drive files */ - 'https://www.googleapis.com/auth/drive.readonly', - /** Modify your Google Apps Script scripts' behavior */ - 'https://www.googleapis.com/auth/drive.scripts', - ]; - const immediate = false; - gapi.auth.authorize({ client_id, scope, immediate }, authResult => { - if (authResult && !authResult.error) { - /** handle successful authorization */ - run(); - } else { - /** handle authorization error */ - } - }); - - async function run() { - /** Gets information about the user, the user's Drive, and system capabilities. */ - await gapi.client.drive.about.get(); - /** Gets the starting pageToken for listing future changes. */ - await gapi.client.drive.changes.getStartPageToken({ - driveId: "Test string", - supportsAllDrives: true, - supportsTeamDrives: true, - teamDriveId: "Test string", - }); - /** Lists the changes for a user or shared drive. */ - await gapi.client.drive.changes.list({ - driveId: "Test string", - includeCorpusRemovals: true, - includeItemsFromAllDrives: true, - includePermissionsForView: "Test string", - includeRemoved: true, - includeTeamDriveItems: true, - pageSize: 42, - pageToken: "Test string", - restrictToMyDrive: true, - spaces: "Test string", - supportsAllDrives: true, - supportsTeamDrives: true, - teamDriveId: "Test string", - }); - /** Subscribes to changes for a user. */ - await gapi.client.drive.changes.watch({ - driveId: "Test string", - includeCorpusRemovals: true, - includeItemsFromAllDrives: true, - includePermissionsForView: "Test string", - includeRemoved: true, - includeTeamDriveItems: true, - pageSize: 42, - pageToken: "Test string", - restrictToMyDrive: true, - spaces: "Test string", - supportsAllDrives: true, - supportsTeamDrives: true, - teamDriveId: "Test string", - }, { - address: "Test string", - expiration: "Test string", - id: "Test string", - kind: "Test string", - params: { - A: "Test string" - }, - payload: true, - resourceId: "Test string", - resourceUri: "Test string", - token: "Test string", - type: "Test string", - }); - /** Stop watching resources through this channel */ - await gapi.client.drive.channels.stop({} , { - address: "Test string", - expiration: "Test string", - id: "Test string", - kind: "Test string", - params: { - A: "Test string" - }, - payload: true, - resourceId: "Test string", - resourceUri: "Test string", - token: "Test string", - type: "Test string", - }); - /** Creates a new comment on a file. */ - await gapi.client.drive.comments.create({ - fileId: "Test string", - }, { - anchor: "Test string", - author: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - content: "Test string", - createdTime: "Test string", - deleted: true, - htmlContent: "Test string", - id: "Test string", - kind: "Test string", - modifiedTime: "Test string", - quotedFileContent: { - mimeType: "Test string", - value: "Test string", - }, - replies: [ - { - action: "Test string", - author: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - content: "Test string", - createdTime: "Test string", - deleted: true, - htmlContent: "Test string", - id: "Test string", - kind: "Test string", - modifiedTime: "Test string", - } - ], - resolved: true, - }); - /** Deletes a comment. */ - await gapi.client.drive.comments.delete({ - commentId: "Test string", - fileId: "Test string", - }); - /** Gets a comment by ID. */ - await gapi.client.drive.comments.get({ - commentId: "Test string", - fileId: "Test string", - includeDeleted: true, - }); - /** Lists a file's comments. */ - await gapi.client.drive.comments.list({ - fileId: "Test string", - includeDeleted: true, - pageSize: 42, - pageToken: "Test string", - startModifiedTime: "Test string", - }); - /** Updates a comment with patch semantics. */ - await gapi.client.drive.comments.update({ - commentId: "Test string", - fileId: "Test string", - }, { - anchor: "Test string", - author: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - content: "Test string", - createdTime: "Test string", - deleted: true, - htmlContent: "Test string", - id: "Test string", - kind: "Test string", - modifiedTime: "Test string", - quotedFileContent: { - mimeType: "Test string", - value: "Test string", - }, - replies: [ - { - action: "Test string", - author: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - content: "Test string", - createdTime: "Test string", - deleted: true, - htmlContent: "Test string", - id: "Test string", - kind: "Test string", - modifiedTime: "Test string", - } - ], - resolved: true, - }); - /** Creates a new shared drive. */ - await gapi.client.drive.drives.create({ - requestId: "Test string", - }, { - backgroundImageFile: { - id: "Test string", - width: 42, - xCoordinate: 42, - yCoordinate: 42, - }, - backgroundImageLink: "Test string", - capabilities: { - canAddChildren: true, - canChangeCopyRequiresWriterPermissionRestriction: true, - canChangeDomainUsersOnlyRestriction: true, - canChangeDriveBackground: true, - canChangeDriveMembersOnlyRestriction: true, - canComment: true, - canCopy: true, - canDeleteChildren: true, - canDeleteDrive: true, - canDownload: true, - canEdit: true, - canListChildren: true, - canManageMembers: true, - canReadRevisions: true, - canRename: true, - canRenameDrive: true, - canResetDriveRestrictions: true, - canShare: true, - canTrashChildren: true, - }, - colorRgb: "Test string", - createdTime: "Test string", - hidden: true, - id: "Test string", - kind: "Test string", - name: "Test string", - orgUnitId: "Test string", - restrictions: { - adminManagedRestrictions: true, - copyRequiresWriterPermission: true, - domainUsersOnly: true, - driveMembersOnly: true, - }, - themeId: "Test string", - }); - /** Permanently deletes a shared drive for which the user is an organizer. The shared drive cannot contain any untrashed items. */ - await gapi.client.drive.drives.delete({ - allowItemDeletion: true, - driveId: "Test string", - useDomainAdminAccess: true, - }); - /** Gets a shared drive's metadata by ID. */ - await gapi.client.drive.drives.get({ - driveId: "Test string", - useDomainAdminAccess: true, - }); - /** Hides a shared drive from the default view. */ - await gapi.client.drive.drives.hide({ - driveId: "Test string", - }); - /** Lists the user's shared drives. */ - await gapi.client.drive.drives.list({ - pageSize: 42, - pageToken: "Test string", - q: "Test string", - useDomainAdminAccess: true, - }); - /** Restores a shared drive to the default view. */ - await gapi.client.drive.drives.unhide({ - driveId: "Test string", - }); - /** Updates the metadate for a shared drive. */ - await gapi.client.drive.drives.update({ - driveId: "Test string", - useDomainAdminAccess: true, - }, { - backgroundImageFile: { - id: "Test string", - width: 42, - xCoordinate: 42, - yCoordinate: 42, - }, - backgroundImageLink: "Test string", - capabilities: { - canAddChildren: true, - canChangeCopyRequiresWriterPermissionRestriction: true, - canChangeDomainUsersOnlyRestriction: true, - canChangeDriveBackground: true, - canChangeDriveMembersOnlyRestriction: true, - canComment: true, - canCopy: true, - canDeleteChildren: true, - canDeleteDrive: true, - canDownload: true, - canEdit: true, - canListChildren: true, - canManageMembers: true, - canReadRevisions: true, - canRename: true, - canRenameDrive: true, - canResetDriveRestrictions: true, - canShare: true, - canTrashChildren: true, - }, - colorRgb: "Test string", - createdTime: "Test string", - hidden: true, - id: "Test string", - kind: "Test string", - name: "Test string", - orgUnitId: "Test string", - restrictions: { - adminManagedRestrictions: true, - copyRequiresWriterPermission: true, - domainUsersOnly: true, - driveMembersOnly: true, - }, - themeId: "Test string", - }); - /** Creates a copy of a file and applies any requested updates with patch semantics. Folders cannot be copied. */ - await gapi.client.drive.files.copy({ - enforceSingleParent: true, - fileId: "Test string", - ignoreDefaultVisibility: true, - includePermissionsForView: "Test string", - keepRevisionForever: true, - ocrLanguage: "Test string", - supportsAllDrives: true, - supportsTeamDrives: true, - }, { - appProperties: { - A: "Test string" - }, - capabilities: { - canAcceptOwnership: true, - canAddChildren: true, - canAddFolderFromAnotherDrive: true, - canAddMyDriveParent: true, - canChangeCopyRequiresWriterPermission: true, - canChangeSecurityUpdateEnabled: true, - canChangeViewersCanCopyContent: true, - canComment: true, - canCopy: true, - canDelete: true, - canDeleteChildren: true, - canDownload: true, - canEdit: true, - canListChildren: true, - canModifyContent: true, - canModifyContentRestriction: true, - canMoveChildrenOutOfDrive: true, - canMoveChildrenOutOfTeamDrive: true, - canMoveChildrenWithinDrive: true, - canMoveChildrenWithinTeamDrive: true, - canMoveItemIntoTeamDrive: true, - canMoveItemOutOfDrive: true, - canMoveItemOutOfTeamDrive: true, - canMoveItemWithinDrive: true, - canMoveItemWithinTeamDrive: true, - canMoveTeamDriveItem: true, - canReadDrive: true, - canReadRevisions: true, - canReadTeamDrive: true, - canRemoveChildren: true, - canRemoveMyDriveParent: true, - canRename: true, - canShare: true, - canTrash: true, - canTrashChildren: true, - canUntrash: true, - }, - contentHints: { - indexableText: "Test string", - thumbnail: { - image: "Test string", - mimeType: "Test string", - }, - }, - contentRestrictions: [ - { - readOnly: true, - reason: "Test string", - restrictingUser: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - restrictionTime: "Test string", - type: "Test string", - } - ], - copyRequiresWriterPermission: true, - createdTime: "Test string", - description: "Test string", - driveId: "Test string", - explicitlyTrashed: true, - exportLinks: { - A: "Test string" - }, - fileExtension: "Test string", - folderColorRgb: "Test string", - fullFileExtension: "Test string", - hasAugmentedPermissions: true, - hasThumbnail: true, - headRevisionId: "Test string", - iconLink: "Test string", - id: "Test string", - imageMediaMetadata: { - aperture: 42, - cameraMake: "Test string", - cameraModel: "Test string", - colorSpace: "Test string", - exposureBias: 42, - exposureMode: "Test string", - exposureTime: 42, - flashUsed: true, - focalLength: 42, - height: 42, - isoSpeed: 42, - lens: "Test string", - location: { - altitude: 42, - latitude: 42, - longitude: 42, - }, - maxApertureValue: 42, - meteringMode: "Test string", - rotation: 42, - sensor: "Test string", - subjectDistance: 42, - time: "Test string", - whiteBalance: "Test string", - width: 42, - }, - isAppAuthorized: true, - kind: "Test string", - lastModifyingUser: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - linkShareMetadata: { - securityUpdateEligible: true, - securityUpdateEnabled: true, - }, - md5Checksum: "Test string", - mimeType: "Test string", - modifiedByMe: true, - modifiedByMeTime: "Test string", - modifiedTime: "Test string", - name: "Test string", - originalFilename: "Test string", - ownedByMe: true, - owners: [ - { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - } - ], - parents: [ - "Test string" - ], - permissionIds: [ - "Test string" - ], - permissions: [ - { - allowFileDiscovery: true, - deleted: true, - displayName: "Test string", - domain: "Test string", - emailAddress: "Test string", - expirationTime: "Test string", - id: "Test string", - kind: "Test string", - pendingOwner: true, - permissionDetails: [ - { - inherited: true, - inheritedFrom: "Test string", - permissionType: "Test string", - role: "Test string", - } - ], - photoLink: "Test string", - role: "Test string", - teamDrivePermissionDetails: [ - { - inherited: true, - inheritedFrom: "Test string", - role: "Test string", - teamDrivePermissionType: "Test string", - } - ], - type: "Test string", - view: "Test string", - } - ], - properties: { - A: "Test string" - }, - quotaBytesUsed: "Test string", - resourceKey: "Test string", - shared: true, - sharedWithMeTime: "Test string", - sharingUser: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - shortcutDetails: { - targetId: "Test string", - targetMimeType: "Test string", - targetResourceKey: "Test string", - }, - size: "Test string", - spaces: [ - "Test string" - ], - starred: true, - teamDriveId: "Test string", - thumbnailLink: "Test string", - thumbnailVersion: "Test string", - trashed: true, - trashedTime: "Test string", - trashingUser: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - version: "Test string", - videoMediaMetadata: { - durationMillis: "Test string", - height: 42, - width: 42, - }, - viewedByMe: true, - viewedByMeTime: "Test string", - viewersCanCopyContent: true, - webContentLink: "Test string", - webViewLink: "Test string", - writersCanShare: true, - }); - /** Creates a new file. */ - await gapi.client.drive.files.create({ - enforceSingleParent: true, - ignoreDefaultVisibility: true, - includePermissionsForView: "Test string", - keepRevisionForever: true, - ocrLanguage: "Test string", - supportsAllDrives: true, - supportsTeamDrives: true, - useContentAsIndexableText: true, - }, { - appProperties: { - A: "Test string" - }, - capabilities: { - canAcceptOwnership: true, - canAddChildren: true, - canAddFolderFromAnotherDrive: true, - canAddMyDriveParent: true, - canChangeCopyRequiresWriterPermission: true, - canChangeSecurityUpdateEnabled: true, - canChangeViewersCanCopyContent: true, - canComment: true, - canCopy: true, - canDelete: true, - canDeleteChildren: true, - canDownload: true, - canEdit: true, - canListChildren: true, - canModifyContent: true, - canModifyContentRestriction: true, - canMoveChildrenOutOfDrive: true, - canMoveChildrenOutOfTeamDrive: true, - canMoveChildrenWithinDrive: true, - canMoveChildrenWithinTeamDrive: true, - canMoveItemIntoTeamDrive: true, - canMoveItemOutOfDrive: true, - canMoveItemOutOfTeamDrive: true, - canMoveItemWithinDrive: true, - canMoveItemWithinTeamDrive: true, - canMoveTeamDriveItem: true, - canReadDrive: true, - canReadRevisions: true, - canReadTeamDrive: true, - canRemoveChildren: true, - canRemoveMyDriveParent: true, - canRename: true, - canShare: true, - canTrash: true, - canTrashChildren: true, - canUntrash: true, - }, - contentHints: { - indexableText: "Test string", - thumbnail: { - image: "Test string", - mimeType: "Test string", - }, - }, - contentRestrictions: [ - { - readOnly: true, - reason: "Test string", - restrictingUser: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - restrictionTime: "Test string", - type: "Test string", - } - ], - copyRequiresWriterPermission: true, - createdTime: "Test string", - description: "Test string", - driveId: "Test string", - explicitlyTrashed: true, - exportLinks: { - A: "Test string" - }, - fileExtension: "Test string", - folderColorRgb: "Test string", - fullFileExtension: "Test string", - hasAugmentedPermissions: true, - hasThumbnail: true, - headRevisionId: "Test string", - iconLink: "Test string", - id: "Test string", - imageMediaMetadata: { - aperture: 42, - cameraMake: "Test string", - cameraModel: "Test string", - colorSpace: "Test string", - exposureBias: 42, - exposureMode: "Test string", - exposureTime: 42, - flashUsed: true, - focalLength: 42, - height: 42, - isoSpeed: 42, - lens: "Test string", - location: { - altitude: 42, - latitude: 42, - longitude: 42, - }, - maxApertureValue: 42, - meteringMode: "Test string", - rotation: 42, - sensor: "Test string", - subjectDistance: 42, - time: "Test string", - whiteBalance: "Test string", - width: 42, - }, - isAppAuthorized: true, - kind: "Test string", - lastModifyingUser: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - linkShareMetadata: { - securityUpdateEligible: true, - securityUpdateEnabled: true, - }, - md5Checksum: "Test string", - mimeType: "Test string", - modifiedByMe: true, - modifiedByMeTime: "Test string", - modifiedTime: "Test string", - name: "Test string", - originalFilename: "Test string", - ownedByMe: true, - owners: [ - { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - } - ], - parents: [ - "Test string" - ], - permissionIds: [ - "Test string" - ], - permissions: [ - { - allowFileDiscovery: true, - deleted: true, - displayName: "Test string", - domain: "Test string", - emailAddress: "Test string", - expirationTime: "Test string", - id: "Test string", - kind: "Test string", - pendingOwner: true, - permissionDetails: [ - { - inherited: true, - inheritedFrom: "Test string", - permissionType: "Test string", - role: "Test string", - } - ], - photoLink: "Test string", - role: "Test string", - teamDrivePermissionDetails: [ - { - inherited: true, - inheritedFrom: "Test string", - role: "Test string", - teamDrivePermissionType: "Test string", - } - ], - type: "Test string", - view: "Test string", - } - ], - properties: { - A: "Test string" - }, - quotaBytesUsed: "Test string", - resourceKey: "Test string", - shared: true, - sharedWithMeTime: "Test string", - sharingUser: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - shortcutDetails: { - targetId: "Test string", - targetMimeType: "Test string", - targetResourceKey: "Test string", - }, - size: "Test string", - spaces: [ - "Test string" - ], - starred: true, - teamDriveId: "Test string", - thumbnailLink: "Test string", - thumbnailVersion: "Test string", - trashed: true, - trashedTime: "Test string", - trashingUser: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - version: "Test string", - videoMediaMetadata: { - durationMillis: "Test string", - height: 42, - width: 42, - }, - viewedByMe: true, - viewedByMeTime: "Test string", - viewersCanCopyContent: true, - webContentLink: "Test string", - webViewLink: "Test string", - writersCanShare: true, - }); - /** - * Permanently deletes a file owned by the user without moving it to the trash. If the file belongs to a shared 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. - */ - await gapi.client.drive.files.delete({ - enforceSingleParent: true, - fileId: "Test string", - supportsAllDrives: true, - supportsTeamDrives: true, - }); - /** Permanently deletes all of the user's trashed files. */ - await gapi.client.drive.files.emptyTrash({ - enforceSingleParent: true, - }); - /** Exports a Google Workspace document to the requested MIME type and returns exported byte content. Note that the exported content is limited to 10MB. */ - await gapi.client.drive.files.export({ - fileId: "Test string", - mimeType: "Test string", - }); - /** Generates a set of file IDs which can be provided in create or copy requests. */ - await gapi.client.drive.files.generateIds({ - count: 42, - space: "Test string", - type: "Test string", - }); - /** Gets a file's metadata or content by ID. */ - await gapi.client.drive.files.get({ - acknowledgeAbuse: true, - fileId: "Test string", - includePermissionsForView: "Test string", - supportsAllDrives: true, - supportsTeamDrives: true, - }); - /** Lists or searches files. */ - await gapi.client.drive.files.list({ - corpora: "Test string", - corpus: "Test string", - driveId: "Test string", - includeItemsFromAllDrives: true, - includePermissionsForView: "Test string", - includeTeamDriveItems: true, - orderBy: "Test string", - pageSize: 42, - pageToken: "Test string", - q: "Test string", - spaces: "Test string", - supportsAllDrives: true, - supportsTeamDrives: true, - teamDriveId: "Test string", - }); - /** - * Updates a file's metadata and/or content. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might change - * automatically, such as modifiedDate. This method supports patch semantics. - */ - await gapi.client.drive.files.update({ - addParents: "Test string", - enforceSingleParent: true, - fileId: "Test string", - includePermissionsForView: "Test string", - keepRevisionForever: true, - ocrLanguage: "Test string", - removeParents: "Test string", - supportsAllDrives: true, - supportsTeamDrives: true, - useContentAsIndexableText: true, - }, { - appProperties: { - A: "Test string" - }, - capabilities: { - canAcceptOwnership: true, - canAddChildren: true, - canAddFolderFromAnotherDrive: true, - canAddMyDriveParent: true, - canChangeCopyRequiresWriterPermission: true, - canChangeSecurityUpdateEnabled: true, - canChangeViewersCanCopyContent: true, - canComment: true, - canCopy: true, - canDelete: true, - canDeleteChildren: true, - canDownload: true, - canEdit: true, - canListChildren: true, - canModifyContent: true, - canModifyContentRestriction: true, - canMoveChildrenOutOfDrive: true, - canMoveChildrenOutOfTeamDrive: true, - canMoveChildrenWithinDrive: true, - canMoveChildrenWithinTeamDrive: true, - canMoveItemIntoTeamDrive: true, - canMoveItemOutOfDrive: true, - canMoveItemOutOfTeamDrive: true, - canMoveItemWithinDrive: true, - canMoveItemWithinTeamDrive: true, - canMoveTeamDriveItem: true, - canReadDrive: true, - canReadRevisions: true, - canReadTeamDrive: true, - canRemoveChildren: true, - canRemoveMyDriveParent: true, - canRename: true, - canShare: true, - canTrash: true, - canTrashChildren: true, - canUntrash: true, - }, - contentHints: { - indexableText: "Test string", - thumbnail: { - image: "Test string", - mimeType: "Test string", - }, - }, - contentRestrictions: [ - { - readOnly: true, - reason: "Test string", - restrictingUser: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - restrictionTime: "Test string", - type: "Test string", - } - ], - copyRequiresWriterPermission: true, - createdTime: "Test string", - description: "Test string", - driveId: "Test string", - explicitlyTrashed: true, - exportLinks: { - A: "Test string" - }, - fileExtension: "Test string", - folderColorRgb: "Test string", - fullFileExtension: "Test string", - hasAugmentedPermissions: true, - hasThumbnail: true, - headRevisionId: "Test string", - iconLink: "Test string", - id: "Test string", - imageMediaMetadata: { - aperture: 42, - cameraMake: "Test string", - cameraModel: "Test string", - colorSpace: "Test string", - exposureBias: 42, - exposureMode: "Test string", - exposureTime: 42, - flashUsed: true, - focalLength: 42, - height: 42, - isoSpeed: 42, - lens: "Test string", - location: { - altitude: 42, - latitude: 42, - longitude: 42, - }, - maxApertureValue: 42, - meteringMode: "Test string", - rotation: 42, - sensor: "Test string", - subjectDistance: 42, - time: "Test string", - whiteBalance: "Test string", - width: 42, - }, - isAppAuthorized: true, - kind: "Test string", - lastModifyingUser: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - linkShareMetadata: { - securityUpdateEligible: true, - securityUpdateEnabled: true, - }, - md5Checksum: "Test string", - mimeType: "Test string", - modifiedByMe: true, - modifiedByMeTime: "Test string", - modifiedTime: "Test string", - name: "Test string", - originalFilename: "Test string", - ownedByMe: true, - owners: [ - { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - } - ], - parents: [ - "Test string" - ], - permissionIds: [ - "Test string" - ], - permissions: [ - { - allowFileDiscovery: true, - deleted: true, - displayName: "Test string", - domain: "Test string", - emailAddress: "Test string", - expirationTime: "Test string", - id: "Test string", - kind: "Test string", - pendingOwner: true, - permissionDetails: [ - { - inherited: true, - inheritedFrom: "Test string", - permissionType: "Test string", - role: "Test string", - } - ], - photoLink: "Test string", - role: "Test string", - teamDrivePermissionDetails: [ - { - inherited: true, - inheritedFrom: "Test string", - role: "Test string", - teamDrivePermissionType: "Test string", - } - ], - type: "Test string", - view: "Test string", - } - ], - properties: { - A: "Test string" - }, - quotaBytesUsed: "Test string", - resourceKey: "Test string", - shared: true, - sharedWithMeTime: "Test string", - sharingUser: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - shortcutDetails: { - targetId: "Test string", - targetMimeType: "Test string", - targetResourceKey: "Test string", - }, - size: "Test string", - spaces: [ - "Test string" - ], - starred: true, - teamDriveId: "Test string", - thumbnailLink: "Test string", - thumbnailVersion: "Test string", - trashed: true, - trashedTime: "Test string", - trashingUser: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - version: "Test string", - videoMediaMetadata: { - durationMillis: "Test string", - height: 42, - width: 42, - }, - viewedByMe: true, - viewedByMeTime: "Test string", - viewersCanCopyContent: true, - webContentLink: "Test string", - webViewLink: "Test string", - writersCanShare: true, - }); - /** Subscribes to changes to a file. While you can establish a channel for changes to a file on a shared drive, a change to a shared drive file won't create a notification. */ - await gapi.client.drive.files.watch({ - acknowledgeAbuse: true, - fileId: "Test string", - includePermissionsForView: "Test string", - supportsAllDrives: true, - supportsTeamDrives: true, - }, { - address: "Test string", - expiration: "Test string", - id: "Test string", - kind: "Test string", - params: { - A: "Test string" - }, - payload: true, - resourceId: "Test string", - resourceUri: "Test string", - token: "Test string", - type: "Test string", - }); - /** Creates a permission for a file or shared drive. */ - await gapi.client.drive.permissions.create({ - emailMessage: "Test string", - enforceSingleParent: true, - fileId: "Test string", - moveToNewOwnersRoot: true, - sendNotificationEmail: true, - supportsAllDrives: true, - supportsTeamDrives: true, - transferOwnership: true, - useDomainAdminAccess: true, - }, { - allowFileDiscovery: true, - deleted: true, - displayName: "Test string", - domain: "Test string", - emailAddress: "Test string", - expirationTime: "Test string", - id: "Test string", - kind: "Test string", - pendingOwner: true, - permissionDetails: [ - { - inherited: true, - inheritedFrom: "Test string", - permissionType: "Test string", - role: "Test string", - } - ], - photoLink: "Test string", - role: "Test string", - teamDrivePermissionDetails: [ - { - inherited: true, - inheritedFrom: "Test string", - role: "Test string", - teamDrivePermissionType: "Test string", - } - ], - type: "Test string", - view: "Test string", - }); - /** Deletes a permission. */ - await gapi.client.drive.permissions.delete({ - fileId: "Test string", - permissionId: "Test string", - supportsAllDrives: true, - supportsTeamDrives: true, - useDomainAdminAccess: true, - }); - /** Gets a permission by ID. */ - await gapi.client.drive.permissions.get({ - fileId: "Test string", - permissionId: "Test string", - supportsAllDrives: true, - supportsTeamDrives: true, - useDomainAdminAccess: true, - }); - /** Lists a file's or shared drive's permissions. */ - await gapi.client.drive.permissions.list({ - fileId: "Test string", - includePermissionsForView: "Test string", - pageSize: 42, - pageToken: "Test string", - supportsAllDrives: true, - supportsTeamDrives: true, - useDomainAdminAccess: true, - }); - /** Updates a permission with patch semantics. */ - await gapi.client.drive.permissions.update({ - fileId: "Test string", - permissionId: "Test string", - removeExpiration: true, - supportsAllDrives: true, - supportsTeamDrives: true, - transferOwnership: true, - useDomainAdminAccess: true, - }, { - allowFileDiscovery: true, - deleted: true, - displayName: "Test string", - domain: "Test string", - emailAddress: "Test string", - expirationTime: "Test string", - id: "Test string", - kind: "Test string", - pendingOwner: true, - permissionDetails: [ - { - inherited: true, - inheritedFrom: "Test string", - permissionType: "Test string", - role: "Test string", - } - ], - photoLink: "Test string", - role: "Test string", - teamDrivePermissionDetails: [ - { - inherited: true, - inheritedFrom: "Test string", - role: "Test string", - teamDrivePermissionType: "Test string", - } - ], - type: "Test string", - view: "Test string", - }); - /** Creates a new reply to a comment. */ - await gapi.client.drive.replies.create({ - commentId: "Test string", - fileId: "Test string", - }, { - action: "Test string", - author: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - content: "Test string", - createdTime: "Test string", - deleted: true, - htmlContent: "Test string", - id: "Test string", - kind: "Test string", - modifiedTime: "Test string", - }); - /** Deletes a reply. */ - await gapi.client.drive.replies.delete({ - commentId: "Test string", - fileId: "Test string", - replyId: "Test string", - }); - /** Gets a reply by ID. */ - await gapi.client.drive.replies.get({ - commentId: "Test string", - fileId: "Test string", - includeDeleted: true, - replyId: "Test string", - }); - /** Lists a comment's replies. */ - await gapi.client.drive.replies.list({ - commentId: "Test string", - fileId: "Test string", - includeDeleted: true, - pageSize: 42, - pageToken: "Test string", - }); - /** Updates a reply with patch semantics. */ - await gapi.client.drive.replies.update({ - commentId: "Test string", - fileId: "Test string", - replyId: "Test string", - }, { - action: "Test string", - author: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - content: "Test string", - createdTime: "Test string", - deleted: true, - htmlContent: "Test string", - id: "Test string", - kind: "Test string", - modifiedTime: "Test string", - }); - /** - * Permanently deletes a file version. You can only delete revisions for files with binary content in Google Drive, like images or videos. Revisions for other files, like Google Docs or - * Sheets, and the last remaining file version can't be deleted. - */ - await gapi.client.drive.revisions.delete({ - fileId: "Test string", - revisionId: "Test string", - }); - /** Gets a revision's metadata or content by ID. */ - await gapi.client.drive.revisions.get({ - acknowledgeAbuse: true, - fileId: "Test string", - revisionId: "Test string", - }); - /** Lists a file's revisions. */ - await gapi.client.drive.revisions.list({ - fileId: "Test string", - pageSize: 42, - pageToken: "Test string", - }); - /** Updates a revision with patch semantics. */ - await gapi.client.drive.revisions.update({ - fileId: "Test string", - revisionId: "Test string", - }, { - exportLinks: { - A: "Test string" - }, - id: "Test string", - keepForever: true, - kind: "Test string", - lastModifyingUser: { - displayName: "Test string", - emailAddress: "Test string", - kind: "Test string", - me: true, - permissionId: "Test string", - photoLink: "Test string", - }, - md5Checksum: "Test string", - mimeType: "Test string", - modifiedTime: "Test string", - originalFilename: "Test string", - publishAuto: true, - published: true, - publishedLink: "Test string", - publishedOutsideDomain: true, - size: "Test string", - }); - /** Deprecated use drives.create instead. */ - await gapi.client.drive.teamdrives.create({ - requestId: "Test string", - }, { - backgroundImageFile: { - id: "Test string", - width: 42, - xCoordinate: 42, - yCoordinate: 42, - }, - backgroundImageLink: "Test string", - capabilities: { - canAddChildren: true, - canChangeCopyRequiresWriterPermissionRestriction: true, - canChangeDomainUsersOnlyRestriction: true, - canChangeTeamDriveBackground: true, - canChangeTeamMembersOnlyRestriction: true, - canComment: true, - canCopy: true, - canDeleteChildren: true, - canDeleteTeamDrive: true, - canDownload: true, - canEdit: true, - canListChildren: true, - canManageMembers: true, - canReadRevisions: true, - canRemoveChildren: true, - canRename: true, - canRenameTeamDrive: true, - canResetTeamDriveRestrictions: true, - canShare: true, - canTrashChildren: true, - }, - colorRgb: "Test string", - createdTime: "Test string", - id: "Test string", - kind: "Test string", - name: "Test string", - orgUnitId: "Test string", - restrictions: { - adminManagedRestrictions: true, - copyRequiresWriterPermission: true, - domainUsersOnly: true, - teamMembersOnly: true, - }, - themeId: "Test string", - }); - /** Deprecated use drives.delete instead. */ - await gapi.client.drive.teamdrives.delete({ - teamDriveId: "Test string", - }); - /** Deprecated use drives.get instead. */ - await gapi.client.drive.teamdrives.get({ - teamDriveId: "Test string", - useDomainAdminAccess: true, - }); - /** Deprecated use drives.list instead. */ - await gapi.client.drive.teamdrives.list({ - pageSize: 42, - pageToken: "Test string", - q: "Test string", - useDomainAdminAccess: true, - }); - /** Deprecated use drives.update instead */ - await gapi.client.drive.teamdrives.update({ - teamDriveId: "Test string", - useDomainAdminAccess: true, - }, { - backgroundImageFile: { - id: "Test string", - width: 42, - xCoordinate: 42, - yCoordinate: 42, - }, - backgroundImageLink: "Test string", - capabilities: { - canAddChildren: true, - canChangeCopyRequiresWriterPermissionRestriction: true, - canChangeDomainUsersOnlyRestriction: true, - canChangeTeamDriveBackground: true, - canChangeTeamMembersOnlyRestriction: true, - canComment: true, - canCopy: true, - canDeleteChildren: true, - canDeleteTeamDrive: true, - canDownload: true, - canEdit: true, - canListChildren: true, - canManageMembers: true, - canReadRevisions: true, - canRemoveChildren: true, - canRename: true, - canRenameTeamDrive: true, - canResetTeamDriveRestrictions: true, - canShare: true, - canTrashChildren: true, - }, - colorRgb: "Test string", - createdTime: "Test string", - id: "Test string", - kind: "Test string", - name: "Test string", - orgUnitId: "Test string", - restrictions: { - adminManagedRestrictions: true, - copyRequiresWriterPermission: true, - domainUsersOnly: true, - teamMembersOnly: true, - }, - themeId: "Test string", - }); - } -}); diff --git a/test/restDocs/snapshots/gapi.client.drive-v3/tsconfig.json b/test/restDocs/snapshots/gapi.client.drive-v3/tsconfig.json deleted file mode 100644 index d5540261de..0000000000 --- a/test/restDocs/snapshots/gapi.client.drive-v3/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": ["es6", "dom"], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "baseUrl": "../", - "typeRoots": [ - "../" - ], - "types": [], - "noEmit": true, - "forceConsistentCasingInFileNames": true, - "strictFunctionTypes": true - }, - "files": ["index.d.ts", "tests.ts"] -} diff --git a/test/restDocs/snapshots/gapi.client.drive-v3/tslint.json b/test/restDocs/snapshots/gapi.client.drive-v3/tslint.json deleted file mode 100644 index 1598764131..0000000000 --- a/test/restDocs/snapshots/gapi.client.drive-v3/tslint.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "dtslint/dtslint.json", - "rules": { - "no-redundant-jsdoc": false - } -} diff --git a/test/restDocs/snapshots/gapi.client.sheets-v4/.npmrc b/test/restDocs/snapshots/gapi.client.sheets-v4/.npmrc deleted file mode 100644 index 0063b50cfd..0000000000 --- a/test/restDocs/snapshots/gapi.client.sheets-v4/.npmrc +++ /dev/null @@ -1 +0,0 @@ -//registry.npmjs.org/:_authToken=${NPM_PUBLISH_AUTOMATION_TOKEN} diff --git a/test/restDocs/snapshots/gapi.client.sheets-v4/index.d.ts b/test/restDocs/snapshots/gapi.client.sheets-v4/index.d.ts deleted file mode 100644 index a5767b85aa..0000000000 --- a/test/restDocs/snapshots/gapi.client.sheets-v4/index.d.ts +++ /dev/null @@ -1,3720 +0,0 @@ -/* Type definitions for non-npm package Google Sheets API v4 0.0 */ -// Project: https://developers.google.com/sheets/ -// Definitions by: Maxim Mazurok -// Nick Amoscato -// Declan Vong -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -// IMPORTANT -// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. -// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator -// Generated from: http://localhost:3000/sheets.json -// Revision: 20220620 - -/// - -declare namespace gapi.client { - /** Load Google Sheets API v4 */ - function load(urlOrObject: "http://localhost:3000/sheets.json"): Promise; - /** @deprecated Please load APIs with discovery documents. */ - function load(name: "sheets", version: "v4"): Promise; - /** @deprecated Please load APIs with discovery documents. */ - function load(name: "sheets", version: "v4", callback: () => any): void; - - namespace sheets { - interface 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?: BandedRange; - } - interface AddBandingResponse { - /** The banded range that was added. */ - bandedRange?: BandedRange; - } - interface 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 an embedded object that already exists.) - */ - chart?: EmbeddedChart; - } - interface AddChartResponse { - /** The newly added chart. */ - chart?: EmbeddedChart; - } - interface AddConditionalFormatRuleRequest { - /** The zero-based index where the rule should be inserted. */ - index?: number; - /** The rule to add. */ - rule?: ConditionalFormatRule; - } - interface AddDataSourceRequest { - /** The data source to add. */ - dataSource?: DataSource; - } - interface AddDataSourceResponse { - /** The data execution status. */ - dataExecutionStatus?: DataExecutionStatus; - /** The data source that was created. */ - dataSource?: DataSource; - } - interface AddDimensionGroupRequest { - /** The range over which to create a group. */ - range?: DimensionRange; - } - interface AddDimensionGroupResponse { - /** All groups of a dimension after adding a group to that dimension. */ - dimensionGroups?: DimensionGroup[]; - } - interface 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?: FilterView; - } - interface AddFilterViewResponse { - /** The newly added filter view. */ - filter?: FilterView; - } - interface 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?: NamedRange; - } - interface AddNamedRangeResponse { - /** The named range to add. */ - namedRange?: NamedRange; - } - interface 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?: ProtectedRange; - } - interface AddProtectedRangeResponse { - /** The newly added protected range. */ - protectedRange?: ProtectedRange; - } - interface 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?: SheetProperties; - } - interface AddSheetResponse { - /** The properties of the newly added sheet. */ - properties?: SheetProperties; - } - interface AddSlicerRequest { - /** - * The slicer that should be added to the spreadsheet, including the position where it should be placed. The slicerId field is optional; if one is not set, an id will be randomly - * generated. (It is an error to specify the ID of a slicer that already exists.) - */ - slicer?: Slicer; - } - interface AddSlicerResponse { - /** The newly added slicer. */ - slicer?: Slicer; - } - interface 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?: RowData[]; - /** The sheet ID to append the data to. */ - sheetId?: number; - } - interface 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; - } - interface 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?: UpdateValuesResponse; - } - interface 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?: GridRange; - /** The source and destination areas to autofill. This explicitly lists the source of the autofill and where to extend that data. */ - sourceAndDestination?: SourceAndDestination; - /** True if we should generate data with the "alternate" series. This differs based on the type and amount of source data. */ - useAlternateSeries?: boolean; - } - interface AutoResizeDimensionsRequest { - /** The dimensions on a data source sheet to automatically resize. */ - dataSourceSheetDimensions?: DataSourceSheetDimensionRange; - /** The dimensions to automatically resize. */ - dimensions?: DimensionRange; - } - interface 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?: BandingProperties; - /** The range over which these properties are applied. */ - range?: 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?: BandingProperties; - } - interface BandingProperties { - /** The first color that is alternating. (Required) Deprecated: Use first_band_color_style. */ - firstBandColor?: Color; - /** The first color that is alternating. (Required) If first_band_color is also set, this field takes precedence. */ - firstBandColorStyle?: ColorStyle; - /** - * The color of the last row or column. If this field is not set, the last row or column is filled with either first_band_color or second_band_color, depending on the color of the - * previous row or column. Deprecated: Use footer_color_style. - */ - footerColor?: Color; - /** - * The color of the last row or column. If this field is not set, the last row or column is filled with either first_band_color or second_band_color, depending on the color of the - * previous row or column. If footer_color is also set, this field takes precedence. - */ - footerColorStyle?: ColorStyle; - /** - * The color of the first row or column. If this field is set, the first row or column is filled with this color and the colors alternate between first_band_color and second_band_color - * starting from the second row or column. Otherwise, the first row or column is filled with first_band_color and the colors proceed to alternate as they normally would. Deprecated: - * Use header_color_style. - */ - headerColor?: Color; - /** - * The color of the first row or column. If this field is set, the first row or column is filled with this color and the colors alternate between first_band_color and second_band_color - * starting from the second row or column. Otherwise, the first row or column is filled with first_band_color and the colors proceed to alternate as they normally would. If - * header_color is also set, this field takes precedence. - */ - headerColorStyle?: ColorStyle; - /** The second color that is alternating. (Required) Deprecated: Use second_band_color_style. */ - secondBandColor?: Color; - /** The second color that is alternating. (Required) If second_band_color is also set, this field takes precedence. */ - secondBandColorStyle?: ColorStyle; - } - interface BaselineValueFormat { - /** The comparison type of key value with baseline value. */ - comparisonType?: string; - /** Description which is appended after the baseline value. This field is optional. */ - description?: string; - /** Color to be used, in case baseline value represents a negative change for key value. This field is optional. Deprecated: Use negative_color_style. */ - negativeColor?: Color; - /** Color to be used, in case baseline value represents a negative change for key value. This field is optional. If negative_color is also set, this field takes precedence. */ - negativeColorStyle?: ColorStyle; - /** Specifies the horizontal text positioning of baseline value. This field is optional. If not specified, default positioning is used. */ - position?: TextPosition; - /** Color to be used, in case baseline value represents a positive change for key value. This field is optional. Deprecated: Use positive_color_style. */ - positiveColor?: Color; - /** Color to be used, in case baseline value represents a positive change for key value. This field is optional. If positive_color is also set, this field takes precedence. */ - positiveColorStyle?: ColorStyle; - /** Text formatting options for baseline value. The link field is not supported. */ - textFormat?: TextFormat; - } - interface BasicChartAxis { - /** The format of the title. Only valid if the axis is not associated with the domain. The link field is not supported. */ - format?: 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?: TextPosition; - /** The view window options for this axis. */ - viewWindowOptions?: ChartAxisViewWindowOptions; - } - interface BasicChartDomain { - /** The data of the domain. For example, if charting stock prices over time, this is the data representing the dates. */ - domain?: ChartData; - /** True to reverse the order of the domain values (horizontal axis). */ - reversed?: boolean; - } - interface BasicChartSeries { - /** The color for elements (such as bars, lines, and points) associated with this series. If empty, a default color is used. Deprecated: Use color_style. */ - color?: Color; - /** The color for elements (such as bars, lines, and points) associated with this series. If empty, a default color is used. If color is also set, this field takes precedence. */ - colorStyle?: ColorStyle; - /** Information about the data labels for this series. */ - dataLabel?: DataLabel; - /** 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?: LineStyle; - /** - * The style for points associated with this series. Valid only if the chartType is AREA, LINE, or SCATTER. COMBO charts are also supported if the series chart type is AREA, LINE, or - * SCATTER. If empty, a default point style is used. - */ - pointStyle?: PointStyle; - /** The data being visualized in this chart series. */ - series?: ChartData; - /** Style override settings for series data points. */ - styleOverrides?: BasicSeriesDataPointStyleOverride[]; - /** - * 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; - } - interface BasicChartSpec { - /** The axis on the chart. */ - axis?: 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?: 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?: 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; - /** - * Controls whether to display additional data labels on stacked charts which sum the total value of all stacked values at each value along the domain axis. These data labels can only - * be set when chart_type is one of AREA, BAR, COLUMN, COMBO or STEPPED_AREA and stacked_type is either STACKED or PERCENT_STACKED. In addition, for COMBO, this will only be supported - * if there is only one type of stackable series type or one type has more series than the others and each of the other types have no more than one series. For example, if a chart has - * two stacked bar series and one area series, the total data labels will be supported. If it has three bar series and two area series, total data labels are not allowed. Neither - * CUSTOM nor placement can be set on the total_data_label. - */ - totalDataLabel?: DataLabel; - } - interface 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. This field is deprecated in favor of - * filter_specs. - */ - criteria?: { [P in string]: FilterCriteria }; - /** The filter criteria per column. Both criteria and filter_specs are populated in responses. If both fields are specified in an update request, this field takes precedence. */ - filterSpecs?: FilterSpec[]; - /** The range the filter covers. */ - range?: GridRange; - /** The sort order per column. Later specifications are used when values are equal in the earlier specifications. */ - sortSpecs?: SortSpec[]; - } - interface BasicSeriesDataPointStyleOverride { - /** Color of the series data point. If empty, the series default is used. Deprecated: Use color_style. */ - color?: Color; - /** Color of the series data point. If empty, the series default is used. If color is also set, this field takes precedence. */ - colorStyle?: ColorStyle; - /** Zero based index of the series data point. */ - index?: number; - /** - * Point style of the series data point. Valid only if the chartType is AREA, LINE, or SCATTER. COMBO charts are also supported if the series chart type is AREA, LINE, or SCATTER. If - * empty, the series default is used. - */ - pointStyle?: PointStyle; - } - interface BatchClearValuesByDataFilterRequest { - /** The DataFilters used to determine which ranges to clear. */ - dataFilters?: DataFilter[]; - } - interface BatchClearValuesByDataFilterResponse { - /** - * The ranges that were cleared, in [A1 notation](/sheets/api/guides/concepts#cell). If the requests are for an unbounded range or a ranger larger than the bounds of the sheet, this is - * the actual ranges that were cleared, bounded to the sheet's limits. - */ - clearedRanges?: string[]; - /** The spreadsheet the updates were applied to. */ - spreadsheetId?: string; - } - interface BatchClearValuesRequest { - /** The ranges to clear, in [A1 notation or R1C1 notation](/sheets/api/guides/concepts#cell). */ - ranges?: string[]; - } - interface BatchClearValuesResponse { - /** - * The ranges that were cleared, in A1 notation. If the requests are for an unbounded range or a ranger larger than the bounds of the sheet, this is the actual ranges that were - * cleared, bounded to the sheet's limits. - */ - clearedRanges?: string[]; - /** The spreadsheet the updates were applied to. */ - spreadsheetId?: string; - } - interface BatchGetValuesByDataFilterRequest { - /** The data filters used to match the ranges of values to retrieve. Ranges that match any of the specified data filters are included in the response. */ - dataFilters?: 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 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` - * returns `[[1,2],[3,4]]`, whereas a request that sets `majorDimension=COLUMNS` returns `[[1,3],[2,4]]`. - */ - majorDimension?: string; - /** How values should be represented in the output. The default render option is FORMATTED_VALUE. */ - valueRenderOption?: string; - } - interface 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?: MatchedValueRange[]; - } - interface 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?: ValueRange[]; - } - interface 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?: Request[]; - /** True if grid data should be returned. Meaningful only 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_in_response is 'true'. */ - responseRanges?: string[]; - } - interface BatchUpdateSpreadsheetResponse { - /** The reply of the updates. This maps 1:1 with the updates, although replies to some requests may be empty. */ - replies?: 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?: Spreadsheet; - } - interface BatchUpdateValuesByDataFilterRequest { - /** The new values to apply to the spreadsheet. If more than one range is matched by the specified DataFilter the specified values are applied to all of those ranges. */ - data?: 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 contains the updated values. If the range to write was larger than the range actually written, the response includes 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 SERIAL_NUMBER. - */ - responseDateTimeRenderOption?: string; - /** Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. */ - responseValueRenderOption?: string; - /** How the input data should be interpreted. */ - valueInputOption?: string; - } - interface BatchUpdateValuesByDataFilterResponse { - /** The response for each range updated. */ - responses?: 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; - } - interface BatchUpdateValuesRequest { - /** The new values to apply to the spreadsheet. */ - data?: 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 contains the updated values. If the range to write was larger than the range actually written, the response includes 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 SERIAL_NUMBER. - */ - responseDateTimeRenderOption?: string; - /** Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. */ - responseValueRenderOption?: string; - /** How the input data should be interpreted. */ - valueInputOption?: string; - } - interface BatchUpdateValuesResponse { - /** One UpdateValuesResponse per requested range, in the same order as the requests appeared. */ - responses?: 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; - } - interface BigQueryDataSourceSpec { - /** The ID of a BigQuery enabled GCP project with a billing account attached. For any queries executed against the data source, the project is charged. */ - projectId?: string; - /** A BigQueryQuerySpec. */ - querySpec?: BigQueryQuerySpec; - /** A BigQueryTableSpec. */ - tableSpec?: BigQueryTableSpec; - } - interface BigQueryQuerySpec { - /** The raw query string. */ - rawQuery?: string; - } - interface BigQueryTableSpec { - /** The BigQuery dataset id. */ - datasetId?: string; - /** The BigQuery table id. */ - tableId?: string; - /** The ID of a BigQuery project the table belongs to. If not specified, the project_id is assumed. */ - tableProjectId?: string; - } - interface 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?: ConditionValue[]; - } - interface BooleanRule { - /** The condition of the rule. If the condition evaluates to true, the format is applied. */ - condition?: BooleanCondition; - /** The format to apply. Conditional formatting can only apply a subset of formatting: bold, italic, strikethrough, foreground color & background color. */ - format?: CellFormat; - } - interface Border { - /** The color of the border. Deprecated: Use color_style. */ - color?: Color; - /** The color of the border. If color is also set, this field takes precedence. */ - colorStyle?: ColorStyle; - /** 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; - } - interface Borders { - /** The bottom border of the cell. */ - bottom?: Border; - /** The left border of the cell. */ - left?: Border; - /** The right border of the cell. */ - right?: Border; - /** The top border of the cell. */ - top?: Border; - } - interface BubbleChartSpec { - /** The bubble border color. Deprecated: Use bubble_border_color_style. */ - bubbleBorderColor?: Color; - /** The bubble border color. If bubble_border_color is also set, this field takes precedence. */ - bubbleBorderColorStyle?: ColorStyle; - /** The data containing the bubble labels. These do not need to be unique. */ - bubbleLabels?: 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 containing 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?: ChartData; - /** The format of the text inside the bubbles. Strikethrough, underline, and link are not supported. */ - bubbleTextStyle?: TextFormat; - /** The data containing the bubble x-values. These values locate the bubbles in the chart horizontally. */ - domain?: 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?: ChartData; - /** Where the legend of the chart should be drawn. */ - legendPosition?: string; - /** The data containing the bubble y-values. These values locate the bubbles in the chart vertically. */ - series?: ChartData; - } - interface CandlestickChartSpec { - /** The Candlestick chart data. Only one CandlestickData is supported. */ - data?: 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?: CandlestickDomain; - } - interface 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?: 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?: 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?: 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?: CandlestickSeries; - } - interface CandlestickDomain { - /** The data of the CandlestickDomain. */ - data?: ChartData; - /** True to reverse the order of the domain values (horizontal axis). */ - reversed?: boolean; - } - interface CandlestickSeries { - /** The data of the CandlestickSeries. */ - data?: ChartData; - } - interface CellData { - /** - * Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g. - * `=SUM(DataSheet!Column)`. - */ - dataSourceFormula?: DataSourceFormula; - /** - * A data source table anchored at this cell. The size of data source table itself is computed dynamically based on its configuration. Only the first cell of the data source table - * contains the data source table definition. The other cells will contain the display values of the data source table result in their effective_value fields. - */ - dataSourceTable?: DataSourceTable; - /** A data validation rule on the cell, if any. When writing, the new data validation rule will overwrite any prior rule. */ - dataValidation?: 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?: 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?: 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. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the - * userEnteredValue.formulaValue field. A cell-level link can also be set from the userEnteredFormat.textFormat field. Alternatively, set a hyperlink in the textFormatRun.format.link - * field that spans the entire cell. - */ - 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?: PivotTable; - /** - * Runs of rich text applied to subsections of the cell. Runs are only valid on user entered strings, not formulas, bools, or numbers. Properties of a run start at a specific index in - * the text and continue until the next run. Runs will inherit 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?: TextFormatRun[]; - /** The format the user entered for the cell. When writing, the new format will be merged with the existing format. */ - userEnteredFormat?: 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?: ExtendedValue; - } - interface CellFormat { - /** The background color of the cell. Deprecated: Use background_color_style. */ - backgroundColor?: Color; - /** The background color of the cell. If background_color is also set, this field takes precedence. */ - backgroundColorStyle?: ColorStyle; - /** The borders of the cell. */ - borders?: Borders; - /** The horizontal alignment of the value in the cell. */ - horizontalAlignment?: string; - /** If one exists, how a hyperlink should be displayed in the cell. */ - hyperlinkDisplayType?: string; - /** A format describing how number values should be represented to the user. */ - numberFormat?: NumberFormat; - /** The padding of the cell. */ - padding?: 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). Setting a cell-level link here clears the cell's existing links. Setting the link field in a TextFormatRun - * takes precedence over the cell-level link. - */ - textFormat?: TextFormat; - /** The rotation applied to text in the cell. */ - textRotation?: TextRotation; - /** The vertical alignment of the value in the cell. */ - verticalAlignment?: string; - /** The wrap strategy for the value in the cell. */ - wrapStrategy?: string; - } - interface ChartAxisViewWindowOptions { - /** The maximum numeric value to be shown in this view window. If unset, will automatically determine a maximum value that looks good for the data. */ - viewWindowMax?: number; - /** The minimum numeric value to be shown in this view window. If unset, will automatically determine a minimum value that looks good for the data. */ - viewWindowMin?: number; - /** The view window's mode. */ - viewWindowMode?: string; - } - interface ChartCustomNumberFormatOptions { - /** Custom prefix to be prepended to the chart attribute. This field is optional. */ - prefix?: string; - /** Custom suffix to be appended to the chart attribute. This field is optional. */ - suffix?: string; - } - interface ChartData { - /** The aggregation type for the series of a data source chart. Only supported for data source charts. */ - aggregateType?: string; - /** The reference to the data source column that the data reads from. */ - columnReference?: DataSourceColumnReference; - /** The rule to group the data by if the ChartData backs the domain of a data source chart. Only supported for data source charts. */ - groupRule?: ChartGroupRule; - /** The source ranges of the data. */ - sourceRange?: ChartSourceRange; - } - interface ChartDateTimeRule { - /** The type of date-time grouping to apply. */ - type?: string; - } - interface ChartGroupRule { - /** A ChartDateTimeRule. */ - dateTimeRule?: ChartDateTimeRule; - /** A ChartHistogramRule */ - histogramRule?: ChartHistogramRule; - } - interface ChartHistogramRule { - /** The size of the buckets that are created. Must be positive. */ - intervalSize?: number; - /** The maximum value at which items are placed into buckets. Values greater than the maximum are grouped into a single bucket. If omitted, it is determined by the maximum item value. */ - maxValue?: number; - /** - * The minimum value at which items are placed into buckets. Values that are less than the minimum are grouped into a single bucket. If omitted, it is determined by the minimum item - * value. - */ - minValue?: number; - } - interface 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?: GridRange[]; - } - interface 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. Deprecated: Use background_color_style. */ - backgroundColor?: Color; - /** The background color of the entire chart. Not applicable to Org charts. If background_color is also set, this field takes precedence. */ - backgroundColorStyle?: ColorStyle; - /** A basic chart specification, can be one of many kinds of charts. See BasicChartType for the list of all charts this supports. */ - basicChart?: BasicChartSpec; - /** A bubble chart specification. */ - bubbleChart?: BubbleChartSpec; - /** A candlestick chart specification. */ - candlestickChart?: CandlestickChartSpec; - /** If present, the field contains data source chart specific properties. */ - dataSourceChartProperties?: DataSourceChartProperties; - /** The filters applied to the source data of the chart. Only supported for data source charts. */ - filterSpecs?: FilterSpec[]; - /** 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?: 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?: OrgChartSpec; - /** A pie chart specification. */ - pieChart?: PieChartSpec; - /** A scorecard chart specification. */ - scorecardChart?: ScorecardChartSpec; - /** The order to sort the chart data by. Only a single sort spec is supported. Only supported for data source charts. */ - sortSpecs?: SortSpec[]; - /** The subtitle of the chart. */ - subtitle?: string; - /** The subtitle text format. Strikethrough, underline, and link are not supported. */ - subtitleTextFormat?: TextFormat; - /** The subtitle text position. This field is optional. */ - subtitleTextPosition?: TextPosition; - /** The title of the chart. */ - title?: string; - /** The title text format. Strikethrough, underline, and link are not supported. */ - titleTextFormat?: TextFormat; - /** The title text position. This field is optional. */ - titleTextPosition?: TextPosition; - /** A treemap chart specification. */ - treemapChart?: TreemapChartSpec; - /** A waterfall chart specification. */ - waterfallChart?: WaterfallChartSpec; - } - interface ClearBasicFilterRequest { - /** The sheet ID on which the basic filter should be cleared. */ - sheetId?: number; - } - // tslint:disable-next-line:no-empty-interface - interface ClearValuesRequest { - } - interface 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; - } - interface 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 rendered as a solid color - * (as if the alpha value had been explicitly given 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; - } - interface ColorStyle { - /** - * RGB color. The [`alpha`](/sheets/api/reference/rest/v4/spreadsheets/other#Color.FIELDS.alpha) value in the [`Color`](/sheets/api/reference/rest/v4/spreadsheets/other#color) object - * isn't generally supported. - */ - rgbColor?: Color; - /** Theme color. */ - themeColor?: string; - } - interface ConditionalFormatRule { - /** The formatting is either "on" or "off" according to the rule. */ - booleanRule?: BooleanRule; - /** The formatting will vary based on the gradients in the rule. */ - gradientRule?: GradientRule; - /** The ranges that are formatted if the condition is true. All the ranges must be on the same grid. */ - ranges?: GridRange[]; - } - interface 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; - } - interface 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?: 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?: GridRange; - } - interface CopySheetToAnotherSpreadsheetRequest { - /** The ID of the spreadsheet to copy the sheet to. */ - destinationSpreadsheetId?: string; - } - interface CreateDeveloperMetadataRequest { - /** The developer metadata to create. */ - developerMetadata?: DeveloperMetadata; - } - interface CreateDeveloperMetadataResponse { - /** The developer metadata that was created. */ - developerMetadata?: DeveloperMetadata; - } - interface CutPasteRequest { - /** The top-left coordinate where the data should be pasted. */ - destination?: 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?: GridRange; - } - interface DataExecutionStatus { - /** The error code. */ - errorCode?: string; - /** The error message, which may be empty. */ - errorMessage?: string; - /** Gets the time the data last successfully refreshed. */ - lastRefreshTime?: string; - /** The state of the data execution. */ - state?: string; - } - interface 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?: DeveloperMetadataLookup; - /** Selects data that matches the range described by the GridRange. */ - gridRange?: GridRange; - } - interface DataFilterValueRange { - /** The data filter describing the location of the values in the spreadsheet. */ - dataFilter?: 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 fails. If the provided values are less than the matched ranges - * only the specified values are written, existing values in the matched ranges remain unaffected. - */ - values?: any[][]; - } - interface DataLabel { - /** - * Data to use for custom labels. Only used if type is set to CUSTOM. This data must be the same length as the series or other element this data label is applied to. In addition, if - * the series is split into multiple source ranges, this source data must come from the next column in the source data. For example, if the series is B2:B4,E6:E8 then this data must - * come from C2:C4,F6:F8. - */ - customLabelData?: ChartData; - /** The placement of the data label relative to the labeled data. */ - placement?: string; - /** The text format used for the data label. The link field is not supported. */ - textFormat?: TextFormat; - /** The type of the data label. */ - type?: string; - } - interface DataSource { - /** All calculated columns in the data source. */ - calculatedColumns?: DataSourceColumn[]; - /** The spreadsheet-scoped unique ID that identifies the data source. Example: 1080547365. */ - dataSourceId?: string; - /** - * The ID of the Sheet connected with the data source. The field cannot be changed once set. When creating a data source, an associated DATA_SOURCE sheet is also created, if the field - * is not specified, the ID of the created sheet will be randomly generated. - */ - sheetId?: number; - /** The DataSourceSpec for the data source connected with this spreadsheet. */ - spec?: DataSourceSpec; - } - interface DataSourceChartProperties { - /** Output only. The data execution status. */ - dataExecutionStatus?: DataExecutionStatus; - /** ID of the data source that the chart is associated with. */ - dataSourceId?: string; - } - interface DataSourceColumn { - /** The formula of the calculated column. */ - formula?: string; - /** The column reference. */ - reference?: DataSourceColumnReference; - } - interface DataSourceColumnReference { - /** The display name of the column. It should be unique within a data source. */ - name?: string; - } - interface DataSourceFormula { - /** Output only. The data execution status. */ - dataExecutionStatus?: DataExecutionStatus; - /** The ID of the data source the formula is associated with. */ - dataSourceId?: string; - } - interface DataSourceObjectReference { - /** References to a data source chart. */ - chartId?: number; - /** References to a cell containing DataSourceFormula. */ - dataSourceFormulaCell?: GridCoordinate; - /** References to a data source PivotTable anchored at the cell. */ - dataSourcePivotTableAnchorCell?: GridCoordinate; - /** References to a DataSourceTable anchored at the cell. */ - dataSourceTableAnchorCell?: GridCoordinate; - /** References to a DATA_SOURCE sheet. */ - sheetId?: string; - } - interface DataSourceObjectReferences { - /** The references. */ - references?: DataSourceObjectReference[]; - } - interface DataSourceParameter { - /** - * Named parameter. Must be a legitimate identifier for the DataSource that supports it. For example, [BigQuery - * identifier](https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical#identifiers). - */ - name?: string; - /** ID of a NamedRange. Its size must be 1x1. */ - namedRangeId?: string; - /** A range that contains the value of the parameter. Its size must be 1x1. */ - range?: GridRange; - } - interface DataSourceRefreshDailySchedule { - /** The start time of a time interval in which a data source refresh is scheduled. Only `hours` part is used. The time interval size defaults to that in the Sheets editor. */ - startTime?: TimeOfDay; - } - interface DataSourceRefreshMonthlySchedule { - /** Days of the month to refresh. Only 1-28 are supported, mapping to the 1st to the 28th day. At lesat one day must be specified. */ - daysOfMonth?: number[]; - /** The start time of a time interval in which a data source refresh is scheduled. Only `hours` part is used. The time interval size defaults to that in the Sheets editor. */ - startTime?: TimeOfDay; - } - interface DataSourceRefreshSchedule { - /** Daily refresh schedule. */ - dailySchedule?: DataSourceRefreshDailySchedule; - /** True if the refresh schedule is enabled, or false otherwise. */ - enabled?: boolean; - /** Monthly refresh schedule. */ - monthlySchedule?: DataSourceRefreshMonthlySchedule; - /** Output only. The time interval of the next run. */ - nextRun?: Interval; - /** The scope of the refresh. Must be ALL_DATA_SOURCES. */ - refreshScope?: string; - /** Weekly refresh schedule. */ - weeklySchedule?: DataSourceRefreshWeeklySchedule; - } - interface DataSourceRefreshWeeklySchedule { - /** Days of the week to refresh. At least one day must be specified. */ - daysOfWeek?: string[]; - /** The start time of a time interval in which a data source refresh is scheduled. Only `hours` part is used. The time interval size defaults to that in the Sheets editor. */ - startTime?: TimeOfDay; - } - interface DataSourceSheetDimensionRange { - /** The columns on the data source sheet. */ - columnReferences?: DataSourceColumnReference[]; - /** The ID of the data source sheet the range is on. */ - sheetId?: number; - } - interface DataSourceSheetProperties { - /** The columns displayed on the sheet, corresponding to the values in RowData. */ - columns?: DataSourceColumn[]; - /** The data execution status. */ - dataExecutionStatus?: DataExecutionStatus; - /** ID of the DataSource the sheet is connected to. */ - dataSourceId?: string; - } - interface DataSourceSpec { - /** A BigQueryDataSourceSpec. */ - bigQuery?: BigQueryDataSourceSpec; - /** The parameters of the data source, used when querying the data source. */ - parameters?: DataSourceParameter[]; - } - interface DataSourceTable { - /** Columns selected for the data source table. The column_selection_type must be SELECTED. */ - columns?: DataSourceColumnReference[]; - /** The type to select columns for the data source table. Defaults to SELECTED. */ - columnSelectionType?: string; - /** Output only. The data execution status. */ - dataExecutionStatus?: DataExecutionStatus; - /** The ID of the data source the data source table is associated with. */ - dataSourceId?: string; - /** Filter specifications in the data source table. */ - filterSpecs?: FilterSpec[]; - /** The limit of rows to return. If not set, a default limit is applied. Please refer to the Sheets editor for the default and max limit. */ - rowLimit?: number; - /** Sort specifications in the data source table. The result of the data source table is sorted based on the sort specifications in order. */ - sortSpecs?: SortSpec[]; - } - interface DataValidationRule { - /** The condition that data in the cell must match. */ - condition?: 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; - } - interface DateTimeRule { - /** The type of date-time grouping to apply. */ - type?: string; - } - interface DeleteBandingRequest { - /** The ID of the banded range to delete. */ - bandedRangeId?: number; - } - interface DeleteConditionalFormatRuleRequest { - /** The zero-based index of the rule to be deleted. */ - index?: number; - /** The sheet the rule is being deleted from. */ - sheetId?: number; - } - interface DeleteConditionalFormatRuleResponse { - /** The rule that was deleted. */ - rule?: ConditionalFormatRule; - } - interface DeleteDataSourceRequest { - /** The ID of the data source to delete. */ - dataSourceId?: string; - } - interface DeleteDeveloperMetadataRequest { - /** The data filter describing the criteria used to select which developer metadata entry to delete. */ - dataFilter?: DataFilter; - } - interface DeleteDeveloperMetadataResponse { - /** The metadata that was deleted. */ - deletedDeveloperMetadata?: DeveloperMetadata[]; - } - interface DeleteDimensionGroupRequest { - /** The range of the group to be deleted. */ - range?: DimensionRange; - } - interface DeleteDimensionGroupResponse { - /** All groups of a dimension after deleting a group from that dimension. */ - dimensionGroups?: DimensionGroup[]; - } - interface DeleteDimensionRequest { - /** The dimensions to delete from the sheet. */ - range?: DimensionRange; - } - interface DeleteDuplicatesRequest { - /** The columns in the range to analyze for duplicate values. If no columns are selected then all columns are analyzed for duplicates. */ - comparisonColumns?: DimensionRange[]; - /** The range to remove duplicates rows from. */ - range?: GridRange; - } - interface DeleteDuplicatesResponse { - /** The number of duplicate rows removed. */ - duplicatesRemovedCount?: number; - } - interface DeleteEmbeddedObjectRequest { - /** The ID of the embedded object to delete. */ - objectId?: number; - } - interface DeleteFilterViewRequest { - /** The ID of the filter to delete. */ - filterId?: number; - } - interface DeleteNamedRangeRequest { - /** The ID of the named range to delete. */ - namedRangeId?: string; - } - interface DeleteProtectedRangeRequest { - /** The ID of the protected range to delete. */ - protectedRangeId?: number; - } - interface DeleteRangeRequest { - /** The range of cells to delete. */ - range?: 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; - } - interface DeleteSheetRequest { - /** The ID of the sheet to delete. If the sheet is of DATA_SOURCE type, the associated DataSource is also deleted. */ - sheetId?: number; - } - interface DeveloperMetadata { - /** The location where the metadata is associated. */ - location?: 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; - } - interface 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?: 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; - } - interface 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?: 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; - } - interface 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?: DimensionRange; - } - interface DimensionProperties { - /** Output only. If set, this is a column in a data source sheet. */ - dataSourceColumnReference?: DataSourceColumnReference; - /** The developer metadata associated with a single row or column. */ - developerMetadata?: 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; - } - interface 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; - } - interface DuplicateFilterViewRequest { - /** The ID of the filter being duplicated. */ - filterId?: number; - } - interface DuplicateFilterViewResponse { - /** The newly created filter. */ - filter?: FilterView; - } - interface 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. If the source sheet is of DATA_SOURCE type, its backing DataSource is also duplicated and associated with the new copy of the sheet. No data execution is - * triggered, the grid data of this sheet is also copied over but only available after the batch request completes. - */ - sourceSheetId?: number; - } - interface DuplicateSheetResponse { - /** The properties of the duplicate sheet. */ - properties?: SheetProperties; - } - interface 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[]; - } - interface EmbeddedChart { - /** The border of the chart. */ - border?: EmbeddedObjectBorder; - /** The ID of the chart. */ - chartId?: number; - /** The position of the chart. */ - position?: EmbeddedObjectPosition; - /** The specification of the chart. */ - spec?: ChartSpec; - } - interface EmbeddedObjectBorder { - /** The color of the border. Deprecated: Use color_style. */ - color?: Color; - /** The color of the border. If color is also set, this field takes precedence. */ - colorStyle?: ColorStyle; - } - interface 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?: OverlayPosition; - /** The sheet this is on. Set only if the embedded object is on its own sheet. Must be non-negative. */ - sheetId?: number; - } - interface ErrorValue { - /** A message with more information about the error (in the spreadsheet's locale). */ - message?: string; - /** The type of error. */ - type?: string; - } - interface ExtendedValue { - /** Represents a boolean value. */ - boolValue?: boolean; - /** Represents an error. This field is read-only. */ - errorValue?: 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; - } - interface FilterCriteria { - /** A condition that must be true for values to be shown. (This does not override hidden_values -- if a value is listed there, it will still be hidden.) */ - condition?: BooleanCondition; - /** Values that should be hidden. */ - hiddenValues?: string[]; - /** The background fill color to filter by; only cells with this fill color are shown. Mutually exclusive with visible_foreground_color. Deprecated: Use visible_background_color_style. */ - visibleBackgroundColor?: Color; - /** - * The background fill color to filter by; only cells with this fill color are shown. This field is mutually exclusive with visible_foreground_color, and must be set to an RGB-type - * color. If visible_background_color is also set, this field takes precedence. - */ - visibleBackgroundColorStyle?: ColorStyle; - /** The foreground color to filter by; only cells with this foreground color are shown. Mutually exclusive with visible_background_color. Deprecated: Use visible_foreground_color_style. */ - visibleForegroundColor?: Color; - /** - * The foreground color to filter by; only cells with this foreground color are shown. This field is mutually exclusive with visible_background_color, and must be set to an RGB-type - * color. If visible_foreground_color is also set, this field takes precedence. - */ - visibleForegroundColorStyle?: ColorStyle; - } - interface FilterSpec { - /** The column index. */ - columnIndex?: number; - /** Reference to a data source column. */ - dataSourceColumnReference?: DataSourceColumnReference; - /** The criteria for the column. */ - filterCriteria?: FilterCriteria; - } - interface 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. This field is deprecated in favor of - * filter_specs. - */ - criteria?: { [P in string]: FilterCriteria }; - /** - * The filter criteria for showing/hiding values per column. Both criteria and filter_specs are populated in responses. If both fields are specified in an update request, this field - * takes precedence. - */ - filterSpecs?: FilterSpec[]; - /** 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?: GridRange; - /** The sort order per column. Later specifications are used when values are equal in the earlier specifications. */ - sortSpecs?: SortSpec[]; - /** The name of the filter view. */ - title?: string; - } - interface 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?: 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; - } - interface 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; - } - interface GetSpreadsheetByDataFilterRequest { - /** The DataFilters used to select which ranges to retrieve from the spreadsheet. */ - dataFilters?: DataFilter[]; - /** True if grid data should be returned. This parameter is ignored if a field mask was set in the request. */ - includeGridData?: boolean; - } - interface GradientRule { - /** The final interpolation point. */ - maxpoint?: InterpolationPoint; - /** An optional midway interpolation point. */ - midpoint?: InterpolationPoint; - /** The starting interpolation point. */ - minpoint?: InterpolationPoint; - } - interface 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; - } - interface GridData { - /** Metadata about the requested columns in the grid, starting with the column in start_column. */ - columnMetadata?: 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?: RowData[]; - /** Metadata about the requested rows in the grid, starting with the row in start_row. */ - rowMetadata?: DimensionProperties[]; - /** The first column this GridData refers to, zero-based. */ - startColumn?: number; - /** The first row this GridData refers to, zero-based. */ - startRow?: number; - } - interface 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; - } - interface 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; - } - interface 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?: HistogramSeries[]; - /** Whether horizontal divider lines should be displayed between items in each column. */ - showItemDividers?: boolean; - } - interface 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; - } - interface HistogramSeries { - /** The color of the column representing this series in each bucket. This field is optional. Deprecated: Use bar_color_style. */ - barColor?: Color; - /** The color of the column representing this series in each bucket. This field is optional. If bar_color is also set, this field takes precedence. */ - barColorStyle?: ColorStyle; - /** The data for this histogram series. */ - data?: ChartData; - } - interface 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?: DimensionRange; - } - interface InsertRangeRequest { - /** The range to insert new cells into. */ - range?: 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; - } - interface InterpolationPoint { - /** The color this interpolation point should use. Deprecated: Use color_style. */ - color?: Color; - /** The color this interpolation point should use. If color is also set, this field takes precedence. */ - colorStyle?: ColorStyle; - /** 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; - } - interface Interval { - /** Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end. */ - endTime?: string; - /** Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start. */ - startTime?: string; - } - interface 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; - } - interface KeyValueFormat { - /** Specifies the horizontal text positioning of key value. This field is optional. If not specified, default positioning is used. */ - position?: TextPosition; - /** Text formatting options for key value. The link field is not supported. */ - textFormat?: TextFormat; - } - interface LineStyle { - /** The dash type of the line. */ - type?: string; - /** The thickness of the line, in px. */ - width?: number; - } - interface Link { - /** The link identifier. */ - uri?: string; - } - interface ManualRule { - /** The list of group names and the corresponding items from the source data that map to each group name. */ - groups?: ManualRuleGroup[]; - } - interface ManualRuleGroup { - /** The group name, which must be a string. Each group in a given ManualRule must have a unique group name. */ - groupName?: 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?: ExtendedValue[]; - } - interface MatchedDeveloperMetadata { - /** All filters matching the returned developer metadata. */ - dataFilters?: DataFilter[]; - /** The developer metadata matching the specified filters. */ - developerMetadata?: DeveloperMetadata; - } - interface MatchedValueRange { - /** The DataFilters from the request that matched the range of values. */ - dataFilters?: DataFilter[]; - /** The values matched by the DataFilter. */ - valueRange?: ValueRange; - } - interface MergeCellsRequest { - /** How the cells should be merged. */ - mergeType?: string; - /** The range of cells to merge. */ - range?: GridRange; - } - interface 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?: DimensionRange; - } - interface NamedRange { - /** The name of the named range. */ - name?: string; - /** The ID of the named range. */ - namedRangeId?: string; - /** The range this represents. */ - range?: GridRange; - } - interface 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; - } - interface OrgChartSpec { - /** The data containing the labels for all the nodes in the chart. Labels must be unique. */ - labels?: ChartData; - /** The color of the org chart nodes. Deprecated: Use node_color_style. */ - nodeColor?: Color; - /** The color of the org chart nodes. If node_color is also set, this field takes precedence. */ - nodeColorStyle?: ColorStyle; - /** 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?: ChartData; - /** The color of the selected org chart nodes. Deprecated: Use selected_node_color_style. */ - selectedNodeColor?: Color; - /** The color of the selected org chart nodes. If selected_node_color is also set, this field takes precedence. */ - selectedNodeColorStyle?: ColorStyle; - /** 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?: ChartData; - } - interface OverlayPosition { - /** The cell the object is anchored to. */ - anchorCell?: 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; - } - interface 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; - } - interface PasteDataRequest { - /** The coordinate at which the data should start being inserted. */ - coordinate?: 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; - } - interface PieChartSpec { - /** The data that covers the domain of the pie chart. */ - domain?: 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?: ChartData; - /** True if the pie is three dimensional. */ - threeDimensional?: boolean; - } - interface PivotFilterCriteria { - /** - * A condition that must be true for values to be shown. (`visibleValues` does not override this -- even if a value is listed there, it is still hidden if it does not meet the - * condition.) Condition values that refer to ranges in A1-notation are evaluated relative to the pivot table sheet. References are treated absolutely, so are not filled down the pivot - * table. For example, a condition value of `=A1` on "Pivot Table 1" is treated as `'Pivot Table 1'!$A$1`. The source data of the pivot table can be referenced by column header name. - * For example, if the source data has columns named "Revenue" and "Cost" and a condition is applied to the "Revenue" column with type `NUMBER_GREATER` and value `=Cost`, then only - * columns where "Revenue" > "Cost" are included. - */ - condition?: BooleanCondition; - /** - * Whether values are visible by default. If true, the visible_values are ignored, all values that meet condition (if specified) are shown. If false, values that are both in - * visible_values and meet condition are shown. - */ - visibleByDefault?: boolean; - /** Values that should be included. Values not listed here are excluded. */ - visibleValues?: string[]; - } - interface PivotFilterSpec { - /** The column offset of the source range. */ - columnOffsetIndex?: number; - /** The reference to the data source column. */ - dataSourceColumnReference?: DataSourceColumnReference; - /** The criteria for the column. */ - filterCriteria?: PivotFilterCriteria; - } - interface PivotGroup { - /** The reference to the data source column this grouping is based on. */ - dataSourceColumnReference?: DataSourceColumnReference; - /** The count limit on rows or columns to apply to this pivot group. */ - groupLimit?: PivotGroupLimit; - /** The group rule to apply to this row/column group. */ - groupRule?: 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 repetition 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?: PivotGroupSortValueBucket; - /** Metadata about values in the grouping. */ - valueMetadata?: PivotGroupValueMetadata[]; - } - interface PivotGroupLimit { - /** - * The order in which the group limit is applied to the pivot table. Pivot group limits are applied from lower to higher order number. Order numbers are normalized to consecutive - * integers from 0. For write request, to fully customize the applying orders, all pivot group limits should have this field set with an unique number. Otherwise, the order is - * determined by the index in the PivotTable.rows list and then the PivotTable.columns list. - */ - applyOrder?: number; - /** The count limit. */ - countLimit?: number; - } - interface PivotGroupRule { - /** A DateTimeRule. */ - dateTimeRule?: DateTimeRule; - /** A HistogramRule. */ - histogramRule?: HistogramRule; - /** A ManualRule. */ - manualRule?: ManualRule; - } - interface 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?: ExtendedValue[]; - /** The offset in the PivotTable.values list which the values in this grouping should be sorted by. */ - valuesIndex?: number; - } - interface 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?: ExtendedValue; - } - interface PivotTable { - /** Each column grouping in the pivot table. */ - columns?: 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`. This field is deprecated in favor of filter_specs. - */ - criteria?: { [P in string]: PivotFilterCriteria }; - /** Output only. The data execution status for data source pivot tables. */ - dataExecutionStatus?: DataExecutionStatus; - /** The ID of the data source the pivot table is reading data from. */ - dataSourceId?: string; - /** - * The filters applied to the source columns before aggregating data for the pivot table. Both criteria and filter_specs are populated in responses. If both fields are specified in an - * update request, this field takes precedence. - */ - filterSpecs?: PivotFilterSpec[]; - /** Each row grouping in the pivot table. */ - rows?: PivotGroup[]; - /** The range the pivot table is reading data from. */ - source?: 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?: PivotValue[]; - } - interface 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 editor, this is referred to as "Show As" in the value section of a - * pivot table. - */ - calculatedDisplayType?: string; - /** The reference to the data source column that this value reads from. */ - dataSourceColumnReference?: DataSourceColumnReference; - /** 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; - } - interface PointStyle { - /** The point shape. If empty or unspecified, a default shape is used. */ - shape?: string; - /** The point size. If empty, a default size is used. */ - size?: number; - } - interface 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?: 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?: 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?: 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; - } - interface RandomizeRangeRequest { - /** The range to randomize. */ - range?: GridRange; - } - interface RefreshDataSourceObjectExecutionStatus { - /** The data execution status. */ - dataExecutionStatus?: DataExecutionStatus; - /** Reference to a data source object being refreshed. */ - reference?: DataSourceObjectReference; - } - interface RefreshDataSourceRequest { - /** Reference to a DataSource. If specified, refreshes all associated data source objects for the data source. */ - dataSourceId?: string; - /** Refreshes the data source objects regardless of the current state. If not set and a referenced data source object was in error state, the refresh will fail immediately. */ - force?: boolean; - /** Refreshes all existing data source objects in the spreadsheet. */ - isAll?: boolean; - /** References to data source objects to refresh. */ - references?: DataSourceObjectReferences; - } - interface RefreshDataSourceResponse { - /** All the refresh status for the data source object references specified in the request. If is_all is specified, the field contains only those in failure status. */ - statuses?: RefreshDataSourceObjectExecutionStatus[]; - } - interface RepeatCellRequest { - /** The data to write. */ - cell?: 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?: GridRange; - } - interface Request { - /** Adds a new banded range */ - addBanding?: AddBandingRequest; - /** Adds a chart. */ - addChart?: AddChartRequest; - /** Adds a new conditional format rule. */ - addConditionalFormatRule?: AddConditionalFormatRuleRequest; - /** Adds a data source. */ - addDataSource?: AddDataSourceRequest; - /** Creates a group over the specified range. */ - addDimensionGroup?: AddDimensionGroupRequest; - /** Adds a filter view. */ - addFilterView?: AddFilterViewRequest; - /** Adds a named range. */ - addNamedRange?: AddNamedRangeRequest; - /** Adds a protected range. */ - addProtectedRange?: AddProtectedRangeRequest; - /** Adds a sheet. */ - addSheet?: AddSheetRequest; - /** Adds a slicer. */ - addSlicer?: AddSlicerRequest; - /** Appends cells after the last row with data in a sheet. */ - appendCells?: AppendCellsRequest; - /** Appends dimensions to the end of a sheet. */ - appendDimension?: AppendDimensionRequest; - /** Automatically fills in more data based on existing data. */ - autoFill?: AutoFillRequest; - /** Automatically resizes one or more dimensions based on the contents of the cells in that dimension. */ - autoResizeDimensions?: AutoResizeDimensionsRequest; - /** Clears the basic filter on a sheet. */ - clearBasicFilter?: ClearBasicFilterRequest; - /** Copies data from one area and pastes it to another. */ - copyPaste?: CopyPasteRequest; - /** Creates new developer metadata */ - createDeveloperMetadata?: CreateDeveloperMetadataRequest; - /** Cuts data from one area and pastes it to another. */ - cutPaste?: CutPasteRequest; - /** Removes a banded range */ - deleteBanding?: DeleteBandingRequest; - /** Deletes an existing conditional format rule. */ - deleteConditionalFormatRule?: DeleteConditionalFormatRuleRequest; - /** Deletes a data source. */ - deleteDataSource?: DeleteDataSourceRequest; - /** Deletes developer metadata */ - deleteDeveloperMetadata?: DeleteDeveloperMetadataRequest; - /** Deletes rows or columns in a sheet. */ - deleteDimension?: DeleteDimensionRequest; - /** Deletes a group over the specified range. */ - deleteDimensionGroup?: DeleteDimensionGroupRequest; - /** Removes rows containing duplicate values in specified columns of a cell range. */ - deleteDuplicates?: DeleteDuplicatesRequest; - /** Deletes an embedded object (e.g, chart, image) in a sheet. */ - deleteEmbeddedObject?: DeleteEmbeddedObjectRequest; - /** Deletes a filter view from a sheet. */ - deleteFilterView?: DeleteFilterViewRequest; - /** Deletes a named range. */ - deleteNamedRange?: DeleteNamedRangeRequest; - /** Deletes a protected range. */ - deleteProtectedRange?: DeleteProtectedRangeRequest; - /** Deletes a range of cells from a sheet, shifting the remaining cells. */ - deleteRange?: DeleteRangeRequest; - /** Deletes a sheet. */ - deleteSheet?: DeleteSheetRequest; - /** Duplicates a filter view. */ - duplicateFilterView?: DuplicateFilterViewRequest; - /** Duplicates a sheet. */ - duplicateSheet?: DuplicateSheetRequest; - /** Finds and replaces occurrences of some text with other text. */ - findReplace?: FindReplaceRequest; - /** Inserts new rows or columns in a sheet. */ - insertDimension?: InsertDimensionRequest; - /** Inserts new cells in a sheet, shifting the existing cells. */ - insertRange?: InsertRangeRequest; - /** Merges cells together. */ - mergeCells?: MergeCellsRequest; - /** Moves rows or columns to another location in a sheet. */ - moveDimension?: MoveDimensionRequest; - /** Pastes data (HTML or delimited) into a sheet. */ - pasteData?: PasteDataRequest; - /** Randomizes the order of the rows in a range. */ - randomizeRange?: RandomizeRangeRequest; - /** Refreshs one or multiple data sources and associated dbobjects. */ - refreshDataSource?: RefreshDataSourceRequest; - /** Repeats a single cell across a range. */ - repeatCell?: RepeatCellRequest; - /** Sets the basic filter on a sheet. */ - setBasicFilter?: SetBasicFilterRequest; - /** Sets data validation for one or more cells. */ - setDataValidation?: SetDataValidationRequest; - /** Sorts data in a range. */ - sortRange?: SortRangeRequest; - /** Converts a column of text into many columns of text. */ - textToColumns?: TextToColumnsRequest; - /** Trims cells of whitespace (such as spaces, tabs, or new lines). */ - trimWhitespace?: TrimWhitespaceRequest; - /** Unmerges merged cells. */ - unmergeCells?: UnmergeCellsRequest; - /** Updates a banded range */ - updateBanding?: UpdateBandingRequest; - /** Updates the borders in a range of cells. */ - updateBorders?: UpdateBordersRequest; - /** Updates many cells at once. */ - updateCells?: UpdateCellsRequest; - /** Updates a chart's specifications. */ - updateChartSpec?: UpdateChartSpecRequest; - /** Updates an existing conditional format rule. */ - updateConditionalFormatRule?: UpdateConditionalFormatRuleRequest; - /** Updates a data source. */ - updateDataSource?: UpdateDataSourceRequest; - /** Updates an existing developer metadata entry */ - updateDeveloperMetadata?: UpdateDeveloperMetadataRequest; - /** Updates the state of the specified group. */ - updateDimensionGroup?: UpdateDimensionGroupRequest; - /** Updates dimensions' properties. */ - updateDimensionProperties?: UpdateDimensionPropertiesRequest; - /** Updates an embedded object's border. */ - updateEmbeddedObjectBorder?: UpdateEmbeddedObjectBorderRequest; - /** Updates an embedded object's (e.g. chart, image) position. */ - updateEmbeddedObjectPosition?: UpdateEmbeddedObjectPositionRequest; - /** Updates the properties of a filter view. */ - updateFilterView?: UpdateFilterViewRequest; - /** Updates a named range. */ - updateNamedRange?: UpdateNamedRangeRequest; - /** Updates a protected range. */ - updateProtectedRange?: UpdateProtectedRangeRequest; - /** Updates a sheet's properties. */ - updateSheetProperties?: UpdateSheetPropertiesRequest; - /** Updates a slicer's specifications. */ - updateSlicerSpec?: UpdateSlicerSpecRequest; - /** Updates the spreadsheet's properties. */ - updateSpreadsheetProperties?: UpdateSpreadsheetPropertiesRequest; - } - interface Response { - /** A reply from adding a banded range. */ - addBanding?: AddBandingResponse; - /** A reply from adding a chart. */ - addChart?: AddChartResponse; - /** A reply from adding a data source. */ - addDataSource?: AddDataSourceResponse; - /** A reply from adding a dimension group. */ - addDimensionGroup?: AddDimensionGroupResponse; - /** A reply from adding a filter view. */ - addFilterView?: AddFilterViewResponse; - /** A reply from adding a named range. */ - addNamedRange?: AddNamedRangeResponse; - /** A reply from adding a protected range. */ - addProtectedRange?: AddProtectedRangeResponse; - /** A reply from adding a sheet. */ - addSheet?: AddSheetResponse; - /** A reply from adding a slicer. */ - addSlicer?: AddSlicerResponse; - /** A reply from creating a developer metadata entry. */ - createDeveloperMetadata?: CreateDeveloperMetadataResponse; - /** A reply from deleting a conditional format rule. */ - deleteConditionalFormatRule?: DeleteConditionalFormatRuleResponse; - /** A reply from deleting a developer metadata entry. */ - deleteDeveloperMetadata?: DeleteDeveloperMetadataResponse; - /** A reply from deleting a dimension group. */ - deleteDimensionGroup?: DeleteDimensionGroupResponse; - /** A reply from removing rows containing duplicate values. */ - deleteDuplicates?: DeleteDuplicatesResponse; - /** A reply from duplicating a filter view. */ - duplicateFilterView?: DuplicateFilterViewResponse; - /** A reply from duplicating a sheet. */ - duplicateSheet?: DuplicateSheetResponse; - /** A reply from doing a find/replace. */ - findReplace?: FindReplaceResponse; - /** A reply from refreshing data source objects. */ - refreshDataSource?: RefreshDataSourceResponse; - /** A reply from trimming whitespace. */ - trimWhitespace?: TrimWhitespaceResponse; - /** A reply from updating a conditional format rule. */ - updateConditionalFormatRule?: UpdateConditionalFormatRuleResponse; - /** A reply from updating a data source. */ - updateDataSource?: UpdateDataSourceResponse; - /** A reply from updating a developer metadata entry. */ - updateDeveloperMetadata?: UpdateDeveloperMetadataResponse; - /** A reply from updating an embedded object's position. */ - updateEmbeddedObjectPosition?: UpdateEmbeddedObjectPositionResponse; - } - interface RowData { - /** The values in the row, one per column. */ - values?: CellData[]; - } - interface ScorecardChartSpec { - /** - * The aggregation type for key and baseline chart data in scorecard chart. This field is not supported for data source charts. Use the ChartData.aggregateType field of the - * key_value_data or baseline_value_data instead for data source charts. This field is optional. - */ - aggregateType?: string; - /** The data for scorecard baseline value. This field is optional. */ - baselineValueData?: ChartData; - /** Formatting options for baseline value. This field is needed only if baseline_value_data is specified. */ - baselineValueFormat?: BaselineValueFormat; - /** Custom formatting options for numeric key/baseline values in scorecard chart. This field is used only when number_format_source is set to CUSTOM. This field is optional. */ - customFormatOptions?: ChartCustomNumberFormatOptions; - /** The data for scorecard key value. */ - keyValueData?: ChartData; - /** Formatting options for key value. */ - keyValueFormat?: KeyValueFormat; - /** The number format source used in the scorecard chart. This field is optional. */ - numberFormatSource?: string; - /** Value to scale scorecard key and baseline value. For example, a factor of 10 can be used to divide all values in the chart by 10. This field is optional. */ - scaleFactor?: number; - } - interface SearchDeveloperMetadataRequest { - /** - * The data filters describing the criteria used to determine which DeveloperMetadata entries to return. DeveloperMetadata matching any of the specified filters are included in the - * response. - */ - dataFilters?: DataFilter[]; - } - interface SearchDeveloperMetadataResponse { - /** The metadata matching the criteria of the search request. */ - matchedDeveloperMetadata?: MatchedDeveloperMetadata[]; - } - interface SetBasicFilterRequest { - /** The filter to set. */ - filter?: BasicFilter; - } - interface SetDataValidationRequest { - /** The range the data validation rule should apply to. */ - range?: GridRange; - /** The data validation rule to set on each cell in the range, or empty to clear the data validation in the range. */ - rule?: DataValidationRule; - } - interface Sheet { - /** The banded (alternating colors) ranges on this sheet. */ - bandedRanges?: BandedRange[]; - /** The filter on this sheet, if any. */ - basicFilter?: BasicFilter; - /** The specifications of every chart on this sheet. */ - charts?: EmbeddedChart[]; - /** All column groups on this sheet, ordered by increasing range start index, then by group depth. */ - columnGroups?: DimensionGroup[]; - /** The conditional format rules in this sheet. */ - conditionalFormats?: 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). For a DATA_SOURCE sheet, you can not request a specific range, the GridData contains all the - * values. - */ - data?: GridData[]; - /** The developer metadata associated with a sheet. */ - developerMetadata?: DeveloperMetadata[]; - /** The filter views in this sheet. */ - filterViews?: FilterView[]; - /** The ranges that are merged together. */ - merges?: GridRange[]; - /** The properties of the sheet. */ - properties?: SheetProperties; - /** The protected ranges in this sheet. */ - protectedRanges?: ProtectedRange[]; - /** All row groups on this sheet, ordered by increasing range start index, then by group depth. */ - rowGroups?: DimensionGroup[]; - /** The slicers on this sheet. */ - slicers?: Slicer[]; - } - interface SheetProperties { - /** Output only. If present, the field contains DATA_SOURCE sheet specific properties. */ - dataSourceSheetProperties?: DataSourceSheetProperties; - /** - * 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. If this sheet is a DATA_SOURCE sheet, this field is output only but contains the properties that reflect how a data source sheet - * is rendered in the UI, e.g. row_count. - */ - gridProperties?: 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. Deprecated: Use tab_color_style. */ - tabColor?: Color; - /** The color of the tab in the UI. If tab_color is also set, this field takes precedence. */ - tabColorStyle?: ColorStyle; - /** The name of the sheet. */ - title?: string; - } - interface Slicer { - /** - * The position of the slicer. Note that slicer can be positioned only on existing sheet. Also, width and height of slicer can be automatically adjusted to keep it within permitted - * limits. - */ - position?: EmbeddedObjectPosition; - /** The ID of the slicer. */ - slicerId?: number; - /** The specification of the slicer. */ - spec?: SlicerSpec; - } - interface SlicerSpec { - /** True if the filter should apply to pivot tables. If not set, default to `True`. */ - applyToPivotTables?: boolean; - /** The background color of the slicer. Deprecated: Use background_color_style. */ - backgroundColor?: Color; - /** The background color of the slicer. If background_color is also set, this field takes precedence. */ - backgroundColorStyle?: ColorStyle; - /** The column index in the data table on which the filter is applied to. */ - columnIndex?: number; - /** The data range of the slicer. */ - dataRange?: GridRange; - /** The filtering criteria of the slicer. */ - filterCriteria?: FilterCriteria; - /** The horizontal alignment of title in the slicer. If unspecified, defaults to `LEFT` */ - horizontalAlignment?: string; - /** The text format of title in the slicer. The link field is not supported. */ - textFormat?: TextFormat; - /** The title of the slicer. */ - title?: string; - } - interface SortRangeRequest { - /** The range to sort. */ - range?: GridRange; - /** The sort order per column. Later specifications are used when values are equal in the earlier specifications. */ - sortSpecs?: SortSpec[]; - } - interface SortSpec { - /** The background fill color to sort by; cells with this fill color are sorted to the top. Mutually exclusive with foreground_color. Deprecated: Use background_color_style. */ - backgroundColor?: Color; - /** - * The background fill color to sort by; cells with this fill color are sorted to the top. Mutually exclusive with foreground_color, and must be an RGB-type color. If background_color - * is also set, this field takes precedence. - */ - backgroundColorStyle?: ColorStyle; - /** Reference to a data source column. */ - dataSourceColumnReference?: DataSourceColumnReference; - /** The dimension the sort should be applied to. */ - dimensionIndex?: number; - /** The foreground color to sort by; cells with this foreground color are sorted to the top. Mutually exclusive with background_color. Deprecated: Use foreground_color_style. */ - foregroundColor?: Color; - /** - * The foreground color to sort by; cells with this foreground color are sorted to the top. Mutually exclusive with background_color, and must be an RGB-type color. If foreground_color - * is also set, this field takes precedence. - */ - foregroundColorStyle?: ColorStyle; - /** The order data should be sorted. */ - sortOrder?: string; - } - interface 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?: GridRange; - } - interface Spreadsheet { - /** A list of external data sources connected with the spreadsheet. */ - dataSources?: DataSource[]; - /** Output only. A list of data source refresh schedules. */ - dataSourceSchedules?: DataSourceRefreshSchedule[]; - /** The developer metadata associated with a spreadsheet. */ - developerMetadata?: DeveloperMetadata[]; - /** The named ranges defined in a spreadsheet. */ - namedRanges?: NamedRange[]; - /** Overall properties of a spreadsheet. */ - properties?: SpreadsheetProperties; - /** The sheets that are part of a spreadsheet. */ - sheets?: 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; - } - interface 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?: CellFormat; - /** Determines whether and how circular references are resolved with iterative calculation. Absence of this field means that circular references result in calculation errors. */ - iterativeCalculationSettings?: 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; - /** Theme applied to the spreadsheet. */ - spreadsheetTheme?: SpreadsheetTheme; - /** 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; - } - interface SpreadsheetTheme { - /** Name of the primary font family. */ - primaryFontFamily?: string; - /** The spreadsheet theme color pairs. To update you must provide all theme color pairs. */ - themeColors?: ThemeColorPair[]; - } - interface 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. Deprecated: Use foreground_color_style. */ - foregroundColor?: Color; - /** The foreground color of the text. If foreground_color is also set, this field takes precedence. */ - foregroundColorStyle?: ColorStyle; - /** True if the text is italicized. */ - italic?: boolean; - /** - * The link destination of the text, if any. Setting the link field in a TextFormatRun will clear the cell's existing links or a cell-level link set in the same request. When a link is - * set, the text foreground color will be set to the default link color 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. - */ - link?: Link; - /** True if the text has a strikethrough. */ - strikethrough?: boolean; - /** True if the text is underlined. */ - underline?: boolean; - } - interface TextFormatRun { - /** The format of this run. Absent values inherit the cell's format. */ - format?: TextFormat; - /** The character index where this run starts. */ - startIndex?: number; - } - interface TextPosition { - /** Horizontal alignment setting for the piece of text. */ - horizontalAlignment?: string; - } - interface 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; - } - interface 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?: GridRange; - } - interface ThemeColorPair { - /** The concrete color corresponding to the theme color type. */ - color?: ColorStyle; - /** The type of the spreadsheet theme color. */ - colorType?: string; - } - interface 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; - } - interface TreemapChartColorScale { - /** The background color for cells with a color value greater than or equal to maxValue. Defaults to #109618 if not specified. Deprecated: Use max_value_color_style. */ - maxValueColor?: Color; - /** - * The background color for cells with a color value greater than or equal to maxValue. Defaults to #109618 if not specified. If max_value_color is also set, this field takes - * precedence. - */ - maxValueColorStyle?: ColorStyle; - /** The background color for cells with a color value at the midpoint between minValue and maxValue. Defaults to #efe6dc if not specified. Deprecated: Use mid_value_color_style. */ - midValueColor?: Color; - /** - * The background color for cells with a color value at the midpoint between minValue and maxValue. Defaults to #efe6dc if not specified. If mid_value_color is also set, this field - * takes precedence. - */ - midValueColorStyle?: ColorStyle; - /** The background color for cells with a color value less than or equal to minValue. Defaults to #dc3912 if not specified. Deprecated: Use min_value_color_style. */ - minValueColor?: Color; - /** The background color for cells with a color value less than or equal to minValue. Defaults to #dc3912 if not specified. If min_value_color is also set, this field takes precedence. */ - minValueColorStyle?: ColorStyle; - /** The background color for cells that have no color data associated with them. Defaults to #000000 if not specified. Deprecated: Use no_data_color_style. */ - noDataColor?: Color; - /** The background color for cells that have no color data associated with them. Defaults to #000000 if not specified. If no_data_color is also set, this field takes precedence. */ - noDataColorStyle?: ColorStyle; - } - interface 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?: 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?: TreemapChartColorScale; - /** The background color for header cells. Deprecated: Use header_color_style. */ - headerColor?: Color; - /** The background color for header cells. If header_color is also set, this field takes precedence. */ - headerColorStyle?: ColorStyle; - /** 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?: 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?: 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?: ChartData; - /** The text format for all labels on the chart. The link field is not supported. */ - textFormat?: TextFormat; - } - interface TrimWhitespaceRequest { - /** The range whose cells to trim. */ - range?: GridRange; - } - interface TrimWhitespaceResponse { - /** The number of cells that were trimmed of whitespace. */ - cellsChangedCount?: number; - } - interface 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?: GridRange; - } - interface UpdateBandingRequest { - /** The banded range to update with the new properties. */ - bandedRange?: 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; - } - interface UpdateBordersRequest { - /** The border to put at the bottom of the range. */ - bottom?: Border; - /** The horizontal border to put within the range. */ - innerHorizontal?: Border; - /** The vertical border to put within the range. */ - innerVertical?: Border; - /** The border to put at the left of the range. */ - left?: Border; - /** The range whose borders should be updated. */ - range?: GridRange; - /** The border to put at the right of the range. */ - right?: Border; - /** The border to put at the top of the range. */ - top?: Border; - } - interface 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?: GridRange; - /** The data to write. */ - rows?: 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?: GridCoordinate; - } - interface UpdateChartSpecRequest { - /** The ID of the chart to update. */ - chartId?: number; - /** The specification to apply to the chart. */ - spec?: ChartSpec; - } - interface 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?: ConditionalFormatRule; - /** The sheet of the rule to move. Required if new_index is set, unused otherwise. */ - sheetId?: number; - } - interface 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?: 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?: ConditionalFormatRule; - } - interface UpdateDataSourceRequest { - /** The data source to update. */ - dataSource?: DataSource; - /** - * The fields that should be updated. At least one field must be specified. The root `dataSource` is implied and should not be specified. A single `"*"` can be used as short-hand for - * listing every field. - */ - fields?: string; - } - interface UpdateDataSourceResponse { - /** The data execution status. */ - dataExecutionStatus?: DataExecutionStatus; - /** The updated data source. */ - dataSource?: DataSource; - } - interface UpdateDeveloperMetadataRequest { - /** The filters matching the developer metadata entries to update. */ - dataFilters?: DataFilter[]; - /** The value that all metadata matched by the data filters will be updated to. */ - developerMetadata?: 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; - } - interface UpdateDeveloperMetadataResponse { - /** The updated developer metadata. */ - developerMetadata?: DeveloperMetadata[]; - } - interface 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?: 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; - } - interface UpdateDimensionPropertiesRequest { - /** The columns on a data source sheet to update. */ - dataSourceSheetRange?: DataSourceSheetDimensionRange; - /** - * 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?: DimensionProperties; - /** The rows or columns to update. */ - range?: DimensionRange; - } - interface UpdateEmbeddedObjectBorderRequest { - /** The border that applies to the embedded object. */ - border?: EmbeddedObjectBorder; - /** - * The fields that should be updated. At least one field must be specified. The root `border` is implied and should not be specified. A single `"*"` can be used as short-hand for - * listing every field. - */ - fields?: string; - /** The ID of the embedded object to update. */ - objectId?: number; - } - interface 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?: EmbeddedObjectPosition; - /** The ID of the object to moved. */ - objectId?: number; - } - interface UpdateEmbeddedObjectPositionResponse { - /** The new position of the embedded object. */ - position?: EmbeddedObjectPosition; - } - interface 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?: FilterView; - } - interface 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?: NamedRange; - } - interface 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?: ProtectedRange; - } - interface 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?: SheetProperties; - } - interface UpdateSlicerSpecRequest { - /** - * The fields that should be updated. At least one field must be specified. The root `SlicerSpec` is implied and should not be specified. A single "*"` can be used as short-hand for - * listing every field. - */ - fields?: string; - /** The id of the slicer to update. */ - slicerId?: number; - /** The specification to apply to the slicer. */ - spec?: SlicerSpec; - } - interface 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?: SpreadsheetProperties; - } - interface UpdateValuesByDataFilterResponse { - /** The data filter that selected the range that was updated. */ - dataFilter?: 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?: ValueRange; - /** The range (in [A1 notation](/sheets/api/guides/concepts#cell)) that updates were applied to. */ - updatedRange?: string; - /** The number of rows where at least one cell in the row was updated. */ - updatedRows?: number; - } - interface 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?: 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; - } - interface 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](/sheets/api/guides/concepts#cell). 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[][]; - } - interface WaterfallChartColumnStyle { - /** The color of the column. Deprecated: Use color_style. */ - color?: Color; - /** The color of the column. If color is also set, this field takes precedence. */ - colorStyle?: ColorStyle; - /** The label of the column's legend. */ - label?: string; - } - interface 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; - } - interface WaterfallChartDomain { - /** The data of the WaterfallChartDomain. */ - data?: ChartData; - /** True to reverse the order of the domain values (horizontal axis). */ - reversed?: boolean; - } - interface 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?: WaterfallChartCustomSubtotal[]; - /** The data being visualized in this series. */ - data?: ChartData; - /** Information about the data labels for this series. */ - dataLabel?: DataLabel; - /** - * 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?: WaterfallChartColumnStyle; - /** Styles for all columns in this series with positive values. */ - positiveColumnsStyle?: WaterfallChartColumnStyle; - /** Styles for all subtotal columns in this series. */ - subtotalColumnsStyle?: WaterfallChartColumnStyle; - } - interface WaterfallChartSpec { - /** The line style for the connector lines. */ - connectorLineStyle?: LineStyle; - /** The domain data (horizontal axis) for the waterfall chart. */ - domain?: 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?: WaterfallChartSeries[]; - /** The stacked type. */ - stackedType?: string; - /** - * Controls whether to display additional data labels on stacked charts which sum the total value of all stacked values at each value along the domain axis. stacked_type must be - * STACKED and neither CUSTOM nor placement can be set on the total_data_label. - */ - totalDataLabel?: DataLabel; - } - interface DeveloperMetadataResource { - /** Returns the developer metadata with the specified ID. The caller must specify the spreadsheet ID and the developer metadata's unique metadataId. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** The ID of the developer metadata to retrieve. */ - metadataId: number; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the spreadsheet to retrieve metadata from. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): client.Request; - /** - * 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. - */ - search(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the spreadsheet to retrieve metadata from. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: SearchDeveloperMetadataRequest; - }): client.Request; - search(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the spreadsheet to retrieve metadata from. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: SearchDeveloperMetadataRequest): client.Request; - } - interface SheetsResource { - /** Copies a single sheet from a spreadsheet to another spreadsheet. Returns the properties of the newly created sheet. */ - copyTo(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the sheet to copy. */ - sheetId: number; - /** The ID of the spreadsheet containing the sheet to copy. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: CopySheetToAnotherSpreadsheetRequest; - }): client.Request; - copyTo(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the sheet to copy. */ - sheetId: number; - /** The ID of the spreadsheet containing the sheet to copy. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: CopySheetToAnotherSpreadsheetRequest): client.Request; - } - interface ValuesResource { - /** - * 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. - */ - append(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The [A1 notation](/sheets/api/guides/concepts#cell) of a range to search for a logical table of data. Values are 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 SERIAL_NUMBER. - */ - responseDateTimeRenderOption?: string; - /** Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. */ - responseValueRenderOption?: string; - /** The ID of the spreadsheet to update. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** How the input data should be interpreted. */ - valueInputOption?: string; - /** Request body */ - resource: ValueRange; - }): client.Request; - append(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** 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; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The [A1 notation](/sheets/api/guides/concepts#cell) of a range to search for a logical table of data. Values are 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 SERIAL_NUMBER. - */ - responseDateTimeRenderOption?: string; - /** Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. */ - responseValueRenderOption?: string; - /** The ID of the spreadsheet to update. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** How the input data should be interpreted. */ - valueInputOption?: string; - }, - body: ValueRange): client.Request; - /** - * 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 and data validation) are kept. - */ - batchClear(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the spreadsheet to update. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: BatchClearValuesRequest; - }): client.Request; - batchClear(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the spreadsheet to update. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: BatchClearValuesRequest): client.Request; - /** - * 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. - */ - batchClearByDataFilter(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the spreadsheet to update. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: BatchClearValuesByDataFilterRequest; - }): client.Request; - batchClearByDataFilter(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the spreadsheet to update. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: BatchClearValuesByDataFilterRequest): client.Request; - /** Returns one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges. */ - batchGet(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * 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 - * SERIAL_NUMBER. - */ - dateTimeRenderOption?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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 `ranges=["A1:B2"],majorDimension=ROWS` returns - * `[[1,2],[3,4]]`, whereas requesting `ranges=["A1:B2"],majorDimension=COLUMNS` returns `[[1,3],[2,4]]`. - */ - majorDimension?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The [A1 notation or R1C1 notation](/sheets/api/guides/concepts#cell) of the range to retrieve values from. */ - ranges?: string | string[]; - /** The ID of the spreadsheet to retrieve data from. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** How values should be represented in the output. The default render option is ValueRenderOption.FORMATTED_VALUE. */ - valueRenderOption?: string; - }): client.Request; - /** - * 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. - */ - batchGetByDataFilter(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the spreadsheet to retrieve data from. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: BatchGetValuesByDataFilterRequest; - }): client.Request; - batchGetByDataFilter(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the spreadsheet to retrieve data from. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: BatchGetValuesByDataFilterRequest): client.Request; - /** Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more ValueRanges. */ - batchUpdate(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the spreadsheet to update. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: BatchUpdateValuesRequest; - }): client.Request; - batchUpdate(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the spreadsheet to update. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: BatchUpdateValuesRequest): client.Request; - /** Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more DataFilterValueRanges. */ - batchUpdateByDataFilter(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the spreadsheet to update. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: BatchUpdateValuesByDataFilterRequest; - }): client.Request; - batchUpdateByDataFilter(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The ID of the spreadsheet to update. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: BatchUpdateValuesByDataFilterRequest): client.Request; - /** - * 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. - */ - clear(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The [A1 notation or R1C1 notation](/sheets/api/guides/concepts#cell) of the values to clear. */ - range: string; - /** The ID of the spreadsheet to update. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: ClearValuesRequest; - }): client.Request; - clear(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The [A1 notation or R1C1 notation](/sheets/api/guides/concepts#cell) of the values to clear. */ - range: string; - /** The ID of the spreadsheet to update. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: ClearValuesRequest): client.Request; - /** Returns a range of values from a spreadsheet. The caller must specify the spreadsheet ID and a range. */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** - * 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 - * SERIAL_NUMBER. - */ - dateTimeRenderOption?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: 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` returns - * `[[1,2],[3,4]]`, whereas requesting `range=A1:B2,majorDimension=COLUMNS` returns `[[1,3],[2,4]]`. - */ - majorDimension?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The [A1 notation or R1C1 notation](/sheets/api/guides/concepts#cell) of the range to retrieve values from. */ - range: string; - /** The ID of the spreadsheet to retrieve data from. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** How values should be represented in the output. The default render option is FORMATTED_VALUE. */ - valueRenderOption?: string; - }): client.Request; - /** Sets values in a range of a spreadsheet. The caller must specify the spreadsheet ID, range, and a valueInputOption. */ - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** - * 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 the range actually written, the response includes all values in the requested range (excluding trailing empty rows and columns). - */ - includeValuesInResponse?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The [A1 notation](/sheets/api/guides/concepts#cell) 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 SERIAL_NUMBER. - */ - responseDateTimeRenderOption?: string; - /** Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. */ - responseValueRenderOption?: string; - /** The ID of the spreadsheet to update. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** How the input data should be interpreted. */ - valueInputOption?: string; - /** Request body */ - resource: ValueRange; - }): client.Request; - update(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** - * 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 the range actually written, the response includes all values in the requested range (excluding trailing empty rows and columns). - */ - includeValuesInResponse?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The [A1 notation](/sheets/api/guides/concepts#cell) 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 SERIAL_NUMBER. - */ - responseDateTimeRenderOption?: string; - /** Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. */ - responseValueRenderOption?: string; - /** The ID of the spreadsheet to update. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** How the input data should be interpreted. */ - valueInputOption?: string; - }, - body: ValueRange): client.Request; - } - interface SpreadsheetsResource { - /** - * 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. - */ - batchUpdate(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The spreadsheet to apply the updates to. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: BatchUpdateSpreadsheetRequest; - }): client.Request; - batchUpdate(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The spreadsheet to apply the updates to. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: BatchUpdateSpreadsheetRequest): client.Request; - /** Creates a spreadsheet, returning the newly created spreadsheet. */ - create(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: Spreadsheet; - }): client.Request; - create(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: Spreadsheet): client.Request; - /** - * Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. By default, data within grids is not returned. You can include grid data in one of 2 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, as a best practice, retrieve only the specific spreadsheet fields that you want. To retrieve only subsets of - * spreadsheet data, use the ranges URL parameter. Ranges are specified using [A1 notation](/sheets/api/guides/concepts#cell). You can define a single cell (for example, `A1`) or - * multiple cells (for example, `A1:D5`). You can also get cells from other sheets within the same spreadsheet (for example, `Sheet2!A1:C4`) or retrieve multiple ranges at once (for - * example, `?ranges=A1:D5&ranges=Sheet2!A1:C4`). Limiting the range returns only the portions of the spreadsheet that intersect the requested ranges. - */ - get(request?: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** True if grid data should be returned. This parameter is ignored if a field mask was set in the request. */ - includeGridData?: boolean; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The ranges to retrieve from the spreadsheet. */ - ranges?: string | string[]; - /** The spreadsheet to request. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }): client.Request; - /** - * 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 returns the portions of the spreadsheet that - * intersect ranges matched by any of the filters. By default, data within grids is not returned. You can include grid data one of 2 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, as a best practice, retrieve only the specific spreadsheet fields that you want. - */ - getByDataFilter(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The spreadsheet to request. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - /** Request body */ - resource: GetSpreadsheetByDataFilterRequest; - }): client.Request; - getByDataFilter(request: { - /** V1 error format. */ - "$.xgafv"?: string; - /** OAuth access token. */ - access_token?: string; - /** Data format for response. */ - alt?: string; - /** JSONP */ - callback?: string; - /** Selector specifying which fields to include in a partial response. */ - fields?: string; - /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */ - key?: string; - /** OAuth 2.0 token for the current user. */ - oauth_token?: string; - /** Returns response with indentations and line breaks. */ - prettyPrint?: boolean; - /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ - quotaUser?: string; - /** The spreadsheet to request. */ - spreadsheetId: string; - /** Upload protocol for media (e.g. "raw", "multipart"). */ - upload_protocol?: string; - /** Legacy upload protocol for media (e.g. "media", "multipart"). */ - uploadType?: string; - }, - body: GetSpreadsheetByDataFilterRequest): client.Request; - developerMetadata: DeveloperMetadataResource; - sheets: SheetsResource; - values: ValuesResource; - } - - const spreadsheets: SpreadsheetsResource; - } -} diff --git a/test/restDocs/snapshots/gapi.client.sheets-v4/package.json b/test/restDocs/snapshots/gapi.client.sheets-v4/package.json deleted file mode 100644 index d1fca24a9a..0000000000 --- a/test/restDocs/snapshots/gapi.client.sheets-v4/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@maxim_mazurok/gapi.client.sheets-v4", - "version": "0.0.20220620", - "description": "TypeScript typings for Google Sheets API v4", - "license": "MIT", - "author": { - "email": "maxim@mazurok.com", - "name": "Maxim Mazurok", - "url": "https://maxim.mazurok.com" - }, - "repository": { - "type": "git", - "url": "https://github.com/Maxim-Mazurok/google-api-typings-generator.git" - }, - "types": "index.d.ts", - "dependencies": { - "@types/gapi.client": "*", - "@types/gapi.client.discovery": "*" - } -} diff --git a/test/restDocs/snapshots/gapi.client.sheets-v4/readme.md b/test/restDocs/snapshots/gapi.client.sheets-v4/readme.md deleted file mode 100644 index dd6ed70eea..0000000000 --- a/test/restDocs/snapshots/gapi.client.sheets-v4/readme.md +++ /dev/null @@ -1,100 +0,0 @@ -# TypeScript typings for Google Sheets API v4 - -Reads and writes Google Sheets. -For detailed description please check [documentation](https://developers.google.com/sheets/). - -## Installing - -Install typings for Google Sheets API: - -``` -npm install @types/gapi.client.sheets-v4 --save-dev -``` - -## Usage - -You need to initialize Google API client in your code: - -```typescript -gapi.load('client', () => { - // now we can use gapi.client - // ... -}); -``` - -Then load api client wrapper: - -```typescript -gapi.client.load('http://localhost:3000/sheets.json', () => { - // now we can use: - // gapi.client.sheets -}); -``` - -```typescript -// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback-- -gapi.client.load('sheets', 'v4', () => { - // now we can use: - // gapi.client.sheets -}); -``` - -Don't forget to authenticate your client before sending any request to resources: - -```typescript -// declare client_id registered in Google Developers Console -var client_id = '', - scope = [ - // See, edit, create, and delete all of your Google Drive files - 'https://www.googleapis.com/auth/drive', - - // See, edit, create, and delete only the specific Google Drive files you use with this app - 'https://www.googleapis.com/auth/drive.file', - - // See and download all your Google Drive files - 'https://www.googleapis.com/auth/drive.readonly', - - // See, edit, create, and delete all your Google Sheets spreadsheets - 'https://www.googleapis.com/auth/spreadsheets', - - // See all your Google Sheets spreadsheets - 'https://www.googleapis.com/auth/spreadsheets.readonly', - ], - immediate = true; -// ... - -gapi.auth.authorize( - { client_id: client_id, scope: scope, immediate: immediate }, - authResult => { - if (authResult && !authResult.error) { - /* handle successful authorization */ - } else { - /* handle authorization error */ - } -}); -``` - -After that you can use Google Sheets API resources: - -```typescript - -/* -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. -*/ -await gapi.client.sheets.spreadsheets.batchUpdate({ spreadsheetId: "spreadsheetId", }); - -/* -Creates a spreadsheet, returning the newly created spreadsheet. -*/ -await gapi.client.sheets.spreadsheets.create({ }); - -/* -Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. By default, data within grids is not returned. You can include grid data in one of 2 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, as a best practice, retrieve only the specific spreadsheet fields that you want. To retrieve only subsets of spreadsheet data, use the ranges URL parameter. Ranges are specified using [A1 notation](/sheets/api/guides/concepts#cell). You can define a single cell (for example, `A1`) or multiple cells (for example, `A1:D5`). You can also get cells from other sheets within the same spreadsheet (for example, `Sheet2!A1:C4`) or retrieve multiple ranges at once (for example, `?ranges=A1:D5&ranges=Sheet2!A1:C4`). Limiting the range returns only the portions of the spreadsheet that intersect the requested ranges. -*/ -await gapi.client.sheets.spreadsheets.get({ spreadsheetId: "spreadsheetId", }); - -/* -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 returns the portions of the spreadsheet that intersect ranges matched by any of the filters. By default, data within grids is not returned. You can include grid data one of 2 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, as a best practice, retrieve only the specific spreadsheet fields that you want. -*/ -await gapi.client.sheets.spreadsheets.getByDataFilter({ spreadsheetId: "spreadsheetId", }); -``` diff --git a/test/restDocs/snapshots/gapi.client.sheets-v4/tests.ts b/test/restDocs/snapshots/gapi.client.sheets-v4/tests.ts deleted file mode 100644 index 351dde07fd..0000000000 --- a/test/restDocs/snapshots/gapi.client.sheets-v4/tests.ts +++ /dev/null @@ -1,12033 +0,0 @@ -/* This is stub file for gapi.client.sheets-v4 definition tests */ -// IMPORTANT -// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. -// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator - -// Revision: 20220620 - -gapi.load('client', async () => { - /** now we can use gapi.client */ - - await gapi.client.load('http://localhost:3000/sheets.json'); - /** now we can use gapi.client.sheets */ - - /** don't forget to authenticate your client before sending any request to resources: */ - /** declare client_id registered in Google Developers Console */ - const client_id = '<>'; - const scope = [ - /** See, edit, create, and delete all of your Google Drive files */ - 'https://www.googleapis.com/auth/drive', - /** See, edit, create, and delete only the specific Google Drive files you use with this app */ - 'https://www.googleapis.com/auth/drive.file', - /** See and download all your Google Drive files */ - 'https://www.googleapis.com/auth/drive.readonly', - /** See, edit, create, and delete all your Google Sheets spreadsheets */ - 'https://www.googleapis.com/auth/spreadsheets', - /** See all your Google Sheets spreadsheets */ - 'https://www.googleapis.com/auth/spreadsheets.readonly', - ]; - const immediate = false; - gapi.auth.authorize({ client_id, scope, immediate }, authResult => { - if (authResult && !authResult.error) { - /** handle successful authorization */ - run(); - } else { - /** handle authorization error */ - } - }); - - async function run() { - /** - * 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. - */ - await gapi.client.sheets.spreadsheets.batchUpdate({ - spreadsheetId: "Test string", - }, { - includeSpreadsheetInResponse: true, - requests: [ - { - addBanding: { - bandedRange: { - bandedRangeId: 42, - columnProperties: { - firstBandColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - firstBandColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - footerColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - footerColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - headerColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - headerColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - secondBandColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - secondBandColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - rowProperties: { - firstBandColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - firstBandColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - footerColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - footerColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - headerColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - headerColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - secondBandColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - secondBandColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - }, - }, - addChart: { - chart: { - border: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - chartId: 42, - position: { - newSheet: true, - overlayPosition: { - anchorCell: { - columnIndex: 42, - rowIndex: 42, - sheetId: 42, - }, - heightPixels: 42, - offsetXPixels: 42, - offsetYPixels: 42, - widthPixels: 42, - }, - sheetId: 42, - }, - spec: { - altText: "Test string", - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - basicChart: { - axis: [ - { - format: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - position: "Test string", - title: "Test string", - titleTextPosition: { - horizontalAlignment: "Test string", - }, - viewWindowOptions: { - viewWindowMax: 42, - viewWindowMin: 42, - viewWindowMode: "Test string", - }, - } - ], - chartType: "Test string", - compareMode: "Test string", - domains: [ - { - domain: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - reversed: true, - } - ], - headerCount: 42, - interpolateNulls: true, - legendPosition: "Test string", - lineSmoothing: true, - series: [ - { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - dataLabel: { - customLabelData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - placement: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - type: "Test string", - }, - lineStyle: { - type: "Test string", - width: 42, - }, - pointStyle: { - shape: "Test string", - size: 42, - }, - series: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - styleOverrides: [ - { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - index: 42, - pointStyle: { - shape: "Test string", - size: 42, - }, - } - ], - targetAxis: "Test string", - type: "Test string", - } - ], - stackedType: "Test string", - threeDimensional: true, - totalDataLabel: { - customLabelData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - placement: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - type: "Test string", - }, - }, - bubbleChart: { - bubbleBorderColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - bubbleBorderColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - bubbleLabels: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - bubbleMaxRadiusSize: 42, - bubbleMinRadiusSize: 42, - bubbleOpacity: 42, - bubbleSizes: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - bubbleTextStyle: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - domain: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - groupIds: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - legendPosition: "Test string", - series: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - candlestickChart: { - data: [ - { - closeSeries: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - highSeries: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - lowSeries: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - openSeries: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - } - ], - domain: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - reversed: true, - }, - }, - dataSourceChartProperties: { - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - }, - filterSpecs: [ - { - columnIndex: 42, - dataSourceColumnReference: { - name: "Test string", - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - } - ], - fontName: "Test string", - hiddenDimensionStrategy: "Test string", - histogramChart: { - bucketSize: 42, - legendPosition: "Test string", - outlierPercentile: 42, - series: [ - { - barColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - barColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - } - ], - showItemDividers: true, - }, - maximized: true, - orgChart: { - labels: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - nodeColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - nodeColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - nodeSize: "Test string", - parentLabels: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - selectedNodeColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - selectedNodeColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - tooltips: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - pieChart: { - domain: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - legendPosition: "Test string", - pieHole: 42, - series: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - threeDimensional: true, - }, - scorecardChart: { - aggregateType: "Test string", - baselineValueData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - baselineValueFormat: { - comparisonType: "Test string", - description: "Test string", - negativeColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - negativeColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - position: { - horizontalAlignment: "Test string", - }, - positiveColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - positiveColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - }, - customFormatOptions: { - prefix: "Test string", - suffix: "Test string", - }, - keyValueData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - keyValueFormat: { - position: { - horizontalAlignment: "Test string", - }, - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - }, - numberFormatSource: "Test string", - scaleFactor: 42, - }, - sortSpecs: [ - { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - dataSourceColumnReference: { - name: "Test string", - }, - dimensionIndex: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - sortOrder: "Test string", - } - ], - subtitle: "Test string", - subtitleTextFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - subtitleTextPosition: { - horizontalAlignment: "Test string", - }, - title: "Test string", - titleTextFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - titleTextPosition: { - horizontalAlignment: "Test string", - }, - treemapChart: { - colorData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - colorScale: { - maxValueColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - maxValueColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - midValueColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - midValueColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - minValueColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - minValueColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - noDataColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - noDataColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - headerColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - headerColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - hideTooltips: true, - hintedLevels: 42, - labels: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - levels: 42, - maxValue: 42, - minValue: 42, - parentLabels: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - sizeData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - }, - waterfallChart: { - connectorLineStyle: { - type: "Test string", - width: 42, - }, - domain: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - reversed: true, - }, - firstValueIsTotal: true, - hideConnectorLines: true, - series: [ - { - customSubtotals: [ - { - dataIsSubtotal: true, - label: "Test string", - subtotalIndex: 42, - } - ], - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - dataLabel: { - customLabelData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - placement: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - type: "Test string", - }, - hideTrailingSubtotal: true, - negativeColumnsStyle: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - label: "Test string", - }, - positiveColumnsStyle: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - label: "Test string", - }, - subtotalColumnsStyle: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - label: "Test string", - }, - } - ], - stackedType: "Test string", - totalDataLabel: { - customLabelData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - placement: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - type: "Test string", - }, - }, - }, - }, - }, - addConditionalFormatRule: { - index: 42, - rule: { - booleanRule: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - format: { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - borders: { - bottom: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - left: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - right: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - top: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - }, - horizontalAlignment: "Test string", - hyperlinkDisplayType: "Test string", - numberFormat: { - pattern: "Test string", - type: "Test string", - }, - padding: { - bottom: 42, - left: 42, - right: 42, - top: 42, - }, - textDirection: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - textRotation: { - angle: 42, - vertical: true, - }, - verticalAlignment: "Test string", - wrapStrategy: "Test string", - }, - }, - gradientRule: { - maxpoint: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - type: "Test string", - value: "Test string", - }, - midpoint: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - type: "Test string", - value: "Test string", - }, - minpoint: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - type: "Test string", - value: "Test string", - }, - }, - ranges: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - addDataSource: { - dataSource: { - calculatedColumns: [ - { - formula: "Test string", - reference: { - name: "Test string", - }, - } - ], - dataSourceId: "Test string", - sheetId: 42, - spec: { - bigQuery: { - projectId: "Test string", - querySpec: { - rawQuery: "Test string", - }, - tableSpec: { - datasetId: "Test string", - tableId: "Test string", - tableProjectId: "Test string", - }, - }, - parameters: [ - { - name: "Test string", - namedRangeId: "Test string", - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - } - ], - }, - }, - }, - addDimensionGroup: { - range: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - }, - addFilterView: { - filter: { - criteria: { - A: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - } - }, - filterSpecs: [ - { - columnIndex: 42, - dataSourceColumnReference: { - name: "Test string", - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - } - ], - filterViewId: 42, - namedRangeId: "Test string", - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - sortSpecs: [ - { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - dataSourceColumnReference: { - name: "Test string", - }, - dimensionIndex: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - sortOrder: "Test string", - } - ], - title: "Test string", - }, - }, - addNamedRange: { - namedRange: { - name: "Test string", - namedRangeId: "Test string", - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - }, - }, - addProtectedRange: { - protectedRange: { - description: "Test string", - editors: { - domainUsersCanEdit: true, - groups: [ - "Test string" - ], - users: [ - "Test string" - ], - }, - namedRangeId: "Test string", - protectedRangeId: 42, - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - requestingUserCanEdit: true, - unprotectedRanges: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - warningOnly: true, - }, - }, - addSheet: { - properties: { - dataSourceSheetProperties: { - columns: [ - { - formula: "Test string", - reference: { - name: "Test string", - }, - } - ], - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - }, - gridProperties: { - columnCount: 42, - columnGroupControlAfter: true, - frozenColumnCount: 42, - frozenRowCount: 42, - hideGridlines: true, - rowCount: 42, - rowGroupControlAfter: true, - }, - hidden: true, - index: 42, - rightToLeft: true, - sheetId: 42, - sheetType: "Test string", - tabColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - tabColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - title: "Test string", - }, - }, - addSlicer: { - slicer: { - position: { - newSheet: true, - overlayPosition: { - anchorCell: { - columnIndex: 42, - rowIndex: 42, - sheetId: 42, - }, - heightPixels: 42, - offsetXPixels: 42, - offsetYPixels: 42, - widthPixels: 42, - }, - sheetId: 42, - }, - slicerId: 42, - spec: { - applyToPivotTables: true, - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - columnIndex: 42, - dataRange: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - horizontalAlignment: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - title: "Test string", - }, - }, - }, - appendCells: { - fields: "Test string", - rows: [ - { - values: [ - { - dataSourceFormula: { - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - }, - dataSourceTable: { - columns: [ - { - name: "Test string", - } - ], - columnSelectionType: "Test string", - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - filterSpecs: [ - { - columnIndex: 42, - dataSourceColumnReference: { - name: "Test string", - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - } - ], - rowLimit: 42, - sortSpecs: [ - { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - dataSourceColumnReference: { - name: "Test string", - }, - dimensionIndex: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - sortOrder: "Test string", - } - ], - }, - dataValidation: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - inputMessage: "Test string", - showCustomUi: true, - strict: true, - }, - effectiveFormat: { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - borders: { - bottom: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - left: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - right: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - top: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - }, - horizontalAlignment: "Test string", - hyperlinkDisplayType: "Test string", - numberFormat: { - pattern: "Test string", - type: "Test string", - }, - padding: { - bottom: 42, - left: 42, - right: 42, - top: 42, - }, - textDirection: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - textRotation: { - angle: 42, - vertical: true, - }, - verticalAlignment: "Test string", - wrapStrategy: "Test string", - }, - effectiveValue: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - formattedValue: "Test string", - hyperlink: "Test string", - note: "Test string", - pivotTable: { - columns: [ - { - dataSourceColumnReference: { - name: "Test string", - }, - groupLimit: { - applyOrder: 42, - countLimit: 42, - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - end: 42, - interval: 42, - start: 42, - }, - manualRule: { - groups: [ - { - groupName: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - items: [ - { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - } - ], - } - ], - }, - }, - label: "Test string", - repeatHeadings: true, - showTotals: true, - sortOrder: "Test string", - sourceColumnOffset: 42, - valueBucket: { - buckets: [ - { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - } - ], - valuesIndex: 42, - }, - valueMetadata: [ - { - collapsed: true, - value: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - } - ], - } - ], - criteria: { - A: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - visibleByDefault: true, - visibleValues: [ - "Test string" - ], - } - }, - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - filterSpecs: [ - { - columnOffsetIndex: 42, - dataSourceColumnReference: { - name: "Test string", - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - visibleByDefault: true, - visibleValues: [ - "Test string" - ], - }, - } - ], - rows: [ - { - dataSourceColumnReference: { - name: "Test string", - }, - groupLimit: { - applyOrder: 42, - countLimit: 42, - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - end: 42, - interval: 42, - start: 42, - }, - manualRule: { - groups: [ - { - groupName: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - items: [ - { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - } - ], - } - ], - }, - }, - label: "Test string", - repeatHeadings: true, - showTotals: true, - sortOrder: "Test string", - sourceColumnOffset: 42, - valueBucket: { - buckets: [ - { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - } - ], - valuesIndex: 42, - }, - valueMetadata: [ - { - collapsed: true, - value: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - } - ], - } - ], - source: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - valueLayout: "Test string", - values: [ - { - calculatedDisplayType: "Test string", - dataSourceColumnReference: { - name: "Test string", - }, - formula: "Test string", - name: "Test string", - sourceColumnOffset: 42, - summarizeFunction: "Test string", - } - ], - }, - textFormatRuns: [ - { - format: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - startIndex: 42, - } - ], - userEnteredFormat: { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - borders: { - bottom: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - left: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - right: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - top: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - }, - horizontalAlignment: "Test string", - hyperlinkDisplayType: "Test string", - numberFormat: { - pattern: "Test string", - type: "Test string", - }, - padding: { - bottom: 42, - left: 42, - right: 42, - top: 42, - }, - textDirection: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - textRotation: { - angle: 42, - vertical: true, - }, - verticalAlignment: "Test string", - wrapStrategy: "Test string", - }, - userEnteredValue: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - } - ], - } - ], - sheetId: 42, - }, - appendDimension: { - dimension: "Test string", - length: 42, - sheetId: 42, - }, - autoFill: { - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - sourceAndDestination: { - dimension: "Test string", - fillLength: 42, - source: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - }, - useAlternateSeries: true, - }, - autoResizeDimensions: { - dataSourceSheetDimensions: { - columnReferences: [ - { - name: "Test string", - } - ], - sheetId: 42, - }, - dimensions: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - }, - clearBasicFilter: { - sheetId: 42, - }, - copyPaste: { - destination: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - pasteOrientation: "Test string", - pasteType: "Test string", - source: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - }, - createDeveloperMetadata: { - developerMetadata: { - location: { - dimensionRange: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - locationType: "Test string", - sheetId: 42, - spreadsheet: true, - }, - metadataId: 42, - metadataKey: "Test string", - metadataValue: "Test string", - visibility: "Test string", - }, - }, - cutPaste: { - destination: { - columnIndex: 42, - rowIndex: 42, - sheetId: 42, - }, - pasteType: "Test string", - source: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - }, - deleteBanding: { - bandedRangeId: 42, - }, - deleteConditionalFormatRule: { - index: 42, - sheetId: 42, - }, - deleteDataSource: { - dataSourceId: "Test string", - }, - deleteDeveloperMetadata: { - dataFilter: { - a1Range: "Test string", - developerMetadataLookup: { - locationMatchingStrategy: "Test string", - locationType: "Test string", - metadataId: 42, - metadataKey: "Test string", - metadataLocation: { - dimensionRange: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - locationType: "Test string", - sheetId: 42, - spreadsheet: true, - }, - metadataValue: "Test string", - visibility: "Test string", - }, - gridRange: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - }, - }, - deleteDimension: { - range: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - }, - deleteDimensionGroup: { - range: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - }, - deleteDuplicates: { - comparisonColumns: [ - { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - } - ], - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - }, - deleteEmbeddedObject: { - objectId: 42, - }, - deleteFilterView: { - filterId: 42, - }, - deleteNamedRange: { - namedRangeId: "Test string", - }, - deleteProtectedRange: { - protectedRangeId: 42, - }, - deleteRange: { - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - shiftDimension: "Test string", - }, - deleteSheet: { - sheetId: 42, - }, - duplicateFilterView: { - filterId: 42, - }, - duplicateSheet: { - insertSheetIndex: 42, - newSheetId: 42, - newSheetName: "Test string", - sourceSheetId: 42, - }, - findReplace: { - allSheets: true, - find: "Test string", - includeFormulas: true, - matchCase: true, - matchEntireCell: true, - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - replacement: "Test string", - searchByRegex: true, - sheetId: 42, - }, - insertDimension: { - inheritFromBefore: true, - range: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - }, - insertRange: { - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - shiftDimension: "Test string", - }, - mergeCells: { - mergeType: "Test string", - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - }, - moveDimension: { - destinationIndex: 42, - source: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - }, - pasteData: { - coordinate: { - columnIndex: 42, - rowIndex: 42, - sheetId: 42, - }, - data: "Test string", - delimiter: "Test string", - html: true, - type: "Test string", - }, - randomizeRange: { - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - }, - refreshDataSource: { - dataSourceId: "Test string", - force: true, - isAll: true, - references: { - references: [ - { - chartId: 42, - dataSourceFormulaCell: { - columnIndex: 42, - rowIndex: 42, - sheetId: 42, - }, - dataSourcePivotTableAnchorCell: { - columnIndex: 42, - rowIndex: 42, - sheetId: 42, - }, - dataSourceTableAnchorCell: { - columnIndex: 42, - rowIndex: 42, - sheetId: 42, - }, - sheetId: "Test string", - } - ], - }, - }, - repeatCell: { - cell: { - dataSourceFormula: { - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - }, - dataSourceTable: { - columns: [ - { - name: "Test string", - } - ], - columnSelectionType: "Test string", - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - filterSpecs: [ - { - columnIndex: 42, - dataSourceColumnReference: { - name: "Test string", - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - } - ], - rowLimit: 42, - sortSpecs: [ - { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - dataSourceColumnReference: { - name: "Test string", - }, - dimensionIndex: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - sortOrder: "Test string", - } - ], - }, - dataValidation: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - inputMessage: "Test string", - showCustomUi: true, - strict: true, - }, - effectiveFormat: { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - borders: { - bottom: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - left: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - right: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - top: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - }, - horizontalAlignment: "Test string", - hyperlinkDisplayType: "Test string", - numberFormat: { - pattern: "Test string", - type: "Test string", - }, - padding: { - bottom: 42, - left: 42, - right: 42, - top: 42, - }, - textDirection: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - textRotation: { - angle: 42, - vertical: true, - }, - verticalAlignment: "Test string", - wrapStrategy: "Test string", - }, - effectiveValue: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - formattedValue: "Test string", - hyperlink: "Test string", - note: "Test string", - pivotTable: { - columns: [ - { - dataSourceColumnReference: { - name: "Test string", - }, - groupLimit: { - applyOrder: 42, - countLimit: 42, - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - end: 42, - interval: 42, - start: 42, - }, - manualRule: { - groups: [ - { - groupName: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - items: [ - { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - } - ], - } - ], - }, - }, - label: "Test string", - repeatHeadings: true, - showTotals: true, - sortOrder: "Test string", - sourceColumnOffset: 42, - valueBucket: { - buckets: [ - { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - } - ], - valuesIndex: 42, - }, - valueMetadata: [ - { - collapsed: true, - value: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - } - ], - } - ], - criteria: { - A: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - visibleByDefault: true, - visibleValues: [ - "Test string" - ], - } - }, - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - filterSpecs: [ - { - columnOffsetIndex: 42, - dataSourceColumnReference: { - name: "Test string", - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - visibleByDefault: true, - visibleValues: [ - "Test string" - ], - }, - } - ], - rows: [ - { - dataSourceColumnReference: { - name: "Test string", - }, - groupLimit: { - applyOrder: 42, - countLimit: 42, - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - end: 42, - interval: 42, - start: 42, - }, - manualRule: { - groups: [ - { - groupName: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - items: [ - { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - } - ], - } - ], - }, - }, - label: "Test string", - repeatHeadings: true, - showTotals: true, - sortOrder: "Test string", - sourceColumnOffset: 42, - valueBucket: { - buckets: [ - { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - } - ], - valuesIndex: 42, - }, - valueMetadata: [ - { - collapsed: true, - value: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - } - ], - } - ], - source: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - valueLayout: "Test string", - values: [ - { - calculatedDisplayType: "Test string", - dataSourceColumnReference: { - name: "Test string", - }, - formula: "Test string", - name: "Test string", - sourceColumnOffset: 42, - summarizeFunction: "Test string", - } - ], - }, - textFormatRuns: [ - { - format: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - startIndex: 42, - } - ], - userEnteredFormat: { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - borders: { - bottom: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - left: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - right: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - top: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - }, - horizontalAlignment: "Test string", - hyperlinkDisplayType: "Test string", - numberFormat: { - pattern: "Test string", - type: "Test string", - }, - padding: { - bottom: 42, - left: 42, - right: 42, - top: 42, - }, - textDirection: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - textRotation: { - angle: 42, - vertical: true, - }, - verticalAlignment: "Test string", - wrapStrategy: "Test string", - }, - userEnteredValue: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - }, - fields: "Test string", - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - }, - setBasicFilter: { - filter: { - criteria: { - A: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - } - }, - filterSpecs: [ - { - columnIndex: 42, - dataSourceColumnReference: { - name: "Test string", - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - } - ], - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - sortSpecs: [ - { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - dataSourceColumnReference: { - name: "Test string", - }, - dimensionIndex: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - sortOrder: "Test string", - } - ], - }, - }, - setDataValidation: { - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - rule: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - inputMessage: "Test string", - showCustomUi: true, - strict: true, - }, - }, - sortRange: { - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - sortSpecs: [ - { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - dataSourceColumnReference: { - name: "Test string", - }, - dimensionIndex: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - sortOrder: "Test string", - } - ], - }, - textToColumns: { - delimiter: "Test string", - delimiterType: "Test string", - source: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - }, - trimWhitespace: { - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - }, - unmergeCells: { - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - }, - updateBanding: { - bandedRange: { - bandedRangeId: 42, - columnProperties: { - firstBandColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - firstBandColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - footerColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - footerColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - headerColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - headerColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - secondBandColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - secondBandColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - rowProperties: { - firstBandColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - firstBandColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - footerColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - footerColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - headerColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - headerColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - secondBandColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - secondBandColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - }, - fields: "Test string", - }, - updateBorders: { - bottom: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - innerHorizontal: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - innerVertical: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - left: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - right: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - top: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - }, - updateCells: { - fields: "Test string", - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - rows: [ - { - values: [ - { - dataSourceFormula: { - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - }, - dataSourceTable: { - columns: [ - { - name: "Test string", - } - ], - columnSelectionType: "Test string", - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - filterSpecs: [ - { - columnIndex: 42, - dataSourceColumnReference: { - name: "Test string", - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - } - ], - rowLimit: 42, - sortSpecs: [ - { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - dataSourceColumnReference: { - name: "Test string", - }, - dimensionIndex: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - sortOrder: "Test string", - } - ], - }, - dataValidation: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - inputMessage: "Test string", - showCustomUi: true, - strict: true, - }, - effectiveFormat: { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - borders: { - bottom: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - left: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - right: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - top: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - }, - horizontalAlignment: "Test string", - hyperlinkDisplayType: "Test string", - numberFormat: { - pattern: "Test string", - type: "Test string", - }, - padding: { - bottom: 42, - left: 42, - right: 42, - top: 42, - }, - textDirection: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - textRotation: { - angle: 42, - vertical: true, - }, - verticalAlignment: "Test string", - wrapStrategy: "Test string", - }, - effectiveValue: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - formattedValue: "Test string", - hyperlink: "Test string", - note: "Test string", - pivotTable: { - columns: [ - { - dataSourceColumnReference: { - name: "Test string", - }, - groupLimit: { - applyOrder: 42, - countLimit: 42, - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - end: 42, - interval: 42, - start: 42, - }, - manualRule: { - groups: [ - { - groupName: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - items: [ - { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - } - ], - } - ], - }, - }, - label: "Test string", - repeatHeadings: true, - showTotals: true, - sortOrder: "Test string", - sourceColumnOffset: 42, - valueBucket: { - buckets: [ - { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - } - ], - valuesIndex: 42, - }, - valueMetadata: [ - { - collapsed: true, - value: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - } - ], - } - ], - criteria: { - A: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - visibleByDefault: true, - visibleValues: [ - "Test string" - ], - } - }, - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - filterSpecs: [ - { - columnOffsetIndex: 42, - dataSourceColumnReference: { - name: "Test string", - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - visibleByDefault: true, - visibleValues: [ - "Test string" - ], - }, - } - ], - rows: [ - { - dataSourceColumnReference: { - name: "Test string", - }, - groupLimit: { - applyOrder: 42, - countLimit: 42, - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - end: 42, - interval: 42, - start: 42, - }, - manualRule: { - groups: [ - { - groupName: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - items: [ - { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - } - ], - } - ], - }, - }, - label: "Test string", - repeatHeadings: true, - showTotals: true, - sortOrder: "Test string", - sourceColumnOffset: 42, - valueBucket: { - buckets: [ - { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - } - ], - valuesIndex: 42, - }, - valueMetadata: [ - { - collapsed: true, - value: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - } - ], - } - ], - source: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - valueLayout: "Test string", - values: [ - { - calculatedDisplayType: "Test string", - dataSourceColumnReference: { - name: "Test string", - }, - formula: "Test string", - name: "Test string", - sourceColumnOffset: 42, - summarizeFunction: "Test string", - } - ], - }, - textFormatRuns: [ - { - format: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - startIndex: 42, - } - ], - userEnteredFormat: { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - borders: { - bottom: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - left: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - right: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - top: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - }, - horizontalAlignment: "Test string", - hyperlinkDisplayType: "Test string", - numberFormat: { - pattern: "Test string", - type: "Test string", - }, - padding: { - bottom: 42, - left: 42, - right: 42, - top: 42, - }, - textDirection: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - textRotation: { - angle: 42, - vertical: true, - }, - verticalAlignment: "Test string", - wrapStrategy: "Test string", - }, - userEnteredValue: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - } - ], - } - ], - start: { - columnIndex: 42, - rowIndex: 42, - sheetId: 42, - }, - }, - updateChartSpec: { - chartId: 42, - spec: { - altText: "Test string", - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - basicChart: { - axis: [ - { - format: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - position: "Test string", - title: "Test string", - titleTextPosition: { - horizontalAlignment: "Test string", - }, - viewWindowOptions: { - viewWindowMax: 42, - viewWindowMin: 42, - viewWindowMode: "Test string", - }, - } - ], - chartType: "Test string", - compareMode: "Test string", - domains: [ - { - domain: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - reversed: true, - } - ], - headerCount: 42, - interpolateNulls: true, - legendPosition: "Test string", - lineSmoothing: true, - series: [ - { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - dataLabel: { - customLabelData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - placement: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - type: "Test string", - }, - lineStyle: { - type: "Test string", - width: 42, - }, - pointStyle: { - shape: "Test string", - size: 42, - }, - series: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - styleOverrides: [ - { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - index: 42, - pointStyle: { - shape: "Test string", - size: 42, - }, - } - ], - targetAxis: "Test string", - type: "Test string", - } - ], - stackedType: "Test string", - threeDimensional: true, - totalDataLabel: { - customLabelData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - placement: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - type: "Test string", - }, - }, - bubbleChart: { - bubbleBorderColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - bubbleBorderColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - bubbleLabels: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - bubbleMaxRadiusSize: 42, - bubbleMinRadiusSize: 42, - bubbleOpacity: 42, - bubbleSizes: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - bubbleTextStyle: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - domain: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - groupIds: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - legendPosition: "Test string", - series: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - candlestickChart: { - data: [ - { - closeSeries: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - highSeries: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - lowSeries: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - openSeries: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - } - ], - domain: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - reversed: true, - }, - }, - dataSourceChartProperties: { - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - }, - filterSpecs: [ - { - columnIndex: 42, - dataSourceColumnReference: { - name: "Test string", - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - } - ], - fontName: "Test string", - hiddenDimensionStrategy: "Test string", - histogramChart: { - bucketSize: 42, - legendPosition: "Test string", - outlierPercentile: 42, - series: [ - { - barColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - barColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - } - ], - showItemDividers: true, - }, - maximized: true, - orgChart: { - labels: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - nodeColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - nodeColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - nodeSize: "Test string", - parentLabels: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - selectedNodeColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - selectedNodeColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - tooltips: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - pieChart: { - domain: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - legendPosition: "Test string", - pieHole: 42, - series: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - threeDimensional: true, - }, - scorecardChart: { - aggregateType: "Test string", - baselineValueData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - baselineValueFormat: { - comparisonType: "Test string", - description: "Test string", - negativeColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - negativeColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - position: { - horizontalAlignment: "Test string", - }, - positiveColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - positiveColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - }, - customFormatOptions: { - prefix: "Test string", - suffix: "Test string", - }, - keyValueData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - keyValueFormat: { - position: { - horizontalAlignment: "Test string", - }, - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - }, - numberFormatSource: "Test string", - scaleFactor: 42, - }, - sortSpecs: [ - { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - dataSourceColumnReference: { - name: "Test string", - }, - dimensionIndex: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - sortOrder: "Test string", - } - ], - subtitle: "Test string", - subtitleTextFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - subtitleTextPosition: { - horizontalAlignment: "Test string", - }, - title: "Test string", - titleTextFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - titleTextPosition: { - horizontalAlignment: "Test string", - }, - treemapChart: { - colorData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - colorScale: { - maxValueColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - maxValueColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - midValueColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - midValueColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - minValueColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - minValueColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - noDataColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - noDataColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - headerColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - headerColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - hideTooltips: true, - hintedLevels: 42, - labels: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - levels: 42, - maxValue: 42, - minValue: 42, - parentLabels: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - sizeData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - }, - waterfallChart: { - connectorLineStyle: { - type: "Test string", - width: 42, - }, - domain: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - reversed: true, - }, - firstValueIsTotal: true, - hideConnectorLines: true, - series: [ - { - customSubtotals: [ - { - dataIsSubtotal: true, - label: "Test string", - subtotalIndex: 42, - } - ], - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - dataLabel: { - customLabelData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - placement: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - type: "Test string", - }, - hideTrailingSubtotal: true, - negativeColumnsStyle: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - label: "Test string", - }, - positiveColumnsStyle: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - label: "Test string", - }, - subtotalColumnsStyle: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - label: "Test string", - }, - } - ], - stackedType: "Test string", - totalDataLabel: { - customLabelData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - placement: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - type: "Test string", - }, - }, - }, - }, - updateConditionalFormatRule: { - index: 42, - newIndex: 42, - rule: { - booleanRule: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - format: { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - borders: { - bottom: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - left: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - right: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - top: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - }, - horizontalAlignment: "Test string", - hyperlinkDisplayType: "Test string", - numberFormat: { - pattern: "Test string", - type: "Test string", - }, - padding: { - bottom: 42, - left: 42, - right: 42, - top: 42, - }, - textDirection: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - textRotation: { - angle: 42, - vertical: true, - }, - verticalAlignment: "Test string", - wrapStrategy: "Test string", - }, - }, - gradientRule: { - maxpoint: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - type: "Test string", - value: "Test string", - }, - midpoint: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - type: "Test string", - value: "Test string", - }, - minpoint: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - type: "Test string", - value: "Test string", - }, - }, - ranges: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - sheetId: 42, - }, - updateDataSource: { - dataSource: { - calculatedColumns: [ - { - formula: "Test string", - reference: { - name: "Test string", - }, - } - ], - dataSourceId: "Test string", - sheetId: 42, - spec: { - bigQuery: { - projectId: "Test string", - querySpec: { - rawQuery: "Test string", - }, - tableSpec: { - datasetId: "Test string", - tableId: "Test string", - tableProjectId: "Test string", - }, - }, - parameters: [ - { - name: "Test string", - namedRangeId: "Test string", - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - } - ], - }, - }, - fields: "Test string", - }, - updateDeveloperMetadata: { - dataFilters: [ - { - a1Range: "Test string", - developerMetadataLookup: { - locationMatchingStrategy: "Test string", - locationType: "Test string", - metadataId: 42, - metadataKey: "Test string", - metadataLocation: { - dimensionRange: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - locationType: "Test string", - sheetId: 42, - spreadsheet: true, - }, - metadataValue: "Test string", - visibility: "Test string", - }, - gridRange: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - } - ], - developerMetadata: { - location: { - dimensionRange: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - locationType: "Test string", - sheetId: 42, - spreadsheet: true, - }, - metadataId: 42, - metadataKey: "Test string", - metadataValue: "Test string", - visibility: "Test string", - }, - fields: "Test string", - }, - updateDimensionGroup: { - dimensionGroup: { - collapsed: true, - depth: 42, - range: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - }, - fields: "Test string", - }, - updateDimensionProperties: { - dataSourceSheetRange: { - columnReferences: [ - { - name: "Test string", - } - ], - sheetId: 42, - }, - fields: "Test string", - properties: { - dataSourceColumnReference: { - name: "Test string", - }, - developerMetadata: [ - { - location: { - dimensionRange: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - locationType: "Test string", - sheetId: 42, - spreadsheet: true, - }, - metadataId: 42, - metadataKey: "Test string", - metadataValue: "Test string", - visibility: "Test string", - } - ], - hiddenByFilter: true, - hiddenByUser: true, - pixelSize: 42, - }, - range: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - }, - updateEmbeddedObjectBorder: { - border: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - fields: "Test string", - objectId: 42, - }, - updateEmbeddedObjectPosition: { - fields: "Test string", - newPosition: { - newSheet: true, - overlayPosition: { - anchorCell: { - columnIndex: 42, - rowIndex: 42, - sheetId: 42, - }, - heightPixels: 42, - offsetXPixels: 42, - offsetYPixels: 42, - widthPixels: 42, - }, - sheetId: 42, - }, - objectId: 42, - }, - updateFilterView: { - fields: "Test string", - filter: { - criteria: { - A: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - } - }, - filterSpecs: [ - { - columnIndex: 42, - dataSourceColumnReference: { - name: "Test string", - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - } - ], - filterViewId: 42, - namedRangeId: "Test string", - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - sortSpecs: [ - { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - dataSourceColumnReference: { - name: "Test string", - }, - dimensionIndex: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - sortOrder: "Test string", - } - ], - title: "Test string", - }, - }, - updateNamedRange: { - fields: "Test string", - namedRange: { - name: "Test string", - namedRangeId: "Test string", - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - }, - }, - updateProtectedRange: { - fields: "Test string", - protectedRange: { - description: "Test string", - editors: { - domainUsersCanEdit: true, - groups: [ - "Test string" - ], - users: [ - "Test string" - ], - }, - namedRangeId: "Test string", - protectedRangeId: 42, - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - requestingUserCanEdit: true, - unprotectedRanges: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - warningOnly: true, - }, - }, - updateSheetProperties: { - fields: "Test string", - properties: { - dataSourceSheetProperties: { - columns: [ - { - formula: "Test string", - reference: { - name: "Test string", - }, - } - ], - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - }, - gridProperties: { - columnCount: 42, - columnGroupControlAfter: true, - frozenColumnCount: 42, - frozenRowCount: 42, - hideGridlines: true, - rowCount: 42, - rowGroupControlAfter: true, - }, - hidden: true, - index: 42, - rightToLeft: true, - sheetId: 42, - sheetType: "Test string", - tabColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - tabColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - title: "Test string", - }, - }, - updateSlicerSpec: { - fields: "Test string", - slicerId: 42, - spec: { - applyToPivotTables: true, - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - columnIndex: 42, - dataRange: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - horizontalAlignment: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - title: "Test string", - }, - }, - updateSpreadsheetProperties: { - fields: "Test string", - properties: { - autoRecalc: "Test string", - defaultFormat: { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - borders: { - bottom: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - left: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - right: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - top: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - }, - horizontalAlignment: "Test string", - hyperlinkDisplayType: "Test string", - numberFormat: { - pattern: "Test string", - type: "Test string", - }, - padding: { - bottom: 42, - left: 42, - right: 42, - top: 42, - }, - textDirection: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - textRotation: { - angle: 42, - vertical: true, - }, - verticalAlignment: "Test string", - wrapStrategy: "Test string", - }, - iterativeCalculationSettings: { - convergenceThreshold: 42, - maxIterations: 42, - }, - locale: "Test string", - spreadsheetTheme: { - primaryFontFamily: "Test string", - themeColors: [ - { - color: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - colorType: "Test string", - } - ], - }, - timeZone: "Test string", - title: "Test string", - }, - }, - } - ], - responseIncludeGridData: true, - responseRanges: [ - "Test string" - ], - }); - /** Creates a spreadsheet, returning the newly created spreadsheet. */ - await gapi.client.sheets.spreadsheets.create({ - }, { - dataSources: [ - { - calculatedColumns: [ - { - formula: "Test string", - reference: { - name: "Test string", - }, - } - ], - dataSourceId: "Test string", - sheetId: 42, - spec: { - bigQuery: { - projectId: "Test string", - querySpec: { - rawQuery: "Test string", - }, - tableSpec: { - datasetId: "Test string", - tableId: "Test string", - tableProjectId: "Test string", - }, - }, - parameters: [ - { - name: "Test string", - namedRangeId: "Test string", - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - } - ], - }, - } - ], - dataSourceSchedules: [ - { - dailySchedule: { - startTime: { - hours: 42, - minutes: 42, - nanos: 42, - seconds: 42, - }, - }, - enabled: true, - monthlySchedule: { - daysOfMonth: [ - 42 - ], - startTime: { - hours: 42, - minutes: 42, - nanos: 42, - seconds: 42, - }, - }, - nextRun: { - endTime: "Test string", - startTime: "Test string", - }, - refreshScope: "Test string", - weeklySchedule: { - daysOfWeek: [ - "Test string" - ], - startTime: { - hours: 42, - minutes: 42, - nanos: 42, - seconds: 42, - }, - }, - } - ], - developerMetadata: [ - { - location: { - dimensionRange: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - locationType: "Test string", - sheetId: 42, - spreadsheet: true, - }, - metadataId: 42, - metadataKey: "Test string", - metadataValue: "Test string", - visibility: "Test string", - } - ], - namedRanges: [ - { - name: "Test string", - namedRangeId: "Test string", - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - } - ], - properties: { - autoRecalc: "Test string", - defaultFormat: { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - borders: { - bottom: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - left: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - right: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - top: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - }, - horizontalAlignment: "Test string", - hyperlinkDisplayType: "Test string", - numberFormat: { - pattern: "Test string", - type: "Test string", - }, - padding: { - bottom: 42, - left: 42, - right: 42, - top: 42, - }, - textDirection: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - textRotation: { - angle: 42, - vertical: true, - }, - verticalAlignment: "Test string", - wrapStrategy: "Test string", - }, - iterativeCalculationSettings: { - convergenceThreshold: 42, - maxIterations: 42, - }, - locale: "Test string", - spreadsheetTheme: { - primaryFontFamily: "Test string", - themeColors: [ - { - color: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - colorType: "Test string", - } - ], - }, - timeZone: "Test string", - title: "Test string", - }, - sheets: [ - { - bandedRanges: [ - { - bandedRangeId: 42, - columnProperties: { - firstBandColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - firstBandColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - footerColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - footerColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - headerColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - headerColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - secondBandColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - secondBandColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - rowProperties: { - firstBandColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - firstBandColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - footerColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - footerColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - headerColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - headerColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - secondBandColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - secondBandColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - } - ], - basicFilter: { - criteria: { - A: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - } - }, - filterSpecs: [ - { - columnIndex: 42, - dataSourceColumnReference: { - name: "Test string", - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - } - ], - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - sortSpecs: [ - { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - dataSourceColumnReference: { - name: "Test string", - }, - dimensionIndex: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - sortOrder: "Test string", - } - ], - }, - charts: [ - { - border: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - chartId: 42, - position: { - newSheet: true, - overlayPosition: { - anchorCell: { - columnIndex: 42, - rowIndex: 42, - sheetId: 42, - }, - heightPixels: 42, - offsetXPixels: 42, - offsetYPixels: 42, - widthPixels: 42, - }, - sheetId: 42, - }, - spec: { - altText: "Test string", - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - basicChart: { - axis: [ - { - format: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - position: "Test string", - title: "Test string", - titleTextPosition: { - horizontalAlignment: "Test string", - }, - viewWindowOptions: { - viewWindowMax: 42, - viewWindowMin: 42, - viewWindowMode: "Test string", - }, - } - ], - chartType: "Test string", - compareMode: "Test string", - domains: [ - { - domain: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - reversed: true, - } - ], - headerCount: 42, - interpolateNulls: true, - legendPosition: "Test string", - lineSmoothing: true, - series: [ - { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - dataLabel: { - customLabelData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - placement: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - type: "Test string", - }, - lineStyle: { - type: "Test string", - width: 42, - }, - pointStyle: { - shape: "Test string", - size: 42, - }, - series: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - styleOverrides: [ - { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - index: 42, - pointStyle: { - shape: "Test string", - size: 42, - }, - } - ], - targetAxis: "Test string", - type: "Test string", - } - ], - stackedType: "Test string", - threeDimensional: true, - totalDataLabel: { - customLabelData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - placement: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - type: "Test string", - }, - }, - bubbleChart: { - bubbleBorderColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - bubbleBorderColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - bubbleLabels: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - bubbleMaxRadiusSize: 42, - bubbleMinRadiusSize: 42, - bubbleOpacity: 42, - bubbleSizes: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - bubbleTextStyle: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - domain: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - groupIds: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - legendPosition: "Test string", - series: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - candlestickChart: { - data: [ - { - closeSeries: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - highSeries: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - lowSeries: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - openSeries: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - } - ], - domain: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - reversed: true, - }, - }, - dataSourceChartProperties: { - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - }, - filterSpecs: [ - { - columnIndex: 42, - dataSourceColumnReference: { - name: "Test string", - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - } - ], - fontName: "Test string", - hiddenDimensionStrategy: "Test string", - histogramChart: { - bucketSize: 42, - legendPosition: "Test string", - outlierPercentile: 42, - series: [ - { - barColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - barColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - } - ], - showItemDividers: true, - }, - maximized: true, - orgChart: { - labels: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - nodeColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - nodeColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - nodeSize: "Test string", - parentLabels: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - selectedNodeColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - selectedNodeColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - tooltips: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - }, - pieChart: { - domain: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - legendPosition: "Test string", - pieHole: 42, - series: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - threeDimensional: true, - }, - scorecardChart: { - aggregateType: "Test string", - baselineValueData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - baselineValueFormat: { - comparisonType: "Test string", - description: "Test string", - negativeColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - negativeColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - position: { - horizontalAlignment: "Test string", - }, - positiveColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - positiveColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - }, - customFormatOptions: { - prefix: "Test string", - suffix: "Test string", - }, - keyValueData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - keyValueFormat: { - position: { - horizontalAlignment: "Test string", - }, - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - }, - numberFormatSource: "Test string", - scaleFactor: 42, - }, - sortSpecs: [ - { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - dataSourceColumnReference: { - name: "Test string", - }, - dimensionIndex: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - sortOrder: "Test string", - } - ], - subtitle: "Test string", - subtitleTextFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - subtitleTextPosition: { - horizontalAlignment: "Test string", - }, - title: "Test string", - titleTextFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - titleTextPosition: { - horizontalAlignment: "Test string", - }, - treemapChart: { - colorData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - colorScale: { - maxValueColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - maxValueColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - midValueColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - midValueColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - minValueColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - minValueColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - noDataColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - noDataColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - headerColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - headerColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - hideTooltips: true, - hintedLevels: 42, - labels: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - levels: 42, - maxValue: 42, - minValue: 42, - parentLabels: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - sizeData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - }, - waterfallChart: { - connectorLineStyle: { - type: "Test string", - width: 42, - }, - domain: { - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - reversed: true, - }, - firstValueIsTotal: true, - hideConnectorLines: true, - series: [ - { - customSubtotals: [ - { - dataIsSubtotal: true, - label: "Test string", - subtotalIndex: 42, - } - ], - data: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - dataLabel: { - customLabelData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - placement: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - type: "Test string", - }, - hideTrailingSubtotal: true, - negativeColumnsStyle: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - label: "Test string", - }, - positiveColumnsStyle: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - label: "Test string", - }, - subtotalColumnsStyle: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - label: "Test string", - }, - } - ], - stackedType: "Test string", - totalDataLabel: { - customLabelData: { - aggregateType: "Test string", - columnReference: { - name: "Test string", - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - intervalSize: 42, - maxValue: 42, - minValue: 42, - }, - }, - sourceRange: { - sources: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - }, - }, - placement: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - type: "Test string", - }, - }, - }, - } - ], - columnGroups: [ - { - collapsed: true, - depth: 42, - range: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - } - ], - conditionalFormats: [ - { - booleanRule: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - format: { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - borders: { - bottom: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - left: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - right: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - top: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - }, - horizontalAlignment: "Test string", - hyperlinkDisplayType: "Test string", - numberFormat: { - pattern: "Test string", - type: "Test string", - }, - padding: { - bottom: 42, - left: 42, - right: 42, - top: 42, - }, - textDirection: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - textRotation: { - angle: 42, - vertical: true, - }, - verticalAlignment: "Test string", - wrapStrategy: "Test string", - }, - }, - gradientRule: { - maxpoint: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - type: "Test string", - value: "Test string", - }, - midpoint: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - type: "Test string", - value: "Test string", - }, - minpoint: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - type: "Test string", - value: "Test string", - }, - }, - ranges: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - } - ], - data: [ - { - columnMetadata: [ - { - dataSourceColumnReference: { - name: "Test string", - }, - developerMetadata: [ - { - location: { - dimensionRange: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - locationType: "Test string", - sheetId: 42, - spreadsheet: true, - }, - metadataId: 42, - metadataKey: "Test string", - metadataValue: "Test string", - visibility: "Test string", - } - ], - hiddenByFilter: true, - hiddenByUser: true, - pixelSize: 42, - } - ], - rowData: [ - { - values: [ - { - dataSourceFormula: { - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - }, - dataSourceTable: { - columns: [ - { - name: "Test string", - } - ], - columnSelectionType: "Test string", - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - filterSpecs: [ - { - columnIndex: 42, - dataSourceColumnReference: { - name: "Test string", - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - } - ], - rowLimit: 42, - sortSpecs: [ - { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - dataSourceColumnReference: { - name: "Test string", - }, - dimensionIndex: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - sortOrder: "Test string", - } - ], - }, - dataValidation: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - inputMessage: "Test string", - showCustomUi: true, - strict: true, - }, - effectiveFormat: { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - borders: { - bottom: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - left: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - right: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - top: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - }, - horizontalAlignment: "Test string", - hyperlinkDisplayType: "Test string", - numberFormat: { - pattern: "Test string", - type: "Test string", - }, - padding: { - bottom: 42, - left: 42, - right: 42, - top: 42, - }, - textDirection: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - textRotation: { - angle: 42, - vertical: true, - }, - verticalAlignment: "Test string", - wrapStrategy: "Test string", - }, - effectiveValue: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - formattedValue: "Test string", - hyperlink: "Test string", - note: "Test string", - pivotTable: { - columns: [ - { - dataSourceColumnReference: { - name: "Test string", - }, - groupLimit: { - applyOrder: 42, - countLimit: 42, - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - end: 42, - interval: 42, - start: 42, - }, - manualRule: { - groups: [ - { - groupName: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - items: [ - { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - } - ], - } - ], - }, - }, - label: "Test string", - repeatHeadings: true, - showTotals: true, - sortOrder: "Test string", - sourceColumnOffset: 42, - valueBucket: { - buckets: [ - { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - } - ], - valuesIndex: 42, - }, - valueMetadata: [ - { - collapsed: true, - value: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - } - ], - } - ], - criteria: { - A: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - visibleByDefault: true, - visibleValues: [ - "Test string" - ], - } - }, - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - filterSpecs: [ - { - columnOffsetIndex: 42, - dataSourceColumnReference: { - name: "Test string", - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - visibleByDefault: true, - visibleValues: [ - "Test string" - ], - }, - } - ], - rows: [ - { - dataSourceColumnReference: { - name: "Test string", - }, - groupLimit: { - applyOrder: 42, - countLimit: 42, - }, - groupRule: { - dateTimeRule: { - type: "Test string", - }, - histogramRule: { - end: 42, - interval: 42, - start: 42, - }, - manualRule: { - groups: [ - { - groupName: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - items: [ - { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - } - ], - } - ], - }, - }, - label: "Test string", - repeatHeadings: true, - showTotals: true, - sortOrder: "Test string", - sourceColumnOffset: 42, - valueBucket: { - buckets: [ - { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - } - ], - valuesIndex: 42, - }, - valueMetadata: [ - { - collapsed: true, - value: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - } - ], - } - ], - source: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - valueLayout: "Test string", - values: [ - { - calculatedDisplayType: "Test string", - dataSourceColumnReference: { - name: "Test string", - }, - formula: "Test string", - name: "Test string", - sourceColumnOffset: 42, - summarizeFunction: "Test string", - } - ], - }, - textFormatRuns: [ - { - format: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - startIndex: 42, - } - ], - userEnteredFormat: { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - borders: { - bottom: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - left: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - right: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - top: { - color: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - colorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - style: "Test string", - width: 42, - }, - }, - horizontalAlignment: "Test string", - hyperlinkDisplayType: "Test string", - numberFormat: { - pattern: "Test string", - type: "Test string", - }, - padding: { - bottom: 42, - left: 42, - right: 42, - top: 42, - }, - textDirection: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - textRotation: { - angle: 42, - vertical: true, - }, - verticalAlignment: "Test string", - wrapStrategy: "Test string", - }, - userEnteredValue: { - boolValue: true, - errorValue: { - message: "Test string", - type: "Test string", - }, - formulaValue: "Test string", - numberValue: 42, - stringValue: "Test string", - }, - } - ], - } - ], - rowMetadata: [ - { - dataSourceColumnReference: { - name: "Test string", - }, - developerMetadata: [ - { - location: { - dimensionRange: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - locationType: "Test string", - sheetId: 42, - spreadsheet: true, - }, - metadataId: 42, - metadataKey: "Test string", - metadataValue: "Test string", - visibility: "Test string", - } - ], - hiddenByFilter: true, - hiddenByUser: true, - pixelSize: 42, - } - ], - startColumn: 42, - startRow: 42, - } - ], - developerMetadata: [ - { - location: { - dimensionRange: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - locationType: "Test string", - sheetId: 42, - spreadsheet: true, - }, - metadataId: 42, - metadataKey: "Test string", - metadataValue: "Test string", - visibility: "Test string", - } - ], - filterViews: [ - { - criteria: { - A: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - } - }, - filterSpecs: [ - { - columnIndex: 42, - dataSourceColumnReference: { - name: "Test string", - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - } - ], - filterViewId: 42, - namedRangeId: "Test string", - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - sortSpecs: [ - { - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - dataSourceColumnReference: { - name: "Test string", - }, - dimensionIndex: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - sortOrder: "Test string", - } - ], - title: "Test string", - } - ], - merges: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - properties: { - dataSourceSheetProperties: { - columns: [ - { - formula: "Test string", - reference: { - name: "Test string", - }, - } - ], - dataExecutionStatus: { - errorCode: "Test string", - errorMessage: "Test string", - lastRefreshTime: "Test string", - state: "Test string", - }, - dataSourceId: "Test string", - }, - gridProperties: { - columnCount: 42, - columnGroupControlAfter: true, - frozenColumnCount: 42, - frozenRowCount: 42, - hideGridlines: true, - rowCount: 42, - rowGroupControlAfter: true, - }, - hidden: true, - index: 42, - rightToLeft: true, - sheetId: 42, - sheetType: "Test string", - tabColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - tabColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - title: "Test string", - }, - protectedRanges: [ - { - description: "Test string", - editors: { - domainUsersCanEdit: true, - groups: [ - "Test string" - ], - users: [ - "Test string" - ], - }, - namedRangeId: "Test string", - protectedRangeId: 42, - range: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - requestingUserCanEdit: true, - unprotectedRanges: [ - { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - } - ], - warningOnly: true, - } - ], - rowGroups: [ - { - collapsed: true, - depth: 42, - range: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - } - ], - slicers: [ - { - position: { - newSheet: true, - overlayPosition: { - anchorCell: { - columnIndex: 42, - rowIndex: 42, - sheetId: 42, - }, - heightPixels: 42, - offsetXPixels: 42, - offsetYPixels: 42, - widthPixels: 42, - }, - sheetId: 42, - }, - slicerId: 42, - spec: { - applyToPivotTables: true, - backgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - backgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - columnIndex: 42, - dataRange: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - filterCriteria: { - condition: { - type: "Test string", - values: [ - { - relativeDate: "Test string", - userEnteredValue: "Test string", - } - ], - }, - hiddenValues: [ - "Test string" - ], - visibleBackgroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleBackgroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - visibleForegroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - visibleForegroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - }, - horizontalAlignment: "Test string", - textFormat: { - bold: true, - fontFamily: "Test string", - fontSize: 42, - foregroundColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - foregroundColorStyle: { - rgbColor: { - alpha: 42, - blue: 42, - green: 42, - red: 42, - }, - themeColor: "Test string", - }, - italic: true, - link: { - uri: "Test string", - }, - strikethrough: true, - underline: true, - }, - title: "Test string", - }, - } - ], - } - ], - spreadsheetId: "Test string", - spreadsheetUrl: "Test string", - }); - /** - * Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. By default, data within grids is not returned. You can include grid data in one of 2 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, as a best practice, retrieve only the specific spreadsheet fields that you want. To retrieve only subsets of spreadsheet data, use the - * ranges URL parameter. Ranges are specified using [A1 notation](/sheets/api/guides/concepts#cell). You can define a single cell (for example, `A1`) or multiple cells (for example, - * `A1:D5`). You can also get cells from other sheets within the same spreadsheet (for example, `Sheet2!A1:C4`) or retrieve multiple ranges at once (for example, - * `?ranges=A1:D5&ranges=Sheet2!A1:C4`). Limiting the range returns only the portions of the spreadsheet that intersect the requested ranges. - */ - await gapi.client.sheets.spreadsheets.get({ - includeGridData: true, - ranges: "Test string", - spreadsheetId: "Test string", - }); - /** - * 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 returns the portions of the spreadsheet that intersect - * ranges matched by any of the filters. By default, data within grids is not returned. You can include grid data one of 2 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, as a best - * practice, retrieve only the specific spreadsheet fields that you want. - */ - await gapi.client.sheets.spreadsheets.getByDataFilter({ - spreadsheetId: "Test string", - }, { - dataFilters: [ - { - a1Range: "Test string", - developerMetadataLookup: { - locationMatchingStrategy: "Test string", - locationType: "Test string", - metadataId: 42, - metadataKey: "Test string", - metadataLocation: { - dimensionRange: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - locationType: "Test string", - sheetId: 42, - spreadsheet: true, - }, - metadataValue: "Test string", - visibility: "Test string", - }, - gridRange: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - } - ], - includeGridData: true, - }); - /** Returns the developer metadata with the specified ID. The caller must specify the spreadsheet ID and the developer metadata's unique metadataId. */ - await gapi.client.sheets.spreadsheets.developerMetadata.get({ - metadataId: 42, - spreadsheetId: "Test string", - }); - /** - * 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. - */ - await gapi.client.sheets.spreadsheets.developerMetadata.search({ - spreadsheetId: "Test string", - }, { - dataFilters: [ - { - a1Range: "Test string", - developerMetadataLookup: { - locationMatchingStrategy: "Test string", - locationType: "Test string", - metadataId: 42, - metadataKey: "Test string", - metadataLocation: { - dimensionRange: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - locationType: "Test string", - sheetId: 42, - spreadsheet: true, - }, - metadataValue: "Test string", - visibility: "Test string", - }, - gridRange: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - } - ], - }); - /** Copies a single sheet from a spreadsheet to another spreadsheet. Returns the properties of the newly created sheet. */ - await gapi.client.sheets.spreadsheets.sheets.copyTo({ - sheetId: 42, - spreadsheetId: "Test string", - }, { - destinationSpreadsheetId: "Test string", - }); - /** - * 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. - */ - await gapi.client.sheets.spreadsheets.values.append({ - includeValuesInResponse: true, - insertDataOption: "Test string", - range: "Test string", - responseDateTimeRenderOption: "Test string", - responseValueRenderOption: "Test string", - spreadsheetId: "Test string", - valueInputOption: "Test string", - }, { - majorDimension: "Test string", - range: "Test string", - values: [ - [ - 42 - ] - ], - }); - /** - * 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 and data validation) are kept. - */ - await gapi.client.sheets.spreadsheets.values.batchClear({ - spreadsheetId: "Test string", - }, { - ranges: [ - "Test string" - ], - }); - /** - * 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. - */ - await gapi.client.sheets.spreadsheets.values.batchClearByDataFilter({ - spreadsheetId: "Test string", - }, { - dataFilters: [ - { - a1Range: "Test string", - developerMetadataLookup: { - locationMatchingStrategy: "Test string", - locationType: "Test string", - metadataId: 42, - metadataKey: "Test string", - metadataLocation: { - dimensionRange: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - locationType: "Test string", - sheetId: 42, - spreadsheet: true, - }, - metadataValue: "Test string", - visibility: "Test string", - }, - gridRange: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - } - ], - }); - /** Returns one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges. */ - await gapi.client.sheets.spreadsheets.values.batchGet({ - dateTimeRenderOption: "Test string", - majorDimension: "Test string", - ranges: "Test string", - spreadsheetId: "Test string", - valueRenderOption: "Test string", - }); - /** - * 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. - */ - await gapi.client.sheets.spreadsheets.values.batchGetByDataFilter({ - spreadsheetId: "Test string", - }, { - dataFilters: [ - { - a1Range: "Test string", - developerMetadataLookup: { - locationMatchingStrategy: "Test string", - locationType: "Test string", - metadataId: 42, - metadataKey: "Test string", - metadataLocation: { - dimensionRange: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - locationType: "Test string", - sheetId: 42, - spreadsheet: true, - }, - metadataValue: "Test string", - visibility: "Test string", - }, - gridRange: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - } - ], - dateTimeRenderOption: "Test string", - majorDimension: "Test string", - valueRenderOption: "Test string", - }); - /** Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more ValueRanges. */ - await gapi.client.sheets.spreadsheets.values.batchUpdate({ - spreadsheetId: "Test string", - }, { - data: [ - { - majorDimension: "Test string", - range: "Test string", - values: [ - [ - 42 - ] - ], - } - ], - includeValuesInResponse: true, - responseDateTimeRenderOption: "Test string", - responseValueRenderOption: "Test string", - valueInputOption: "Test string", - }); - /** Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more DataFilterValueRanges. */ - await gapi.client.sheets.spreadsheets.values.batchUpdateByDataFilter({ - spreadsheetId: "Test string", - }, { - data: [ - { - dataFilter: { - a1Range: "Test string", - developerMetadataLookup: { - locationMatchingStrategy: "Test string", - locationType: "Test string", - metadataId: 42, - metadataKey: "Test string", - metadataLocation: { - dimensionRange: { - dimension: "Test string", - endIndex: 42, - sheetId: 42, - startIndex: 42, - }, - locationType: "Test string", - sheetId: 42, - spreadsheet: true, - }, - metadataValue: "Test string", - visibility: "Test string", - }, - gridRange: { - endColumnIndex: 42, - endRowIndex: 42, - sheetId: 42, - startColumnIndex: 42, - startRowIndex: 42, - }, - }, - majorDimension: "Test string", - values: [ - [ - 42 - ] - ], - } - ], - includeValuesInResponse: true, - responseDateTimeRenderOption: "Test string", - responseValueRenderOption: "Test string", - valueInputOption: "Test string", - }); - /** - * 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. - */ - await gapi.client.sheets.spreadsheets.values.clear({ - range: "Test string", - spreadsheetId: "Test string", - }, { - }); - /** Returns a range of values from a spreadsheet. The caller must specify the spreadsheet ID and a range. */ - await gapi.client.sheets.spreadsheets.values.get({ - dateTimeRenderOption: "Test string", - majorDimension: "Test string", - range: "Test string", - spreadsheetId: "Test string", - valueRenderOption: "Test string", - }); - /** Sets values in a range of a spreadsheet. The caller must specify the spreadsheet ID, range, and a valueInputOption. */ - await gapi.client.sheets.spreadsheets.values.update({ - includeValuesInResponse: true, - range: "Test string", - responseDateTimeRenderOption: "Test string", - responseValueRenderOption: "Test string", - spreadsheetId: "Test string", - valueInputOption: "Test string", - }, { - majorDimension: "Test string", - range: "Test string", - values: [ - [ - 42 - ] - ], - }); - } -}); diff --git a/test/restDocs/snapshots/gapi.client.sheets-v4/tsconfig.json b/test/restDocs/snapshots/gapi.client.sheets-v4/tsconfig.json deleted file mode 100644 index d5540261de..0000000000 --- a/test/restDocs/snapshots/gapi.client.sheets-v4/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": ["es6", "dom"], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "baseUrl": "../", - "typeRoots": [ - "../" - ], - "types": [], - "noEmit": true, - "forceConsistentCasingInFileNames": true, - "strictFunctionTypes": true - }, - "files": ["index.d.ts", "tests.ts"] -} diff --git a/test/restDocs/snapshots/gapi.client.sheets-v4/tslint.json b/test/restDocs/snapshots/gapi.client.sheets-v4/tslint.json deleted file mode 100644 index 1598764131..0000000000 --- a/test/restDocs/snapshots/gapi.client.sheets-v4/tslint.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "dtslint/dtslint.json", - "rules": { - "no-redundant-jsdoc": false - } -} diff --git a/test/restDocs/snapshots/gapi.client.some-name-v1/.npmrc b/test/restDocs/snapshots/gapi.client.some-name-v1/.npmrc deleted file mode 100644 index 0063b50cfd..0000000000 --- a/test/restDocs/snapshots/gapi.client.some-name-v1/.npmrc +++ /dev/null @@ -1 +0,0 @@ -//registry.npmjs.org/:_authToken=${NPM_PUBLISH_AUTOMATION_TOKEN} diff --git a/test/restDocs/snapshots/gapi.client.some-name-v1/index.d.ts b/test/restDocs/snapshots/gapi.client.some-name-v1/index.d.ts deleted file mode 100644 index e80399d617..0000000000 --- a/test/restDocs/snapshots/gapi.client.some-name-v1/index.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* Type definitions for non-npm package Some Name v1 0.0 */ -// Project: bla -// Definitions by: Maxim Mazurok -// Nick Amoscato -// Declan Vong -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped - -// IMPORTANT -// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. -// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator -// Generated from: http://x.com/ -// Revision: undefined - -/// - -declare namespace gapi.client { - /** Load Some Name v1 */ - function load(urlOrObject: "http://x.com/"): Promise; - /** @deprecated Please load APIs with discovery documents. */ - function load(name: "some-name", version: "v1"): Promise; - /** @deprecated Please load APIs with discovery documents. */ - function load(name: "some-name", version: "v1", callback: () => any): void; - - namespace thirdNamespace { - interface FirstResourceResource { - firstMethod(request?: { - }): Request; - } - - const firstResource: FirstResourceResource; - } -} diff --git a/test/restDocs/snapshots/gapi.client.some-name-v1/package.json b/test/restDocs/snapshots/gapi.client.some-name-v1/package.json deleted file mode 100644 index fbc085cf40..0000000000 --- a/test/restDocs/snapshots/gapi.client.some-name-v1/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@maxim_mazurok/gapi.client.some-name-v1", - "version": "0.0.undefined", - "description": "TypeScript typings for Some Name v1", - "license": "MIT", - "author": { - "email": "maxim@mazurok.com", - "name": "Maxim Mazurok", - "url": "https://maxim.mazurok.com" - }, - "repository": { - "type": "git", - "url": "https://github.com/Maxim-Mazurok/google-api-typings-generator.git" - }, - "types": "index.d.ts", - "dependencies": { - "@types/gapi.client": "*", - "@types/gapi.client.discovery": "*" - } -} diff --git a/test/restDocs/snapshots/gapi.client.some-name-v1/readme.md b/test/restDocs/snapshots/gapi.client.some-name-v1/readme.md deleted file mode 100644 index 98e94d5025..0000000000 --- a/test/restDocs/snapshots/gapi.client.some-name-v1/readme.md +++ /dev/null @@ -1,52 +0,0 @@ -# TypeScript typings for Some Name v1 - -undefined -For detailed description please check [documentation](bla). - -## Installing - -Install typings for Some Name: - -``` -npm install @types/gapi.client.some-name-v1 --save-dev -``` - -## Usage - -You need to initialize Google API client in your code: - -```typescript -gapi.load('client', () => { - // now we can use gapi.client - // ... -}); -``` - -Then load api client wrapper: - -```typescript -gapi.client.load('http://x.com/', () => { - // now we can use: - // gapi.client.thirdNamespace -}); -``` - -```typescript -// Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback-- -gapi.client.load('some-name', 'v1', () => { - // now we can use: - // gapi.client.thirdNamespace -}); -``` - - - -After that you can use Some Name resources: - -```typescript - -/* -undefined -*/ -await gapi.client.thirdNamespace.firstMethod({ }); -``` diff --git a/test/restDocs/snapshots/gapi.client.some-name-v1/tests.ts b/test/restDocs/snapshots/gapi.client.some-name-v1/tests.ts deleted file mode 100644 index e4f2c284aa..0000000000 --- a/test/restDocs/snapshots/gapi.client.some-name-v1/tests.ts +++ /dev/null @@ -1,19 +0,0 @@ -/* This is stub file for gapi.client.some-name-v1 definition tests */ -// IMPORTANT -// This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually. -// In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator - -// Revision: undefined - -gapi.load('client', async () => { - /** now we can use gapi.client */ - - await gapi.client.load('http://x.com/'); - /** now we can use gapi.client.thirdNamespace */ - - run(); - - async function run() { - await gapi.client.thirdNamespace.firstResource.firstMethod(); - } -}); diff --git a/test/restDocs/snapshots/gapi.client.some-name-v1/tsconfig.json b/test/restDocs/snapshots/gapi.client.some-name-v1/tsconfig.json deleted file mode 100644 index d5540261de..0000000000 --- a/test/restDocs/snapshots/gapi.client.some-name-v1/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": ["es6", "dom"], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "baseUrl": "../", - "typeRoots": [ - "../" - ], - "types": [], - "noEmit": true, - "forceConsistentCasingInFileNames": true, - "strictFunctionTypes": true - }, - "files": ["index.d.ts", "tests.ts"] -} diff --git a/test/restDocs/snapshots/gapi.client.some-name-v1/tslint.json b/test/restDocs/snapshots/gapi.client.some-name-v1/tslint.json deleted file mode 100644 index 1598764131..0000000000 --- a/test/restDocs/snapshots/gapi.client.some-name-v1/tslint.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "dtslint/dtslint.json", - "rules": { - "no-redundant-jsdoc": false - } -} diff --git a/test/restDocs/test.spec.ts b/test/restDocs/test.spec.ts index 8a412a002e..74e951266d 100644 --- a/test/restDocs/test.spec.ts +++ b/test/restDocs/test.spec.ts @@ -1,8 +1,4 @@ -// cspell:word colordiff - -import assert from 'node:assert'; -import {execSync, spawnSync} from 'node:child_process'; -import {readFileSync} from 'node:fs'; +import {readdirSync, readFileSync, rmSync} from 'node:fs'; import {dirname, join} from 'node:path'; import {fileURLToPath} from 'node:url'; import {App} from '../../src/app.js'; @@ -11,10 +7,12 @@ import {RestDescription} from '../../src/discovery.js'; import {getPackageName, getPackageNameLegacy} from '../../src/utils.js'; const __dirname = dirname(fileURLToPath(import.meta.url)); +const readFileSyncAsUTF8 = (path: string) => readFileSync(path, 'utf-8'); + let app: App; let dtApp: DtApp; -before(() => { +beforeAll(() => { app = new App({ typesDirectory: join(__dirname, 'results'), maxLineLength: 200, @@ -38,43 +36,21 @@ before(() => { }); const mySnapshotTest = async (name: string, action: () => Promise) => { - const snapshotFolder = `${join(__dirname, 'snapshots', name)}`; const resultFolder = `${join(__dirname, 'results', name)}`; - execSync(`rm -rf ${resultFolder}`); + rmSync(resultFolder, {force: true, recursive: true}); await action(); - const colordiffBinPath = execSync('which colordiff || which diff', { - encoding: 'utf-8', - }).trim(); // recommended `sudo apt install colordiff` - const diffCommand = `${colordiffBinPath} ${snapshotFolder} ${resultFolder}`; - - if (process.argv.includes('--update')) { - console.warn(`updating ${name} snapshot...`); - execSync( - `rm -rf ${snapshotFolder} && mkdir -p ${snapshotFolder} && cp -R ${resultFolder}/. ${snapshotFolder}` - ); - console.warn(`${name} snapshot updated!`); - } else { - try { - execSync(diffCommand); - } catch (e) { - console.error((e as ReturnType).output.toString()); - // exit code 1 when there's some diff - const diff = execSync(`${diffCommand} || print`, { - encoding: 'utf-8', - }); - console.log(diff); - assert.fail('should be no diff between actual and snapshot'); - } - } + readdirSync(resultFolder).forEach(file => { + expect(readFileSyncAsUTF8(join(resultFolder, file))).toMatchSnapshot(); + }); }; ['drive', 'sheets', 'calendar', 'admin'].forEach(apiName => { it(`${apiName} works`, async () => { const restDescription = JSON.parse( - readFileSync(join(__dirname, `${apiName}.json`), 'utf-8') + readFileSyncAsUTF8(join(__dirname, `${apiName}.json`)) ) as RestDescription; const packageName = getPackageName(restDescription); @@ -91,7 +67,7 @@ const mySnapshotTest = async (name: string, action: () => Promise) => { ['drive', 'sheets', 'calendar', 'admin'].forEach(apiName => { it(`${apiName} DT works`, async () => { const restDescription = JSON.parse( - readFileSync(join(__dirname, `${apiName}.json`), 'utf-8') + readFileSyncAsUTF8(join(__dirname, `${apiName}.json`)) ) as RestDescription; const packageName = getPackageName(restDescription); @@ -103,7 +79,7 @@ const mySnapshotTest = async (name: string, action: () => Promise) => { it('sheets - legacy DT works', async () => { const restDescription = JSON.parse( - readFileSync(join(__dirname, 'sheets.json'), 'utf-8') + readFileSyncAsUTF8(join(__dirname, 'sheets.json')) ) as RestDescription; const packageName = getPackageNameLegacy(restDescription); const generateLegacyPackage = true; diff --git a/test/setup.ts b/test/setup.ts deleted file mode 100644 index 829f93eb0e..0000000000 --- a/test/setup.ts +++ /dev/null @@ -1,4 +0,0 @@ -import chai from 'chai'; -import {jestSnapshotPlugin} from 'mocha-chai-jest-snapshot'; - -chai.use(jestSnapshotPlugin()); diff --git a/test/templates.spec.ts b/test/templates.spec.ts index 449430d018..676c5f9aa4 100644 --- a/test/templates.spec.ts +++ b/test/templates.spec.ts @@ -1,14 +1,12 @@ import {readFileSync} from 'node:fs'; import path, {join} from 'node:path'; import doT from 'dot'; -import assert from 'node:assert'; import dedent from 'dedent'; import {fileURLToPath} from 'node:url'; -import {expect} from 'chai'; import {TemplateData} from '../src/template/index.js'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); -before(() => { +beforeAll(() => { doT.templateSettings.strip = false; }); @@ -69,13 +67,13 @@ describe('readme', () => { }; const result = doT.compile(template)(data); - const expect = dedent` + const expected = dedent` gapi.client.load('http://x.com', () => { // now we can use: // gapi.client.admin // gapi.client.directory }); `; - assert.strictEqual(result, expect); + expect(result).toBe(expected); }); }); diff --git a/test/utils.spec.ts b/test/utils.spec.ts index 7f604f5db9..6d961613b8 100644 --- a/test/utils.spec.ts +++ b/test/utils.spec.ts @@ -1,5 +1,4 @@ import _ from 'lodash'; -import assert from 'assert'; import { camelCaseToSnakeCase, checkExists, @@ -32,7 +31,7 @@ describe('parseVersionLegacy', () => { _.forEach(expectations, (expected, given) => { it(`should parse: ${given}`, () => { - assert.deepStrictEqual(parseVersionLegacy(given), expected); + expect(parseVersionLegacy(given)).toStrictEqual(expected); }); }); }); @@ -57,7 +56,7 @@ describe('isLatestOrPreferredVersion', () => { ); // assert - assert.strictEqual(result, isPreferred); + expect(result).toBe(isPreferred); }) ); it('works for extra when only one has a given name', () => { @@ -85,7 +84,7 @@ describe('isLatestOrPreferredVersion', () => { ); // assert - assert.strictEqual(result, true); + expect(result).toBe(true); }); it('works for extra when larger minor', () => { // arrange @@ -115,7 +114,7 @@ describe('isLatestOrPreferredVersion', () => { ); // assert - assert.strictEqual(result, true); + expect(result).toBe(true); }); it('works for extra when larger major', () => { // arrange @@ -145,7 +144,7 @@ describe('isLatestOrPreferredVersion', () => { ); // assert - assert.strictEqual(result, true); + expect(result).toBe(true); }); it('works for extra when smaller minor', () => { // arrange @@ -175,7 +174,7 @@ describe('isLatestOrPreferredVersion', () => { ); // assert - assert.strictEqual(result, false); + expect(result).toBe(false); }); }); @@ -243,7 +242,7 @@ describe('parseVersion', () => { _.forEach(expectations, (expected, given) => { it(`should parse: ${given}`, () => { - assert.strictEqual(parseVersion(given), expected); + expect(parseVersion(given)).toBe(expected); }); }); }); @@ -258,7 +257,7 @@ describe('getResourceTypeName', () => { _.forEach(expectations, (expected, given) => { it(`should convert: ${given}`, () => { - assert.strictEqual(getResourceTypeName(given), expected); + expect(getResourceTypeName(given)).toBe(expected); }); }); }); @@ -269,8 +268,8 @@ describe('sleep', () => { sleep(1); const end = process.hrtime.bigint(); const sleptForNanoseconds = end - start; - assert(900000000 < sleptForNanoseconds); // more than 0.5s - assert(2000000000 > sleptForNanoseconds); // less than 2s + expect(sleptForNanoseconds).toBeGreaterThan(900000000); // more than 0.5s + expect(sleptForNanoseconds).toBeLessThan(2000000000); // less than 2s }); }); @@ -284,7 +283,7 @@ describe('checkExists', () => { const result = checkExists(object.value); // Assert - assert.strictEqual(result, value); + expect(result).toBe(value); }); it('throws when null', () => { @@ -293,8 +292,7 @@ describe('checkExists', () => { const bindCheckExists = () => checkExists(object.value); // Act & Assert - assert.throws( - bindCheckExists, + expect(bindCheckExists).toThrow( new Error('Expected non-null reference, but got null') ); }); @@ -305,8 +303,7 @@ describe('checkExists', () => { const bindCheckExists = () => checkExists(object.value); // Act & Assert - assert.throws( - bindCheckExists, + expect(bindCheckExists).toThrow( new Error('Expected value to be defined, but got undefined') ); }); @@ -325,49 +322,45 @@ describe('getAllNamespaces', () => { }, }); - assert.deepStrictEqual(result, ['firstNamespace', 'secondNamespace']); + expect(result).toStrictEqual(['firstNamespace', 'secondNamespace']); }); it('throws when no dots in ID', () => { - assert.throws( - () => - getAllNamespaces({ - methods: { - firstMethod: { - id: 'firstNamespaceFirstMethod', - }, + expect(() => + getAllNamespaces({ + methods: { + firstMethod: { + id: 'firstNamespaceFirstMethod', }, - }), + }, + }) + ).toThrow( new Error('Malformed method ID: firstNamespaceFirstMethod (no dots)') ); }); it('throws when namespace is empty', () => { - assert.throws( - () => - getAllNamespaces({ - methods: { - firstMethod: { - id: '.firstMethod', - }, + expect(() => + getAllNamespaces({ + methods: { + firstMethod: { + id: '.firstMethod', }, - }), - new Error("Can't get namespace from .firstMethod") - ); + }, + }) + ).toThrow(new Error("Can't get namespace from .firstMethod")); }); it('throws when no id', () => { - assert.throws( - () => - getAllNamespaces({ - methods: { - firstMethod: { - description: 'no id :(', - }, + expect(() => + getAllNamespaces({ + methods: { + firstMethod: { + description: 'no id :(', }, - }), - new Error('Method firstMethod has no ID') - ); + }, + }) + ).toThrow(new Error('Method firstMethod has no ID')); }); it('works deep', () => { @@ -400,36 +393,31 @@ describe('getAllNamespaces', () => { }, }); - assert.deepStrictEqual(result, ['a', 'b', 'd', 'f']); + expect(result).toStrictEqual(['a', 'b', 'd', 'f']); }); }); describe('getPackageName', () => { it('works when id exists', () => { - assert.strictEqual( - getPackageName({id: 'something'}), - 'gapi.client.something' - ); + expect(getPackageName({id: 'something'})).toBe('gapi.client.something'); }); it('replaces ":" with "-"', () => { - assert.strictEqual(getPackageName({id: 'some:v1'}), 'gapi.client.some-v1'); + expect(getPackageName({id: 'some:v1'})).toBe('gapi.client.some-v1'); }); it('transforms "gamesConfiguration" to "games_configuration"', () => { - assert.strictEqual(getPackageName({id: 'some:v1'}), 'gapi.client.some-v1'); + expect(getPackageName({id: 'some:v1'})).toBe('gapi.client.some-v1'); }); it('throws when id does not exist', () => { - assert.throws( - () => getPackageName({description: 'oops'}), + expect(() => getPackageName({description: 'oops'})).toThrow( new Error('Expected value to be defined, but got undefined') ); }); it('throws when id is null', () => { - assert.throws( - () => getPackageName({id: null as unknown as string}), + expect(() => getPackageName({id: null as unknown as string})).toThrow( new Error('Expected non-null reference, but got null') ); }); @@ -438,8 +426,7 @@ describe('getPackageName', () => { it(`throws when id is weird: "${id}"`, () => { const originalConsoleError = console.error; // TODO: properly mock/spy console.error = () => {}; - assert.throws( - () => getPackageName({id}), + expect(() => getPackageName({id})).toThrow( new Error(`"gapi.client.${id}" is not a valid npm package name`) ); console.error = originalConsoleError; @@ -449,40 +436,35 @@ describe('getPackageName', () => { describe('getPackageNameLegacy', () => { it('works', () => { - assert.strictEqual( - getPackageNameLegacy({name: 'test'}), - 'gapi.client.test' - ); - assert.strictEqual( - getPackageNameLegacy({name: 'youtubeAnalytics'}), - 'gapi.client.youtubeanalytics' // cspell:words youtubeanalytics + expect(getPackageNameLegacy({name: 'test'})).toBe('gapi.client.test'); + expect(getPackageNameLegacy({name: 'youtubeAnalytics'})).toBe( + // cspell:words youtubeanalytics + 'gapi.client.youtubeanalytics' ); }); }); describe('getApiName', () => { it('works when id exists', () => { - assert.strictEqual(getApiName({id: 'something'}), 'something'); + expect(getApiName({id: 'something'})).toBe('something'); }); it('replaces ":" with "-"', () => { - assert.strictEqual(getApiName({id: 'some:v1'}), 'some-v1'); + expect(getApiName({id: 'some:v1'})).toBe('some-v1'); }); it('transforms "gamesConfiguration" to "games_configuration"', () => { - assert.strictEqual(getApiName({id: 'some:v1'}), 'some-v1'); + expect(getApiName({id: 'some:v1'})).toBe('some-v1'); }); it('throws when id does not exist', () => { - assert.throws( - () => getApiName({description: 'oops'}), + expect(() => getApiName({description: 'oops'})).toThrow( new Error('Expected value to be defined, but got undefined') ); }); it('throws when id is null', () => { - assert.throws( - () => getApiName({id: null as unknown as string}), + expect(() => getApiName({id: null as unknown as string})).toThrow( new Error('Expected non-null reference, but got null') ); }); @@ -509,7 +491,7 @@ describe('camelCaseToSnakeCase', () => { ['UserAPI20Endpoint', 'user_api20_endpoint'], ].map(([from, to]) => { it(`transforms "${from}" to "${to}"`, () => { - assert.strictEqual(camelCaseToSnakeCase(from), to); + expect(camelCaseToSnakeCase(from)).toBe(to); }); }); }); diff --git a/tsconfig.json b/tsconfig.json index 2642cc808f..1b456d0ed4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,6 +9,6 @@ "module": "ES2022", "moduleResolution": "node" }, - "include": ["bin/**/*", "src/**/*", "test/**/*"], - "exclude": ["test/restDocs/results", "test/restDocs/snapshots"] + "include": ["bin/**/*", "src/**/*", "test/**/*", "jest.*.config.ts"], + "exclude": ["test/restDocs/results"] }