Compare commits

...

133 Commits

Author SHA1 Message Date
Chris LaFreniere
4095037f25 Fix Notebook Viewlet Highlighting (#10868) (#10870)
* Stop double tree data provider registrations

* revert book finding logic, leverage currentBook
2020-06-10 22:56:57 -07:00
Karl Burtram
7091480c55 Update SQL Tools Service to include "use master" revert (#10834) (#10835) 2020-06-09 17:37:20 -07:00
Hale Rankin
b6b360de10 Fixed notebook toolbar icon issue in dark and hc-black themes. (#10802) (#10830) 2020-06-09 15:41:41 -07:00
Maddy
d6ba3c5d48 highlight correct notebook on navigation. (#10807) (#10812)
* highlight correct notebook on navigation.

* add back behavior of highight on viewlet visible

* optimize bookViewer create

* createTreeView for every book
2020-06-08 20:02:25 -07:00
Aasim Khan
5de8b066e7 Fix for "Run Current Query" keybind no longer behaving as expected (#10538) (#10557) (#10804)
* -"Run current" command runs the entire selection instead of only first statement in the selection

* -brought some logic back from the  old code to correct the behavior

* -Added unit tests for runCurrent command

* -Fixed a comment

* - Added checks for run input parameters

* -Added some extra checks

* -Fixed some spacing issue

* Changed to using verify instead of a counter variable
2020-06-08 18:34:42 -07:00
Amir Omidi
9962363f4c Fixes the azure auth for postgresql (#10662) (#10753) 2020-06-08 13:55:52 -07:00
Hale Rankin
1c0a9a1849 10712, 10677 - Fixed focus indicators for both main toolbar and cell … (#10756) (#10785)
* 10712, 10677 - Fixed focus indicators for both main toolbar and cell toolbar.

* Removed duplicated line
2020-06-08 09:51:35 -07:00
Hale Rankin
a871b03550 Reduced margin between notebook cells. Increased space at top of page. (#10735) (#10783) 2020-06-08 09:20:53 -07:00
Hale Rankin
5e6e9fcc2f Removed style that was interfering with text selection within code cell. (#10769) (#10786) 2020-06-05 18:32:10 -07:00
Hale Rankin
f130ced71c Switched order of the two dropdowns in main toolbar in preview. (#10717) (#10784)
* Switched order of the two dropdowns in main toolbar in preview.

* Reverting this single line b/c it's out of scope for the PR.
2020-06-05 18:16:06 -07:00
Chris LaFreniere
d7d4c26780 Bring back hover state setting on cell model (#10758) (#10782) 2020-06-05 17:43:05 -07:00
Alan Ren
7b382794e2 reduce max memory (#10775) (#10778) 2020-06-05 15:32:28 -07:00
Cory Rivera
b6be7f1218 Add custom width to Python wizard to reduce wasted space. (#10705) (#10755)
* Also use double quotes for localize calls in the wizard.
2020-06-05 12:17:00 -07:00
Karl Burtram
ca7ee35993 Add Redgate Search to recommendation list (#10749) (#10764) 2020-06-05 09:05:21 -07:00
Chris LaFreniere
46192ae754 Change markdown cell to text cell (#10715) (#10744) 2020-06-04 15:00:12 -07:00
Chris LaFreniere
f5b0141763 Only show edit cell action for markdown cells (#10719) (#10743) 2020-06-04 14:36:52 -07:00
Sakshi Sharma
c903112451 Tests for round tripping with SSDT projects (#10646)
* Test code for round tripping feature

* Fixed tests. Edited updateImportedTargetsToProjFile method to push newly added import target to the list.

* Added couple more tests

* Addressed comment
2020-06-03 14:02:50 -07:00
Amir Omidi
3860f07cab Make azure portal work from server area (#10699) 2020-06-03 14:02:23 -07:00
Alan Ren
61dce39f5a disable the sql proj tests (#10704) 2020-06-03 13:44:51 -07:00
Alan Ren
c4be667567 add custom width support for dialogs (#10641)
* add custom width support for dialogs

* comments

* fix test
2020-06-03 13:08:48 -07:00
Cory Rivera
2e4aee944c Disable some unreliable notebook integration tests. (#10701) 2020-06-03 12:30:36 -07:00
Leila Lali
fb9ca4c021 fixed the issue with opening none SQL editor for predict script (#10693) 2020-06-03 10:56:30 -07:00
Arvind Ranasaria
f7c3484438 Unique title for opened notebooks (#10673)
* removing debug log

* Ensure unique title for Nb launch

* pr feedback

* pr feedback

* pr fedback

* pr feedback
2020-06-02 15:21:34 -07:00
Charles Gagnon
da41fda4bb Update to latest vscodetestcover (#10680)
* Update to latest vscodetestcover

* Remove unused config
2020-06-02 13:33:30 -07:00
Charles Gagnon
4d6ec69eba Fetch password from credential store before connecting to knox endpoint (#10666)
* Fetch password from credential store before connecting to knox endpoint

* Add combined code coverage script

* Revert "Add combined code coverage script"

This reverts commit e538f2fb2a79993a77f749f384fbc306b18b9f64.
2020-06-02 13:27:37 -07:00
Hale Rankin
d247af6619 Adjusted + Cell element height to fix layout on Mac and Windows. (#10681) 2020-06-02 13:11:37 -07:00
Charles Gagnon
2879da5ca5 Add script to combine coverage files (#10674)
* Add script to combine coverage files

* add script

* Add core coverage file as well

* Add json reporting

* Update README

* more
2020-06-02 12:53:58 -07:00
Alan Ren
c057dddb25 show username for azure sql db (#10679) 2020-06-02 12:49:24 -07:00
Charles Gagnon
453f7fa5a4 Disable sql-database-projects tests (#10675) 2020-06-02 10:03:38 -07:00
Benjin Dubishar
0ac6a07c5f Fix for Sqlproj tree bug (#10605)
Fixes bug where files located in a subfolder defined before the folders themselves in .sqlproj would result in those files not appearing in the ADS treeview
2020-06-01 22:41:00 -07:00
Arvind Ranasaria
8fc8a79e26 removing debug log (#10671) 2020-06-01 18:24:44 -07:00
Maddy
3088c73e2b Feat/notebooks viewlet (#10170)
* clean up unsavedBooks to providedBooks

* added notebooks viewley contribution

* added notebookExporerAction context

* temp shortcut key B

* remove commenred code

* changes with master merge

* fix comments

* initial tests

* fix casing and description

* merged master and resolved errors

* remove extension point & add custom view container

* merge latest from master

* remove unused files

* move book images to common

* remove notebookExplorer contrib & move to notebook

* build fix

* remove explorer specific sryles from common

* vscode convention to define container actions

* rename notebooks/title
2020-06-01 15:47:56 -07:00
Charles Gagnon
7305bdaec4 Add integration-test code coverage (#10632)
* wip

* Update to latest vscodetestcover and add tests back in

* Update to latest version of vscodetestcover

* updates

* another yarn.lock

* update version

* Revert import path change
2020-06-01 14:54:07 -07:00
Aditya Bist
f2c3320f0e use inbuilt codicon instead of image (#10664) 2020-06-01 14:37:11 -07:00
Aditya Bist
6816d2bd78 add icon for disabled triggers (#10663) 2020-06-01 14:10:06 -07:00
Leila Lali
269318f7ef ML - Modified sqmlutils version to fix Windows auth issue (#10639)
* Modified sqmlutils version
2020-06-01 13:06:34 -07:00
Amir Omidi
534eb3a6f8 Add unused contribution point to workbench file (#10594)
* Remove unused file

* Revert "Remove unused file"

This reverts commit 788538aa01f4a146a08340a9890e0e2e6bd98d0d.

* Add to workbench
2020-06-01 11:25:57 -07:00
Arvind Ranasaria
678bbe3142 Custom Summary Page for NotebookWizard and notebook Cell with wizard variables (#10297)
* save not yet tested work

* Merge from master.

* Screeens Shared for Feeedback

* Code complete

* remove unneeded changes

* remove unnecessary comma

* remov wss

* remove dead code

* PR feedback

* checkpoint fixes

* PR & minor fixes

* minor fix for feature of  resourceType options being optional.

* reverting experimental change

* separating out changes for future featurework.

* revert unneeded change

* review feedback fixes

* review feedback

* rename InputFieldComponent to InputComponent

* working version of custom summary page

* add option to align items in a flex- container.

* changes to support labelColor

* save work , still pending issue with labelCSSStyles

* Summary page and setting variabless in notebook.

* minor fixes.

* pr feedbck

* fix formatting issues

* pr feedback

* pr feedback

* pr feedback

* fixing docs

* summary page value setting fix

* rename children of RowInfo to items

* rename a method

* rename summary_text to evaluated_text

* rename properties of fieldInfo

* revert inadvertent change

* rename linked_texttext to hyperlinked_text and removing linking facility from readonly_text

* pr feedback

* fix setting tools variables in env and notebook

* removing saving of originalValues for EvaluatedText

* await on launchNotebookWithEdits

* await on launchNotebookWithContent

* merge RadioOptions & Options into 1

* merge ReadOnlyText, links  & evaluatedText

* Samples for new generic wizard features

* fix comment

* fix assertions

* return type and comment for getClusterContext

* fix inadvertent change

* increase minimum required azdata version

* remove unneeded environment variable settings

* not leaking passwords in notebooks
2020-06-01 11:14:59 -07:00
Sakshi Sharma
84492049e8 Enable sql-database-projects tests with few fixes (#10610)
* Added 2tests related to import. Fixed a few issues. Enable sql-database-projects

* Addressed comment
2020-05-30 09:05:55 -07:00
Amir Omidi
7d31239e64 Open in azure portal (#10535)
* initial commit to get it working

* Change configuration to use package.nls.json

* Make the necessary plumbing

* Support multi cloud

* Move the menu item to the bottom

* Fix failing tests

* Fix the tests
2020-05-29 19:59:29 -07:00
Hale Rankin
b2e0291a95 10551 - Notebook UI: Added cell toolbar component (#10558)
* 10551 - Notebook UI: Added cell toolbar component, actions scaffolding, styles and theme colors. Removed markup for legacy, hidden hover buttons. Updated instaces of icon class: mask to masked-icon.

* Uncommented lines for CellToggleMoreActions so we can see how the ellipses currently work.

* Added EditCellAction which toggles between two icons.

* Cleaned up comments and removed some unused code.

* Copied DeleteCellAction into celltoolbarActions

* Connecting model and cell model to toolbar component for necessary context.

* Pass in cell + nb model from notebook component

* Adding context for EditCellAction so we can activate a cell via icon.

* Removed my copy of AddCellAction and simply referred to the existing one.

* Fixes to propogate cell model edit mode changes

* Added onCellModeChanged event registration to code.component.

* Moved cellToggleMoreActions into cellToolbarActions. Suppressing ellipses in code and textCell components.

* Fix adding cells

* Copied and modified ToggleMoreWidgetAction for use in cellToolbarActions. Instantiating cellToggleMoreActions and adding to toolbar.

* Removed unused markup, code and styles. Moved cell toolbar template into compoent.

* Removed double-click from textCell. Changed message to indicate where content goes - without it the cell does not have dimension and cannot be found by the user.

* Removed unused code file.

* Fixing my boo boo

* Updated AddCellAction with null coalescer. Set Promise to type: void.

Co-authored-by: chlafreniere <hichise@gmail.com>
2020-05-29 18:27:36 -07:00
Cory Rivera
98ce3c74e6 Hide installation options in Configure Python wizard if python is already setup. (#10635) 2020-05-29 17:28:02 -07:00
Leila Lali
d1b1550ce5 Added documents for MI (#10634) 2020-05-29 14:27:48 -07:00
Charles Gagnon
4f603888b9 Adds README to sql assessment and bump min ADS version (#10628)
* Adds README to sql assessment and bump min ADS version

* Bump version
2020-05-29 14:08:28 -07:00
Leila Lali
5955953b4a ML - displaying all Python and R packages (including system ones) (#10603)
* displaying all packages including readonly
2020-05-29 13:52:37 -07:00
Kim Santiago
0e0eb7f237 bump SqlToolsService to 2.0.0-release.68 (#10631) 2020-05-29 12:46:14 -07:00
Brian Bergeron
e9e2a0b8b4 Add refresh support to Arc Postgres pages (#10607) 2020-05-29 10:24:24 -07:00
Alan Ren
1305743479 fix object filtering regression (#10609)
* fix object filtering regression

* add comments
2020-05-29 10:19:44 -07:00
Alan Ren
7e49eb85fb table style clean up (#10608) 2020-05-29 10:19:09 -07:00
Charles Gagnon
107b3171f2 Add isBigDataCluster property to connection event (#10606) 2020-05-29 06:47:03 -07:00
Vladimir Chernov
8288360cc4 Assessment core extension (#10154) 2020-05-29 01:17:41 +03:00
Leila Lali
0d544660e0 MI now supports ONNX runtime so the extension should support is as well (#10604) 2020-05-28 13:36:16 -07:00
Alan Ren
6cf8f9ff35 format and add metadata (#10598) 2020-05-28 10:23:56 -07:00
Alan Ren
3bcc2ce334 update bdc tab category (#10592) 2020-05-28 10:22:30 -07:00
Charles Gagnon
9db16c1f26 Disable sql-database-projects tests (#10602) 2020-05-28 09:42:24 -07:00
Charles Gagnon
968f2d11f1 Switch to DownloadBuildArtifacts task (#10597)
* Switch to download build artifact task

* Update download location

* Fix path
2020-05-28 07:56:09 -07:00
Kim Santiago
d59411c191 a few fixes for dacpac extension (#10595) 2020-05-27 18:14:29 -07:00
Alan Ren
032b625ed1 check undefined (#10596) 2020-05-27 16:51:52 -07:00
Charles Gagnon
e7f65f45f2 Don't run platform builds if compile fails (#10564)
* Don't run platform builds if compile fails

* Switch to use suceeded

* Fix condition

* Undo compilie changes
2020-05-27 14:07:09 -07:00
khoiph1
d49c1c9c2b updated the localization section (#10527) 2020-05-27 10:18:40 -07:00
Charles Gagnon
f568ff82d8 Fix HDFS support for CU5+ BDC instances (#10577)
* Fix HDFS node auth for non-root username

* more changes
2020-05-27 10:17:28 -07:00
Aditya Bist
e8dc0d15b7 hotfix change log (#10580) 2020-05-27 09:06:48 -07:00
Amir Omidi
fbb701d49c Fixes integration tests (#10582) 2020-05-27 08:49:16 -07:00
Sakshi Sharma
f49bfbc91b Round trip with SSDT (#10563)
* Initial changes

* Round trip feature implementation

* Addressed PR comments

* Addressed comments
2020-05-27 07:23:47 -07:00
Charles Gagnon
7496d09eb9 Add and fix Notebook tests (#10488)
* Add and fix Notebook tests

* Fix name

* Fix compile

* Acutally fix error

* Add Notebook title test and fix command

* Add extra check and add comments

* Remove extra show error message
2020-05-26 17:27:43 -07:00
Amir Omidi
8f33e1c4c0 Introduces decorators to handle multiple authorities for URIs (#10507)
* Introduces decorators to handle multiple authorities for URIs

* Check for undefined first

* Add result type checking
2020-05-26 16:32:25 -07:00
Sakshi Sharma
9a55b0275d Import project from database (#10326)
* Initial changes for Import database as new project

* Functionally complete code

* Initial changes for Import database as new project

* Functionally complete code

* Resolved conflicts with latest changes. Also did some code refactoring.

* Addressed comments. Added unit tests.

* Addressed comments

* Moved ExtractTarget enum from azdata to mssql

* Addressed comments

* Fixed indentation in project templates
2020-05-26 16:08:24 -07:00
Benjin Dubishar
f0d86f8acb Database projects deploy (#10417)
* Hooking up deployment of SQL projects to the project build functionality and database selection UI
* Adding ADS-side plumbing for sqlcmdvars
2020-05-26 14:28:09 -07:00
Aditya Bist
690e3c582c fix horizontal scroll bug (#10554) 2020-05-26 12:51:18 -07:00
Charles Gagnon
62a0cb4dc9 Update test readme (#10552) 2020-05-26 10:47:45 -07:00
Amir Omidi
65a4a56fd7 Prompt for consent when interaction is required (#10373)
* Reprompt for consent

* Remove unused imports

* Fix typos

* Change the tenant we re-auth too

* Handle the prompt properly

* prompt for consent dialog

* Information message modal

* product name

* Change message per PM feedback
2020-05-21 00:03:21 -07:00
Benjin Dubishar
efb890697c Adding sqlproj extension to coveralls workflow (#10468) 2020-05-20 18:26:33 -07:00
Udeesha Gautam
ea80202cf7 Bug/fix for mssql path (#10522)
* Correcting to right path and making file exist calls async
2020-05-20 17:35:24 -07:00
Charles Gagnon
14554f0d11 Fix some issues with book tree view (#10521) 2020-05-20 11:54:25 -07:00
Aditya Bist
5f003d996f Update agent screenshot (#10524) 2020-05-20 11:30:58 -07:00
Aditya Bist
3dfc9ddf92 Release updates (#10510)
* update ads version

* update readme
2020-05-20 10:54:54 -07:00
Chris LaFreniere
6d710c7144 Add plumbing and simple notebookService tests (#10349) 2020-05-19 21:36:59 -07:00
Anthony Dresser
5136a8b54c distro (#10509) 2020-05-19 16:04:17 -07:00
Anthony Dresser
0ad7810ba0 fix styles to apply to error message correctly (#10505) 2020-05-19 15:42:34 -07:00
Maddy
76c80943ba set ignoreOverrides false for ipynb and sql files (#10499)
* set ignoreOverrides false for ipynb and sql files

* toLowerCase

* null checks added
2020-05-19 13:25:24 -07:00
Amir Omidi
b02b41815d Don't do any extra parsing, put the responsibility on the caller (#10489)
* Don't do any extra parsing, put the responsibility on the caller

* make integrated default

* Fix the tests

* Fix test
2020-05-19 12:18:18 -07:00
Charles Gagnon
d6b5489f93 Update arc extension icon (#10494) 2020-05-19 09:57:11 -07:00
Charles Gagnon
d733cba35a Update area assignees (#10493) 2020-05-19 06:55:39 -07:00
Leila Lali
f73d81bc13 ML- Fixed the issue with wrong title in predict page (#10467)
* Fixed the issue with wrong title in predict page

* Fixed the type of ml settings

* Increased timeout

* Fixed the bug with R package management and Windows auth

* fixed the tests

* fixed a typo
2020-05-18 17:12:02 -07:00
Kim Santiago
c98eaaf5a1 Fix sql project build on mac (#10485)
* update sqlproj template

* add condition for netcorebuild=true
2020-05-18 17:08:50 -07:00
Brian Bergeron
283ffd7af6 Azure Arc extension (#10400)
Adds an extension for Azure Arc with some initial Postgres pages
2020-05-18 14:32:48 -07:00
Amir Omidi
21b650ba49 Fixes the DE icons (#10478)
* Fixes the DE icons

* Fixes the commands
2020-05-18 14:04:37 -07:00
Anthony Dresser
4763685237 Add more testing in the pipelines (#10455)
* run tests in every pipeline and include integration tests

* fix test env

* fix integration test scripts

* remove windows unit tests

* remove unused tests in integrations

* add comments
2020-05-18 13:54:19 -07:00
Maddy
e46521cafc open viewlet on showPreview (#10474)
* open viewlet on shoePreview

* on showPreview reveal explorer
2020-05-18 13:46:55 -07:00
Karl Burtram
d60b094e9b Fix extension manager single-click (#10473)
* Fix extension manager single-click

* Port over additional change to fix same issue in git viewlet

* Remove unneeded param to match vscode source
2020-05-18 10:35:28 -07:00
Maddy
12ee13240a vbump (#10423) 2020-05-18 09:14:07 -07:00
Charles Gagnon
c70d68f889 Fix text component link to use link component directly (#10457)
* Fix text component link to use link component directly

* Attach styler
2020-05-18 08:25:39 -07:00
Hale Rankin
47687ff6b2 Notebook main toolbar additions (#10271)
* Reworking notebook action bar functionality and appearance.

* added separator

* Revised notebookActions for collapse, clear and trusted such that they can be implemented with a boolean set to T of F and show labels or shift them into tooltip for accessibility. Updated styles for select boxes. Added toolbar icons to common icon location. Split icon definition for use as masked or background-image.

* Completed styles for action icons: collapse, clear and trusted. Added theme colors. Simplified icon behavior styles.

* Made maskedIconClass optional. Added theme colors for toolbar icons, select box border and dropdown arrow. Experimenting with adding masked icon to pseudo element so I can pull out label text from icons.

* Added icons styles to handle masked SVG elements as pseudo element beside button text. Added icons using this method to respect the color theming system.

* Adjusted styles for the cell and run all icons in notebook toolbar.

* Prepped notebook toolbar with placeholder icon for Underline action. Implemented Underline action. Added custom --wip-- ButtonMenu control, a modified copy of DropDown.

* Revised colorRegistry and corresponding notebook styles. Removed unused code from new custom control: buttonMneu. Revised icon styles to create a dropdown arrow for buttonMenu.

* Added new icon for Underline action.

* Removed comment from needed markup.

* Replaced actionItemProvider with optional undefined per DropdownMenuActionViewItem constructor.

* Cleaned up new control, removing unneeded code and referencing what the class needs. Corrected style declaration for overriding input box padding. Removed unused notebook color styles. Scoped element styles to the toolbar so others outside the toolbar are not affected.

* Removed unnecessary !important from style override.

* Removed reference to unused color entry.

* Syntax cleanup.

* Put notebook toolbar improvements behind the preview flag. This involves some conditionals and CSS classes.

* Updated icon used for Manage Packages. Created and updated styles for notebook toolbar icon spacing. Modified notebook.component contributed actions so that the label text is shifted into the title attribute. Added new icon for Not Trusted toggle.

* Replaced SVG code for not-trusted icon.

* Addressed PR feedback: changed masked classname. Revised component and CSS accordingly. Removed unnecessary instance of in-preview class. Fixed code logic that assigns label text to tooltip on incoming contributed action
2020-05-15 19:13:31 -07:00
Charles Gagnon
0f10f44755 Fix link styling for text components (#10449) 2020-05-15 15:20:19 -07:00
Anthony Dresser
e0bdfc8b21 modify git edits to make webpack not be stupid (#10442) 2020-05-15 15:00:22 -07:00
Kim Santiago
b83279c24c Add sql proj schema compare for dacpac (#10388)
* add support for schema compare to specify source dacpac

* add build and dacpac produced from build

* check if dacpac exists

* add tests

* move exists check code to utils

* fix test run failing
2020-05-15 13:03:08 -07:00
Charles Gagnon
ef4ab4a59f remove config update (#10440) 2020-05-15 12:59:21 -07:00
Chris LaFreniere
452bd6a0cb Notebook model ready sooner (#10420) 2020-05-15 11:48:11 -07:00
Karl Burtram
ebf47224b7 Properly initialize scenario recommendations (#10434) 2020-05-15 11:38:15 -07:00
Anthony Dresser
dd697b337d clear buffer when a batch is completed (#10382) 2020-05-15 11:34:48 -07:00
Leila Lali
1bcda64a1b Fixed ML urls in dashboard (#10411)
* Fixed ML urls in dashboard
2020-05-15 11:07:31 -07:00
Karl Burtram
1d1e21b579 Turn-off file extension recommendations (#10431) 2020-05-15 11:05:24 -07:00
Amir Omidi
b519d51052 Replace the ID of the generated connection profile with the one through edit data (#10413) 2020-05-15 10:48:56 -07:00
Arvind Ranasaria
19fab3fc9c fix azure account corenes case handling (#10428) 2020-05-15 08:47:09 -07:00
Alan Ren
9680b1e2cf create a new connection (#10412) 2020-05-14 16:07:51 -07:00
Amir Omidi
aea772d631 Add pwa-chrome for attach to azuredatastudio (#10414)
* Add pwa-chrome for attach to azuredatastudio

* Why did you get in here
2020-05-14 15:51:50 -07:00
Kim Santiago
abdd9af931 update deploy dialog to not show dropdown when there aren't any data sources (#10404) 2020-05-14 14:31:47 -07:00
Charles Gagnon
e95650da89 Fix message branding VS Code -> ADS (#10407)
* Fix message branding VS Code -> ADS

* Add edit comment
2020-05-14 14:26:45 -07:00
Alan Ren
f934dea6ea use listdatabases for sqlondemand (#10398)
* use listdatabases for sqlondemand

* comments

* use enum
2020-05-14 14:25:29 -07:00
Alex Ma
8f7861deac Keybinding for Show SQL Pane (#9750)
* WIP registerKeybind

* testing command

* Moved command to query.contribution

* Moved command to editData.contribution

* simplified command

* more simplification

* Working keybind for toggle query pane added.

* removed space

* added option to always show sql pane

* removed keybind default and changed option
2020-05-14 14:06:58 -07:00
Alex Ma
e3218ade02 Alex/fixforqueryrefresh (#9032)
* added some checks

* Added return undefined

* added handling for multiple loads

* added more error handling

* minor space change

* added explanation message

* simplification

* added changes from create new row

* added some checks

* Added return undefined

* added handling for multiple loads

* added more error handling

* minor space change

* added explanation message

* simplification

* editDataGridPanel corrected

* updated to most recent master version

* removed space at end

* added newline

* added another try catch

* changed message

* added check and message

* added clarifying message

* removed redundant try catch loop

* grid data is now backed up

* wording change
2020-05-14 14:06:26 -07:00
David Peter Hansen
8eb67d58b3 Update readme for ML extension in Azure Data Studio (#10355)
* Update readme for ML extension in Azure Data Studio
2020-05-14 13:54:05 -07:00
Leila Lali
0258b1727a Machine Learning - Bug fixes (#10377)
* Fixing ML extension bugs
2020-05-14 12:46:47 -07:00
Cory Rivera
d3e1675fc5 Only check if python is running before trying to overwrite an existing installation. (#10383) 2020-05-14 11:37:06 -07:00
Alan Ren
3212b06d49 set context (#10391) 2020-05-14 10:56:58 -07:00
Anthony Dresser
35236a6107 distro (#10376) 2020-05-13 23:40:56 -07:00
Udeesha Gautam
18128d700d Updating the new Proj template such that it builds correctly in ADS and SSDT (#10387)
* Updating the new Proj template such that it works in ADS and SSDT

* Fixing test for baseline compare

* Space fix for xml

* Trying again to fix space
2020-05-13 20:47:08 -07:00
Anthony Dresser
f550002d33 Remove web smoke tests (#10380)
* remove smoke tests

* use run_tests
2020-05-13 16:29:15 -07:00
Alan Ren
0ad2a351f8 move icon to where it is being used (#10375) 2020-05-13 13:40:31 -07:00
Anthony Dresser
dee02796c9 ensure we can still write version infomation if we don't recompile (#10365) 2020-05-13 10:21:21 -07:00
Udeesha Gautam
ddb9a806cc Feature/project build (#10332)
* initial build command execution

* adding tests

* Clean up test names

* update SqltoolsService release in ADS for Build

* Updating as per PR comments

* updating yarn lock

* Adding one more test for command run

* Test fixes
2020-05-12 20:17:37 -07:00
alljamziMicrosoft
ab374e362a Enabling Script as Create for SqlOnDemand (#10362)
* Update scriptingUtils.ts

* Update scripting.contribution.ts
2020-05-12 14:53:45 -07:00
Cory Rivera
fc548be2c1 Uncheck unselected radio buttons in Configure Python wizard. (#10344) 2020-05-12 13:02:35 -07:00
Charles Gagnon
3fa0deed71 Add doAction API call for ModelView (#10345)
* Add doAction API call for ModelView

* cleanup
2020-05-12 10:47:20 -07:00
Anthony Dresser
ff848b5903 Remove request promise for request-light (#10346)
* remove request promise for request-light

* make sure data is a string not a json

* add configure call

* remove unused reference

* more fixes

* Move configure calls

* clean up

* fix name

* move test deps as dev

Co-authored-by: chgagnon <chgagnon@microsoft.com>
2020-05-12 10:27:11 -07:00
Charles Gagnon
eda25f72c1 Improve logging for MSSQL errors to handle HTTP request errors (#10348)
* Improve logging for MSSQL errors to handle HTTP request errors

* stringify
2020-05-12 09:03:39 -07:00
Kim Santiago
f3d36c1b86 Initial project deploy dialog (#10288)
* connection picking dialog for deploy

* add data source option

* fix errors

* merge fix

* show connection name instead of connection string if there is one

* remove unnecessary async

* async (#10292)

* Revert "async (#10292)"

This reverts commit c94139aa45d8f1d868ebd251f3016315718b56ae.

* add a few tests

* addressing comments

* remove cancel click handler

* remove text box for generate script file path because it will just open up a new editor with the script

* fix test

Co-authored-by: Amir Omidi <amomidi@microsoft.com>
2020-05-11 18:12:29 -07:00
Leila Lali
301ce1cf87 ML- Added a radio button to enter new model table name (#10343) 2020-05-11 17:29:28 -07:00
Christopher Suh
21e6ba92c2 fixed icon spacing in query editor toolbar (#10329) 2020-05-11 18:23:47 -04:00
Charles Gagnon
264c34af97 Add more debug logging to fillInOrClearAzureToken (#10336)
* Add more debug logging to fillInOrClearAzureToken

* Use toErrorMessage
2020-05-11 15:09:34 -07:00
Amir Omidi
923272f989 Let's log every potential failure (#10342)
* Let's log every potential failure

* Add more context to the error
2020-05-11 13:02:28 -07:00
Charles Gagnon
567c1be9fb Refactor BDC dashboard to use ModelView Dashboard (#10327)
* WIP refactor

* More changes

* More changes

* Remove unused styles

* Uncomment code
2020-05-11 09:21:03 -07:00
Leila Lali
3d2d791f18 ML extension - Improving predict parameter mapping experience (#10264) 2020-05-10 18:10:17 -07:00
570 changed files with 23946 additions and 5256 deletions

View File

@@ -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: [],

View File

@@ -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.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

2
.vscode/launch.json vendored
View File

@@ -69,7 +69,7 @@
}
},
{
"type": "chrome",
"type": "pwa-chrome",
"request": "attach",
"name": "Attach to azuredatastudio",
"timeout": 50000,

View File

@@ -1,5 +1,27 @@
# 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

View File

@@ -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, RyanYu 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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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:

View File

@@ -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'

View File

@@ -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"

View File

@@ -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'

View File

@@ -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 = [

View File

@@ -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

View File

@@ -6,10 +6,10 @@
"**/node_modules/**",
"**/test/**"
],
"includePid": false,
"reports": [
"cobertura",
"lcov"
"lcov",
"json"
],
"verbose": false,
"remapOptions": {

View File

@@ -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",

View File

@@ -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"

View File

@@ -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

View File

@@ -6,10 +6,10 @@
"**/node_modules/**",
"**/test/**"
],
"includePid": false,
"reports": [
"cobertura",
"lcov"
"lcov",
"json"
],
"verbose": false,
"remapOptions": {

View File

@@ -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",

View File

@@ -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
View File

@@ -0,0 +1 @@
*.vsix

View File

@@ -0,0 +1,6 @@
.gitignore
src/**
out/**
extension.webpack.config.js
tsconfig.json
yarn.lock

17
extensions/arc/README.md Normal file
View 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).

View 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'
}
});

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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"
}
}

View 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"
}

View 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);
}
}

View 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' };
}

View 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.

View 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;
}

View File

@@ -0,0 +1,3 @@
// This is the entrypoint for the package
export * from './api/apis';
export * from './model/models';

View 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];

File diff suppressed because it is too large Load Diff

View File

@@ -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));
}
}
});
});
});
}
}

View File

@@ -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));
}
}
});
});
});
}
}

View File

@@ -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));
}
}
});
});
});
}
}

View File

@@ -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));
}
}
});
});
});
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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'
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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'
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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 DuskyObjectModelsPluginSpec {
'name': string;
static discriminator: string | undefined = undefined;
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "name",
"baseName": "name",
"type": "string"
} ];
static getAttributeTypeMap() {
return DuskyObjectModelsPluginSpec.attributeTypeMap;
}
}

View File

@@ -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 DuskyObjectModelsReplicaStatus {
'replicas'?: number;
'readyReplicas'?: number;
static discriminator: string | undefined = undefined;
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "replicas",
"baseName": "replicas",
"type": "number"
},
{
"name": "readyReplicas",
"baseName": "readyReplicas",
"type": "number"
} ];
static getAttributeTypeMap() {
return DuskyObjectModelsReplicaStatus.attributeTypeMap;
}
}

View File

@@ -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 DuskyObjectModelsResourceRequirements {
'limits'?: { [key: string]: string; };
'requests'?: { [key: string]: string; };
static discriminator: string | undefined = undefined;
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "limits",
"baseName": "limits",
"type": "{ [key: string]: string; }"
},
{
"name": "requests",
"baseName": "requests",
"type": "{ [key: string]: string; }"
} ];
static getAttributeTypeMap() {
return DuskyObjectModelsResourceRequirements.attributeTypeMap;
}
}

View File

@@ -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 DuskyObjectModelsRestoreStatus {
'backupId'?: string;
'endTime'?: Date;
'error'?: DuskyObjectModelsError;
'fromServer'?: string;
'restoreTime'?: Date;
'startTime'?: Date;
'state': string;
static discriminator: string | undefined = undefined;
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "backupId",
"baseName": "backupId",
"type": "string"
},
{
"name": "endTime",
"baseName": "endTime",
"type": "Date"
},
{
"name": "error",
"baseName": "error",
"type": "DuskyObjectModelsError"
},
{
"name": "fromServer",
"baseName": "fromServer",
"type": "string"
},
{
"name": "restoreTime",
"baseName": "restoreTime",
"type": "Date"
},
{
"name": "startTime",
"baseName": "startTime",
"type": "Date"
},
{
"name": "state",
"baseName": "state",
"type": "string"
} ];
static getAttributeTypeMap() {
return DuskyObjectModelsRestoreStatus.attributeTypeMap;
}
}

View File

@@ -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 DuskyObjectModelsRetentionSpec {
'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 DuskyObjectModelsRetentionSpec.attributeTypeMap;
}
}

View File

@@ -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 DuskyObjectModelsRole {
'name': string;
static discriminator: string | undefined = undefined;
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "name",
"baseName": "name",
"type": "string"
} ];
static getAttributeTypeMap() {
return DuskyObjectModelsRole.attributeTypeMap;
}
}

View File

@@ -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 DuskyObjectModelsScaleSpec {
'replicas'?: number | null;
'shards'?: number | null;
static discriminator: string | undefined = undefined;
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "replicas",
"baseName": "replicas",
"type": "number"
},
{
"name": "shards",
"baseName": "shards",
"type": "number"
} ];
static getAttributeTypeMap() {
return DuskyObjectModelsScaleSpec.attributeTypeMap;
}
}

View File

@@ -0,0 +1,37 @@
/**
* 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 { DuskyObjectModelsResourceRequirements } from './duskyObjectModelsResourceRequirements';
export class DuskyObjectModelsSchedulingSpec {
'nodeSelector'?: { [key: string]: string; };
'resources'?: DuskyObjectModelsResourceRequirements;
static discriminator: string | undefined = undefined;
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "nodeSelector",
"baseName": "nodeSelector",
"type": "{ [key: string]: string; }"
},
{
"name": "resources",
"baseName": "resources",
"type": "DuskyObjectModelsResourceRequirements"
} ];
static getAttributeTypeMap() {
return DuskyObjectModelsSchedulingSpec.attributeTypeMap;
}
}

View File

@@ -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 DuskyObjectModelsServiceSpec {
'port'?: number | null;
'type'?: string;
'externalIPs'?: Array<string>;
static discriminator: string | undefined = undefined;
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "port",
"baseName": "port",
"type": "number"
},
{
"name": "type",
"baseName": "type",
"type": "string"
},
{
"name": "externalIPs",
"baseName": "externalIPs",
"type": "Array<string>"
} ];
static getAttributeTypeMap() {
return DuskyObjectModelsServiceSpec.attributeTypeMap;
}
}

View File

@@ -0,0 +1,48 @@
/**
* 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 DuskyObjectModelsStorageSpec {
'storageClassName'?: string;
'volumeClaimName'?: string;
'volumeSize'?: string;
'matchLabels'?: { [key: string]: string; };
static discriminator: string | undefined = undefined;
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "storageClassName",
"baseName": "storageClassName",
"type": "string"
},
{
"name": "volumeClaimName",
"baseName": "volumeClaimName",
"type": "string"
},
{
"name": "volumeSize",
"baseName": "volumeSize",
"type": "string"
},
{
"name": "matchLabels",
"baseName": "matchLabels",
"type": "{ [key: string]: string; }"
} ];
static getAttributeTypeMap() {
return DuskyObjectModelsStorageSpec.attributeTypeMap;
}
}

View File

@@ -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 DuskyObjectModelsTINASpec {
'namespace': string;
static discriminator: string | undefined = undefined;
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "namespace",
"baseName": "namespace",
"type": "string"
} ];
static getAttributeTypeMap() {
return DuskyObjectModelsTINASpec.attributeTypeMap;
}
}

View File

@@ -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 DuskyObjectModelsUser {
'name': string;
'password'?: string;
'roles': Array<string>;
static discriminator: string | undefined = undefined;
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "name",
"baseName": "name",
"type": "string"
},
{
"name": "password",
"baseName": "password",
"type": "string"
},
{
"name": "roles",
"baseName": "roles",
"type": "Array<string>"
} ];
static getAttributeTypeMap() {
return DuskyObjectModelsUser.attributeTypeMap;
}
}

View File

@@ -0,0 +1,48 @@
/**
* 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 LogsRequest {
'startTime': string;
'endTime': string;
'termQueries'?: { [key: string]: string; };
'regexQueries'?: { [key: string]: string; };
static discriminator: string | undefined = undefined;
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "startTime",
"baseName": "startTime",
"type": "string"
},
{
"name": "endTime",
"baseName": "endTime",
"type": "string"
},
{
"name": "termQueries",
"baseName": "termQueries",
"type": "{ [key: string]: string; }"
},
{
"name": "regexQueries",
"baseName": "regexQueries",
"type": "{ [key: string]: string; }"
} ];
static getAttributeTypeMap() {
return LogsRequest.attributeTypeMap;
}
}

View File

@@ -0,0 +1,329 @@
export * from './clusterPatchModel';
export * from './duskyObjectModelsBackup';
export * from './duskyObjectModelsBackupCopySchedule';
export * from './duskyObjectModelsBackupRetention';
export * from './duskyObjectModelsBackupSpec';
export * from './duskyObjectModelsBackupTier';
export * from './duskyObjectModelsDatabase';
export * from './duskyObjectModelsDatabaseService';
export * from './duskyObjectModelsDatabaseServiceArcPayload';
export * from './duskyObjectModelsDatabaseServiceCondition';
export * from './duskyObjectModelsDatabaseServiceList';
export * from './duskyObjectModelsDatabaseServiceSpec';
export * from './duskyObjectModelsDatabaseServiceStatus';
export * from './duskyObjectModelsDatabaseServiceVolumeStatus';
export * from './duskyObjectModelsDockerSpec';
export * from './duskyObjectModelsDuskyValidationMessage';
export * from './duskyObjectModelsDuskyValidationResult';
export * from './duskyObjectModelsEngineSpec';
export * from './duskyObjectModelsError';
export * from './duskyObjectModelsErrorDetails';
export * from './duskyObjectModelsMonitoringSpec';
export * from './duskyObjectModelsObjectMeta';
export * from './duskyObjectModelsOperatorStatus';
export * from './duskyObjectModelsPluginSpec';
export * from './duskyObjectModelsReplicaStatus';
export * from './duskyObjectModelsResourceRequirements';
export * from './duskyObjectModelsRestoreStatus';
export * from './duskyObjectModelsRetentionSpec';
export * from './duskyObjectModelsRole';
export * from './duskyObjectModelsScaleSpec';
export * from './duskyObjectModelsSchedulingSpec';
export * from './duskyObjectModelsServiceSpec';
export * from './duskyObjectModelsStorageSpec';
export * from './duskyObjectModelsTINASpec';
export * from './duskyObjectModelsUser';
export * from './logsRequest';
export * from './v1ListMeta';
export * from './v1Status';
export * from './v1StatusCause';
export * from './v1StatusDetails';
import localVarRequest = require('request');
import { ClusterPatchModel } from './clusterPatchModel';
import { DuskyObjectModelsBackup } from './duskyObjectModelsBackup';
import { DuskyObjectModelsBackupCopySchedule } from './duskyObjectModelsBackupCopySchedule';
import { DuskyObjectModelsBackupRetention } from './duskyObjectModelsBackupRetention';
import { DuskyObjectModelsBackupSpec } from './duskyObjectModelsBackupSpec';
import { DuskyObjectModelsBackupTier } from './duskyObjectModelsBackupTier';
import { DuskyObjectModelsDatabase } from './duskyObjectModelsDatabase';
import { DuskyObjectModelsDatabaseService } from './duskyObjectModelsDatabaseService';
import { DuskyObjectModelsDatabaseServiceArcPayload } from './duskyObjectModelsDatabaseServiceArcPayload';
import { DuskyObjectModelsDatabaseServiceCondition } from './duskyObjectModelsDatabaseServiceCondition';
import { DuskyObjectModelsDatabaseServiceList } from './duskyObjectModelsDatabaseServiceList';
import { DuskyObjectModelsDatabaseServiceSpec } from './duskyObjectModelsDatabaseServiceSpec';
import { DuskyObjectModelsDatabaseServiceStatus } from './duskyObjectModelsDatabaseServiceStatus';
import { DuskyObjectModelsDatabaseServiceVolumeStatus } from './duskyObjectModelsDatabaseServiceVolumeStatus';
import { DuskyObjectModelsDockerSpec } from './duskyObjectModelsDockerSpec';
import { DuskyObjectModelsDuskyValidationMessage } from './duskyObjectModelsDuskyValidationMessage';
import { DuskyObjectModelsDuskyValidationResult } from './duskyObjectModelsDuskyValidationResult';
import { DuskyObjectModelsEngineSpec } from './duskyObjectModelsEngineSpec';
import { DuskyObjectModelsError } from './duskyObjectModelsError';
import { DuskyObjectModelsErrorDetails } from './duskyObjectModelsErrorDetails';
import { DuskyObjectModelsMonitoringSpec } from './duskyObjectModelsMonitoringSpec';
import { DuskyObjectModelsObjectMeta } from './duskyObjectModelsObjectMeta';
import { DuskyObjectModelsOperatorStatus } from './duskyObjectModelsOperatorStatus';
import { DuskyObjectModelsPluginSpec } from './duskyObjectModelsPluginSpec';
import { DuskyObjectModelsReplicaStatus } from './duskyObjectModelsReplicaStatus';
import { DuskyObjectModelsResourceRequirements } from './duskyObjectModelsResourceRequirements';
import { DuskyObjectModelsRestoreStatus } from './duskyObjectModelsRestoreStatus';
import { DuskyObjectModelsRetentionSpec } from './duskyObjectModelsRetentionSpec';
import { DuskyObjectModelsRole } from './duskyObjectModelsRole';
import { DuskyObjectModelsScaleSpec } from './duskyObjectModelsScaleSpec';
import { DuskyObjectModelsSchedulingSpec } from './duskyObjectModelsSchedulingSpec';
import { DuskyObjectModelsServiceSpec } from './duskyObjectModelsServiceSpec';
import { DuskyObjectModelsStorageSpec } from './duskyObjectModelsStorageSpec';
import { DuskyObjectModelsTINASpec } from './duskyObjectModelsTINASpec';
import { DuskyObjectModelsUser } from './duskyObjectModelsUser';
import { LogsRequest } from './logsRequest';
import { V1ListMeta } from './v1ListMeta';
import { V1Status } from './v1Status';
import { V1StatusCause } from './v1StatusCause';
import { V1StatusDetails } from './v1StatusDetails';
/* tslint:disable:no-unused-variable */
let primitives = [
"string",
"boolean",
"double",
"integer",
"long",
"float",
"number",
"any"
];
let enumsMap: {[index: string]: any} = {
"DuskyObjectModelsDatabaseServiceCondition.StatusEnum": DuskyObjectModelsDatabaseServiceCondition.StatusEnum,
"DuskyObjectModelsDuskyValidationMessage.TypeEnum": DuskyObjectModelsDuskyValidationMessage.TypeEnum,
"DuskyObjectModelsDuskyValidationMessage.CodeEnum": DuskyObjectModelsDuskyValidationMessage.CodeEnum,
}
let typeMap: {[index: string]: any} = {
"ClusterPatchModel": ClusterPatchModel,
"DuskyObjectModelsBackup": DuskyObjectModelsBackup,
"DuskyObjectModelsBackupCopySchedule": DuskyObjectModelsBackupCopySchedule,
"DuskyObjectModelsBackupRetention": DuskyObjectModelsBackupRetention,
"DuskyObjectModelsBackupSpec": DuskyObjectModelsBackupSpec,
"DuskyObjectModelsBackupTier": DuskyObjectModelsBackupTier,
"DuskyObjectModelsDatabase": DuskyObjectModelsDatabase,
"DuskyObjectModelsDatabaseService": DuskyObjectModelsDatabaseService,
"DuskyObjectModelsDatabaseServiceArcPayload": DuskyObjectModelsDatabaseServiceArcPayload,
"DuskyObjectModelsDatabaseServiceCondition": DuskyObjectModelsDatabaseServiceCondition,
"DuskyObjectModelsDatabaseServiceList": DuskyObjectModelsDatabaseServiceList,
"DuskyObjectModelsDatabaseServiceSpec": DuskyObjectModelsDatabaseServiceSpec,
"DuskyObjectModelsDatabaseServiceStatus": DuskyObjectModelsDatabaseServiceStatus,
"DuskyObjectModelsDatabaseServiceVolumeStatus": DuskyObjectModelsDatabaseServiceVolumeStatus,
"DuskyObjectModelsDockerSpec": DuskyObjectModelsDockerSpec,
"DuskyObjectModelsDuskyValidationMessage": DuskyObjectModelsDuskyValidationMessage,
"DuskyObjectModelsDuskyValidationResult": DuskyObjectModelsDuskyValidationResult,
"DuskyObjectModelsEngineSpec": DuskyObjectModelsEngineSpec,
"DuskyObjectModelsError": DuskyObjectModelsError,
"DuskyObjectModelsErrorDetails": DuskyObjectModelsErrorDetails,
"DuskyObjectModelsMonitoringSpec": DuskyObjectModelsMonitoringSpec,
"DuskyObjectModelsObjectMeta": DuskyObjectModelsObjectMeta,
"DuskyObjectModelsOperatorStatus": DuskyObjectModelsOperatorStatus,
"DuskyObjectModelsPluginSpec": DuskyObjectModelsPluginSpec,
"DuskyObjectModelsReplicaStatus": DuskyObjectModelsReplicaStatus,
"DuskyObjectModelsResourceRequirements": DuskyObjectModelsResourceRequirements,
"DuskyObjectModelsRestoreStatus": DuskyObjectModelsRestoreStatus,
"DuskyObjectModelsRetentionSpec": DuskyObjectModelsRetentionSpec,
"DuskyObjectModelsRole": DuskyObjectModelsRole,
"DuskyObjectModelsScaleSpec": DuskyObjectModelsScaleSpec,
"DuskyObjectModelsSchedulingSpec": DuskyObjectModelsSchedulingSpec,
"DuskyObjectModelsServiceSpec": DuskyObjectModelsServiceSpec,
"DuskyObjectModelsStorageSpec": DuskyObjectModelsStorageSpec,
"DuskyObjectModelsTINASpec": DuskyObjectModelsTINASpec,
"DuskyObjectModelsUser": DuskyObjectModelsUser,
"LogsRequest": LogsRequest,
"V1ListMeta": V1ListMeta,
"V1Status": V1Status,
"V1StatusCause": V1StatusCause,
"V1StatusDetails": V1StatusDetails,
}
export class ObjectSerializer {
public static findCorrectType(data: any, expectedType: string) {
if (data == undefined) {
return expectedType;
} else if (primitives.indexOf(expectedType.toLowerCase()) !== -1) {
return expectedType;
} else if (expectedType === "Date") {
return expectedType;
} else {
if (enumsMap[expectedType]) {
return expectedType;
}
if (!typeMap[expectedType]) {
return expectedType; // w/e we don't know the type
}
// Check the discriminator
let discriminatorProperty = typeMap[expectedType].discriminator;
if (discriminatorProperty == null) {
return expectedType; // the type does not have a discriminator. use it.
} else {
if (data[discriminatorProperty]) {
var discriminatorType = data[discriminatorProperty];
if(typeMap[discriminatorType]){
return discriminatorType; // use the type given in the discriminator
} else {
return expectedType; // discriminator did not map to a type
}
} else {
return expectedType; // discriminator was not present (or an empty string)
}
}
}
}
public static serialize(data: any, type: string) {
if (data == undefined) {
return data;
} else if (primitives.indexOf(type.toLowerCase()) !== -1) {
return data;
} else if (type.lastIndexOf("Array<", 0) === 0) { // string.startsWith pre es6
let subType: string = type.replace("Array<", ""); // Array<Type> => Type>
subType = subType.substring(0, subType.length - 1); // Type> => Type
let transformedData: any[] = [];
for (let index in data) {
let date = data[index];
transformedData.push(ObjectSerializer.serialize(date, subType));
}
return transformedData;
} else if (type === "Date") {
return data.toISOString();
} else {
if (enumsMap[type]) {
return data;
}
if (!typeMap[type]) { // in case we dont know the type
return data;
}
// Get the actual type of this object
type = this.findCorrectType(data, type);
// get the map for the correct type.
let attributeTypes = typeMap[type].getAttributeTypeMap();
let instance: {[index: string]: any} = {};
for (let index in attributeTypes) {
let attributeType = attributeTypes[index];
instance[attributeType.baseName] = ObjectSerializer.serialize(data[attributeType.name], attributeType.type);
}
return instance;
}
}
public static deserialize(data: any, type: string) {
// polymorphism may change the actual type.
type = ObjectSerializer.findCorrectType(data, type);
if (data == undefined) {
return data;
} else if (primitives.indexOf(type.toLowerCase()) !== -1) {
return data;
} else if (type.lastIndexOf("Array<", 0) === 0) { // string.startsWith pre es6
let subType: string = type.replace("Array<", ""); // Array<Type> => Type>
subType = subType.substring(0, subType.length - 1); // Type> => Type
let transformedData: any[] = [];
for (let index in data) {
let date = data[index];
transformedData.push(ObjectSerializer.deserialize(date, subType));
}
return transformedData;
} else if (type === "Date") {
return new Date(data);
} else {
if (enumsMap[type]) {// is Enum
return data;
}
if (!typeMap[type]) { // dont know the type
return data;
}
let instance = new typeMap[type]();
let attributeTypes = typeMap[type].getAttributeTypeMap();
for (let index in attributeTypes) {
let attributeType = attributeTypes[index];
instance[attributeType.name] = ObjectSerializer.deserialize(data[attributeType.baseName], attributeType.type);
}
return instance;
}
}
}
export interface Authentication {
/**
* Apply authentication settings to header and query params.
*/
applyToRequest(requestOptions: localVarRequest.Options): Promise<void> | void;
}
export class HttpBasicAuth implements Authentication {
public username: string = '';
public password: string = '';
applyToRequest(requestOptions: localVarRequest.Options): void {
requestOptions.auth = {
username: this.username, password: this.password
}
}
}
export class HttpBearerAuth implements Authentication {
public accessToken: string | (() => string) = '';
applyToRequest(requestOptions: localVarRequest.Options): void {
if (requestOptions && requestOptions.headers) {
const accessToken = typeof this.accessToken === 'function'
? this.accessToken()
: this.accessToken;
requestOptions.headers["Authorization"] = "Bearer " + accessToken;
}
}
}
export class ApiKeyAuth implements Authentication {
public apiKey: string = '';
constructor(private location: string, private paramName: string) {
}
applyToRequest(requestOptions: localVarRequest.Options): void {
if (this.location == "query") {
(<any>requestOptions.qs)[this.paramName] = this.apiKey;
} else if (this.location == "header" && requestOptions && requestOptions.headers) {
requestOptions.headers[this.paramName] = this.apiKey;
} else if (this.location == 'cookie' && requestOptions && requestOptions.headers) {
if (requestOptions.headers['Cookie']) {
requestOptions.headers['Cookie'] += '; ' + this.paramName + '=' + encodeURIComponent(this.apiKey);
}
else {
requestOptions.headers['Cookie'] = this.paramName + '=' + encodeURIComponent(this.apiKey);
}
}
}
}
export class OAuth implements Authentication {
public accessToken: string = '';
applyToRequest(requestOptions: localVarRequest.Options): void {
if (requestOptions && requestOptions.headers) {
requestOptions.headers["Authorization"] = "Bearer " + this.accessToken;
}
}
}
export class VoidAuth implements Authentication {
public username: string = '';
public password: string = '';
applyToRequest(_: localVarRequest.Options): void {
// Do nothing
}
}
export type Interceptor = (requestOptions: localVarRequest.Options) => (Promise<void> | void);

View File

@@ -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 V1ListMeta {
'_continue'?: string;
'resourceVersion'?: string;
'selfLink'?: string;
static discriminator: string | undefined = undefined;
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "_continue",
"baseName": "continue",
"type": "string"
},
{
"name": "resourceVersion",
"baseName": "resourceVersion",
"type": "string"
},
{
"name": "selfLink",
"baseName": "selfLink",
"type": "string"
} ];
static getAttributeTypeMap() {
return V1ListMeta.attributeTypeMap;
}
}

View File

@@ -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 { V1ListMeta } from './v1ListMeta';
import { V1StatusDetails } from './v1StatusDetails';
export class V1Status {
'apiVersion'?: string;
'code'?: number | null;
'details'?: V1StatusDetails;
'kind'?: string;
'message'?: string;
'metadata'?: V1ListMeta;
'reason'?: string;
'status'?: string;
'hasObject'?: boolean;
static discriminator: string | undefined = undefined;
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "apiVersion",
"baseName": "apiVersion",
"type": "string"
},
{
"name": "code",
"baseName": "code",
"type": "number"
},
{
"name": "details",
"baseName": "details",
"type": "V1StatusDetails"
},
{
"name": "kind",
"baseName": "kind",
"type": "string"
},
{
"name": "message",
"baseName": "message",
"type": "string"
},
{
"name": "metadata",
"baseName": "metadata",
"type": "V1ListMeta"
},
{
"name": "reason",
"baseName": "reason",
"type": "string"
},
{
"name": "status",
"baseName": "status",
"type": "string"
},
{
"name": "hasObject",
"baseName": "hasObject",
"type": "boolean"
} ];
static getAttributeTypeMap() {
return V1Status.attributeTypeMap;
}
}

View File

@@ -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 V1StatusCause {
'field'?: string;
'message'?: string;
'reason'?: string;
static discriminator: string | undefined = undefined;
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "field",
"baseName": "field",
"type": "string"
},
{
"name": "message",
"baseName": "message",
"type": "string"
},
{
"name": "reason",
"baseName": "reason",
"type": "string"
} ];
static getAttributeTypeMap() {
return V1StatusCause.attributeTypeMap;
}
}

View File

@@ -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.
*/
import { V1StatusCause } from './v1StatusCause';
export class V1StatusDetails {
'causes'?: Array<V1StatusCause>;
'group'?: string;
'kind'?: string;
'name'?: string;
'retryAfterSeconds'?: number | null;
'uid'?: string;
static discriminator: string | undefined = undefined;
static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
{
"name": "causes",
"baseName": "causes",
"type": "Array<V1StatusCause>"
},
{
"name": "group",
"baseName": "group",
"type": "string"
},
{
"name": "kind",
"baseName": "kind",
"type": "string"
},
{
"name": "name",
"baseName": "name",
"type": "string"
},
{
"name": "retryAfterSeconds",
"baseName": "retryAfterSeconds",
"type": "number"
},
{
"name": "uid",
"baseName": "uid",
"type": "string"
} ];
static getAttributeTypeMap() {
return V1StatusDetails.attributeTypeMap;
}
}

View File

@@ -0,0 +1,4 @@
// This is the entrypoint for the package
export * from './api/apis';
export * from './model/models';

View File

@@ -0,0 +1,43 @@
export * from './controlRouterApi';
export * from './endpointsRouterApi';
export * from './homeRouterApi';
export * from './hybridDataHomeRouterApi';
export * from './infoRouterApi';
export * from './logsRouterApi';
export * from './metricRouterApi';
export * from './registrationRouterApi';
export * from './sqlInstanceRouterApi';
export * from './sqlOperatorUpgradeRouterApi';
export * from './tokenRouterApi';
import * as fs from 'fs';
import * as http from 'http';
import { ControlRouterApi } from './controlRouterApi';
import { EndpointsRouterApi } from './endpointsRouterApi';
import { HomeRouterApi } from './homeRouterApi';
import { HybridDataHomeRouterApi } from './hybridDataHomeRouterApi';
import { InfoRouterApi } from './infoRouterApi';
import { LogsRouterApi } from './logsRouterApi';
import { MetricRouterApi } from './metricRouterApi';
import { RegistrationRouterApi } from './registrationRouterApi';
import { SqlInstanceRouterApi } from './sqlInstanceRouterApi';
import { SqlOperatorUpgradeRouterApi } from './sqlOperatorUpgradeRouterApi';
import { TokenRouterApi } from './tokenRouterApi';
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 = [ControlRouterApi, EndpointsRouterApi, HomeRouterApi, HybridDataHomeRouterApi, InfoRouterApi, LogsRouterApi, MetricRouterApi, RegistrationRouterApi, SqlInstanceRouterApi, SqlOperatorUpgradeRouterApi, TokenRouterApi];

View File

@@ -0,0 +1,396 @@
/**
* SQL Server Big Data Cluster API
* OpenAPI specification for **SQL Server Big Data Cluster**.
*
* The version of the OpenAPI document: 1.0.0
*
*
* 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 { Authentication, HttpBasicAuth, HttpBearerAuth, Interceptor, ObjectSerializer, VoidAuth } from '../model/models';
import { ResourceStatusModel } from '../model/resourceStatusModel';
import { ServiceStatusModel } from '../model/serviceStatusModel';
import { HttpError } from './apis';
let defaultBasePath = 'https://0.0.0.0:30080';
// ===============================================
// This file is autogenerated - Please do not edit
// ===============================================
export enum ControlRouterApiApiKeys {
}
export class ControlRouterApi {
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: ControlRouterApiApiKeys, value: string) {
(this.authentications as any)[ControlRouterApiApiKeys[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 Redirects to the dashboard UI of the specified instance.
* @param instanceName The name of the instance for which you want the dashboard.
* @param linkType The name of the dashboard UI you would like.
*/
public async apiV1ControlInstancesInstanceNameStatusLinkTypeUiGet (instanceName: string, linkType: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> {
const localVarPath = this.basePath + '/api/v1/control/instances/{instanceName}/status/{linkType}/ui'
.replace('{' + 'instanceName' + '}', encodeURIComponent(String(instanceName)))
.replace('{' + 'linkType' + '}', encodeURIComponent(String(linkType)));
let localVarQueryParameters: any = {};
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
let localVarFormParams: any = {};
// verify required parameter 'instanceName' is not null or undefined
if (instanceName === null || instanceName === undefined) {
throw new Error('Required parameter instanceName was null or undefined when calling apiV1ControlInstancesInstanceNameStatusLinkTypeUiGet.');
}
// verify required parameter 'linkType' is not null or undefined
if (linkType === null || linkType === undefined) {
throw new Error('Required parameter linkType was null or undefined when calling apiV1ControlInstancesInstanceNameStatusLinkTypeUiGet.');
}
(<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?: 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));
}
}
});
});
});
}
/**
*
* @summary Upgrades the control plane.
* @param clusterPatchModel
*/
public async apiV1ControlPatch (clusterPatchModel?: ClusterPatchModel, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> {
const localVarPath = this.basePath + '/api/v1/control';
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));
}
}
});
});
});
}
/**
*
* @summary Gets the status of the specified resource within the control plane.
* @param resourceName The name of the resource you would like the status of.
* @param all Whether you want all instances of all resources.
*/
public async apiV1ControlResourcesResourceNameStatusGet (resourceName: string, all?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: ResourceStatusModel; }> {
const localVarPath = this.basePath + '/api/v1/control/resources/{resourceName}/status'
.replace('{' + 'resourceName' + '}', encodeURIComponent(String(resourceName)));
let localVarQueryParameters: any = {};
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
const produces = ['text/plain', 'application/json', 'text/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 'resourceName' is not null or undefined
if (resourceName === null || resourceName === undefined) {
throw new Error('Required parameter resourceName was null or undefined when calling apiV1ControlResourcesResourceNameStatusGet.');
}
if (all !== undefined) {
localVarQueryParameters['all'] = ObjectSerializer.serialize(all, "boolean");
}
(<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: ResourceStatusModel; }>((resolve, reject) => {
localVarRequest(localVarRequestOptions, (error, response, body) => {
if (error) {
reject(error);
} else {
body = ObjectSerializer.deserialize(body, "ResourceStatusModel");
if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
resolve({ response: response, body: body });
} else {
reject(new HttpError(response, body, response.statusCode));
}
}
});
});
});
}
/**
*
* @summary Gets the status of the control plane.
* @param all Whether you want all instances of all resources.
*/
public async apiV1ControlStatusGet (all?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array<ServiceStatusModel>; }> {
const localVarPath = this.basePath + '/api/v1/control/status';
let localVarQueryParameters: any = {};
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
const produces = ['text/plain', 'application/json', 'text/json'];
// give precedence to 'application/json'
if (produces.indexOf('application/json') >= 0) {
localVarHeaderParams.Accept = 'application/json';
} else {
localVarHeaderParams.Accept = produces.join(',');
}
let localVarFormParams: any = {};
if (all !== undefined) {
localVarQueryParameters['all'] = ObjectSerializer.serialize(all, "boolean");
}
(<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: Array<ServiceStatusModel>; }>((resolve, reject) => {
localVarRequest(localVarRequestOptions, (error, response, body) => {
if (error) {
reject(error);
} else {
body = ObjectSerializer.deserialize(body, "Array<ServiceStatusModel>");
if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
resolve({ response: response, body: body });
} else {
reject(new HttpError(response, body, response.statusCode));
}
}
});
});
});
}
}

Some files were not shown because too many files have changed in this diff Show More