Compare commits
194 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4095037f25 | ||
|
|
7091480c55 | ||
|
|
b6b360de10 | ||
|
|
d6ba3c5d48 | ||
|
|
5de8b066e7 | ||
|
|
9962363f4c | ||
|
|
1c0a9a1849 | ||
|
|
a871b03550 | ||
|
|
5e6e9fcc2f | ||
|
|
f130ced71c | ||
|
|
d7d4c26780 | ||
|
|
7b382794e2 | ||
|
|
b6be7f1218 | ||
|
|
ca7ee35993 | ||
|
|
46192ae754 | ||
|
|
f5b0141763 | ||
|
|
c903112451 | ||
|
|
3860f07cab | ||
|
|
61dce39f5a | ||
|
|
c4be667567 | ||
|
|
2e4aee944c | ||
|
|
fb9ca4c021 | ||
|
|
f7c3484438 | ||
|
|
da41fda4bb | ||
|
|
4d6ec69eba | ||
|
|
d247af6619 | ||
|
|
2879da5ca5 | ||
|
|
c057dddb25 | ||
|
|
453f7fa5a4 | ||
|
|
0ac6a07c5f | ||
|
|
8fc8a79e26 | ||
|
|
3088c73e2b | ||
|
|
7305bdaec4 | ||
|
|
f2c3320f0e | ||
|
|
6816d2bd78 | ||
|
|
269318f7ef | ||
|
|
534eb3a6f8 | ||
|
|
678bbe3142 | ||
|
|
84492049e8 | ||
|
|
7d31239e64 | ||
|
|
b2e0291a95 | ||
|
|
98ce3c74e6 | ||
|
|
d1b1550ce5 | ||
|
|
4f603888b9 | ||
|
|
5955953b4a | ||
|
|
0e0eb7f237 | ||
|
|
e9e2a0b8b4 | ||
|
|
1305743479 | ||
|
|
7e49eb85fb | ||
|
|
107b3171f2 | ||
|
|
8288360cc4 | ||
|
|
0d544660e0 | ||
|
|
6cf8f9ff35 | ||
|
|
3bcc2ce334 | ||
|
|
9db16c1f26 | ||
|
|
968f2d11f1 | ||
|
|
d59411c191 | ||
|
|
032b625ed1 | ||
|
|
e7f65f45f2 | ||
|
|
d49c1c9c2b | ||
|
|
f568ff82d8 | ||
|
|
e8dc0d15b7 | ||
|
|
fbb701d49c | ||
|
|
f49bfbc91b | ||
|
|
7496d09eb9 | ||
|
|
8f33e1c4c0 | ||
|
|
9a55b0275d | ||
|
|
f0d86f8acb | ||
|
|
690e3c582c | ||
|
|
62a0cb4dc9 | ||
|
|
65a4a56fd7 | ||
|
|
efb890697c | ||
|
|
ea80202cf7 | ||
|
|
14554f0d11 | ||
|
|
5f003d996f | ||
|
|
3dfc9ddf92 | ||
|
|
6d710c7144 | ||
|
|
5136a8b54c | ||
|
|
0ad7810ba0 | ||
|
|
76c80943ba | ||
|
|
b02b41815d | ||
|
|
d6b5489f93 | ||
|
|
d733cba35a | ||
|
|
f73d81bc13 | ||
|
|
c98eaaf5a1 | ||
|
|
283ffd7af6 | ||
|
|
21b650ba49 | ||
|
|
4763685237 | ||
|
|
e46521cafc | ||
|
|
d60b094e9b | ||
|
|
12ee13240a | ||
|
|
c70d68f889 | ||
|
|
47687ff6b2 | ||
|
|
0f10f44755 | ||
|
|
e0bdfc8b21 | ||
|
|
b83279c24c | ||
|
|
ef4ab4a59f | ||
|
|
452bd6a0cb | ||
|
|
ebf47224b7 | ||
|
|
dd697b337d | ||
|
|
1bcda64a1b | ||
|
|
1d1e21b579 | ||
|
|
b519d51052 | ||
|
|
19fab3fc9c | ||
|
|
9680b1e2cf | ||
|
|
aea772d631 | ||
|
|
abdd9af931 | ||
|
|
e95650da89 | ||
|
|
f934dea6ea | ||
|
|
8f7861deac | ||
|
|
e3218ade02 | ||
|
|
8eb67d58b3 | ||
|
|
0258b1727a | ||
|
|
d3e1675fc5 | ||
|
|
3212b06d49 | ||
|
|
35236a6107 | ||
|
|
18128d700d | ||
|
|
f550002d33 | ||
|
|
0ad2a351f8 | ||
|
|
dee02796c9 | ||
|
|
ddb9a806cc | ||
|
|
ab374e362a | ||
|
|
fc548be2c1 | ||
|
|
3fa0deed71 | ||
|
|
ff848b5903 | ||
|
|
eda25f72c1 | ||
|
|
f3d36c1b86 | ||
|
|
301ce1cf87 | ||
|
|
21e6ba92c2 | ||
|
|
264c34af97 | ||
|
|
923272f989 | ||
|
|
567c1be9fb | ||
|
|
3d2d791f18 | ||
|
|
f6e7b56946 | ||
|
|
2893659983 | ||
|
|
f220f6486a | ||
|
|
f94a9d0d58 | ||
|
|
9bcd7cdd80 | ||
|
|
5e1978e29f | ||
|
|
e4614582cd | ||
|
|
0fbc3d1cb6 | ||
|
|
3a70bea70d | ||
|
|
ea84e60fa0 | ||
|
|
10ac5fdfab | ||
|
|
1c621da4c7 | ||
|
|
6e5fc9c495 | ||
|
|
e3daec38c6 | ||
|
|
11636f8fc3 | ||
|
|
8c08d5117b | ||
|
|
fa62ec1f34 | ||
|
|
dac1970c43 | ||
|
|
e27a57715c | ||
|
|
e6ca724571 | ||
|
|
57d2ceec9d | ||
|
|
d87855cf1f | ||
|
|
1656a9c285 | ||
|
|
89a845d994 | ||
|
|
80901c9a7b | ||
|
|
0ace033a6f | ||
|
|
df5df38a55 | ||
|
|
4199cec393 | ||
|
|
9b296c9f42 | ||
|
|
dbb40d820c | ||
|
|
2ca6e7ae64 | ||
|
|
d7d13c7218 | ||
|
|
485e185270 | ||
|
|
8420d9f04e | ||
|
|
9a7810cbee | ||
|
|
0fd3b25ccd | ||
|
|
921e546fd7 | ||
|
|
5fe72d318b | ||
|
|
5105694fb3 | ||
|
|
53cb97af9b | ||
|
|
a7c4a259ad | ||
|
|
5498c1c3a9 | ||
|
|
3e5b7fd3e6 | ||
|
|
e3873828e0 | ||
|
|
db57eb9581 | ||
|
|
8d46aef40c | ||
|
|
cb2a02d82c | ||
|
|
52abcd68af | ||
|
|
5cb9b36329 | ||
|
|
13d2ce7d5d | ||
|
|
64c375a12d | ||
|
|
8449888db8 | ||
|
|
cebbd04d10 | ||
|
|
d7a425239b | ||
|
|
b4deca3b4b | ||
|
|
92e0b2e130 | ||
|
|
28230b67d4 | ||
|
|
af36d79c53 | ||
|
|
0999060827 | ||
|
|
0e6117f044 | ||
|
|
fdc21bfb9e |
5
.github/classifier.yml
vendored
@@ -8,11 +8,13 @@
|
||||
Area - Acquisition: [],
|
||||
Area - Azure: [],
|
||||
Area - Backup\Restore: [],
|
||||
Area - Big Data Cluster: [ charles-gagnon ],
|
||||
Area - Charting\Insights: [],
|
||||
Area - Connection: [ charles-gagnon ],
|
||||
Area - Connection: [ ],
|
||||
Area - DacFX: [],
|
||||
Area - Dashboard: [],
|
||||
Area - Data Explorer: [],
|
||||
Area - Data Virtualization: [ charles-gagnon ],
|
||||
Area - Edit Data: [],
|
||||
Area - Extensibility: [],
|
||||
Area - External Table: [],
|
||||
@@ -22,6 +24,7 @@
|
||||
Area - Notebooks: [ chlafreniere ],
|
||||
Area - Performance: [],
|
||||
Area - Query Editor: [ anthonydresser ],
|
||||
Area - Query History: [ charles-gagnon ],
|
||||
Area - Query Plan: [],
|
||||
Area - Reliability: [],
|
||||
Area - Resource Deployment: [],
|
||||
|
||||
12
.github/workflows/ci.yml
vendored
@@ -51,16 +51,14 @@ jobs:
|
||||
name: Run Unit Tests (Electron)
|
||||
- run: DISPLAY=:10 ./scripts/test-extensions-unit.sh
|
||||
name: Run Extension Unit Tests (Electron)
|
||||
# {{SQL CARBON EDIT}} Add coveralls. We merge first to get around issue where parallel builds weren't being combined correctly
|
||||
- run: |
|
||||
mkdir .build/coverage-combined
|
||||
cat .build/coverage-single/lcov.info ./extensions/admin-tool-ext-win/coverage/lcov.info ./extensions/agent/coverage/lcov.info ./extensions/azurecore/coverage/lcov.info ./extensions/cms/coverage/lcov.info ./extensions/dacpac/coverage/lcov.info ./extensions/schema-compare/coverage/lcov.info ./extensions/notebook/coverage/lcov.info ./extensions/resource-deployment/coverage/lcov.info ./extensions/machine-learning/coverage/lcov.info > .build/coverage-combined/lcov.info
|
||||
name: Merge coverage reports
|
||||
# {{SQL CARBON EDIT}} Add coveralls. We merge first to get around issue where parallel builds weren't being combined correctly
|
||||
- run: node test/combineCoverage
|
||||
name: Combine code coverage files
|
||||
- name: Upload Code Coverage
|
||||
uses: coverallsapp/github-action@v1.0.1
|
||||
uses: coverallsapp/github-action@v1.1.1
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
path-to-lcov: '.build/coverage-combined/lcov.info'
|
||||
path-to-lcov: 'test/coverage/lcov.info'
|
||||
|
||||
# Fails with cryptic error (e.g. https://github.com/microsoft/vscode/pull/90292/checks?check_run_id=433681926#step:13:9)
|
||||
# - run: DISPLAY=:10 yarn test-browser --browser chromium
|
||||
|
||||
1
.github/workflows/on-issue-open.yml
vendored
@@ -19,5 +19,6 @@ jobs:
|
||||
- name: Run CopyCat
|
||||
uses: ./actions/build/actions/copycat
|
||||
with:
|
||||
token: ${{secrets.TRIAGE_PAT}}
|
||||
owner: anthonydresser
|
||||
repo: testissues
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"useTabs": true,
|
||||
"printWidth": 120,
|
||||
"semi": true,
|
||||
"singleQuote": true
|
||||
}
|
||||
21
.vscode/launch.json
vendored
@@ -69,7 +69,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "chrome",
|
||||
"type": "pwa-chrome",
|
||||
"request": "attach",
|
||||
"name": "Attach to azuredatastudio",
|
||||
"timeout": 50000,
|
||||
@@ -145,6 +145,25 @@
|
||||
"order": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "Main Process",
|
||||
"runtimeExecutable": "${workspaceFolder}/scripts/code.sh",
|
||||
"windows": {
|
||||
"runtimeExecutable": "${workspaceFolder}/scripts/code.bat",
|
||||
},
|
||||
"runtimeArgs": [
|
||||
"--no-cached-data"
|
||||
],
|
||||
"outFiles": [
|
||||
"${workspaceFolder}/out/**/*.js"
|
||||
],
|
||||
"presentation": {
|
||||
"group": "1_vscode",
|
||||
"order": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "chrome",
|
||||
"request": "launch",
|
||||
|
||||
19
.vscode/searches/es6.code-search
vendored
@@ -2,7 +2,24 @@
|
||||
# Flags: CaseSensitive WordMatch
|
||||
# ContextLines: 2
|
||||
|
||||
10 results - 4 files
|
||||
16 results - 5 files
|
||||
|
||||
src/vs/base/browser/dom.ts:
|
||||
81 };
|
||||
82
|
||||
83: /** @deprecated ES6 - use classList*/
|
||||
84 export const hasClass: (node: HTMLElement | SVGElement, className: string) => boolean = _classList.hasClass.bind(_classList);
|
||||
85: /** @deprecated ES6 - use classList*/
|
||||
86 export const addClass: (node: HTMLElement | SVGElement, className: string) => void = _classList.addClass.bind(_classList);
|
||||
87: /** @deprecated ES6 - use classList*/
|
||||
88 export const addClasses: (node: HTMLElement | SVGElement, ...classNames: string[]) => void = _classList.addClasses.bind(_classList);
|
||||
89: /** @deprecated ES6 - use classList*/
|
||||
90 export const removeClass: (node: HTMLElement | SVGElement, className: string) => void = _classList.removeClass.bind(_classList);
|
||||
91: /** @deprecated ES6 - use classList*/
|
||||
92 export const removeClasses: (node: HTMLElement | SVGElement, ...classNames: string[]) => void = _classList.removeClasses.bind(_classList);
|
||||
93: /** @deprecated ES6 - use classList*/
|
||||
94 export const toggleClass: (node: HTMLElement | SVGElement, className: string, shouldHaveIt?: boolean) => void = _classList.toggleClass.bind(_classList);
|
||||
95
|
||||
|
||||
src/vs/base/common/arrays.ts:
|
||||
401
|
||||
|
||||
2
.yarnrc
@@ -1,3 +1,3 @@
|
||||
disturl "https://atom.io/download/electron"
|
||||
target "7.2.2"
|
||||
target "7.2.4"
|
||||
runtime "electron"
|
||||
|
||||
27
CHANGELOG.md
@@ -1,5 +1,32 @@
|
||||
# Change Log
|
||||
|
||||
## Version 1.18.1
|
||||
* Release date: May 27, 2020
|
||||
* Release status: General Availability
|
||||
* Hotfix for https://github.com/microsoft/azuredatastudio/issues/10538
|
||||
* Hotfix for https://github.com/microsoft/azuredatastudio/issues/10537
|
||||
|
||||
## Version 1.18.0
|
||||
* Release date: May 20, 2020
|
||||
* Release status: General Availability
|
||||
* Announcing Redgate SQL Prompt extension - This extension lets you manage formatting styles directly within Azure Data Studio, so you can create and edit your styles without leaving the IDE.
|
||||
* Announcing the new machine learning extension. This extension enables you to:
|
||||
* Manage Python and R packages with SQL Server machine learning services with Azure Data Studio.
|
||||
* Use ONNX model to make predictions in Azure SQL Edge.
|
||||
* View ONNX models in an Azure SQL Edge database.
|
||||
* Import ONNX models from a file or Azure Machine Learning into Azure SQL Edge database.
|
||||
* Create a notebook to run experiments.
|
||||
* New notebook features:
|
||||
* Added new Python dependencies wizard
|
||||
* Improvements to the notebook markdown toolbar
|
||||
* Added support for parameterization for Always Encrypted - Allows you to run queries that insert, update or filter by encrypted database columns.
|
||||
* Bug fixes
|
||||
|
||||
## Version 1.17.1
|
||||
* Release date: April 29, 2020
|
||||
* Release status: General Availability
|
||||
* Hotfix for https://github.com/microsoft/azuredatastudio/milestone/54?closed=1
|
||||
|
||||
## Version 1.17.0
|
||||
* Release date: April 27, 2020
|
||||
* Release status: General Availability
|
||||
|
||||
29
README.md
@@ -60,9 +60,7 @@ please see the document [How to Contribute](https://github.com/Microsoft/azureda
|
||||
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
||||
|
||||
## Localization
|
||||
Azure Data Studio localization is now open for community contributions. You can contribute to localization for both software and docs. https://aka.ms/SQLOpsStudioLoc
|
||||
|
||||
Localization is now opened for 10 languages: French, Italian, German, Spanish, Simplified Chinese, Traditional Chinese, Japanese, Korean, Russian, and Portuguese (Brazil). Help us make Azure Data Studio available in your language!
|
||||
Azure Data Studio is localized into 10 languages: French, Italian, German, Spanish, Simplified Chinese, Traditional Chinese, Japanese, Korean, Russian, and Portuguese (Brazil). The language packs are available in the Extension Manager marketplace. Simply, search for the specific language using the extension marketplace and install. Once you install the selected language, Azure Data Studio will prompt you to restart with the new language.
|
||||
|
||||
## Privacy Statement
|
||||
The [Microsoft Enterprise and Developer Privacy Statement](https://privacy.microsoft.com/en-us/privacystatement) describes the privacy statement of this software.
|
||||
@@ -122,17 +120,6 @@ We would like to thank all our users who raised issues, and in particular the fo
|
||||
* SebastianPfliegel `Remove sqlExtensionHelp (#312)`
|
||||
* olljanat for `Implemented npm version check (#314)`
|
||||
* Adam Machanic for helping with the `whoisactive` extension
|
||||
* All community localization contributors:
|
||||
* French: Adrien Clerbois, ANAS BELABBES, Antoine Griffard, Arian Papillon, Eric Macarez, Eric Van Thorre, Jérémy LANDON, Matthias GROSPERRIN, Maxime COQUEREL, Olivier Guinart, thierry DEMAN-BARCELÒ, Thomas Potier
|
||||
* Italian: Aldo Donetti, Alessandro Alpi, Andrea Dottor, Bruni Luca, Gianluca Hotz, Luca Nardi, Luigi Bruno, Marco Dal Pino, Mirco Vanini, Pasquale Ceglie, Riccardo Cappello, Sergio Govoni, Stefano Demiliani
|
||||
* German: Anna Henke-Gunvaldson, Ben Weissman, David Ullmer, J.M. ., Kai Modo, Konstantin Staschill, Kostja Klein, Lennart Trunk, Markus Ehrenmüller-Jensen, Mascha Kroenlein, Matthias Knoll, Mourad Louha, Thomas Hütter, Wolfgang Straßer
|
||||
* Spanish: Alberto Poblacion, Andy Gonzalez, Carlos Mendible, Christian Araujo, Daniel D, Eickhel Mendoza, Ernesto Cardenas, Ivan Toledo Ivanovic, Fran Diaz, JESUS GIL, Jorge Serrano Pérez, José Saturnino Pimentel Juárez, Mauricio Hidalgo, Pablo Iglesias, Rikhardo Estrada Rdez, Thierry DEMAN, YOLANDA CUESTA ALTIERI
|
||||
* Japanese: Fujio Kojima, Kazushi KAMEGAWA, Masayoshi Yamada, Masayuki Ozawa, Seiji Momoto, Takashi Kanai, Takayoshi Tanaka, Yoshihisa Ozaki, 庄垣内治
|
||||
* Chinese (simplified): DAN YE, Joel Yang, Lynne Dong, Ryan(Yu) Zhang, Sheng Jiang, Wei Zhang, Zhiliang Xu
|
||||
* Chinese (Traditional): Bruce Chen, Chiayi Yen, Kevin Yang, Winnie Lin, 保哥 Will, 謝政廷
|
||||
* Korean: Do-Kyun Kim, Evelyn Kim, Helen Jung, Hong Jmee, jeongwoo choi, Jun Hyoung Lee, Jungsun Kim정선, Justin Yoo, Kavrith mucha, Kiwoong Youm, MinGyu Ju, MVP_JUNO BEA, Sejun Kim, SOONMAN KWON, sung man ko, Yeongrak Choi, younggun kim, Youngjae Kim, 소영 이
|
||||
* Russian: Andrey Veselov, Anton Fontanov, Anton Savin, Elena Ostrovskaia, Igor Babichev, Maxim Zelensky, Rodion Fedechkin, Tasha T, Vladimir Zyryanov
|
||||
* Portuguese Brazil: Daniel de Sousa, Diogo Duarte, Douglas Correa, Douglas Eccker, José Emanuel Mendes, Marcelo Fernandes, Marcondes Alexandre, Roberto Fonseca, Rodrigo Crespi
|
||||
|
||||
And of course, we'd like to thank the authors of all upstream dependencies. Please see a full list in the [ThirdPartyNotices.txt](https://raw.githubusercontent.com/Microsoft/azuredatastudio/master/ThirdPartyNotices.txt)
|
||||
|
||||
@@ -142,10 +129,10 @@ Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
|
||||
Licensed under the [Source EULA](LICENSE.txt).
|
||||
|
||||
[win-user]: https://go.microsoft.com/fwlink/?linkid=2127556
|
||||
[win-system]: https://go.microsoft.com/fwlink/?linkid=2127555
|
||||
[win-zip]: https://go.microsoft.com/fwlink/?linkid=2127476
|
||||
[osx-zip]: https://go.microsoft.com/fwlink/?linkid=2127554
|
||||
[linux-zip]: https://go.microsoft.com/fwlink/?linkid=2127553
|
||||
[linux-rpm]: https://go.microsoft.com/fwlink/?linkid=2127552
|
||||
[linux-deb]: https://go.microsoft.com/fwlink/?linkid=2127551
|
||||
[win-user]: https://go.microsoft.com/fwlink/?linkid=2127522
|
||||
[win-system]: https://go.microsoft.com/fwlink/?linkid=2127432
|
||||
[win-zip]: https://go.microsoft.com/fwlink/?linkid=2127716
|
||||
[osx-zip]: https://go.microsoft.com/fwlink/?linkid=2127431
|
||||
[linux-zip]: https://go.microsoft.com/fwlink/?linkid=2127523
|
||||
[linux-rpm]: https://go.microsoft.com/fwlink/?linkid=2127433
|
||||
[linux-deb]: https://go.microsoft.com/fwlink/?linkid=2127524
|
||||
|
||||
@@ -49,6 +49,7 @@ expressly granted herein, whether by implication, estoppel or otherwise.
|
||||
node-fetch: https://github.com/bitinn/node-fetch
|
||||
node-pty: https://github.com/Tyriar/node-pty
|
||||
nsfw: https://github.com/Axosoft/nsfw
|
||||
optimist: https://github.com/substack/node-optimist
|
||||
primeng: https://github.com/primefaces/primeng
|
||||
process-nextick-args: https://github.com/calvinmetcalf/process-nextick-args
|
||||
pty.js: https://github.com/chjj/pty.js
|
||||
@@ -72,6 +73,7 @@ expressly granted herein, whether by implication, estoppel or otherwise.
|
||||
vscode-textmate: https://github.com/Microsoft/vscode-textmate
|
||||
winreg: https://github.com/fresc81/node-winreg
|
||||
xterm: https://github.com/sourcelair/xterm.js
|
||||
yargs: https://github.com/yargs/yargs
|
||||
yauzl: https://github.com/thejoshwolfe/yauzl
|
||||
zone.js: https://www.npmjs.com/package/zone
|
||||
|
||||
@@ -1451,6 +1453,32 @@ SOFTWARE.
|
||||
=========================================
|
||||
END OF nsfw NOTICES AND INFORMATION
|
||||
|
||||
%% optimist NOTICES AND INFORMATION BEGIN HERE
|
||||
=========================================
|
||||
Copyright 2010 James Halliday (mail@substack.net)
|
||||
|
||||
This project is free software released under the MIT/X11 license:
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
=========================================
|
||||
END OF optimist NOTICES AND INFORMATION
|
||||
|
||||
%% primeng NOTICES AND INFORMATION BEGIN HERE
|
||||
=========================================
|
||||
The MIT License (MIT)
|
||||
@@ -2222,6 +2250,32 @@ THE SOFTWARE.
|
||||
=========================================
|
||||
END OF xterm NOTICES AND INFORMATION
|
||||
|
||||
%% yargs NOTICES AND INFORMATION BEGIN HERE
|
||||
=========================================
|
||||
MIT License
|
||||
|
||||
Copyright 2010 James Halliday (mail@substack.net); Modified work Copyright 2014 Contributors (ben@npmjs.com)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
=========================================
|
||||
END OF yargs NOTICES AND INFORMATION
|
||||
|
||||
%% yauzl NOTICES AND INFORMATION BEGIN HERE
|
||||
=========================================
|
||||
The MIT License (MIT)
|
||||
|
||||
@@ -2,54 +2,76 @@ steps:
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: "12.13.0"
|
||||
|
||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3 # {{SQL CARBON EDIT}} update version
|
||||
inputs:
|
||||
versionSpec: "1.x"
|
||||
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||
inputs:
|
||||
keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock, !samples/**/yarn.lock'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules, !samples/**/node_modules'
|
||||
vstsFeed: 'npm-cache' # {{SQL CARBON EDIT}} update build cache
|
||||
|
||||
- script: |
|
||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
||||
displayName: Install Dependencies
|
||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||
inputs:
|
||||
keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock, !samples/**/yarn.lock'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules, !samples/**/node_modules'
|
||||
vstsFeed: 'npm-cache' # {{SQL CARBON EDIT}} update build cache
|
||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||
|
||||
- script: |
|
||||
yarn electron x64
|
||||
displayName: Download Electron
|
||||
|
||||
- script: |
|
||||
yarn gulp hygiene
|
||||
displayName: Run Hygiene Checks
|
||||
|
||||
- script: | # {{SQL CARBON EDIT}} add step
|
||||
yarn strict-vscode
|
||||
displayName: Run Strict Null Check.
|
||||
|
||||
# - script: | {{SQL CARBON EDIT}} remove step
|
||||
# yarn monaco-compile-check
|
||||
# displayName: Run Monaco Editor Checks
|
||||
|
||||
- script: |
|
||||
yarn valid-layers-check
|
||||
displayName: Run Valid Layers Checks
|
||||
|
||||
- script: |
|
||||
yarn compile
|
||||
displayName: Compile Sources
|
||||
|
||||
# - script: | {{SQL CARBON EDIT}} remove step
|
||||
# yarn download-builtin-extensions
|
||||
# displayName: Download Built-in Extensions
|
||||
|
||||
- script: |
|
||||
./scripts/test.sh --tfs "Unit Tests"
|
||||
displayName: Run Unit Tests (Electron)
|
||||
|
||||
# - script: | {{SQL CARBON EDIT}} disable
|
||||
# yarn test-browser --browser chromium --browser webkit --browser firefox
|
||||
# displayName: Run Unit Tests (Browser)
|
||||
|
||||
# - script: | {{SQL CARBON EDIT}} disable
|
||||
# ./scripts/test-integration.sh --tfs "Integration Tests"
|
||||
# displayName: Run Integration Tests (Electron)
|
||||
|
||||
# - task: PublishPipelineArtifact@0
|
||||
# inputs:
|
||||
# artifactName: crash-dump-macos
|
||||
# targetPath: .build/crashes
|
||||
# displayName: 'Publish Crash Reports'
|
||||
# condition: succeededOrFailed()
|
||||
|
||||
- task: PublishTestResults@2
|
||||
displayName: Publish Tests Results
|
||||
inputs:
|
||||
|
||||
@@ -2,13 +2,5 @@
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.cs.allow-jit</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.disable-library-validation</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.cs.allow-jit</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.disable-library-validation</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.cs.allow-jit</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.disable-library-validation</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -152,15 +152,29 @@ steps:
|
||||
displayName: Run smoke tests (Browser)
|
||||
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: crash-dump-macos
|
||||
targetPath: .build/crashes
|
||||
displayName: 'Publish Crash Reports'
|
||||
condition: succeededOrFailed()
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
APP_ROOT=$(agent.builddirectory)/VSCode-darwin
|
||||
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
||||
HELPER_APP_NAME="`echo $APP_NAME | sed -e 's/^Visual Studio //;s/\.app$//'`"
|
||||
APP_FRAMEWORK_PATH="$APP_ROOT/$APP_NAME/Contents/Frameworks"
|
||||
security create-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
|
||||
security default-keychain -s $(agent.tempdirectory)/buildagent.keychain
|
||||
security unlock-keychain -p pwd $(agent.tempdirectory)/buildagent.keychain
|
||||
echo "$(macos-developer-certificate)" | base64 -D > $(agent.tempdirectory)/cert.p12
|
||||
security import $(agent.tempdirectory)/cert.p12 -k $(agent.tempdirectory)/buildagent.keychain -P "$(macos-developer-certificate-key)" -T /usr/bin/codesign
|
||||
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k pwd $(agent.tempdirectory)/buildagent.keychain
|
||||
codesign -s 99FM488X57 --deep --force --options runtime --entitlements build/azure-pipelines/darwin/entitlements.plist $(agent.builddirectory)/VSCode-darwin/*.app
|
||||
codesign -s 99FM488X57 --deep --force --options runtime --entitlements build/azure-pipelines/darwin/entitlements.plist "$APP_ROOT"/*.app
|
||||
codesign -s 99FM488X57 --force --options runtime --entitlements build/azure-pipelines/darwin/helper-gpu-entitlements.plist "$APP_FRAMEWORK_PATH/$HELPER_APP_NAME Helper (GPU).app"
|
||||
codesign -s 99FM488X57 --force --options runtime --entitlements build/azure-pipelines/darwin/helper-plugin-entitlements.plist "$APP_FRAMEWORK_PATH/$HELPER_APP_NAME Helper (Plugin).app"
|
||||
codesign -s 99FM488X57 --force --options runtime --entitlements build/azure-pipelines/darwin/helper-renderer-entitlements.plist "$APP_FRAMEWORK_PATH/$HELPER_APP_NAME Helper (Renderer).app"
|
||||
displayName: Set Hardened Entitlements
|
||||
|
||||
- script: |
|
||||
|
||||
@@ -104,24 +104,37 @@ steps:
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
./scripts/test.sh --build --coverage --reporter mocha-junit-reporter
|
||||
./scripts/test.sh --build --coverage --reporter mocha-junit-reporter --tfs "Unit Tests"
|
||||
displayName: Run unit tests
|
||||
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
|
||||
|
||||
- script: |
|
||||
# Figure out the full absolute path of the product we just built
|
||||
# including the remote server and configure the integration tests
|
||||
# to run with these builds instead of running out of sources.
|
||||
set -e
|
||||
APP_ROOT=$(agent.builddirectory)/azuredatastudio-darwin
|
||||
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
||||
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
|
||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/azuredatastudio-reh-darwin" \
|
||||
./scripts/test-integration.sh --build --tfs "Integration Tests"
|
||||
displayName: Run integration tests (Electron)
|
||||
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
APP_ROOT=$(agent.builddirectory)/azuredatastudio-darwin
|
||||
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
||||
yarn smoketest --build "$APP_ROOT/$APP_NAME" --screenshots "$(build.artifactstagingdirectory)/smokeshots"
|
||||
displayName: Run smoke tests (Electron)
|
||||
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/azuredatastudio-reh-web-darwin" \
|
||||
yarn smoketest --web --headless --screenshots "$(build.artifactstagingdirectory)/smokeshots"
|
||||
displayName: Run smoke tests (Browser)
|
||||
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||
# - script: |
|
||||
# set -e
|
||||
# VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/azuredatastudio-reh-web-darwin" \
|
||||
# yarn smoketest --web --headless --screenshots "$(build.artifactstagingdirectory)/smokeshots"
|
||||
# displayName: Run smoke tests (Browser)
|
||||
# condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
|
||||
@@ -65,17 +65,17 @@ steps:
|
||||
node build/azure-pipelines/mixin
|
||||
displayName: Mix in quality
|
||||
|
||||
- task: DownloadPipelineArtifact@2
|
||||
- task: DownloadBuildArtifacts@0
|
||||
inputs:
|
||||
buildType: 'current'
|
||||
targetPath: '$(Build.SourcesDirectory)/.build'
|
||||
downloadPath: '$(Build.SourcesDirectory)/.build'
|
||||
artifactName: drop
|
||||
itemPattern: |
|
||||
drop/linux/server/*.tar.gz
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
for f in $(Build.SourcesDirectory)/.build/linux/server/*.tar.gz
|
||||
for f in $(Build.SourcesDirectory)/.build/drop/linux/server/*.tar.gz
|
||||
do
|
||||
tar -C $(agent.builddirectory) -zxvf $f
|
||||
rm $f
|
||||
|
||||
@@ -7,57 +7,80 @@ steps:
|
||||
sudo chmod +x /etc/init.d/xvfb
|
||||
sudo update-rc.d xvfb defaults
|
||||
sudo service xvfb start
|
||||
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: "12.13.0"
|
||||
|
||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
|
||||
inputs:
|
||||
versionSpec: "1.x"
|
||||
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||
inputs:
|
||||
keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock, !samples/**/yarn.lock'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules, !samples/**/node_modules'
|
||||
vstsFeed: 'npm-cache' # {{SQL CARBON EDIT}} update build cache
|
||||
|
||||
- script: |
|
||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
||||
displayName: Install Dependencies
|
||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||
inputs:
|
||||
keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock, !samples/**/yarn.lock'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules, !samples/**/node_modules'
|
||||
vstsFeed: 'npm-cache' # {{SQL CARBON EDIT}} update build cache
|
||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||
|
||||
- script: |
|
||||
yarn electron x64
|
||||
displayName: Download Electron
|
||||
|
||||
- script: |
|
||||
yarn gulp hygiene
|
||||
displayName: Run Hygiene Checks
|
||||
|
||||
- script: | # {{SQL CARBON EDIT}} add strict null check
|
||||
yarn strict-vscode
|
||||
|
||||
displayName: Run Strict Null Check
|
||||
# - script: | {{SQL CARBON EDIT}} remove monaco editor checks
|
||||
# yarn monaco-compile-check
|
||||
# displayName: Run Monaco Editor Checks
|
||||
|
||||
- script: |
|
||||
yarn valid-layers-check
|
||||
displayName: Run Valid Layers Checks
|
||||
|
||||
- script: |
|
||||
yarn compile
|
||||
displayName: Compile Sources
|
||||
|
||||
# - script: | {{SQL CARBON EDIT}} remove step
|
||||
# yarn download-builtin-extensions
|
||||
# displayName: Download Built-in Extensions
|
||||
|
||||
- script: |
|
||||
DISPLAY=:10 ./scripts/test.sh --tfs "Unit Tests"
|
||||
displayName: Run Unit Tests (Electron)
|
||||
|
||||
# - script: | {{SQL CARBON EDIT}} disable
|
||||
# DISPLAY=:10 yarn test-browser --browser chromium
|
||||
# displayName: Run Unit Tests (Browser)
|
||||
|
||||
# - script: | {{SQL CARBON EDIT}} disable
|
||||
# DISPLAY=:10 ./scripts/test-integration.sh --tfs "Integration Tests"
|
||||
# displayName: Run Integration Tests (Electron)
|
||||
|
||||
# - task: PublishPipelineArtifact@0
|
||||
# inputs:
|
||||
# artifactName: crash-dump-linux
|
||||
# targetPath: .build/crashes
|
||||
# displayName: 'Publish Crash Reports'
|
||||
# condition: succeededOrFailed()
|
||||
|
||||
- task: PublishTestResults@2
|
||||
displayName: Publish Tests Results
|
||||
inputs:
|
||||
|
||||
@@ -140,6 +140,13 @@ steps:
|
||||
displayName: Run integration tests (Browser)
|
||||
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: crash-dump-linux
|
||||
targetPath: .build/crashes
|
||||
displayName: 'Publish Crash Reports'
|
||||
condition: succeededOrFailed()
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
yarn gulp "vscode-linux-x64-build-deb"
|
||||
|
||||
@@ -94,12 +94,6 @@ steps:
|
||||
env:
|
||||
VSCODE_MIXIN_PASSWORD: $(github-distro-mixin-password)
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
service xvfb start
|
||||
displayName: Start xvfb
|
||||
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
yarn gulp package-rebuild-extensions
|
||||
@@ -107,6 +101,31 @@ steps:
|
||||
yarn gulp package-external-extensions
|
||||
displayName: Package External extensions
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
service xvfb start
|
||||
displayName: Start xvfb
|
||||
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
DISPLAY=:10 ./scripts/test.sh --build --coverage --reporter mocha-junit-reporter --tfs "Unit Tests"
|
||||
displayName: Run unit tests (Electron)
|
||||
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
|
||||
|
||||
- script: |
|
||||
# Figure out the full absolute path of the product we just built
|
||||
# including the remote server and configure the integration tests
|
||||
# to run with these builds instead of running out of sources.
|
||||
set -e
|
||||
APP_ROOT=$(agent.builddirectory)/azuredatastudio-linux-x64
|
||||
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
|
||||
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
|
||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/azuredatastudio-reh-linux-x64" \
|
||||
DISPLAY=:10 ./scripts/test-integration.sh --build --tfs "Integration Tests"
|
||||
displayName: Run integration tests (Electron)
|
||||
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
APP_ROOT=$(agent.builddirectory)/azuredatastudio-linux-x64
|
||||
|
||||
@@ -17,7 +17,7 @@ jobs:
|
||||
- template: sql-product-compile.yml
|
||||
|
||||
- job: macOS
|
||||
condition: eq(variables['VSCODE_BUILD_MACOS'], 'true')
|
||||
condition: and(succeeded(), eq(variables['VSCODE_BUILD_MACOS'], 'true'))
|
||||
pool:
|
||||
vmImage: macOS-latest
|
||||
dependsOn:
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
timeoutInMinutes: 180
|
||||
|
||||
- job: Linux
|
||||
condition: eq(variables['VSCODE_BUILD_LINUX'], 'true')
|
||||
condition: and(succeeded(), eq(variables['VSCODE_BUILD_LINUX'], 'true'))
|
||||
pool:
|
||||
vmImage: 'Ubuntu-16.04'
|
||||
container: linux-x64
|
||||
@@ -48,7 +48,7 @@ jobs:
|
||||
- template: docker/sql-product-build-docker.yml
|
||||
|
||||
- job: Windows
|
||||
condition: eq(variables['VSCODE_BUILD_WIN32'], 'true')
|
||||
condition: and(succeeded(), eq(variables['VSCODE_BUILD_WIN32'], 'true'))
|
||||
pool:
|
||||
vmImage: VS2017-Win2016
|
||||
dependsOn:
|
||||
|
||||
@@ -16,12 +16,10 @@ steps:
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: "10.15.1"
|
||||
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
|
||||
|
||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
|
||||
inputs:
|
||||
versionSpec: "1.x"
|
||||
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
|
||||
|
||||
- task: AzureKeyVault@1
|
||||
displayName: 'Azure Key Vault: Get Secrets'
|
||||
@@ -56,26 +54,25 @@ steps:
|
||||
keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock, !samples/**/yarn.lock'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules, !samples/**/node_modules'
|
||||
vstsFeed: 'BuildCache'
|
||||
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
||||
displayName: Install dependencies
|
||||
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'), ne(variables['CacheRestored'], 'true'))
|
||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||
inputs:
|
||||
keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock, !samples/**/yarn.lock'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules, !samples/**/node_modules'
|
||||
vstsFeed: 'BuildCache'
|
||||
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'), ne(variables['CacheRestored'], 'true'))
|
||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
yarn postinstall
|
||||
displayName: Run postinstall scripts
|
||||
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'), eq(variables['CacheRestored'], 'true'))
|
||||
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
||||
|
||||
# Mixin must run before optimize, because the CSS loader will
|
||||
# inline small SVGs
|
||||
@@ -113,7 +110,6 @@ steps:
|
||||
|
||||
node build/azure-pipelines/common/copyArtifacts.js
|
||||
displayName: Write Version Information
|
||||
condition: and(succeeded(), ne(variables['CacheRestored-Compilation'], 'true'))
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: 'Publish Artifact: drop'
|
||||
|
||||
@@ -2,59 +2,83 @@ steps:
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: "12.13.0"
|
||||
|
||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3 # {{SQL CARBON EDIT}} update version
|
||||
inputs:
|
||||
versionSpec: "1.x"
|
||||
|
||||
- task: UsePythonVersion@0
|
||||
inputs:
|
||||
versionSpec: '2.x'
|
||||
addToPath: true
|
||||
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||
inputs:
|
||||
keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock, !samples/**/yarn.lock'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules, !samples/**/node_modules'
|
||||
vstsFeed: 'npm-cache' # {{SQL CARBON EDIT}} update build cache
|
||||
|
||||
- powershell: |
|
||||
yarn --frozen-lockfile
|
||||
env:
|
||||
CHILD_CONCURRENCY: "1"
|
||||
displayName: Install Dependencies
|
||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||
|
||||
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||
inputs:
|
||||
keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock, !samples/**/yarn.lock'
|
||||
targetfolder: '**/node_modules, !**/node_modules/**/node_modules, !samples/**/node_modules'
|
||||
vstsFeed: 'npm-cache' # {{SQL CARBON EDIT}} update build cache
|
||||
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||
|
||||
- powershell: |
|
||||
yarn electron
|
||||
displayName: Download Electron
|
||||
|
||||
- script: |
|
||||
yarn gulp hygiene
|
||||
displayName: Run Hygiene Checks
|
||||
|
||||
- script: | # {{SQL CARBON EDIT}} add step
|
||||
yarn strict-vscode
|
||||
displayName: Run Strict Null Check
|
||||
|
||||
# - powershell: | {{SQL CARBON EDIT}} remove step
|
||||
# yarn monaco-compile-check
|
||||
# displayName: Run Monaco Editor Checks
|
||||
|
||||
- script: |
|
||||
yarn valid-layers-check
|
||||
displayName: Run Valid Layers Checks
|
||||
|
||||
- powershell: |
|
||||
yarn compile
|
||||
displayName: Compile Sources
|
||||
|
||||
# - powershell: | {{SQL CARBON EDIT}} remove step
|
||||
# yarn download-builtin-extensions
|
||||
# displayName: Download Built-in Extensions
|
||||
|
||||
- powershell: |
|
||||
.\scripts\test.bat --tfs "Unit Tests"
|
||||
displayName: Run Unit Tests (Electron)
|
||||
|
||||
# - powershell: | {{SQL CARBON EDIT}} disable
|
||||
# yarn test-browser --browser chromium --browser firefox
|
||||
# displayName: Run Unit Tests (Browser)
|
||||
|
||||
# - powershell: | {{SQL CARBON EDIT}} disable
|
||||
# .\scripts\test-integration.bat --tfs "Integration Tests"
|
||||
# displayName: Run Integration Tests (Electron)
|
||||
|
||||
# - task: PublishPipelineArtifact@0
|
||||
# displayName: 'Publish Crash Reports'
|
||||
# inputs:
|
||||
# artifactName: crash-dump-windows
|
||||
# targetPath: .build\crashes
|
||||
# condition: succeededOrFailed()
|
||||
|
||||
- task: PublishTestResults@2
|
||||
displayName: Publish Tests Results
|
||||
inputs:
|
||||
|
||||
@@ -149,6 +149,13 @@ steps:
|
||||
displayName: Run integration tests (Browser)
|
||||
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: crash-dump-windows-$(VSCODE_ARCH)
|
||||
targetPath: .build\crashes
|
||||
displayName: 'Publish Crash Reports'
|
||||
condition: succeededOrFailed()
|
||||
|
||||
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
||||
inputs:
|
||||
ConnectedServiceName: 'ESRP CodeSign'
|
||||
|
||||
@@ -103,6 +103,27 @@ steps:
|
||||
env:
|
||||
VSCODE_MIXIN_PASSWORD: $(github-distro-mixin-password)
|
||||
|
||||
# - powershell: | @anthonydresser unit tests timeout never existing the node process
|
||||
# . build/azure-pipelines/win32/exec.ps1
|
||||
# $ErrorActionPreference = "Stop"
|
||||
# exec { yarn electron x64 }
|
||||
# exec { .\scripts\test.bat --build --coverage --reporter mocha-junit-reporter --tfs "Unit Tests" }
|
||||
# displayName: Run unit tests (Electron)
|
||||
# condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
|
||||
|
||||
- powershell: |
|
||||
# Figure out the full absolute path of the product we just built
|
||||
# including the remote server and configure the integration tests
|
||||
# to run with these builds instead of running out of sources.
|
||||
. build/azure-pipelines/win32/exec.ps1
|
||||
$ErrorActionPreference = "Stop"
|
||||
$AppRoot = "$(agent.builddirectory)\azuredatastudio-win32-x64"
|
||||
$AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json
|
||||
$AppNameShort = $AppProductJson.nameShort
|
||||
exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\azuredatastudio-reh-win32-x64"; .\scripts\test-integration.bat --build --tfs "Integration Tests" }
|
||||
displayName: Run integration tests (Electron)
|
||||
condition: and(succeeded(), eq(variables['RUN_TESTS'], 'true'))
|
||||
|
||||
- powershell: |
|
||||
. build/azure-pipelines/win32/exec.ps1
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
@@ -103,9 +103,11 @@ const indentationFilter = [
|
||||
'!extensions/resource-deployment/notebooks/**',
|
||||
'!extensions/mssql/notebooks/**',
|
||||
'!extensions/integration-tests/testData/**',
|
||||
'!extensions/arc/src/controller/generated/**',
|
||||
'!extensions/sql-database-projects/resources/templates/*.xml',
|
||||
'!extensions/sql-database-projects/src/test/baselines/*.xml',
|
||||
'!extensions/sql-database-projects/src/test/baselines/*.json',
|
||||
'!extensions/sql-database-projects/src/test/baselines/*.sqlproj',
|
||||
'!extensions/big-data-cluster/src/bigDataCluster/controller/apiGenerated.ts',
|
||||
'!extensions/big-data-cluster/src/bigDataCluster/controller/clusterApiGenerated2.ts',
|
||||
'!resources/linux/snap/electron-launch'
|
||||
|
||||
@@ -44,7 +44,7 @@ function prepareDebPackage(arch) {
|
||||
.pipe(replace('@@NAME_SHORT@@', product.nameShort))
|
||||
.pipe(replace('@@NAME@@', product.applicationName))
|
||||
.pipe(replace('@@EXEC@@', `/usr/share/${product.applicationName}/${product.applicationName}`))
|
||||
.pipe(replace('@@ICON@@', `/usr/share/pixmaps/${product.linuxIconName}.png`))
|
||||
.pipe(replace('@@ICON@@', product.linuxIconName))
|
||||
.pipe(replace('@@URLPROTOCOL@@', product.urlProtocol));
|
||||
|
||||
const appdata = gulp.src('resources/linux/code.appdata.xml', { base: '.' })
|
||||
|
||||
@@ -198,6 +198,7 @@ const externalExtensions = [
|
||||
// Any extension not included here will be installed by default.
|
||||
'admin-tool-ext-win',
|
||||
'agent',
|
||||
'arc',
|
||||
'import',
|
||||
'profiler',
|
||||
'admin-pack',
|
||||
@@ -207,7 +208,8 @@ const externalExtensions = [
|
||||
'query-history',
|
||||
'liveshare',
|
||||
'sql-database-projects',
|
||||
'machine-learning'
|
||||
'machine-learning',
|
||||
'sql-assessment'
|
||||
];
|
||||
// extensions that require a rebuild since they have native parts
|
||||
const rebuildExtensions = [
|
||||
|
||||
@@ -233,6 +233,7 @@ const externalExtensions = [
|
||||
// Any extension not included here will be installed by default.
|
||||
'admin-tool-ext-win',
|
||||
'agent',
|
||||
'arc',
|
||||
'import',
|
||||
'profiler',
|
||||
'admin-pack',
|
||||
@@ -242,7 +243,8 @@ const externalExtensions = [
|
||||
'query-history',
|
||||
'liveshare',
|
||||
'sql-database-projects',
|
||||
'machine-learning'
|
||||
'machine-learning',
|
||||
'sql-assessment'
|
||||
];
|
||||
|
||||
// extensions that require a rebuild since they have native parts
|
||||
|
||||
@@ -430,6 +430,7 @@ function markNodes(languageService, options) {
|
||||
|| ts.isIndexSignatureDeclaration(member)
|
||||
|| ts.isCallSignatureDeclaration(member)
|
||||
|| memberName === '[Symbol.iterator]'
|
||||
|| memberName === '[Symbol.toStringTag]'
|
||||
|| memberName === 'toJSON'
|
||||
|| memberName === 'toString'
|
||||
|| memberName === 'dispose' // TODO: keeping all `dispose` methods
|
||||
|
||||
@@ -548,6 +548,7 @@ function markNodes(languageService: ts.LanguageService, options: ITreeShakingOpt
|
||||
|| ts.isIndexSignatureDeclaration(member)
|
||||
|| ts.isCallSignatureDeclaration(member)
|
||||
|| memberName === '[Symbol.iterator]'
|
||||
|| memberName === '[Symbol.toStringTag]'
|
||||
|| memberName === 'toJSON'
|
||||
|| memberName === 'toString'
|
||||
|| memberName === 'dispose'// TODO: keeping all `dispose` methods
|
||||
@@ -795,8 +796,8 @@ function getRealNodeSymbol(checker: ts.TypeChecker, node: ts.Node): [ts.Symbol |
|
||||
|
||||
let symbol = (
|
||||
ts.isShorthandPropertyAssignment(node)
|
||||
? checker.getShorthandAssignmentValueSymbol(node)
|
||||
: checker.getSymbolAtLocation(node)
|
||||
? checker.getShorthandAssignmentValueSymbol(node)
|
||||
: checker.getSymbolAtLocation(node)
|
||||
);
|
||||
|
||||
let importNode: ts.Declaration | null = null;
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
"rollup-plugin-commonjs": "^10.1.0",
|
||||
"rollup-plugin-node-resolve": "^5.2.0",
|
||||
"terser": "4.3.8",
|
||||
"typescript": "^3.9.0-dev.20200427",
|
||||
"typescript": "^3.9.1-rc",
|
||||
"vsce": "1.48.0",
|
||||
"vscode-telemetry-extractor": "^1.5.4",
|
||||
"xml2js": "^0.4.17"
|
||||
|
||||
@@ -3462,10 +3462,10 @@ typescript@^3.0.1:
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.3.tgz#c830f657f93f1ea846819e929092f5fe5983e977"
|
||||
integrity sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==
|
||||
|
||||
typescript@^3.9.0-dev.20200427:
|
||||
version "3.9.0-dev.20200427"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.0-dev.20200427.tgz#e42d606d938575dfb7b0b66f04a31b5f0eb0be57"
|
||||
integrity sha512-ja/GhL7BHT+VQZiLoYMGJt2CP1Pdr0EhYefv4LLw4tVooSuCDB8SDKT/i/HwsoPgQ4ZaYfg1vPl+1RhiO3bwJg==
|
||||
typescript@^3.9.1-rc:
|
||||
version "3.9.1-rc"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.1-rc.tgz#81d5a5a0a597e224b6e2af8dffb46524b2eaf5f3"
|
||||
integrity sha512-+cPv8L2Vd4KidCotqi2wjegBZ5n47CDRUu/QiLVu2YbeXAz78hIfcai9ziBiNI6JTGTVwUqXRug2UZxDcxhvFw==
|
||||
|
||||
typical@^4.0.0:
|
||||
version "4.0.0"
|
||||
|
||||
@@ -60,12 +60,12 @@
|
||||
"git": {
|
||||
"name": "electron",
|
||||
"repositoryUrl": "https://github.com/electron/electron",
|
||||
"commitHash": "959e80cc53cbebf8eb1d62eb2d14fa8fd86b0394"
|
||||
"commitHash": "0552e0d5de46ffa3b481d741f1db5c779e201565"
|
||||
}
|
||||
},
|
||||
"isOnlyProductionDependency": true,
|
||||
"license": "MIT",
|
||||
"version": "7.2.2"
|
||||
"version": "7.2.4"
|
||||
},
|
||||
{
|
||||
"component": {
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
"**/node_modules/**",
|
||||
"**/test/**"
|
||||
],
|
||||
"includePid": false,
|
||||
"reports": [
|
||||
"cobertura",
|
||||
"lcov"
|
||||
"lcov",
|
||||
"json"
|
||||
],
|
||||
"verbose": false,
|
||||
"remapOptions": {
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
"mocha-junit-reporter": "^1.17.0",
|
||||
"mocha-multi-reporters": "^1.1.7",
|
||||
"should": "^13.2.3",
|
||||
"vscodetestcover": "github:corivera/vscodetestcover#1.0.6"
|
||||
"vscodetestcover": "^1.0.9"
|
||||
},
|
||||
"__metadata": {
|
||||
"id": "41",
|
||||
|
||||
@@ -935,9 +935,10 @@ vscode-nls@^3.2.1:
|
||||
resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-3.2.5.tgz#25520c1955108036dec607c85e00a522f247f1a4"
|
||||
integrity sha512-ITtoh3V4AkWXMmp3TB97vsMaHRgHhsSFPsUdzlueSL+dRZbSNTZeOmdQv60kjCV306ghPxhDeoNUEm3+EZMuyw==
|
||||
|
||||
"vscodetestcover@github:corivera/vscodetestcover#1.0.6":
|
||||
version "1.0.5"
|
||||
resolved "https://codeload.github.com/corivera/vscodetestcover/tar.gz/14e0f2c46346b31bc1af2c590febeaf69a9112eb"
|
||||
vscodetestcover@^1.0.9:
|
||||
version "1.0.9"
|
||||
resolved "https://registry.yarnpkg.com/vscodetestcover/-/vscodetestcover-1.0.9.tgz#0191f403dd59ba1153fc57979e281e992ce63731"
|
||||
integrity sha512-8z2961KF9Tuz5XdHAC6RMV3CrzAoUcfIK7wLYjLIXD4dbHIT7ceZMhoxToW1olyi3pFnThlS4lRXtx8Q5iyMMQ==
|
||||
dependencies:
|
||||
decache "^4.4.0"
|
||||
glob "^7.1.2"
|
||||
|
||||
@@ -8,7 +8,8 @@ basic functionality for the following.
|
||||
* View Job History with job execution results
|
||||
* Basic Job Control to start and stop jobs
|
||||
|
||||
<img src="https://user-images.githubusercontent.com/599935/39215738-d3a52580-47cd-11e8-9788-b290048c270e.png" alt="SQL Agent" style="width:800px;"/>
|
||||
<img src="https://user-images.githubusercontent.com/6411451/82481964-f7b1a400-9a8a-11ea-8b25-2a6958a41e25.png" alt="SQL Agent" style="width:800px;"/>
|
||||
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
"**/node_modules/**",
|
||||
"**/test/**"
|
||||
],
|
||||
"includePid": false,
|
||||
"reports": [
|
||||
"cobertura",
|
||||
"lcov"
|
||||
"lcov",
|
||||
"json"
|
||||
],
|
||||
"verbose": false,
|
||||
"remapOptions": {
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
"mocha-multi-reporters": "^1.1.7",
|
||||
"should": "^13.2.1",
|
||||
"typemoq": "^2.1.0",
|
||||
"vscodetestcover": "github:corivera/vscodetestcover#1.0.6"
|
||||
"vscodetestcover": "^1.0.9"
|
||||
},
|
||||
"__metadata": {
|
||||
"id": "10",
|
||||
|
||||
@@ -769,9 +769,10 @@ vscode-nls@^3.2.1:
|
||||
resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-3.2.5.tgz#25520c1955108036dec607c85e00a522f247f1a4"
|
||||
integrity sha512-ITtoh3V4AkWXMmp3TB97vsMaHRgHhsSFPsUdzlueSL+dRZbSNTZeOmdQv60kjCV306ghPxhDeoNUEm3+EZMuyw==
|
||||
|
||||
"vscodetestcover@github:corivera/vscodetestcover#1.0.6":
|
||||
version "1.0.5"
|
||||
resolved "https://codeload.github.com/corivera/vscodetestcover/tar.gz/14e0f2c46346b31bc1af2c590febeaf69a9112eb"
|
||||
vscodetestcover@^1.0.9:
|
||||
version "1.0.9"
|
||||
resolved "https://registry.yarnpkg.com/vscodetestcover/-/vscodetestcover-1.0.9.tgz#0191f403dd59ba1153fc57979e281e992ce63731"
|
||||
integrity sha512-8z2961KF9Tuz5XdHAC6RMV3CrzAoUcfIK7wLYjLIXD4dbHIT7ceZMhoxToW1olyi3pFnThlS4lRXtx8Q5iyMMQ==
|
||||
dependencies:
|
||||
decache "^4.4.0"
|
||||
glob "^7.1.2"
|
||||
|
||||
1
extensions/arc/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.vsix
|
||||
6
extensions/arc/.vscodeignore
Normal file
@@ -0,0 +1,6 @@
|
||||
.gitignore
|
||||
src/**
|
||||
out/**
|
||||
extension.webpack.config.js
|
||||
tsconfig.json
|
||||
yarn.lock
|
||||
17
extensions/arc/README.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Microsoft Azure Arc Extension for Azure Data Studio
|
||||
|
||||
Welcome to Microsoft Azure Arc Extension for Azure Data Studio!
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
||||
|
||||
## Privacy Statement
|
||||
|
||||
The [Microsoft Enterprise and Developer Privacy Statement](https://privacy.microsoft.com/en-us/privacystatement) describes the privacy statement of this software.
|
||||
|
||||
## License
|
||||
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
|
||||
Licensed under the [Source EULA](https://raw.githubusercontent.com/Microsoft/azuredatastudio/master/LICENSE.txt).
|
||||
17
extensions/arc/extension.webpack.config.js
Normal file
@@ -0,0 +1,17 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
//@ts-check
|
||||
|
||||
'use strict';
|
||||
|
||||
const withDefaults = require('../shared.webpack.config');
|
||||
|
||||
module.exports = withDefaults({
|
||||
context: __dirname,
|
||||
entry: {
|
||||
extension: './src/extension.ts'
|
||||
}
|
||||
});
|
||||
3
extensions/arc/images/add.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14.999 7V8H7.99902V15H6.99902V8H-0.000976562V7H6.99902V0H7.99902V7H14.999Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 206 B |
17
extensions/arc/images/billing.svg
Normal file
@@ -0,0 +1,17 @@
|
||||
<svg id="b82fda19-b66e-482f-99d7-d23ab8197f70" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
||||
<defs>
|
||||
<radialGradient id="b46a80d9-b426-4f30-a6c3-25ae6fc3fffb" cx="7.18" cy="9.5" r="7.38" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#76bc2d"/>
|
||||
<stop offset="0.41" stop-color="#74b92c"/>
|
||||
<stop offset="0.66" stop-color="#6fb12a"/>
|
||||
<stop offset="0.88" stop-color="#66a227"/>
|
||||
<stop offset="1" stop-color="#5e9624"/>
|
||||
</radialGradient>
|
||||
</defs>
|
||||
<title>Icon-general-12</title>
|
||||
<path d="M10,10.24a1,1,0,0,1-.31.79,1.49,1.49,0,0,1-.89.37V12H8.36v-.62a2.36,2.36,0,0,1-1.1-.28v-.81a1.8,1.8,0,0,0,.5.25,2.49,2.49,0,0,0,.6.14V9.64a2.42,2.42,0,0,1-.91-.53,1.15,1.15,0,0,1,.06-1.55,1.41,1.41,0,0,1,.85-.38V6.63h.43v.54a2.21,2.21,0,0,1,.92.2v.8a2.28,2.28,0,0,0-.92-.31V9a2.34,2.34,0,0,1,.92.54A1,1,0,0,1,10,10.24ZM8.36,8.81V7.88A.4.4,0,0,0,8,8.3c0,.21.13.38.4.51Zm.85,1.47c0-.19-.14-.34-.42-.47v.9c.28-.05.42-.19.42-.43Z" fill="#258277"/>
|
||||
<path d="M16.54,9.49h-3.6a4.43,4.43,0,0,1-1.48,3.3l2.39,2.69a8,8,0,0,0,2.69-6" fill="#ffca00"/>
|
||||
<path d="M8.52,13.93a4.43,4.43,0,0,1,0-8.86V1.49a8,8,0,0,0-8,8h0a8,8,0,0,0,8,8h0a8,8,0,0,0,5.34-2l-2.4-2.69A4.38,4.38,0,0,1,8.52,13.93Z" fill="url(#b46a80d9-b426-4f30-a6c3-25ae6fc3fffb)"/>
|
||||
<path d="M8.15.48h0V4.64h0a5.09,5.09,0,0,1,5.17,5.18H17.5A9.34,9.34,0,0,0,8.15.48Z" fill="#ccc"/>
|
||||
<path d="M13.34,9.82A5.13,5.13,0,0,0,8.28,4.64H8.15l.33.62a4.5,4.5,0,0,1,4.23,4.25Z" fill="#999"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
extensions/arc/images/collapse-down-inverse.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="26" height="26" xmlns="http://www.w3.org/2000/svg"> <g id="svg_1"> <polygon transform="rotate(90 12.967000007629395,8.000000000000002) " fill="#ffffff" points="7.549000024795532,-4.9200000166893005 5.464999999850988,-2.8359999656677246 16.300999641418457,8 5.464999999850988,18.836000442504883 7.549000024795532,20.920000076293945 20.4689998626709,8 " id="svg_2"/> <polygon transform="rotate(90 12.96700096130371,18.90800476074219) " fill="#ffffff" points="7.5490007400512695,5.988004416227341 5.465001106262207,8.07200500369072 16.301002502441406,18.908005446195602 5.465001106262207,29.744003981351852 7.5490007400512695,31.828003615140915 20.46900177001953,18.908005446195602 " id="svg_3"/> </g> </svg>
|
||||
|
After Width: | Height: | Size: 717 B |
1
extensions/arc/images/collapse-down.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="26" height="26" xmlns="http://www.w3.org/2000/svg"> <g transform="rotate(90 12.967000007629395,13.500000000000002) " id="svg_1"> <polygon id="svg_2" points="2.049,0.58 -0.035,2.664 10.801,13.5 -0.035,24.336 2.049,26.42 14.969,13.5 " fill="#231F20"/> <polygon id="svg_3" points="13.049,0.58 10.965,2.664 21.801,13.5 10.965,24.336 13.049,26.42 25.969,13.5 " fill="#231F20"/> </g> </svg>
|
||||
|
After Width: | Height: | Size: 398 B |
1
extensions/arc/images/collapse-up-inverse.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="26" height="26" xmlns="http://www.w3.org/2000/svg"> <g id="svg_1"> <polygon transform="rotate(-90 12.718243598937994,19.000000000000004) " fill="#ffffff" points="7.300243854522705,6.079999923706055 5.216243773698807,8.164000034332275 16.05224323272705,19 5.216243773698807,29.836000442504883 7.300243854522705,31.920000076293945 20.220243453979492,19 " id="svg_2"/> <polygon transform="rotate(-90 12.718244552612306,8.000000953674316) " fill="#ffffff" points="7.300244331359863,-4.919999122619629 5.216244697570801,-2.835999011993408 16.052245140075684,8.000000953674316 5.216244697570801,18.8360013961792 7.300244331359863,20.92000102996826 20.22024440765381,8.000000953674316 " id="svg_3"/> </g> </svg>
|
||||
|
After Width: | Height: | Size: 716 B |
1
extensions/arc/images/collapse-up.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="26" height="26" xmlns="http://www.w3.org/2000/svg"> <g transform="rotate(-90 12.967000007629396,13.5) " id="svg_1"> <polygon id="svg_2" points="2.049,0.58 -0.035,2.664 10.801,13.5 -0.035,24.336 2.049,26.42 14.969,13.5 " fill="#231F20"/> <polygon id="svg_3" points="13.049,0.58 10.965,2.664 21.801,13.5 10.965,24.336 13.049,26.42 25.969,13.5 " fill="#231F20"/> </g> </svg>
|
||||
|
After Width: | Height: | Size: 385 B |
4
extensions/arc/images/connections.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg width="34" height="34" viewBox="0 0 34 34" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M18.9 25.5L19.1 17H12.75V8.5H9.75C7.85 8.5 6.55 10.2 6.35 12.75H0V21.25H6.4C6.85 23.6 7.9 25.5 9.8 25.5H18.9Z" fill="#59B4D9"/>
|
||||
<path d="M14.8999 8.5V14.9H21.2999V25.5H23.4499C23.8499 25.5 24.0999 25.5 24.4999 25.3C25.7999 24.9 26.8499 23.15 27.2499 21.25H33.9999V12.75H27.1999C26.7999 10.4 25.2999 8.5 23.3499 8.5H14.8999Z" fill="#3999C6"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 454 B |
3
extensions/arc/images/copy.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15 6.3V16H5V13H1V0H7.7L10.7 3H11.7L15 6.3ZM5 3H9.3L7.3 1H2V12H5V3ZM14 7H11V4H6V15H14V7ZM12 6H13.3L12 4.7V6Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 239 B |
3
extensions/arc/images/delete.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14.5 3.0001H13.5V14.5001C13.5146 14.7052 13.4803 14.9108 13.4 15.1001L13.1 15.6001L12.6 15.9001H3.4L2.9 15.6001L2.6 15.1001C2.51969 14.9108 2.48542 14.7052 2.5 14.5001V3.0001H1.5V2.0001H5.5V1.0001C5.48504 0.859138 5.52046 0.717432 5.6 0.600098L5.8 0.300098L6.1 0.100098H9.9L10.2 0.300098L10.4 0.600098C10.4795 0.717432 10.515 0.859138 10.5 1.0001V2.0001H14.5V3.0001ZM12.5 3.0001H3.5V14.5001C3.48504 14.6411 3.52046 14.7828 3.6 14.9001H12.4C12.4795 14.7828 12.515 14.6411 12.5 14.5001V3.0001ZM6.5 13.0001H5.5V5.0001H6.5V13.0001ZM6.5 2.0001H9.5V1.0001H6.5V2.0001ZM8.5 13.0001H7.5V5.0001H8.5V13.0001ZM10.5 13.0001H9.5V5.0001H10.5V13.0001Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 767 B |
3
extensions/arc/images/edit.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16 2.62C15.9975 2.96301 15.9296 3.3024 15.8 3.62C15.6698 3.94212 15.476 4.23464 15.23 4.48L5 14.77L0 16L1.23 11.05L11.52 0.77C11.7654 0.524034 12.0579 0.330158 12.38 0.2C12.6976 0.0704162 13.037 0.00253902 13.38 0C13.7242 0.000976246 14.0645 0.0724452 14.38 0.21C14.6919 0.338295 14.9743 0.528845 15.21 0.77C15.4479 1.00841 15.638 1.29014 15.77 1.6C15.9171 1.92018 15.9955 2.26766 16 2.62ZM1.38 14.62L4 14C3.94126 13.7636 3.85395 13.5353 3.74 13.32C3.62299 13.1141 3.48201 12.9228 3.32 12.75C3.14724 12.588 2.95591 12.447 2.75 12.33C2.51363 12.2036 2.26139 12.1094 2 12.05L1.38 14.62ZM2.55 11.16C3.0852 11.3342 3.57163 11.6324 3.96961 12.0304C4.36759 12.4284 4.66583 12.9148 4.84 13.45L13.29 5L11 2.71L2.55 11.16ZM14 4.29L14.38 3.92C14.4943 3.80702 14.6012 3.68677 14.7 3.56C14.789 3.42875 14.8628 3.28786 14.92 3.14C14.9755 2.97236 15.0026 2.79659 15 2.62C15.0032 2.40625 14.9588 2.19445 14.87 2C14.7902 1.80451 14.6711 1.62751 14.52 1.48C14.3725 1.32892 14.1955 1.20978 14 1.13C13.8055 1.04118 13.5938 0.996774 13.38 1C13.2034 0.997418 13.0276 1.02446 12.86 1.08C12.7121 1.13724 12.5712 1.21105 12.44 1.3C12.3108 1.39589 12.1904 1.50297 12.08 1.62L11.71 2L14 4.29Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
BIN
extensions/arc/images/extension.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
3
extensions/arc/images/heart.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="14" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11.8002 -8.11447e-06C12.3474 0.00189106 12.8896 0.103554 13.4002 0.299992L14.8002 1.19999L15.7002 2.59999C15.9043 3.14328 16.0061 3.71966 16.0002 4.29999C15.9983 4.84713 15.8967 5.38933 15.7002 5.89999C15.4966 6.42202 15.1906 6.89803 14.8002 7.29999L8.00024 14L1.20024 7.29999C0.809851 6.89803 0.503844 6.42202 0.300236 5.89999C0.103798 5.38933 0.0021352 4.84713 0.000236026 4.29999C-0.00557996 3.71966 0.0961354 3.14328 0.300236 2.59999L1.20024 1.19999L2.60024 0.299992C3.14352 0.0958913 3.71991 -0.0058241 4.30024 -8.11447e-06H5.40024L6.30024 0.499992C6.64198 0.628901 6.9498 0.834113 7.20024 1.09999L8.00024 1.99999L8.80024 1.19999C9.05067 0.934113 9.35849 0.728901 9.70024 0.599992L10.6002 0.0999919L11.8002 -8.11447e-06ZM14.0002 6.49999C14.3492 6.24177 14.6249 5.89713 14.8002 5.49999C14.9155 5.10962 14.9827 4.70664 15.0002 4.29999C15.0064 3.84882 14.9035 3.40282 14.7002 2.99999C14.5855 2.6224 14.3794 2.27893 14.1002 1.99999C13.799 1.67702 13.4204 1.43611 13.0002 1.29999L11.8002 0.999992L10.6002 1.19999L9.60024 1.79999L8.80024 2.49999L8.00024 3.39999L7.20024 2.59999L6.30024 1.79999L5.40024 1.19999L4.30024 0.999992C3.84906 0.993784 3.40307 1.09671 3.00024 1.29999C2.60363 1.4394 2.23217 1.64201 1.90024 1.89999C1.64226 2.23192 1.43964 2.60338 1.30024 2.99999C1.09695 3.40282 0.994028 3.84882 1.00024 4.29999C1.01781 4.70664 1.08497 5.10962 1.20024 5.49999C1.37556 5.89713 1.65127 6.24177 2.00024 6.49999L8.00024 12.6L14.0002 6.49999Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
23
extensions/arc/images/migrate.svg
Normal file
@@ -0,0 +1,23 @@
|
||||
<svg id="e561869b-c34b-48c3-a0e3-042ce22ae6c3" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
||||
<defs>
|
||||
<linearGradient id="e78d5bd2-2af6-4751-8b3e-4bbc0400e30b" x1="11.13" y1="10.95" x2="11.13" y2="1.21" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#0078d4"/>
|
||||
<stop offset="0.16" stop-color="#1380da"/>
|
||||
<stop offset="0.53" stop-color="#3c91e5"/>
|
||||
<stop offset="0.82" stop-color="#559cec"/>
|
||||
<stop offset="1" stop-color="#5ea0ef"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="b7bc0491-3dd3-430b-9796-b05c5a14606e" x1="7.06" y1="16.79" x2="7.06" y2="6.78" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#198ab3"/>
|
||||
<stop offset="0.13" stop-color="#21a0c7"/>
|
||||
<stop offset="0.31" stop-color="#28b7db"/>
|
||||
<stop offset="0.5" stop-color="#2ec7ea"/>
|
||||
<stop offset="0.72" stop-color="#31d1f2"/>
|
||||
<stop offset="1" stop-color="#32d4f5"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<title>Icon-migrate-282</title>
|
||||
<path d="M18,7.9a3.09,3.09,0,0,0-2.68-3,3.89,3.89,0,0,0-4-3.72A4,4,0,0,0,7.5,3.81,3.68,3.68,0,0,0,4.26,7.36,3.74,3.74,0,0,0,8.13,11l.34,0h6.26l.17,0A3.13,3.13,0,0,0,18,7.9Z" fill="url(#e78d5bd2-2af6-4751-8b3e-4bbc0400e30b)"/>
|
||||
<path d="M14.39,5.22,12.56,3.44c-.2-.2-.37-.13-.37.18v.8a.22.22,0,0,1-.23.22c-1.18,0-4.47.31-4.59,4.81a.23.23,0,0,0,.23.23H8.77A.23.23,0,0,0,9,9.43,2.76,2.76,0,0,1,12,6.1a.23.23,0,0,1,.23.23v.74c0,.37.12.43.37.18L14.39,5.6A.23.23,0,0,0,14.39,5.22Z" fill="#fff"/>
|
||||
<path d="M14.12,13.66a3.17,3.17,0,0,0-2.75-3.05A4,4,0,0,0,7.25,6.78,4.1,4.1,0,0,0,3.33,9.46,3.78,3.78,0,0,0,0,13.1a3.84,3.84,0,0,0,4,3.69h6.78a.47.47,0,0,0,.17,0A3.21,3.21,0,0,0,14.12,13.66Z" fill="url(#b7bc0491-3dd3-430b-9796-b05c5a14606e)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
3
extensions/arc/images/open-in-tab.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16 0V13H13V16H0V3H3V0H16ZM15 12V1H4V3H6V4H1V15H12V10H13V12H15ZM7.35156 9.35156L6.64844 8.64844L11.2891 4H8V3H13V8H12V4.71094L7.35156 9.35156Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 273 B |
1
extensions/arc/images/postgres.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg id="fc890127-728b-4ac0-b5da-86cdfc191e86" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><defs><linearGradient id="a28dee20-4c71-46b5-b957-804c67da725a" x1="2.44" y1="10.67" x2="15.27" y2="10.67" gradientTransform="translate(0.14 -0.5) rotate(-0.01)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#005ba1"/><stop offset="0.07" stop-color="#0060a9"/><stop offset="0.36" stop-color="#0071c8"/><stop offset="0.52" stop-color="#0078d4"/><stop offset="0.64" stop-color="#0074cd"/><stop offset="0.82" stop-color="#006abb"/><stop offset="1" stop-color="#005ba1"/></linearGradient></defs><title>Icon-databases-131</title><path d="M9,5.14c-3.54,0-6.41-1-6.41-2.32V15.18c0,1.27,2.82,2.3,6.32,2.32H9c3.54,0,6.41-1,6.41-2.32V2.82C15.41,4.1,12.54,5.14,9,5.14Z" fill="url(#a28dee20-4c71-46b5-b957-804c67da725a)"/><path d="M15.41,2.82c0,1.28-2.87,2.32-6.41,2.32s-6.41-1-6.41-2.32S5.46.5,9,.5s6.41,1,6.41,2.32" fill="#e8e8e8"/><path d="M13.91,2.63c0,.82-2.2,1.48-4.91,1.48S4.08,3.45,4.08,2.64,6.28,1.16,9,1.16s4.91.66,4.91,1.47" fill="#50e6ff"/><path d="M9,3a11.65,11.65,0,0,0-3.9.57A11.53,11.53,0,0,0,9,4.11a11.47,11.47,0,0,0,3.89-.58A11.93,11.93,0,0,0,9,3Z" fill="#198ab3"/><path d="M12,9c0,.08,0,.24,0,.42a5.12,5.12,0,0,0-.08.63c0,.12,0,.3.05.46s0,.27,0,.36a1.68,1.68,0,0,1-.25.86.43.43,0,0,0,0,.07l.1.12a10.55,10.55,0,0,0,1.06-2.38h0c.28-.95.31-1.63.09-1.92a2.58,2.58,0,0,0-2.68-.86,3.29,3.29,0,0,1,.91.67A2.28,2.28,0,0,1,12,9Zm-.31.08a1.15,1.15,0,0,0-.79.09c-.29.18-.2.55,0,1a7.77,7.77,0,0,0,.35.85l.09.16h0c.05.08.08.15.11.2l.08.13a1.28,1.28,0,0,0,.18-.65,2.86,2.86,0,0,0,0-.33c0-.17,0-.36-.05-.49a6.1,6.1,0,0,1,.08-.69C11.71,9.24,11.72,9.13,11.73,9.05Zm-.3.41a.4.4,0,0,1-.18.1h0a.33.33,0,0,1-.14,0A.23.23,0,0,1,11,9.4h0c0-.07.11-.13.24-.15h.19s.09,0,.09.08A.2.2,0,0,1,11.43,9.46Zm-4.69.89c0-.07,0-.13,0-.17a1,1,0,0,0,0-.17,5.55,5.55,0,0,1,0-1A5.22,5.22,0,0,1,7,7.94,2.41,2.41,0,0,1,7.58,7,4.78,4.78,0,0,0,6.23,6.8a1.87,1.87,0,0,0-1.1.3A2,2,0,0,0,4.5,8.92,12.27,12.27,0,0,0,5,11.16c.34,1.14.73,1.84,1.07,1.95h0c.15.05.31,0,.47-.21.28-.34.54-.63.69-.8A1.88,1.88,0,0,1,6.74,10.35Zm.26.4a2.18,2.18,0,0,0,.06.56,1.5,1.5,0,0,0,.26.44,1.07,1.07,0,0,0,.35.25,1.09,1.09,0,0,0,.39.08c0-.17.14-.38.23-.6a4.35,4.35,0,0,0,.21-.59,6.61,6.61,0,0,0,0-1.11c0-.09,0-.19-.06-.3a.45.45,0,0,0-.12-.27l0,0A.66.66,0,0,0,8,9.08H7.8a1.56,1.56,0,0,0-.48.14A2,2,0,0,0,7,9.41v.11c0,.2,0,.41,0,.61v0a.86.86,0,0,1,0,.15l0,.39H7Zm.66-1.34,0,0a.46.46,0,0,1,.28,0,.6.6,0,0,1,.19.06c.09,0,.1.11.09.14h0a.37.37,0,0,1-.12.13A.3.3,0,0,1,8,9.73h0a.34.34,0,0,1-.28-.28Zm.74,3a.23.23,0,0,0-.13.06l-.14.17c-.17.21-.24.28-.73.38a.52.52,0,0,0-.26.1.58.58,0,0,0,.24.11,1.18,1.18,0,0,0,.72,0A1.7,1.7,0,0,0,8.45,13a.61.61,0,0,0,.2-.31.36.36,0,0,0-.1-.28A.15.15,0,0,0,8.4,12.39Zm4.61,0a1.63,1.63,0,0,1-1.13,0,.22.22,0,0,0-.14,0,.3.3,0,0,0-.17.14,1.09,1.09,0,0,0,0,.31,1.8,1.8,0,0,0,1.1-.1,1.36,1.36,0,0,0,.48-.34Zm-2.4-2.14c-.14-.41-.34-1,.18-1.36a1.35,1.35,0,0,1,.89-.15A3.18,3.18,0,0,0,11,7.64l-.1-.1-.06-.06h0a.34.34,0,0,0-.06-.06l0,0,0,0A2.34,2.34,0,0,0,10.11,7,2.63,2.63,0,0,0,9,6.78a1.52,1.52,0,0,0-.7.11A1.77,1.77,0,0,0,8,7a2.1,2.1,0,0,0-.74,1,5.84,5.84,0,0,0-.21,1,1.66,1.66,0,0,1,1-.23.84.84,0,0,1,.77.91,7.26,7.26,0,0,1,0,1.27,3.87,3.87,0,0,1-.23.63c-.06.17-.14.35-.18.49a.5.5,0,0,1,.38.14.66.66,0,0,1,.19.53H9c0,.08,0,.16,0,.24a6.55,6.55,0,0,0,.24,2.44.54.54,0,0,0,.24.21.6.6,0,0,0,.31.1,1.3,1.3,0,0,0,1-.34,1.05,1.05,0,0,0,.29-.66c.07-.45.22-1.7.24-2h0a.72.72,0,0,1,.09-.44.63.63,0,0,1,.27-.24A5.36,5.36,0,0,1,10.61,10.24Z" fill="#f2f2f2"/></svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
20
extensions/arc/images/properties.svg
Normal file
@@ -0,0 +1,20 @@
|
||||
<svg width="34" height="34" viewBox="0 0 34 34" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.49995 0H2.69995V34H9.49995V0Z" fill="#E5E5E5"/>
|
||||
<path d="M8.1501 1.34998H4.1001V32.65H8.1501V1.34998Z" fill="#59B4D9"/>
|
||||
<path opacity="0.6" d="M8.2001 13.6H4.1001V32.65H8.2001V13.6Z" fill="white"/>
|
||||
<path d="M9.49995 12.25H2.69995V14.95H9.49995V12.25Z" fill="#7A7A7A"/>
|
||||
<path opacity="0.7" d="M9.49995 12.25H2.69995V13.6H9.49995V12.25Z" fill="white"/>
|
||||
<path d="M20.4001 0H13.6001V34H20.4001V0Z" fill="#E5E5E5"/>
|
||||
<path d="M19 1.34998H14.95V32.65H19V1.34998Z" fill="#59B4D9"/>
|
||||
<path opacity="0.6" d="M19.05 24.5H14.95V32.65H19.05V24.5Z" fill="white"/>
|
||||
<path d="M20.4001 23.1H13.6001V25.8H20.4001V23.1Z" fill="#7A7A7A"/>
|
||||
<path opacity="0.7" d="M20.4001 23.1H13.6001V24.45H20.4001V23.1Z" fill="white"/>
|
||||
<path d="M31.3 0H24.5V34H31.3V0Z" fill="#E5E5E5"/>
|
||||
<path d="M29.9001 1.34998H25.8501V32.65H29.9001V1.34998Z" fill="#59B4D9"/>
|
||||
<path opacity="0.6" d="M29.9501 13.6H25.8501V32.65H29.9501V13.6Z" fill="white"/>
|
||||
<path d="M31.3 12.25H24.5V14.95H31.3V12.25Z" fill="#7A7A7A"/>
|
||||
<path opacity="0.7" d="M31.3 12.25H24.5V13.6H31.3V12.25Z" fill="white"/>
|
||||
<path opacity="0.2" d="M9.49995 14.95H2.69995V16.3H9.49995V14.95Z" fill="#1E1E1E"/>
|
||||
<path opacity="0.2" d="M31.25 14.95H24.45V16.3H31.25V14.95Z" fill="#1E1E1E"/>
|
||||
<path opacity="0.2" d="M20.4001 25.85H13.6001V27.2H20.4001V25.85Z" fill="#1E1E1E"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
3
extensions/arc/images/refresh.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M10.1328 0.296875C10.9974 0.53125 11.7891 0.898438 12.5078 1.39844C13.2266 1.89323 13.8438 2.48177 14.3594 3.16406C14.8802 3.84115 15.2839 4.59375 15.5703 5.42188C15.8568 6.24479 16 7.10417 16 8C16 8.73438 15.9036 9.44271 15.7109 10.125C15.5234 10.8073 15.2552 11.4453 14.9062 12.0391C14.5625 12.6328 14.1458 13.1745 13.6562 13.6641C13.1719 14.1484 12.6328 14.5651 12.0391 14.9141C11.4453 15.2578 10.8073 15.526 10.125 15.7188C9.44271 15.9062 8.73438 16 8 16C7.26562 16 6.55729 15.9062 5.875 15.7188C5.19271 15.526 4.55469 15.2578 3.96094 14.9141C3.36719 14.5651 2.82552 14.1484 2.33594 13.6641C1.85156 13.1745 1.4349 12.6328 1.08594 12.0391C0.742188 11.4453 0.473958 10.8099 0.28125 10.1328C0.09375 9.45052 0 8.73958 0 8C0 7.27083 0.0963542 6.5625 0.289062 5.875C0.481771 5.1875 0.755208 4.54167 1.10938 3.9375C1.46875 3.32812 1.90365 2.77604 2.41406 2.28125C2.92448 1.78125 3.5 1.35417 4.14062 1H2V0H6V4H5V1.67969C4.39062 1.97135 3.83854 2.33854 3.34375 2.78125C2.85417 3.21875 2.4349 3.71354 2.08594 4.26562C1.73698 4.8125 1.46875 5.40365 1.28125 6.03906C1.09375 6.67448 1 7.32812 1 8C1 8.64062 1.08333 9.26042 1.25 9.85938C1.41667 10.4531 1.65104 11.0104 1.95312 11.5312C2.26042 12.0469 2.6276 12.5182 3.05469 12.9453C3.48177 13.3724 3.95312 13.7396 4.46875 14.0469C4.98958 14.349 5.54688 14.5833 6.14062 14.75C6.73438 14.9167 7.35417 15 8 15C8.64062 15 9.25781 14.9167 9.85156 14.75C10.4505 14.5833 11.0078 14.349 11.5234 14.0469C12.0443 13.7396 12.5182 13.3724 12.9453 12.9453C13.3724 12.5182 13.737 12.0469 14.0391 11.5312C14.3464 11.0104 14.5833 10.4531 14.75 9.85938C14.9167 9.26562 15 8.64583 15 8C15 7.21875 14.8724 6.46615 14.6172 5.74219C14.3672 5.01823 14.0156 4.35938 13.5625 3.76562C13.1094 3.17188 12.5677 2.65885 11.9375 2.22656C11.3125 1.78906 10.6224 1.46615 9.86719 1.25781L10.1328 0.296875Z" fill="#0078D4"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
17
extensions/arc/images/security.svg
Normal file
@@ -0,0 +1,17 @@
|
||||
<svg id="fe62c4da-ab98-4bb3-a1a5-9a22b229614c" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
||||
<defs>
|
||||
<linearGradient id="f36136e6-f568-4134-ab6f-c0fefbc04f83" x1="9" y1="16.795" x2="9" y2="1.205" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#5e9624"/>
|
||||
<stop offset="0.321" stop-color="#639d26"/>
|
||||
<stop offset="0.794" stop-color="#6fb12a"/>
|
||||
<stop offset="0.999" stop-color="#76bc2d"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g>
|
||||
<path d="M16.083,8.438c0,4.571-5.626,8.25-6.85,9a.449.449,0,0,1-.466,0c-1.224-.747-6.85-4.426-6.85-9v-5.5A.44.44,0,0,1,2.351,2.5C6.728,2.386,5.72.5,9,.5s2.272,1.886,6.649,2a.44.44,0,0,1,.434.435Z" fill="#76bc2d"/>
|
||||
<path d="M15.5,8.485c0,4.191-5.16,7.566-6.282,8.25a.412.412,0,0,1-.428,0C7.664,16.051,2.5,12.676,2.5,8.485V3.441a.4.4,0,0,1,.4-.4C6.916,2.935,5.992,1.205,9,1.205s2.084,1.73,6.1,1.837a.4.4,0,0,1,.4.4Z" fill="url(#f36136e6-f568-4134-ab6f-c0fefbc04f83)"/>
|
||||
<path d="M11.853,7.66h-.408l0-1.417a2.652,2.652,0,0,0-.7-1.809,2.358,2.358,0,0,0-3.483,0,2.606,2.606,0,0,0-.7,1.808V7.66H6.147a.328.328,0,0,0-.326.32v3.682a.329.329,0,0,0,.326.32h5.706a.329.329,0,0,0,.326-.32V7.98A.328.328,0,0,0,11.853,7.66Zm-1.549,0H7.7V6.219a1.434,1.434,0,0,1,.41-.99,1.2,1.2,0,0,1,1.788,0,1.394,1.394,0,0,1,.153.2h0a1.445,1.445,0,0,1,.258.791Z" fill="#fff"/>
|
||||
<path d="M6.148,7.658h5.705a.328.328,0,0,1,.21.08L5.938,11.9a.313.313,0,0,1-.116-.241V7.979A.328.328,0,0,1,6.148,7.658Z" fill="#b3b3b3" opacity="0.15"/>
|
||||
<path d="M11.853,7.658H6.147a.328.328,0,0,0-.209.08L12.062,11.9a.314.314,0,0,0,.117-.241V7.979A.329.329,0,0,0,11.853,7.658Z" fill="#a3a3a3" opacity="0.09"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
65
extensions/arc/package.json
Normal file
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"name": "arc",
|
||||
"displayName": "%arc.displayName%",
|
||||
"description": "%arc.description%",
|
||||
"version": "0.1.0",
|
||||
"publisher": "Microsoft",
|
||||
"preview": true,
|
||||
"license": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/master/LICENSE.txt",
|
||||
"icon": "images/extension.png",
|
||||
"engines": {
|
||||
"vscode": "*",
|
||||
"azdata": ">=1.18.0"
|
||||
},
|
||||
"activationEvents": [
|
||||
"onCommand:arc.manageMiaa",
|
||||
"onCommand:arc.managePostgres"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Microsoft/azuredatastudio.git"
|
||||
},
|
||||
"main": "./out/extension",
|
||||
"contributes": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "arc.manageMiaa",
|
||||
"title": "%arc.manageMiaa%"
|
||||
},
|
||||
{
|
||||
"command": "arc.managePostgres",
|
||||
"title": "%arc.managePostgres%"
|
||||
}
|
||||
],
|
||||
"menus": {
|
||||
"commandPalette": [
|
||||
{
|
||||
"command": "arc.manageMiaa",
|
||||
"when": "false"
|
||||
},
|
||||
{
|
||||
"command": "arc.managePostgres",
|
||||
"when": "false"
|
||||
}
|
||||
]
|
||||
},
|
||||
"configuration": {
|
||||
"type": "object",
|
||||
"title": "%arc.configuration.title%",
|
||||
"properties": {
|
||||
"arc.ignoreSslVerification": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "%arc.ignoreSslVerification.desc%"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"request": "^2.88.0",
|
||||
"vscode-nls": "^4.1.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/request": "^2.48.3"
|
||||
}
|
||||
}
|
||||
8
extensions/arc/package.nls.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"arc.displayName": "Azure Arc",
|
||||
"arc.description": "Support for Azure Arc",
|
||||
"arc.configuration.title": "Azure Arc",
|
||||
"arc.ignoreSslVerification.desc" : "Ignore SSL verification errors against the controller endpoint if true",
|
||||
"arc.manageMiaa": "Manage MIAA",
|
||||
"arc.managePostgres": "Manage Postgres"
|
||||
}
|
||||
25
extensions/arc/src/common/promise.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Deferred promise
|
||||
*/
|
||||
export class Deferred<T> {
|
||||
promise: Promise<T>;
|
||||
resolve!: (value?: T | PromiseLike<T>) => void;
|
||||
reject!: (reason?: any) => void;
|
||||
constructor() {
|
||||
this.promise = new Promise<T>((resolve, reject) => {
|
||||
this.resolve = resolve;
|
||||
this.reject = reject;
|
||||
});
|
||||
}
|
||||
|
||||
then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => TResult | Thenable<TResult>): Thenable<TResult>;
|
||||
then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => void): Thenable<TResult>;
|
||||
then<TResult>(onfulfilled?: (value: T) => TResult | Thenable<TResult>, onrejected?: (reason: any) => TResult | Thenable<TResult>): Thenable<TResult> {
|
||||
return this.promise.then(onfulfilled, onrejected);
|
||||
}
|
||||
}
|
||||
102
extensions/arc/src/constants.ts
Normal file
@@ -0,0 +1,102 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as vscode from 'vscode';
|
||||
|
||||
export interface IconPath {
|
||||
dark: string;
|
||||
light: string;
|
||||
}
|
||||
|
||||
export class IconPathHelper {
|
||||
private static context: vscode.ExtensionContext;
|
||||
|
||||
public static add: IconPath;
|
||||
public static edit: IconPath;
|
||||
public static delete: IconPath;
|
||||
public static openInTab: IconPath;
|
||||
public static heart: IconPath;
|
||||
public static copy: IconPath;
|
||||
public static collapseUp: IconPath;
|
||||
public static collapseDown: IconPath;
|
||||
public static postgres: IconPath;
|
||||
public static computeStorage: IconPath;
|
||||
public static connection: IconPath;
|
||||
public static backup: IconPath;
|
||||
public static properties: IconPath;
|
||||
public static networking: IconPath;
|
||||
public static refresh: IconPath;
|
||||
|
||||
public static setExtensionContext(context: vscode.ExtensionContext) {
|
||||
IconPathHelper.context = context;
|
||||
IconPathHelper.add = {
|
||||
light: IconPathHelper.context.asAbsolutePath('images/add.svg'),
|
||||
dark: IconPathHelper.context.asAbsolutePath('images/add.svg')
|
||||
};
|
||||
IconPathHelper.edit = {
|
||||
light: IconPathHelper.context.asAbsolutePath('images/edit.svg'),
|
||||
dark: IconPathHelper.context.asAbsolutePath('images/edit.svg')
|
||||
};
|
||||
IconPathHelper.delete = {
|
||||
light: IconPathHelper.context.asAbsolutePath('images/delete.svg'),
|
||||
dark: IconPathHelper.context.asAbsolutePath('images/delete.svg')
|
||||
};
|
||||
IconPathHelper.openInTab = {
|
||||
light: IconPathHelper.context.asAbsolutePath('images/open-in-tab.svg'),
|
||||
dark: IconPathHelper.context.asAbsolutePath('images/open-in-tab.svg')
|
||||
};
|
||||
IconPathHelper.heart = {
|
||||
light: IconPathHelper.context.asAbsolutePath('images/heart.svg'),
|
||||
dark: IconPathHelper.context.asAbsolutePath('images/heart.svg')
|
||||
};
|
||||
IconPathHelper.copy = {
|
||||
light: IconPathHelper.context.asAbsolutePath('images/copy.svg'),
|
||||
dark: IconPathHelper.context.asAbsolutePath('images/copy.svg')
|
||||
};
|
||||
IconPathHelper.collapseUp = {
|
||||
light: IconPathHelper.context.asAbsolutePath('images/collapse-up.svg'),
|
||||
dark: IconPathHelper.context.asAbsolutePath('images/collapse-up-inverse.svg')
|
||||
};
|
||||
IconPathHelper.collapseDown = {
|
||||
light: IconPathHelper.context.asAbsolutePath('images/collapse-down.svg'),
|
||||
dark: IconPathHelper.context.asAbsolutePath('images/collapse-down-inverse.svg')
|
||||
};
|
||||
IconPathHelper.postgres = {
|
||||
light: IconPathHelper.context.asAbsolutePath('images/postgres.svg'),
|
||||
dark: IconPathHelper.context.asAbsolutePath('images/postgres.svg')
|
||||
};
|
||||
IconPathHelper.computeStorage = {
|
||||
light: context.asAbsolutePath('images/billing.svg'),
|
||||
dark: context.asAbsolutePath('images/billing.svg')
|
||||
};
|
||||
IconPathHelper.connection = {
|
||||
light: context.asAbsolutePath('images/connections.svg'),
|
||||
dark: context.asAbsolutePath('images/connections.svg')
|
||||
};
|
||||
IconPathHelper.backup = {
|
||||
light: context.asAbsolutePath('images/migrate.svg'),
|
||||
dark: context.asAbsolutePath('images/migrate.svg')
|
||||
};
|
||||
IconPathHelper.properties = {
|
||||
light: context.asAbsolutePath('images/properties.svg'),
|
||||
dark: context.asAbsolutePath('images/properties.svg')
|
||||
};
|
||||
IconPathHelper.networking = {
|
||||
light: context.asAbsolutePath('images/security.svg'),
|
||||
dark: context.asAbsolutePath('images/security.svg')
|
||||
};
|
||||
IconPathHelper.refresh = {
|
||||
light: context.asAbsolutePath('images/refresh.svg'),
|
||||
dark: context.asAbsolutePath('images/refresh.svg')
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export namespace cssStyles {
|
||||
export const text = { 'user-select': 'text', 'cursor': 'text' };
|
||||
export const title = { ...text, 'font-weight': 'bold', 'font-size': '14px' };
|
||||
export const tableHeader = { ...text, 'text-align': 'left', 'border': 'none' };
|
||||
export const tableRow = { ...text, 'border-top': 'solid 1px #ccc', 'border-bottom': 'solid 1px #ccc', 'border-left': 'none', 'border-right': 'none' };
|
||||
}
|
||||
20
extensions/arc/src/controller/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Updating the Swagger generated clients
|
||||
|
||||
The TypeScript clients used to communicate with the controller are generated from the controller's Swagger specification. To update the clients:
|
||||
|
||||
1. Get the Swagger specification from a running controller, and save it locally:
|
||||
* `https://<controller_ip>:30080/api/<api_name>/swagger.json`
|
||||
|
||||
2. Generate the clients:
|
||||
* At the time of writing, [editor.swagger.io](https://editor.swagger.io) does not support typescript-node client generation from OpenAPI 3.x specifications. So we'll use [openapi-generator.tech](https://openapi-generator.tech) instead.
|
||||
|
||||
* Run openapi-generator:
|
||||
* Either by [installing it](https://openapi-generator.tech/docs/installation) (requires Java) and running:
|
||||
* `openapi-generator generate -i swagger.json -g typescript-node -o out --additional-properties supportsES6=true`
|
||||
|
||||
* Or by running the Docker image (works in Linux or PowerShell):
|
||||
* `docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli generate -i /local/swagger.json -g typescript-node -o /local/out --additional-properties supportsES6=true`
|
||||
|
||||
3. Copy the generated clients (api.ts, api/, model/) to ./generated/<api_name>.
|
||||
|
||||
4. The generated clients have some unused imports. This will not compile. VS Code has an "Organize Imports" command (Shift + Alt + O) that fixes this, but it fixes a single file. To organize imports for all files in a folder, you can use the [Folder Source Actions extension](https://marketplace.visualstudio.com/items?itemName=bierner.folder-source-actions). Followed by File -> Save All.
|
||||
77
extensions/arc/src/controller/auth.ts
Normal file
@@ -0,0 +1,77 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as request from 'request';
|
||||
import * as vscode from 'vscode';
|
||||
|
||||
export interface Authentication {
|
||||
applyToRequest(requestOptions: request.Options): Promise<void> | void;
|
||||
}
|
||||
|
||||
class SslAuth implements Authentication {
|
||||
constructor() { }
|
||||
|
||||
applyToRequest(requestOptions: request.Options): void {
|
||||
requestOptions['agentOptions'] = {
|
||||
rejectUnauthorized: !getIgnoreSslVerificationConfigSetting()
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export class KerberosAuth extends SslAuth implements Authentication {
|
||||
|
||||
constructor(public kerberosToken: string) {
|
||||
super();
|
||||
}
|
||||
|
||||
applyToRequest(requestOptions: request.Options): void {
|
||||
super.applyToRequest(requestOptions);
|
||||
if (requestOptions && requestOptions.headers) {
|
||||
requestOptions.headers['Authorization'] = `Negotiate ${this.kerberosToken}`;
|
||||
}
|
||||
requestOptions.auth = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
export class BasicAuth extends SslAuth implements Authentication {
|
||||
constructor(public username: string, public password: string) {
|
||||
super();
|
||||
}
|
||||
|
||||
applyToRequest(requestOptions: request.Options): void {
|
||||
super.applyToRequest(requestOptions);
|
||||
requestOptions.auth = {
|
||||
username: this.username, password: this.password
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export class OAuthWithSsl extends SslAuth implements Authentication {
|
||||
constructor(public accessToken: string) {
|
||||
super();
|
||||
}
|
||||
|
||||
applyToRequest(requestOptions: request.Options): void {
|
||||
super.applyToRequest(requestOptions);
|
||||
if (requestOptions && requestOptions.headers) {
|
||||
requestOptions.headers['Authorization'] = `Bearer ${this.accessToken}`;
|
||||
}
|
||||
requestOptions.auth = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
/* Retrieves the current setting for whether to ignore SSL verification errors */
|
||||
export function getIgnoreSslVerificationConfigSetting(): boolean {
|
||||
const arcConfigSectionName = 'arc';
|
||||
const ignoreSslConfigName = 'ignoreSslVerification';
|
||||
|
||||
try {
|
||||
const config = vscode.workspace.getConfiguration(arcConfigSectionName);
|
||||
return config.get<boolean>(ignoreSslConfigName, true);
|
||||
} catch (error) {
|
||||
console.error(`Unexpected error retrieving ${arcConfigSectionName}.${ignoreSslConfigName} setting : ${error}`);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
3
extensions/arc/src/controller/generated/dusky/api.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
// This is the entrypoint for the package
|
||||
export * from './api/apis';
|
||||
export * from './model/models';
|
||||
31
extensions/arc/src/controller/generated/dusky/api/apis.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
export * from './databaseRouterApi';
|
||||
export * from './databaseValidateRouterApi';
|
||||
export * from './logsRouterApi';
|
||||
export * from './metricRouterApi';
|
||||
export * from './operatorRouterApi';
|
||||
import * as fs from 'fs';
|
||||
import * as http from 'http';
|
||||
import { DatabaseRouterApi } from './databaseRouterApi';
|
||||
import { DatabaseValidateRouterApi } from './databaseValidateRouterApi';
|
||||
import { LogsRouterApi } from './logsRouterApi';
|
||||
import { MetricRouterApi } from './metricRouterApi';
|
||||
import { OperatorRouterApi } from './operatorRouterApi';
|
||||
|
||||
export class HttpError extends Error {
|
||||
constructor (public response: http.IncomingMessage, public body: any, public statusCode?: number) {
|
||||
super('HTTP request failed');
|
||||
this.name = 'HttpError';
|
||||
}
|
||||
}
|
||||
|
||||
export interface RequestDetailedFile {
|
||||
value: Buffer;
|
||||
options?: {
|
||||
filename?: string;
|
||||
contentType?: string;
|
||||
}
|
||||
}
|
||||
|
||||
export type RequestFile = string | Buffer | fs.ReadStream | RequestDetailedFile;
|
||||
|
||||
export const APIS = [DatabaseRouterApi, DatabaseValidateRouterApi, LogsRouterApi, MetricRouterApi, OperatorRouterApi];
|
||||
@@ -0,0 +1,260 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import localVarRequest = require('request');
|
||||
import http = require('http');
|
||||
|
||||
/* tslint:disable:no-unused-locals */
|
||||
import { DuskyObjectModelsDatabaseService } from '../model/duskyObjectModelsDatabaseService';
|
||||
import { DuskyObjectModelsDuskyValidationResult } from '../model/duskyObjectModelsDuskyValidationResult';
|
||||
import { Authentication, HttpBasicAuth, HttpBearerAuth, Interceptor, ObjectSerializer, VoidAuth } from '../model/models';
|
||||
import { HttpError } from './apis';
|
||||
|
||||
|
||||
|
||||
let defaultBasePath = 'https://10.135.16.138:30080';
|
||||
|
||||
// ===============================================
|
||||
// This file is autogenerated - Please do not edit
|
||||
// ===============================================
|
||||
|
||||
export enum DatabaseValidateRouterApiApiKeys {
|
||||
}
|
||||
|
||||
export class DatabaseValidateRouterApi {
|
||||
protected _basePath = defaultBasePath;
|
||||
protected _defaultHeaders : any = {};
|
||||
protected _useQuerystring : boolean = false;
|
||||
|
||||
protected authentications = {
|
||||
'default': <Authentication>new VoidAuth(),
|
||||
'BasicAuth': new HttpBasicAuth(),
|
||||
'BearerAuth': new HttpBearerAuth(),
|
||||
}
|
||||
|
||||
protected interceptors: Interceptor[] = [];
|
||||
|
||||
constructor(basePath?: string);
|
||||
constructor(username: string, password: string, basePath?: string);
|
||||
constructor(basePathOrUsername: string, password?: string, basePath?: string) {
|
||||
if (password) {
|
||||
this.username = basePathOrUsername;
|
||||
this.password = password
|
||||
if (basePath) {
|
||||
this.basePath = basePath;
|
||||
}
|
||||
} else {
|
||||
if (basePathOrUsername) {
|
||||
this.basePath = basePathOrUsername
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
set useQuerystring(value: boolean) {
|
||||
this._useQuerystring = value;
|
||||
}
|
||||
|
||||
set basePath(basePath: string) {
|
||||
this._basePath = basePath;
|
||||
}
|
||||
|
||||
set defaultHeaders(defaultHeaders: any) {
|
||||
this._defaultHeaders = defaultHeaders;
|
||||
}
|
||||
|
||||
get defaultHeaders() {
|
||||
return this._defaultHeaders;
|
||||
}
|
||||
|
||||
get basePath() {
|
||||
return this._basePath;
|
||||
}
|
||||
|
||||
public setDefaultAuthentication(auth: Authentication) {
|
||||
this.authentications.default = auth;
|
||||
}
|
||||
|
||||
public setApiKey(key: DatabaseValidateRouterApiApiKeys, value: string) {
|
||||
(this.authentications as any)[DatabaseValidateRouterApiApiKeys[key]].apiKey = value;
|
||||
}
|
||||
|
||||
set username(username: string) {
|
||||
this.authentications.BasicAuth.username = username;
|
||||
}
|
||||
|
||||
set password(password: string) {
|
||||
this.authentications.BasicAuth.password = password;
|
||||
}
|
||||
|
||||
set accessToken(accessToken: string | (() => string)) {
|
||||
this.authentications.BearerAuth.accessToken = accessToken;
|
||||
}
|
||||
|
||||
public addInterceptor(interceptor: Interceptor) {
|
||||
this.interceptors.push(interceptor);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @summary Validate database service creation.
|
||||
* @param duskyObjectModelsDatabaseService
|
||||
*/
|
||||
public async validateCreateDatabaseService (duskyObjectModelsDatabaseService?: DuskyObjectModelsDatabaseService, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: DuskyObjectModelsDuskyValidationResult; }> {
|
||||
const localVarPath = this.basePath + '/dusky/databases/validate';
|
||||
let localVarQueryParameters: any = {};
|
||||
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
|
||||
const produces = ['application/json'];
|
||||
// give precedence to 'application/json'
|
||||
if (produces.indexOf('application/json') >= 0) {
|
||||
localVarHeaderParams.Accept = 'application/json';
|
||||
} else {
|
||||
localVarHeaderParams.Accept = produces.join(',');
|
||||
}
|
||||
let localVarFormParams: any = {};
|
||||
|
||||
(<any>Object).assign(localVarHeaderParams, options.headers);
|
||||
|
||||
let localVarUseFormData = false;
|
||||
|
||||
let localVarRequestOptions: localVarRequest.Options = {
|
||||
method: 'POST',
|
||||
qs: localVarQueryParameters,
|
||||
headers: localVarHeaderParams,
|
||||
uri: localVarPath,
|
||||
useQuerystring: this._useQuerystring,
|
||||
json: true,
|
||||
body: ObjectSerializer.serialize(duskyObjectModelsDatabaseService, "DuskyObjectModelsDatabaseService")
|
||||
};
|
||||
|
||||
let authenticationPromise = Promise.resolve();
|
||||
if (this.authentications.BasicAuth.username && this.authentications.BasicAuth.password) {
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.BasicAuth.applyToRequest(localVarRequestOptions));
|
||||
}
|
||||
if (this.authentications.BearerAuth.accessToken) {
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.BearerAuth.applyToRequest(localVarRequestOptions));
|
||||
}
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
|
||||
|
||||
let interceptorPromise = authenticationPromise;
|
||||
for (const interceptor of this.interceptors) {
|
||||
interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
|
||||
}
|
||||
|
||||
return interceptorPromise.then(() => {
|
||||
if (Object.keys(localVarFormParams).length) {
|
||||
if (localVarUseFormData) {
|
||||
(<any>localVarRequestOptions).formData = localVarFormParams;
|
||||
} else {
|
||||
localVarRequestOptions.form = localVarFormParams;
|
||||
}
|
||||
}
|
||||
return new Promise<{ response: http.IncomingMessage; body: DuskyObjectModelsDuskyValidationResult; }>((resolve, reject) => {
|
||||
localVarRequest(localVarRequestOptions, (error, response, body) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
} else {
|
||||
body = ObjectSerializer.deserialize(body, "DuskyObjectModelsDuskyValidationResult");
|
||||
if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
|
||||
resolve({ response: response, body: body });
|
||||
} else {
|
||||
reject(new HttpError(response, body, response.statusCode));
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @summary Validate database service update.
|
||||
* @param ns The namespace of the database service.
|
||||
* @param name The name of the database service to update.
|
||||
* @param duskyObjectModelsDatabaseService
|
||||
*/
|
||||
public async validateUpdateDatabaseService (ns: string, name: string, duskyObjectModelsDatabaseService?: DuskyObjectModelsDatabaseService, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: DuskyObjectModelsDuskyValidationResult; }> {
|
||||
const localVarPath = this.basePath + '/dusky/databases/validate/{ns}/{name}'
|
||||
.replace('{' + 'ns' + '}', encodeURIComponent(String(ns)))
|
||||
.replace('{' + 'name' + '}', encodeURIComponent(String(name)));
|
||||
let localVarQueryParameters: any = {};
|
||||
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
|
||||
const produces = ['application/json'];
|
||||
// give precedence to 'application/json'
|
||||
if (produces.indexOf('application/json') >= 0) {
|
||||
localVarHeaderParams.Accept = 'application/json';
|
||||
} else {
|
||||
localVarHeaderParams.Accept = produces.join(',');
|
||||
}
|
||||
let localVarFormParams: any = {};
|
||||
|
||||
// verify required parameter 'ns' is not null or undefined
|
||||
if (ns === null || ns === undefined) {
|
||||
throw new Error('Required parameter ns was null or undefined when calling validateUpdateDatabaseService.');
|
||||
}
|
||||
|
||||
// verify required parameter 'name' is not null or undefined
|
||||
if (name === null || name === undefined) {
|
||||
throw new Error('Required parameter name was null or undefined when calling validateUpdateDatabaseService.');
|
||||
}
|
||||
|
||||
(<any>Object).assign(localVarHeaderParams, options.headers);
|
||||
|
||||
let localVarUseFormData = false;
|
||||
|
||||
let localVarRequestOptions: localVarRequest.Options = {
|
||||
method: 'POST',
|
||||
qs: localVarQueryParameters,
|
||||
headers: localVarHeaderParams,
|
||||
uri: localVarPath,
|
||||
useQuerystring: this._useQuerystring,
|
||||
json: true,
|
||||
body: ObjectSerializer.serialize(duskyObjectModelsDatabaseService, "DuskyObjectModelsDatabaseService")
|
||||
};
|
||||
|
||||
let authenticationPromise = Promise.resolve();
|
||||
if (this.authentications.BasicAuth.username && this.authentications.BasicAuth.password) {
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.BasicAuth.applyToRequest(localVarRequestOptions));
|
||||
}
|
||||
if (this.authentications.BearerAuth.accessToken) {
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.BearerAuth.applyToRequest(localVarRequestOptions));
|
||||
}
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
|
||||
|
||||
let interceptorPromise = authenticationPromise;
|
||||
for (const interceptor of this.interceptors) {
|
||||
interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
|
||||
}
|
||||
|
||||
return interceptorPromise.then(() => {
|
||||
if (Object.keys(localVarFormParams).length) {
|
||||
if (localVarUseFormData) {
|
||||
(<any>localVarRequestOptions).formData = localVarFormParams;
|
||||
} else {
|
||||
localVarRequestOptions.form = localVarFormParams;
|
||||
}
|
||||
}
|
||||
return new Promise<{ response: http.IncomingMessage; body: DuskyObjectModelsDuskyValidationResult; }>((resolve, reject) => {
|
||||
localVarRequest(localVarRequestOptions, (error, response, body) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
} else {
|
||||
body = ObjectSerializer.deserialize(body, "DuskyObjectModelsDuskyValidationResult");
|
||||
if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
|
||||
resolve({ response: response, body: body });
|
||||
} else {
|
||||
reject(new HttpError(response, body, response.statusCode));
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,175 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import localVarRequest = require('request');
|
||||
import http = require('http');
|
||||
|
||||
/* tslint:disable:no-unused-locals */
|
||||
import { LogsRequest } from '../model/logsRequest';
|
||||
import { Authentication, HttpBasicAuth, HttpBearerAuth, Interceptor, ObjectSerializer, VoidAuth } from '../model/models';
|
||||
import { HttpError } from './apis';
|
||||
|
||||
|
||||
|
||||
let defaultBasePath = 'https://10.135.16.138:30080';
|
||||
|
||||
// ===============================================
|
||||
// This file is autogenerated - Please do not edit
|
||||
// ===============================================
|
||||
|
||||
export enum LogsRouterApiApiKeys {
|
||||
}
|
||||
|
||||
export class LogsRouterApi {
|
||||
protected _basePath = defaultBasePath;
|
||||
protected _defaultHeaders : any = {};
|
||||
protected _useQuerystring : boolean = false;
|
||||
|
||||
protected authentications = {
|
||||
'default': <Authentication>new VoidAuth(),
|
||||
'BasicAuth': new HttpBasicAuth(),
|
||||
'BearerAuth': new HttpBearerAuth(),
|
||||
}
|
||||
|
||||
protected interceptors: Interceptor[] = [];
|
||||
|
||||
constructor(basePath?: string);
|
||||
constructor(username: string, password: string, basePath?: string);
|
||||
constructor(basePathOrUsername: string, password?: string, basePath?: string) {
|
||||
if (password) {
|
||||
this.username = basePathOrUsername;
|
||||
this.password = password
|
||||
if (basePath) {
|
||||
this.basePath = basePath;
|
||||
}
|
||||
} else {
|
||||
if (basePathOrUsername) {
|
||||
this.basePath = basePathOrUsername
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
set useQuerystring(value: boolean) {
|
||||
this._useQuerystring = value;
|
||||
}
|
||||
|
||||
set basePath(basePath: string) {
|
||||
this._basePath = basePath;
|
||||
}
|
||||
|
||||
set defaultHeaders(defaultHeaders: any) {
|
||||
this._defaultHeaders = defaultHeaders;
|
||||
}
|
||||
|
||||
get defaultHeaders() {
|
||||
return this._defaultHeaders;
|
||||
}
|
||||
|
||||
get basePath() {
|
||||
return this._basePath;
|
||||
}
|
||||
|
||||
public setDefaultAuthentication(auth: Authentication) {
|
||||
this.authentications.default = auth;
|
||||
}
|
||||
|
||||
public setApiKey(key: LogsRouterApiApiKeys, value: string) {
|
||||
(this.authentications as any)[LogsRouterApiApiKeys[key]].apiKey = value;
|
||||
}
|
||||
|
||||
set username(username: string) {
|
||||
this.authentications.BasicAuth.username = username;
|
||||
}
|
||||
|
||||
set password(password: string) {
|
||||
this.authentications.BasicAuth.password = password;
|
||||
}
|
||||
|
||||
set accessToken(accessToken: string | (() => string)) {
|
||||
this.authentications.BearerAuth.accessToken = accessToken;
|
||||
}
|
||||
|
||||
public addInterceptor(interceptor: Interceptor) {
|
||||
this.interceptors.push(interceptor);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @summary Gets logs from Elasticsearch.
|
||||
* @param logsRequest
|
||||
*/
|
||||
public async apiV1LogsPost (logsRequest?: LogsRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: object; }> {
|
||||
const localVarPath = this.basePath + '/api/v1/logs';
|
||||
let localVarQueryParameters: any = {};
|
||||
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
|
||||
const produces = ['application/json'];
|
||||
// give precedence to 'application/json'
|
||||
if (produces.indexOf('application/json') >= 0) {
|
||||
localVarHeaderParams.Accept = 'application/json';
|
||||
} else {
|
||||
localVarHeaderParams.Accept = produces.join(',');
|
||||
}
|
||||
let localVarFormParams: any = {};
|
||||
|
||||
(<any>Object).assign(localVarHeaderParams, options.headers);
|
||||
|
||||
let localVarUseFormData = false;
|
||||
|
||||
let localVarRequestOptions: localVarRequest.Options = {
|
||||
method: 'POST',
|
||||
qs: localVarQueryParameters,
|
||||
headers: localVarHeaderParams,
|
||||
uri: localVarPath,
|
||||
useQuerystring: this._useQuerystring,
|
||||
json: true,
|
||||
body: ObjectSerializer.serialize(logsRequest, "LogsRequest")
|
||||
};
|
||||
|
||||
let authenticationPromise = Promise.resolve();
|
||||
if (this.authentications.BasicAuth.username && this.authentications.BasicAuth.password) {
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.BasicAuth.applyToRequest(localVarRequestOptions));
|
||||
}
|
||||
if (this.authentications.BearerAuth.accessToken) {
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.BearerAuth.applyToRequest(localVarRequestOptions));
|
||||
}
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
|
||||
|
||||
let interceptorPromise = authenticationPromise;
|
||||
for (const interceptor of this.interceptors) {
|
||||
interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
|
||||
}
|
||||
|
||||
return interceptorPromise.then(() => {
|
||||
if (Object.keys(localVarFormParams).length) {
|
||||
if (localVarUseFormData) {
|
||||
(<any>localVarRequestOptions).formData = localVarFormParams;
|
||||
} else {
|
||||
localVarRequestOptions.form = localVarFormParams;
|
||||
}
|
||||
}
|
||||
return new Promise<{ response: http.IncomingMessage; body: object; }>((resolve, reject) => {
|
||||
localVarRequest(localVarRequestOptions, (error, response, body) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
} else {
|
||||
body = ObjectSerializer.deserialize(body, "object");
|
||||
if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
|
||||
resolve({ response: response, body: body });
|
||||
} else {
|
||||
reject(new HttpError(response, body, response.statusCode));
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import localVarRequest = require('request');
|
||||
import http = require('http');
|
||||
|
||||
/* tslint:disable:no-unused-locals */
|
||||
|
||||
import { Authentication, HttpBasicAuth, HttpBearerAuth, Interceptor, ObjectSerializer, VoidAuth } from '../model/models';
|
||||
import { HttpError } from './apis';
|
||||
|
||||
|
||||
let defaultBasePath = 'https://10.135.16.138:30080';
|
||||
|
||||
// ===============================================
|
||||
// This file is autogenerated - Please do not edit
|
||||
// ===============================================
|
||||
|
||||
export enum MetricRouterApiApiKeys {
|
||||
}
|
||||
|
||||
export class MetricRouterApi {
|
||||
protected _basePath = defaultBasePath;
|
||||
protected _defaultHeaders : any = {};
|
||||
protected _useQuerystring : boolean = false;
|
||||
|
||||
protected authentications = {
|
||||
'default': <Authentication>new VoidAuth(),
|
||||
'BasicAuth': new HttpBasicAuth(),
|
||||
'BearerAuth': new HttpBearerAuth(),
|
||||
}
|
||||
|
||||
protected interceptors: Interceptor[] = [];
|
||||
|
||||
constructor(basePath?: string);
|
||||
constructor(username: string, password: string, basePath?: string);
|
||||
constructor(basePathOrUsername: string, password?: string, basePath?: string) {
|
||||
if (password) {
|
||||
this.username = basePathOrUsername;
|
||||
this.password = password
|
||||
if (basePath) {
|
||||
this.basePath = basePath;
|
||||
}
|
||||
} else {
|
||||
if (basePathOrUsername) {
|
||||
this.basePath = basePathOrUsername
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
set useQuerystring(value: boolean) {
|
||||
this._useQuerystring = value;
|
||||
}
|
||||
|
||||
set basePath(basePath: string) {
|
||||
this._basePath = basePath;
|
||||
}
|
||||
|
||||
set defaultHeaders(defaultHeaders: any) {
|
||||
this._defaultHeaders = defaultHeaders;
|
||||
}
|
||||
|
||||
get defaultHeaders() {
|
||||
return this._defaultHeaders;
|
||||
}
|
||||
|
||||
get basePath() {
|
||||
return this._basePath;
|
||||
}
|
||||
|
||||
public setDefaultAuthentication(auth: Authentication) {
|
||||
this.authentications.default = auth;
|
||||
}
|
||||
|
||||
public setApiKey(key: MetricRouterApiApiKeys, value: string) {
|
||||
(this.authentications as any)[MetricRouterApiApiKeys[key]].apiKey = value;
|
||||
}
|
||||
|
||||
set username(username: string) {
|
||||
this.authentications.BasicAuth.username = username;
|
||||
}
|
||||
|
||||
set password(password: string) {
|
||||
this.authentications.BasicAuth.password = password;
|
||||
}
|
||||
|
||||
set accessToken(accessToken: string | (() => string)) {
|
||||
this.authentications.BearerAuth.accessToken = accessToken;
|
||||
}
|
||||
|
||||
public addInterceptor(interceptor: Interceptor) {
|
||||
this.interceptors.push(interceptor);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public async apiV1MetricsPost (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: object; }> {
|
||||
const localVarPath = this.basePath + '/api/v1/metrics';
|
||||
let localVarQueryParameters: any = {};
|
||||
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
|
||||
const produces = ['application/json'];
|
||||
// give precedence to 'application/json'
|
||||
if (produces.indexOf('application/json') >= 0) {
|
||||
localVarHeaderParams.Accept = 'application/json';
|
||||
} else {
|
||||
localVarHeaderParams.Accept = produces.join(',');
|
||||
}
|
||||
let localVarFormParams: any = {};
|
||||
|
||||
(<any>Object).assign(localVarHeaderParams, options.headers);
|
||||
|
||||
let localVarUseFormData = false;
|
||||
|
||||
let localVarRequestOptions: localVarRequest.Options = {
|
||||
method: 'POST',
|
||||
qs: localVarQueryParameters,
|
||||
headers: localVarHeaderParams,
|
||||
uri: localVarPath,
|
||||
useQuerystring: this._useQuerystring,
|
||||
json: true,
|
||||
};
|
||||
|
||||
let authenticationPromise = Promise.resolve();
|
||||
if (this.authentications.BasicAuth.username && this.authentications.BasicAuth.password) {
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.BasicAuth.applyToRequest(localVarRequestOptions));
|
||||
}
|
||||
if (this.authentications.BearerAuth.accessToken) {
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.BearerAuth.applyToRequest(localVarRequestOptions));
|
||||
}
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
|
||||
|
||||
let interceptorPromise = authenticationPromise;
|
||||
for (const interceptor of this.interceptors) {
|
||||
interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
|
||||
}
|
||||
|
||||
return interceptorPromise.then(() => {
|
||||
if (Object.keys(localVarFormParams).length) {
|
||||
if (localVarUseFormData) {
|
||||
(<any>localVarRequestOptions).formData = localVarFormParams;
|
||||
} else {
|
||||
localVarRequestOptions.form = localVarFormParams;
|
||||
}
|
||||
}
|
||||
return new Promise<{ response: http.IncomingMessage; body: object; }>((resolve, reject) => {
|
||||
localVarRequest(localVarRequestOptions, (error, response, body) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
} else {
|
||||
body = ObjectSerializer.deserialize(body, "object");
|
||||
if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
|
||||
resolve({ response: response, body: body });
|
||||
} else {
|
||||
reject(new HttpError(response, body, response.statusCode));
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,236 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import localVarRequest = require('request');
|
||||
import http = require('http');
|
||||
|
||||
/* tslint:disable:no-unused-locals */
|
||||
import { ClusterPatchModel } from '../model/clusterPatchModel';
|
||||
import { DuskyObjectModelsOperatorStatus } from '../model/duskyObjectModelsOperatorStatus';
|
||||
import { Authentication, HttpBasicAuth, HttpBearerAuth, Interceptor, ObjectSerializer, VoidAuth } from '../model/models';
|
||||
import { HttpError } from './apis';
|
||||
|
||||
|
||||
|
||||
let defaultBasePath = 'https://10.135.16.138:30080';
|
||||
|
||||
// ===============================================
|
||||
// This file is autogenerated - Please do not edit
|
||||
// ===============================================
|
||||
|
||||
export enum OperatorRouterApiApiKeys {
|
||||
}
|
||||
|
||||
export class OperatorRouterApi {
|
||||
protected _basePath = defaultBasePath;
|
||||
protected _defaultHeaders : any = {};
|
||||
protected _useQuerystring : boolean = false;
|
||||
|
||||
protected authentications = {
|
||||
'default': <Authentication>new VoidAuth(),
|
||||
'BasicAuth': new HttpBasicAuth(),
|
||||
'BearerAuth': new HttpBearerAuth(),
|
||||
}
|
||||
|
||||
protected interceptors: Interceptor[] = [];
|
||||
|
||||
constructor(basePath?: string);
|
||||
constructor(username: string, password: string, basePath?: string);
|
||||
constructor(basePathOrUsername: string, password?: string, basePath?: string) {
|
||||
if (password) {
|
||||
this.username = basePathOrUsername;
|
||||
this.password = password
|
||||
if (basePath) {
|
||||
this.basePath = basePath;
|
||||
}
|
||||
} else {
|
||||
if (basePathOrUsername) {
|
||||
this.basePath = basePathOrUsername
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
set useQuerystring(value: boolean) {
|
||||
this._useQuerystring = value;
|
||||
}
|
||||
|
||||
set basePath(basePath: string) {
|
||||
this._basePath = basePath;
|
||||
}
|
||||
|
||||
set defaultHeaders(defaultHeaders: any) {
|
||||
this._defaultHeaders = defaultHeaders;
|
||||
}
|
||||
|
||||
get defaultHeaders() {
|
||||
return this._defaultHeaders;
|
||||
}
|
||||
|
||||
get basePath() {
|
||||
return this._basePath;
|
||||
}
|
||||
|
||||
public setDefaultAuthentication(auth: Authentication) {
|
||||
this.authentications.default = auth;
|
||||
}
|
||||
|
||||
public setApiKey(key: OperatorRouterApiApiKeys, value: string) {
|
||||
(this.authentications as any)[OperatorRouterApiApiKeys[key]].apiKey = value;
|
||||
}
|
||||
|
||||
set username(username: string) {
|
||||
this.authentications.BasicAuth.username = username;
|
||||
}
|
||||
|
||||
set password(password: string) {
|
||||
this.authentications.BasicAuth.password = password;
|
||||
}
|
||||
|
||||
set accessToken(accessToken: string | (() => string)) {
|
||||
this.authentications.BearerAuth.accessToken = accessToken;
|
||||
}
|
||||
|
||||
public addInterceptor(interceptor: Interceptor) {
|
||||
this.interceptors.push(interceptor);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @summary Gets the status of the Dusky operator.
|
||||
*/
|
||||
public async getDuskyOperatorStatus (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: DuskyObjectModelsOperatorStatus; }> {
|
||||
const localVarPath = this.basePath + '/dusky/operator/status';
|
||||
let localVarQueryParameters: any = {};
|
||||
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
|
||||
const produces = ['application/json'];
|
||||
// give precedence to 'application/json'
|
||||
if (produces.indexOf('application/json') >= 0) {
|
||||
localVarHeaderParams.Accept = 'application/json';
|
||||
} else {
|
||||
localVarHeaderParams.Accept = produces.join(',');
|
||||
}
|
||||
let localVarFormParams: any = {};
|
||||
|
||||
(<any>Object).assign(localVarHeaderParams, options.headers);
|
||||
|
||||
let localVarUseFormData = false;
|
||||
|
||||
let localVarRequestOptions: localVarRequest.Options = {
|
||||
method: 'GET',
|
||||
qs: localVarQueryParameters,
|
||||
headers: localVarHeaderParams,
|
||||
uri: localVarPath,
|
||||
useQuerystring: this._useQuerystring,
|
||||
json: true,
|
||||
};
|
||||
|
||||
let authenticationPromise = Promise.resolve();
|
||||
if (this.authentications.BasicAuth.username && this.authentications.BasicAuth.password) {
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.BasicAuth.applyToRequest(localVarRequestOptions));
|
||||
}
|
||||
if (this.authentications.BearerAuth.accessToken) {
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.BearerAuth.applyToRequest(localVarRequestOptions));
|
||||
}
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
|
||||
|
||||
let interceptorPromise = authenticationPromise;
|
||||
for (const interceptor of this.interceptors) {
|
||||
interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
|
||||
}
|
||||
|
||||
return interceptorPromise.then(() => {
|
||||
if (Object.keys(localVarFormParams).length) {
|
||||
if (localVarUseFormData) {
|
||||
(<any>localVarRequestOptions).formData = localVarFormParams;
|
||||
} else {
|
||||
localVarRequestOptions.form = localVarFormParams;
|
||||
}
|
||||
}
|
||||
return new Promise<{ response: http.IncomingMessage; body: DuskyObjectModelsOperatorStatus; }>((resolve, reject) => {
|
||||
localVarRequest(localVarRequestOptions, (error, response, body) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
} else {
|
||||
body = ObjectSerializer.deserialize(body, "DuskyObjectModelsOperatorStatus");
|
||||
if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
|
||||
resolve({ response: response, body: body });
|
||||
} else {
|
||||
reject(new HttpError(response, body, response.statusCode));
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @summary Upgrades the Dusky operator.
|
||||
* @param clusterPatchModel
|
||||
*/
|
||||
public async upgradeDuskyOperator (clusterPatchModel?: ClusterPatchModel, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> {
|
||||
const localVarPath = this.basePath + '/dusky/operator/upgrade';
|
||||
let localVarQueryParameters: any = {};
|
||||
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
|
||||
let localVarFormParams: any = {};
|
||||
|
||||
(<any>Object).assign(localVarHeaderParams, options.headers);
|
||||
|
||||
let localVarUseFormData = false;
|
||||
|
||||
let localVarRequestOptions: localVarRequest.Options = {
|
||||
method: 'PATCH',
|
||||
qs: localVarQueryParameters,
|
||||
headers: localVarHeaderParams,
|
||||
uri: localVarPath,
|
||||
useQuerystring: this._useQuerystring,
|
||||
json: true,
|
||||
body: ObjectSerializer.serialize(clusterPatchModel, "ClusterPatchModel")
|
||||
};
|
||||
|
||||
let authenticationPromise = Promise.resolve();
|
||||
if (this.authentications.BasicAuth.username && this.authentications.BasicAuth.password) {
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.BasicAuth.applyToRequest(localVarRequestOptions));
|
||||
}
|
||||
if (this.authentications.BearerAuth.accessToken) {
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.BearerAuth.applyToRequest(localVarRequestOptions));
|
||||
}
|
||||
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
|
||||
|
||||
let interceptorPromise = authenticationPromise;
|
||||
for (const interceptor of this.interceptors) {
|
||||
interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
|
||||
}
|
||||
|
||||
return interceptorPromise.then(() => {
|
||||
if (Object.keys(localVarFormParams).length) {
|
||||
if (localVarUseFormData) {
|
||||
(<any>localVarRequestOptions).formData = localVarFormParams;
|
||||
} else {
|
||||
localVarRequestOptions.form = localVarFormParams;
|
||||
}
|
||||
}
|
||||
return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => {
|
||||
localVarRequest(localVarRequestOptions, (error, response, body) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
} else {
|
||||
if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
|
||||
resolve({ response: response, body: body });
|
||||
} else {
|
||||
reject(new HttpError(response, body, response.statusCode));
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
|
||||
export class ClusterPatchModel {
|
||||
'targetVersion': string;
|
||||
'targetRepository'?: string;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "targetVersion",
|
||||
"baseName": "targetVersion",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "targetRepository",
|
||||
"baseName": "targetRepository",
|
||||
"type": "string"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return ClusterPatchModel.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import { DuskyObjectModelsError } from './duskyObjectModelsError';
|
||||
|
||||
export class DuskyObjectModelsBackup {
|
||||
'error'?: DuskyObjectModelsError;
|
||||
'id'?: string;
|
||||
'name'?: string;
|
||||
'timestamp': Date;
|
||||
'size'?: number | null;
|
||||
'state': string;
|
||||
'tiers'?: number | null;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "error",
|
||||
"baseName": "error",
|
||||
"type": "DuskyObjectModelsError"
|
||||
},
|
||||
{
|
||||
"name": "id",
|
||||
"baseName": "id",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "name",
|
||||
"baseName": "name",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "timestamp",
|
||||
"baseName": "timestamp",
|
||||
"type": "Date"
|
||||
},
|
||||
{
|
||||
"name": "size",
|
||||
"baseName": "size",
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"name": "state",
|
||||
"baseName": "state",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "tiers",
|
||||
"baseName": "tiers",
|
||||
"type": "number"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsBackup.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
|
||||
export class DuskyObjectModelsBackupCopySchedule {
|
||||
'interval': string;
|
||||
'offset'?: string;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "interval",
|
||||
"baseName": "interval",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "offset",
|
||||
"baseName": "offset",
|
||||
"type": "string"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsBackupCopySchedule.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
|
||||
export class DuskyObjectModelsBackupRetention {
|
||||
'maximums'?: Array<string>;
|
||||
'minimums'?: Array<string>;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "maximums",
|
||||
"baseName": "maximums",
|
||||
"type": "Array<string>"
|
||||
},
|
||||
{
|
||||
"name": "minimums",
|
||||
"baseName": "minimums",
|
||||
"type": "Array<string>"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsBackupRetention.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import { DuskyObjectModelsBackupCopySchedule } from './duskyObjectModelsBackupCopySchedule';
|
||||
import { DuskyObjectModelsBackupTier } from './duskyObjectModelsBackupTier';
|
||||
|
||||
export class DuskyObjectModelsBackupSpec {
|
||||
'deltaMinutes'?: number | null;
|
||||
'fullMinutes'?: number | null;
|
||||
'copySchedule'?: DuskyObjectModelsBackupCopySchedule;
|
||||
'tiers': Array<DuskyObjectModelsBackupTier>;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "deltaMinutes",
|
||||
"baseName": "deltaMinutes",
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"name": "fullMinutes",
|
||||
"baseName": "fullMinutes",
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"name": "copySchedule",
|
||||
"baseName": "copySchedule",
|
||||
"type": "DuskyObjectModelsBackupCopySchedule"
|
||||
},
|
||||
{
|
||||
"name": "tiers",
|
||||
"baseName": "tiers",
|
||||
"type": "Array<DuskyObjectModelsBackupTier>"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsBackupSpec.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import { DuskyObjectModelsRetentionSpec } from './duskyObjectModelsRetentionSpec';
|
||||
import { DuskyObjectModelsStorageSpec } from './duskyObjectModelsStorageSpec';
|
||||
|
||||
export class DuskyObjectModelsBackupTier {
|
||||
'retention'?: DuskyObjectModelsRetentionSpec;
|
||||
'storage': DuskyObjectModelsStorageSpec;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "retention",
|
||||
"baseName": "retention",
|
||||
"type": "DuskyObjectModelsRetentionSpec"
|
||||
},
|
||||
{
|
||||
"name": "storage",
|
||||
"baseName": "storage",
|
||||
"type": "DuskyObjectModelsStorageSpec"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsBackupTier.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
|
||||
export class DuskyObjectModelsDatabase {
|
||||
'name': string;
|
||||
'owner'?: string;
|
||||
'sharded'?: boolean;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "name",
|
||||
"baseName": "name",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "owner",
|
||||
"baseName": "owner",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "sharded",
|
||||
"baseName": "sharded",
|
||||
"type": "boolean"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsDatabase.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import { DuskyObjectModelsDatabaseServiceArcPayload } from './duskyObjectModelsDatabaseServiceArcPayload';
|
||||
import { DuskyObjectModelsDatabaseServiceSpec } from './duskyObjectModelsDatabaseServiceSpec';
|
||||
import { DuskyObjectModelsDatabaseServiceStatus } from './duskyObjectModelsDatabaseServiceStatus';
|
||||
import { DuskyObjectModelsObjectMeta } from './duskyObjectModelsObjectMeta';
|
||||
|
||||
export class DuskyObjectModelsDatabaseService {
|
||||
'kind'?: string;
|
||||
'apiVersion'?: string;
|
||||
'metadata'?: DuskyObjectModelsObjectMeta;
|
||||
'spec': DuskyObjectModelsDatabaseServiceSpec;
|
||||
'status'?: DuskyObjectModelsDatabaseServiceStatus;
|
||||
'arc'?: DuskyObjectModelsDatabaseServiceArcPayload;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "kind",
|
||||
"baseName": "kind",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "apiVersion",
|
||||
"baseName": "apiVersion",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "metadata",
|
||||
"baseName": "metadata",
|
||||
"type": "DuskyObjectModelsObjectMeta"
|
||||
},
|
||||
{
|
||||
"name": "spec",
|
||||
"baseName": "spec",
|
||||
"type": "DuskyObjectModelsDatabaseServiceSpec"
|
||||
},
|
||||
{
|
||||
"name": "status",
|
||||
"baseName": "status",
|
||||
"type": "DuskyObjectModelsDatabaseServiceStatus"
|
||||
},
|
||||
{
|
||||
"name": "arc",
|
||||
"baseName": "arc",
|
||||
"type": "DuskyObjectModelsDatabaseServiceArcPayload"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsDatabaseService.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
|
||||
export class DuskyObjectModelsDatabaseServiceArcPayload {
|
||||
'servicePassword'?: string;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "servicePassword",
|
||||
"baseName": "servicePassword",
|
||||
"type": "string"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsDatabaseServiceArcPayload.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
|
||||
export class DuskyObjectModelsDatabaseServiceCondition {
|
||||
'type': string;
|
||||
'status': DuskyObjectModelsDatabaseServiceCondition.StatusEnum;
|
||||
'lastTransitionTime'?: Date | null;
|
||||
'reason'?: string;
|
||||
'message'?: string;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "type",
|
||||
"baseName": "type",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "status",
|
||||
"baseName": "status",
|
||||
"type": "DuskyObjectModelsDatabaseServiceCondition.StatusEnum"
|
||||
},
|
||||
{
|
||||
"name": "lastTransitionTime",
|
||||
"baseName": "lastTransitionTime",
|
||||
"type": "Date"
|
||||
},
|
||||
{
|
||||
"name": "reason",
|
||||
"baseName": "reason",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "message",
|
||||
"baseName": "message",
|
||||
"type": "string"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsDatabaseServiceCondition.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
export namespace DuskyObjectModelsDatabaseServiceCondition {
|
||||
export enum StatusEnum {
|
||||
Unknown = <any> 'Unknown',
|
||||
False = <any> 'False',
|
||||
True = <any> 'True'
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import { DuskyObjectModelsDatabaseService } from './duskyObjectModelsDatabaseService';
|
||||
|
||||
export class DuskyObjectModelsDatabaseServiceList {
|
||||
'kind'?: string;
|
||||
'apiVersion'?: string;
|
||||
'metadata'?: object;
|
||||
'items': Array<DuskyObjectModelsDatabaseService>;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "kind",
|
||||
"baseName": "kind",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "apiVersion",
|
||||
"baseName": "apiVersion",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "metadata",
|
||||
"baseName": "metadata",
|
||||
"type": "object"
|
||||
},
|
||||
{
|
||||
"name": "items",
|
||||
"baseName": "items",
|
||||
"type": "Array<DuskyObjectModelsDatabaseService>"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsDatabaseServiceList.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import { DuskyObjectModelsBackupSpec } from './duskyObjectModelsBackupSpec';
|
||||
import { DuskyObjectModelsDockerSpec } from './duskyObjectModelsDockerSpec';
|
||||
import { DuskyObjectModelsEngineSpec } from './duskyObjectModelsEngineSpec';
|
||||
import { DuskyObjectModelsMonitoringSpec } from './duskyObjectModelsMonitoringSpec';
|
||||
import { DuskyObjectModelsScaleSpec } from './duskyObjectModelsScaleSpec';
|
||||
import { DuskyObjectModelsSchedulingSpec } from './duskyObjectModelsSchedulingSpec';
|
||||
import { DuskyObjectModelsServiceSpec } from './duskyObjectModelsServiceSpec';
|
||||
import { DuskyObjectModelsStorageSpec } from './duskyObjectModelsStorageSpec';
|
||||
|
||||
export class DuskyObjectModelsDatabaseServiceSpec {
|
||||
'backups'?: DuskyObjectModelsBackupSpec;
|
||||
'docker'?: DuskyObjectModelsDockerSpec;
|
||||
'engine': DuskyObjectModelsEngineSpec;
|
||||
'monitoring'?: DuskyObjectModelsMonitoringSpec;
|
||||
'scale'?: DuskyObjectModelsScaleSpec;
|
||||
'scheduling'?: DuskyObjectModelsSchedulingSpec;
|
||||
'service'?: DuskyObjectModelsServiceSpec;
|
||||
'storage': DuskyObjectModelsStorageSpec;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "backups",
|
||||
"baseName": "backups",
|
||||
"type": "DuskyObjectModelsBackupSpec"
|
||||
},
|
||||
{
|
||||
"name": "docker",
|
||||
"baseName": "docker",
|
||||
"type": "DuskyObjectModelsDockerSpec"
|
||||
},
|
||||
{
|
||||
"name": "engine",
|
||||
"baseName": "engine",
|
||||
"type": "DuskyObjectModelsEngineSpec"
|
||||
},
|
||||
{
|
||||
"name": "monitoring",
|
||||
"baseName": "monitoring",
|
||||
"type": "DuskyObjectModelsMonitoringSpec"
|
||||
},
|
||||
{
|
||||
"name": "scale",
|
||||
"baseName": "scale",
|
||||
"type": "DuskyObjectModelsScaleSpec"
|
||||
},
|
||||
{
|
||||
"name": "scheduling",
|
||||
"baseName": "scheduling",
|
||||
"type": "DuskyObjectModelsSchedulingSpec"
|
||||
},
|
||||
{
|
||||
"name": "service",
|
||||
"baseName": "service",
|
||||
"type": "DuskyObjectModelsServiceSpec"
|
||||
},
|
||||
{
|
||||
"name": "storage",
|
||||
"baseName": "storage",
|
||||
"type": "DuskyObjectModelsStorageSpec"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsDatabaseServiceSpec.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import { DuskyObjectModelsDatabaseServiceCondition } from './duskyObjectModelsDatabaseServiceCondition';
|
||||
|
||||
export class DuskyObjectModelsDatabaseServiceStatus {
|
||||
'state': string;
|
||||
'appliedGeneration'?: number | null;
|
||||
'conditions'?: Array<DuskyObjectModelsDatabaseServiceCondition>;
|
||||
'internalIP'?: string;
|
||||
'internalPort'?: number | null;
|
||||
'externalIP'?: string;
|
||||
'externalPort'?: number | null;
|
||||
'podsFailed': number;
|
||||
'podsPending': number;
|
||||
'podsRunning': number;
|
||||
'podsUnknown': number;
|
||||
'restartRequired': boolean;
|
||||
'execFailCount'?: number | null;
|
||||
'settingsUpdatePending'?: boolean;
|
||||
'shardsProvisioned'?: number | null;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "state",
|
||||
"baseName": "state",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "appliedGeneration",
|
||||
"baseName": "appliedGeneration",
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"name": "conditions",
|
||||
"baseName": "conditions",
|
||||
"type": "Array<DuskyObjectModelsDatabaseServiceCondition>"
|
||||
},
|
||||
{
|
||||
"name": "internalIP",
|
||||
"baseName": "internalIP",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "internalPort",
|
||||
"baseName": "internalPort",
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"name": "externalIP",
|
||||
"baseName": "externalIP",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "externalPort",
|
||||
"baseName": "externalPort",
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"name": "podsFailed",
|
||||
"baseName": "podsFailed",
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"name": "podsPending",
|
||||
"baseName": "podsPending",
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"name": "podsRunning",
|
||||
"baseName": "podsRunning",
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"name": "podsUnknown",
|
||||
"baseName": "podsUnknown",
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"name": "restartRequired",
|
||||
"baseName": "restartRequired",
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "execFailCount",
|
||||
"baseName": "execFailCount",
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"name": "settingsUpdatePending",
|
||||
"baseName": "settingsUpdatePending",
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "shardsProvisioned",
|
||||
"baseName": "shardsProvisioned",
|
||||
"type": "number"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsDatabaseServiceStatus.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
|
||||
export class DuskyObjectModelsDatabaseServiceVolumeStatus {
|
||||
'id'?: string;
|
||||
'count'?: number;
|
||||
'totalSize'?: number;
|
||||
'storageClass'?: string;
|
||||
'state'?: string;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "id",
|
||||
"baseName": "id",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "count",
|
||||
"baseName": "count",
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"name": "totalSize",
|
||||
"baseName": "totalSize",
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"name": "storageClass",
|
||||
"baseName": "storageClass",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "state",
|
||||
"baseName": "state",
|
||||
"type": "string"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsDatabaseServiceVolumeStatus.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
|
||||
export class DuskyObjectModelsDockerSpec {
|
||||
'registry'?: string;
|
||||
'repository'?: string;
|
||||
'imagePullPolicy'?: string;
|
||||
'imagePullSecret'?: string;
|
||||
'imageTagSuffix'?: string;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "registry",
|
||||
"baseName": "registry",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "repository",
|
||||
"baseName": "repository",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "imagePullPolicy",
|
||||
"baseName": "imagePullPolicy",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "imagePullSecret",
|
||||
"baseName": "imagePullSecret",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "imageTagSuffix",
|
||||
"baseName": "imageTagSuffix",
|
||||
"type": "string"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsDockerSpec.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
|
||||
export class DuskyObjectModelsDuskyValidationMessage {
|
||||
'type'?: DuskyObjectModelsDuskyValidationMessage.TypeEnum;
|
||||
'code'?: DuskyObjectModelsDuskyValidationMessage.CodeEnum;
|
||||
'message'?: string;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "type",
|
||||
"baseName": "type",
|
||||
"type": "DuskyObjectModelsDuskyValidationMessage.TypeEnum"
|
||||
},
|
||||
{
|
||||
"name": "code",
|
||||
"baseName": "code",
|
||||
"type": "DuskyObjectModelsDuskyValidationMessage.CodeEnum"
|
||||
},
|
||||
{
|
||||
"name": "message",
|
||||
"baseName": "message",
|
||||
"type": "string"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsDuskyValidationMessage.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
export namespace DuskyObjectModelsDuskyValidationMessage {
|
||||
export enum TypeEnum {
|
||||
Info = <any> 'Info',
|
||||
Warning = <any> 'Warning',
|
||||
Fail = <any> 'Fail'
|
||||
}
|
||||
export enum CodeEnum {
|
||||
InvalidInput = <any> 'InvalidInput',
|
||||
ResourceExists = <any> 'ResourceExists',
|
||||
ResourceNotFound = <any> 'ResourceNotFound',
|
||||
ResourceNotRunning = <any> 'ResourceNotRunning',
|
||||
AvailableResources = <any> 'AvailableResources',
|
||||
InsufficientResources = <any> 'InsufficientResources'
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import { DuskyObjectModelsDuskyValidationMessage } from './duskyObjectModelsDuskyValidationMessage';
|
||||
|
||||
export class DuskyObjectModelsDuskyValidationResult {
|
||||
'messages'?: Array<DuskyObjectModelsDuskyValidationMessage>;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "messages",
|
||||
"baseName": "messages",
|
||||
"type": "Array<DuskyObjectModelsDuskyValidationMessage>"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsDuskyValidationResult.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import { DuskyObjectModelsPluginSpec } from './duskyObjectModelsPluginSpec';
|
||||
|
||||
export class DuskyObjectModelsEngineSpec {
|
||||
'type': string;
|
||||
'version'?: number | null;
|
||||
'settings'?: { [key: string]: string; };
|
||||
'plugins'?: Array<DuskyObjectModelsPluginSpec>;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "type",
|
||||
"baseName": "type",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "version",
|
||||
"baseName": "version",
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"name": "settings",
|
||||
"baseName": "settings",
|
||||
"type": "{ [key: string]: string; }"
|
||||
},
|
||||
{
|
||||
"name": "plugins",
|
||||
"baseName": "plugins",
|
||||
"type": "Array<DuskyObjectModelsPluginSpec>"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsEngineSpec.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import { DuskyObjectModelsErrorDetails } from './duskyObjectModelsErrorDetails';
|
||||
|
||||
export class DuskyObjectModelsError {
|
||||
'reason'?: string;
|
||||
'message'?: string;
|
||||
'details'?: DuskyObjectModelsErrorDetails;
|
||||
'code'?: number | null;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "reason",
|
||||
"baseName": "reason",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "message",
|
||||
"baseName": "message",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "details",
|
||||
"baseName": "details",
|
||||
"type": "DuskyObjectModelsErrorDetails"
|
||||
},
|
||||
{
|
||||
"name": "code",
|
||||
"baseName": "code",
|
||||
"type": "number"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsError.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
|
||||
export class DuskyObjectModelsErrorDetails {
|
||||
'reason'?: string;
|
||||
'message'?: string;
|
||||
'details'?: DuskyObjectModelsErrorDetails;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "reason",
|
||||
"baseName": "reason",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "message",
|
||||
"baseName": "message",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "details",
|
||||
"baseName": "details",
|
||||
"type": "DuskyObjectModelsErrorDetails"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsErrorDetails.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import { DuskyObjectModelsTINASpec } from './duskyObjectModelsTINASpec';
|
||||
|
||||
export class DuskyObjectModelsMonitoringSpec {
|
||||
'tina'?: DuskyObjectModelsTINASpec;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "tina",
|
||||
"baseName": "tina",
|
||||
"type": "DuskyObjectModelsTINASpec"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsMonitoringSpec.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
|
||||
export class DuskyObjectModelsObjectMeta {
|
||||
'annotations'?: { [key: string]: string; };
|
||||
'creationTimestamp'?: Date | null;
|
||||
'deletionTimestamp'?: Date | null;
|
||||
'finalizers'?: Array<object>;
|
||||
'generateName'?: string;
|
||||
'generation'?: number | null;
|
||||
'labels'?: { [key: string]: string; };
|
||||
'name'?: string;
|
||||
'namespace'?: string;
|
||||
'ownerReferences'?: Array<object>;
|
||||
'resourceVersion'?: string;
|
||||
'selfLink'?: string;
|
||||
'uid'?: string | null;
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "annotations",
|
||||
"baseName": "annotations",
|
||||
"type": "{ [key: string]: string; }"
|
||||
},
|
||||
{
|
||||
"name": "creationTimestamp",
|
||||
"baseName": "creationTimestamp",
|
||||
"type": "Date"
|
||||
},
|
||||
{
|
||||
"name": "deletionTimestamp",
|
||||
"baseName": "deletionTimestamp",
|
||||
"type": "Date"
|
||||
},
|
||||
{
|
||||
"name": "finalizers",
|
||||
"baseName": "finalizers",
|
||||
"type": "Array<object>"
|
||||
},
|
||||
{
|
||||
"name": "generateName",
|
||||
"baseName": "generateName",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "generation",
|
||||
"baseName": "generation",
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"name": "labels",
|
||||
"baseName": "labels",
|
||||
"type": "{ [key: string]: string; }"
|
||||
},
|
||||
{
|
||||
"name": "name",
|
||||
"baseName": "name",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "namespace",
|
||||
"baseName": "namespace",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "ownerReferences",
|
||||
"baseName": "ownerReferences",
|
||||
"type": "Array<object>"
|
||||
},
|
||||
{
|
||||
"name": "resourceVersion",
|
||||
"baseName": "resourceVersion",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "selfLink",
|
||||
"baseName": "selfLink",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"name": "uid",
|
||||
"baseName": "uid",
|
||||
"type": "string"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsObjectMeta.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Dusky API
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: v1
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import { DuskyObjectModelsReplicaStatus } from './duskyObjectModelsReplicaStatus';
|
||||
|
||||
export class DuskyObjectModelsOperatorStatus {
|
||||
'statuses'?: { [key: string]: DuskyObjectModelsReplicaStatus; };
|
||||
|
||||
static discriminator: string | undefined = undefined;
|
||||
|
||||
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
|
||||
{
|
||||
"name": "statuses",
|
||||
"baseName": "statuses",
|
||||
"type": "{ [key: string]: DuskyObjectModelsReplicaStatus; }"
|
||||
} ];
|
||||
|
||||
static getAttributeTypeMap() {
|
||||
return DuskyObjectModelsOperatorStatus.attributeTypeMap;
|
||||
}
|
||||
}
|
||||
|
||||