vgs-cli 1.35.0.dev3__py3-none-any.whl → 1.36.0.dev2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. vgs_cli-1.36.0.dev2.data/data/vgscli/console-route-schema.yaml +47 -0
  2. vgs_cli-1.36.0.dev2.data/data/vgscli/theme.tcss +445 -0
  3. {vgs_cli-1.35.0.dev3.dist-info → vgs_cli-1.36.0.dev2.dist-info}/METADATA +43 -1
  4. vgs_cli-1.36.0.dev2.dist-info/RECORD +118 -0
  5. vgscli/_version.py +1 -1
  6. vgscli/auth_server.py +15 -7
  7. vgscli/callback_server.py +18 -5
  8. vgscli/cli/commands/apply.py +23 -46
  9. vgscli/cli/commands/delete.py +4 -2
  10. vgscli/cli/commands/get.py +22 -63
  11. vgscli/cli_utils.py +2 -5
  12. vgscli/collect_forms.py +16 -93
  13. vgscli/console/__init__.py +1 -0
  14. vgscli/console/app.py +2321 -0
  15. vgscli/console/auth.py +32 -0
  16. vgscli/console/backend.py +294 -0
  17. vgscli/console/bootstrap.py +20 -0
  18. vgscli/console/commands.py +96 -0
  19. vgscli/console/context.py +60 -0
  20. vgscli/console/form_editor.py +142 -0
  21. vgscli/console/intro.py +123 -0
  22. vgscli/console/mutation_screen.py +749 -0
  23. vgscli/console/responsive.py +20 -0
  24. vgscli/console/tenant_onboarding_screen.py +613 -0
  25. vgscli/console/theme.tcss +445 -0
  26. vgscli/console/workflows/__init__.py +8 -0
  27. vgscli/console/workflows/forms.py +36 -0
  28. vgscli/console/workflows/mutation.py +261 -0
  29. vgscli/console/workflows/routes.py +41 -0
  30. vgscli/console/workflows/tenant.py +220 -0
  31. vgscli/console_config.py +47 -0
  32. vgscli/diagnostics.py +41 -0
  33. vgscli/errors.py +8 -41
  34. vgscli/operations/__init__.py +1 -0
  35. vgscli/operations/context.py +48 -0
  36. vgscli/operations/documents.py +29 -0
  37. vgscli/operations/errors.py +80 -0
  38. vgscli/operations/form_documents.py +108 -0
  39. vgscli/operations/forms.py +174 -0
  40. vgscli/operations/logs.py +171 -0
  41. vgscli/operations/models.py +56 -0
  42. vgscli/operations/routes.py +240 -0
  43. vgscli/operations/tenant_details.py +110 -0
  44. vgscli/recovery_journal.py +158 -0
  45. vgscli/secure_store.py +109 -0
  46. vgscli/telemetry.py +0 -9
  47. vgscli/tenant_creation.py +13 -8
  48. vgscli/token_handler.py +8 -7
  49. vgscli/validation-schemas/console-route-schema.yaml +47 -0
  50. vgscli/vgs.py +32 -1
  51. vgs_cli-1.35.0.dev3.dist-info/RECORD +0 -83
  52. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/collect-form-api-schema.yaml +0 -0
  53. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/collect-form-schema.yaml +0 -0
  54. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/credentials-admin.yaml +0 -0
  55. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/form-template.yaml +0 -0
  56. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/http-route-template.yaml +0 -0
  57. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/notification-integration-schema.yaml +0 -0
  58. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/notification-template.yaml +0 -0
  59. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/public-credential-collect.yaml +0 -0
  60. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/read-credentials-no-pci.yaml +0 -0
  61. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/read-credentials-with-pci.yaml +0 -0
  62. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/service-account-schema.yaml +0 -0
  63. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/sftp-route-template.yaml +0 -0
  64. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/tenant-schema.yaml +0 -0
  65. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/tenant-template.yaml +0 -0
  66. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/vault-resources.yaml +0 -0
  67. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/vault-schema.yaml +0 -0
  68. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/vault-template.yaml +0 -0
  69. {vgs_cli-1.35.0.dev3.data → vgs_cli-1.36.0.dev2.data}/data/vgscli/vgs-cli.yaml +0 -0
  70. {vgs_cli-1.35.0.dev3.dist-info → vgs_cli-1.36.0.dev2.dist-info}/WHEEL +0 -0
  71. {vgs_cli-1.35.0.dev3.dist-info → vgs_cli-1.36.0.dev2.dist-info}/entry_points.txt +0 -0
  72. {vgs_cli-1.35.0.dev3.dist-info → vgs_cli-1.36.0.dev2.dist-info}/licenses/LICENSE +0 -0
  73. {vgs_cli-1.35.0.dev3.dist-info → vgs_cli-1.36.0.dev2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,47 @@
1
+ $schema: http://json-schema.org/draft-07/schema#
2
+ type: object
3
+ additionalProperties: true
4
+ required: [version, data]
5
+ properties:
6
+ version:
7
+ const: 1
8
+ data:
9
+ type: array
10
+ items:
11
+ type: object
12
+ additionalProperties: true
13
+ required: [type, attributes]
14
+ properties:
15
+ id:
16
+ type: string
17
+ minLength: 1
18
+ type:
19
+ const: rule_chain
20
+ attributes:
21
+ type: object
22
+ additionalProperties: true
23
+ required: [protocol, destination_override_endpoint, entries]
24
+ properties:
25
+ protocol:
26
+ type: string
27
+ pattern: '^(?i:http|https)$'
28
+ source_endpoint:
29
+ type: [string, 'null']
30
+ destination_override_endpoint:
31
+ type: [string, 'null']
32
+ host_endpoint:
33
+ type: [string, 'null']
34
+ tags:
35
+ type: object
36
+ additionalProperties: true
37
+ entries:
38
+ type: array
39
+ items:
40
+ type: object
41
+ additionalProperties: true
42
+ properties:
43
+ phase: {type: string}
44
+ operation: {type: string}
45
+ targets:
46
+ type: array
47
+ items: {type: string}
@@ -0,0 +1,445 @@
1
+ /*
2
+ * The shell is a fixed layout: only inner panes scroll, never the screen.
3
+ * The screen keeps the panel tone so widget margins never expose a dark gutter.
4
+ */
5
+ Screen {
6
+ background: $panel;
7
+ color: $text;
8
+ layout: vertical;
9
+ overflow: hidden hidden;
10
+ }
11
+
12
+ /* Scrollbars stay slim and track-less, and only appear on real overflow. */
13
+ * {
14
+ scrollbar-size: 1 1;
15
+ scrollbar-background: $panel;
16
+ scrollbar-background-hover: $panel;
17
+ scrollbar-background-active: $panel;
18
+ scrollbar-corner-color: $panel;
19
+ }
20
+
21
+ #brand {
22
+ height: 3;
23
+ padding: 1 2;
24
+ background: $panel;
25
+ }
26
+
27
+ #brand-name {
28
+ width: 1fr;
29
+ color: $console-blue;
30
+ text-style: bold;
31
+ }
32
+
33
+ #cli-version {
34
+ width: auto;
35
+ color: $text-muted;
36
+ }
37
+
38
+ #context-header {
39
+ height: 3;
40
+ padding: 0 2 1 2;
41
+ background: $panel;
42
+ }
43
+
44
+ #context-details {
45
+ width: 1fr;
46
+ height: 2;
47
+ }
48
+
49
+ .context-row {
50
+ width: 100%;
51
+ height: 1;
52
+ }
53
+
54
+ .context-label {
55
+ width: auto;
56
+ height: 1;
57
+ color: $console-blue;
58
+ text-style: bold;
59
+ margin-right: 1;
60
+ }
61
+
62
+ .context-name {
63
+ width: auto;
64
+ height: 1;
65
+ color: $text;
66
+ text-style: bold;
67
+ margin-right: 1;
68
+ }
69
+
70
+ .context-id {
71
+ width: auto;
72
+ height: 1;
73
+ color: $text-muted;
74
+ }
75
+
76
+ #environment-badge {
77
+ width: auto;
78
+ min-width: 12;
79
+ height: 1;
80
+ margin: 0;
81
+ padding: 0 1;
82
+ color: $text-muted;
83
+ background: $surface;
84
+ text-style: bold;
85
+ content-align: center middle;
86
+ }
87
+
88
+ #environment-badge.sandbox {
89
+ color: $background;
90
+ background: $success;
91
+ }
92
+
93
+ #environment-badge.live {
94
+ color: $background;
95
+ background: $error;
96
+ }
97
+
98
+ #status-line {
99
+ height: 1;
100
+ padding: 0 4;
101
+ color: $text-muted;
102
+ background: $panel;
103
+ }
104
+
105
+ Input, TextArea {
106
+ border: none;
107
+ background: $console-elevated;
108
+ }
109
+
110
+ Input:focus, TextArea:focus {
111
+ border: none;
112
+ background: $panel;
113
+ background-tint: $primary 8%;
114
+ }
115
+
116
+ #content {
117
+ height: 1fr;
118
+ /* No bottom padding: the scrolling list uses every remaining row. */
119
+ padding: 2 3 0 3;
120
+ background: $panel;
121
+ overflow: hidden hidden;
122
+ }
123
+
124
+ #content-scroll {
125
+ height: 1fr;
126
+ background: $panel;
127
+ overflow-x: hidden;
128
+ }
129
+
130
+ #screen-context {
131
+ height: auto;
132
+ margin-bottom: 1;
133
+ color: $text-muted;
134
+ }
135
+
136
+ #section-tabs {
137
+ display: none;
138
+ height: 1;
139
+ color: $text-muted;
140
+ }
141
+
142
+ #section-tabs:focus {
143
+ background-tint: $primary 6%;
144
+ }
145
+
146
+ #resource-menu {
147
+ display: none;
148
+ height: auto;
149
+ /* Rows, not padding, own the scroll viewport, and one resource is always
150
+ one line so scrolling reaches every row. */
151
+ padding: 0 2;
152
+ text-wrap: nowrap;
153
+ text-overflow: ellipsis;
154
+ background: $console-elevated;
155
+ }
156
+
157
+ #resource-menu:focus {
158
+ background: $console-elevated;
159
+ background-tint: $primary 6%;
160
+ }
161
+
162
+ #screen-body {
163
+ height: auto;
164
+ }
165
+
166
+ #intro-banner {
167
+ height: auto;
168
+ margin-bottom: 1;
169
+ color: $text;
170
+ }
171
+
172
+ Screen.home #content {
173
+ padding: 1 3 0 3;
174
+ }
175
+
176
+ .title, .dialog-title {
177
+ text-style: bold;
178
+ color: $primary;
179
+ margin-bottom: 1;
180
+ }
181
+
182
+ #composer-bar {
183
+ dock: bottom;
184
+ height: auto;
185
+ padding: 0 0 1 0;
186
+ background: $panel;
187
+ }
188
+
189
+ #composer {
190
+ height: 3;
191
+ margin: 0 2;
192
+ padding: 1 2;
193
+ background: $console-elevated;
194
+ content-align: left middle;
195
+ }
196
+
197
+ #command-palette {
198
+ display: none;
199
+ max-height: 16;
200
+ margin: 0 2;
201
+ padding: 1 2;
202
+ background: $console-elevated;
203
+ border: none;
204
+ overflow-x: hidden;
205
+ }
206
+
207
+ #command-list {
208
+ height: auto;
209
+ }
210
+
211
+ #help-dialog {
212
+ width: 80%;
213
+ height: 75%;
214
+ margin: 2 8;
215
+ padding: 2 3;
216
+ background: $panel;
217
+ border: round $border-blurred;
218
+ overflow-x: hidden;
219
+ }
220
+
221
+ #mutation-dialog, #yaml-editor-dialog, #form-editor-dialog, #tenant-onboarding-dialog, #recovery-dialog {
222
+ width: 100%;
223
+ height: 100%;
224
+ margin: 0;
225
+ padding: 1 2;
226
+ background: $panel;
227
+ }
228
+
229
+ #recovery-details {
230
+ height: 1fr;
231
+ padding: 1 2;
232
+ background: $panel;
233
+ }
234
+
235
+ #tenant-onboarding-history {
236
+ height: auto;
237
+ min-height: 0;
238
+ max-height: 8;
239
+ padding: 1 2;
240
+ margin-bottom: 1;
241
+ background: $panel;
242
+ overflow-x: hidden;
243
+ scrollbar-background: $panel;
244
+ scrollbar-background-hover: $panel;
245
+ scrollbar-background-active: $panel;
246
+ scrollbar-corner-color: $panel;
247
+ }
248
+
249
+ #tenant-onboarding-question-area {
250
+ height: 1fr;
251
+ min-height: 7;
252
+ align: left middle;
253
+ }
254
+
255
+ #tenant-onboarding-question-area > * {
256
+ width: 100%;
257
+ }
258
+
259
+ #tenant-onboarding-transcript {
260
+ height: auto;
261
+ }
262
+
263
+ #tenant-onboarding-progress {
264
+ height: auto;
265
+ margin-top: 1;
266
+ }
267
+
268
+ #tenant-onboarding-progress.running {
269
+ color: $warning;
270
+ }
271
+
272
+ #tenant-onboarding-progress.complete {
273
+ color: $success;
274
+ }
275
+
276
+ #tenant-onboarding-progress.failed {
277
+ color: $error;
278
+ }
279
+
280
+ #tenant-onboarding-question {
281
+ height: auto;
282
+ min-height: 1;
283
+ margin-bottom: 1;
284
+ color: $secondary;
285
+ text-style: bold;
286
+ }
287
+
288
+ #tenant-onboarding-options, #tenant-onboarding-attributes {
289
+ height: auto;
290
+ max-height: 12;
291
+ margin-bottom: 1;
292
+ background: $console-elevated;
293
+ border: none;
294
+ }
295
+
296
+ #tenant-onboarding-attributes-done {
297
+ display: none;
298
+ width: 16;
299
+ margin-bottom: 1;
300
+ }
301
+
302
+ #tenant-onboarding-dialog.attribute-step #tenant-onboarding-history {
303
+ height: 6;
304
+ min-height: 4;
305
+ }
306
+
307
+ #tenant-onboarding-dialog.attribute-step #tenant-onboarding-question-area {
308
+ align: left top;
309
+ }
310
+
311
+ #tenant-onboarding-dialog.attribute-step #tenant-onboarding-attributes {
312
+ height: 1fr;
313
+ }
314
+
315
+ #tenant-onboarding-input {
316
+ display: none;
317
+ height: 3;
318
+ margin-bottom: 1;
319
+ content-align: left middle;
320
+ }
321
+
322
+ #tenant-onboarding-error {
323
+ height: auto;
324
+ color: $error;
325
+ }
326
+
327
+ #yaml-editor-error {
328
+ height: auto;
329
+ color: $error;
330
+ }
331
+
332
+ #resource-yaml {
333
+ height: 1fr;
334
+ min-height: 12;
335
+ padding: 1 2;
336
+ background: $background;
337
+ scrollbar-background: $background;
338
+ scrollbar-background-hover: $background;
339
+ scrollbar-background-active: $background;
340
+ scrollbar-corner-color: $background;
341
+ }
342
+
343
+ #yaml-editor-hint, #mutation-editor-hint {
344
+ height: 1;
345
+ margin-bottom: 1;
346
+ color: $text-muted;
347
+ }
348
+
349
+ #form-editor-dialog > Input {
350
+ height: 3;
351
+ margin-bottom: 1;
352
+ }
353
+
354
+ .form-editor-label {
355
+ height: 1;
356
+ color: $secondary;
357
+ text-style: bold;
358
+ }
359
+
360
+ #form-editor-question {
361
+ height: auto;
362
+ margin-bottom: 1;
363
+ color: $secondary;
364
+ text-style: bold;
365
+ }
366
+
367
+ #form-editor-attributes {
368
+ height: 1fr;
369
+ min-height: 12;
370
+ margin-bottom: 1;
371
+ background: $console-elevated;
372
+ border: none;
373
+ }
374
+
375
+ #form-editor-error {
376
+ height: auto;
377
+ color: $error;
378
+ }
379
+
380
+ .action-hint {
381
+ height: 1;
382
+ color: $text-muted;
383
+ }
384
+
385
+ #mutation-preview {
386
+ height: 1fr;
387
+ overflow-x: hidden;
388
+ overflow-y: auto;
389
+ margin: 1 0;
390
+ padding: 1 2;
391
+ background: $surface;
392
+ scrollbar-background: $surface;
393
+ scrollbar-background-hover: $surface;
394
+ scrollbar-background-active: $surface;
395
+ scrollbar-corner-color: $surface;
396
+ }
397
+
398
+ .mutation-actions {
399
+ height: 3;
400
+ }
401
+
402
+ Button {
403
+ min-width: 14;
404
+ margin-right: 1;
405
+ border: none;
406
+ color: $text;
407
+ background: $console-elevated;
408
+ }
409
+
410
+ Button:hover {
411
+ color: $text;
412
+ background: $console-elevated;
413
+ }
414
+
415
+ Button:focus {
416
+ color: $background;
417
+ background: $console-blue;
418
+ text-style: bold;
419
+ }
420
+
421
+ Button:disabled {
422
+ border: none;
423
+ background: $surface;
424
+ }
425
+
426
+ .hint {
427
+ height: 1;
428
+ color: $text-muted;
429
+ }
430
+
431
+ .narrow #help-dialog {
432
+ width: 100%;
433
+ height: 100%;
434
+ margin: 0;
435
+ }
436
+
437
+ .too-small #content {
438
+ display: none;
439
+ }
440
+
441
+ .too-small #status-line {
442
+ height: 3;
443
+ color: $warning;
444
+ content-align: center middle;
445
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vgs-cli
3
- Version: 1.35.0.dev3
3
+ Version: 1.36.0.dev2
4
4
  Summary: VGS Client
5
5
  Home-page: https://github.com/verygoodsecurity/vgs-cli
6
6
  Author: Very Good Security
@@ -34,6 +34,7 @@ Requires-Dist: Jinja2>=2.10
34
34
  Requires-Dist: vgs-api-client<1,>=0.0.51
35
35
  Requires-Dist: async-timeout
36
36
  Requires-Dist: packaging<26,>=23
37
+ Requires-Dist: textual<8.3,>=8.2.8
37
38
  Dynamic: author
38
39
  Dynamic: author-email
39
40
  Dynamic: classifier
@@ -59,6 +60,7 @@ Command Line Tool for programmatic configurations on VGS.
59
60
  - [Installation](#installation)
60
61
  - [PyPI](#pypi)
61
62
  - [Run](#run)
63
+ - [Try the Console feature branch](#try-the-console-feature-branch)
62
64
  - [Running in Docker](#running-in-docker)
63
65
  - [AI agent skill](#ai-agent-skill)
64
66
  - [Commands](#commands)
@@ -94,6 +96,45 @@ Verify the installation:
94
96
  vgs --version
95
97
  ```
96
98
 
99
+ ## Try the Console feature branch
100
+
101
+ After the feature branch is available in an existing repository checkout,
102
+ switch to it and prepare the local Python environment:
103
+
104
+ ```bash
105
+ git switch feature/cli-ui
106
+ scripts/dev.sh setup
107
+ ```
108
+
109
+ Launch the feature with an authorized VGS account:
110
+
111
+ ```bash
112
+ scripts/dev.sh cli console
113
+ ```
114
+
115
+ In the Console:
116
+
117
+ 1. Complete browser authentication and select a SANDBOX context.
118
+ 2. Open **Organization**, select **Tenants**, then choose **Create tenant**.
119
+ 3. Enter a unique tenant name and complete one of the CMP, HTTP, SFTP, or
120
+ no-use-case paths.
121
+ 4. Review the retained answers before selecting **Create tenant**. This action
122
+ creates real SANDBOX resources.
123
+ 5. Confirm that the completed tenant becomes the active Console context. For an
124
+ HTTP use case, review the separate route draft before submitting it. SFTP
125
+ route configuration remains a separate later step. Every SANDBOX tenant
126
+ created by the CLI includes the standard CLI-managed Collect Form.
127
+
128
+ To try **Import tenant**, generate a local template, replace its example name
129
+ and organization ID, then select it with the Console's native file picker:
130
+
131
+ ```bash
132
+ scripts/dev.sh cli generate tenant > /tmp/vgs-cli-tenant.yaml
133
+ ```
134
+
135
+ Keep `environment: SANDBOX`; the Console rejects LIVE tenant imports. Do not
136
+ commit generated tenant files, credentials, tokens, or command output.
137
+
97
138
  ## Running in Docker
98
139
 
99
140
  Check our [official documentation](https://docs.verygoodsecurity.com/vault/developer-tools/vgs-cli/docker).
@@ -154,6 +195,7 @@ Use **tenant** and `--tenant/-T` in new commands. Legacy vault commands and
154
195
  requires the organization ID either in `tenant.yaml` as `data.organizationId`
155
196
  or through `-O/--organization`; if both are present, they must match.
156
197
 
198
+
157
199
  ### Organization notifications
158
200
 
159
201
  | Command | Purpose |
@@ -0,0 +1,118 @@
1
+ vgs_cli-1.36.0.dev2.data/data/vgscli/collect-form-api-schema.yaml,sha256=THuJbLUo7LOr0c1JUo3FPJEc9Jvde59K4JjdlkVF3hw,1246
2
+ vgs_cli-1.36.0.dev2.data/data/vgscli/collect-form-schema.yaml,sha256=vHAN6_Gsg14CeSL41sHEQgboYF-CHF2RaNw72aJ3W8o,1337
3
+ vgs_cli-1.36.0.dev2.data/data/vgscli/console-route-schema.yaml,sha256=hKME9kKILXFWkf-zwbAAWwMoXZWnzFHG37_51SqPKKw,1305
4
+ vgs_cli-1.36.0.dev2.data/data/vgscli/credentials-admin.yaml,sha256=acyLd54Cp7l2fpugfjVfYh07-MIE0BX-JVq4lHraE1s,869
5
+ vgs_cli-1.36.0.dev2.data/data/vgscli/form-template.yaml,sha256=pY4gOd8jXJRohcpJYijBt4m5cPyHvEVlCBtHgs2AL8M,927
6
+ vgs_cli-1.36.0.dev2.data/data/vgscli/http-route-template.yaml,sha256=vGHvBXA_6pwFtH1vVRWKiwxb4sahzuLvpqGAlavrStc,1085
7
+ vgs_cli-1.36.0.dev2.data/data/vgscli/notification-integration-schema.yaml,sha256=1qHzS5ZxlhTdrDab6-qJhszwu7cpith2HleX3uAO_4E,1837
8
+ vgs_cli-1.36.0.dev2.data/data/vgscli/notification-template.yaml,sha256=hr36msbrgiTjWligLHVDHMmO49QDzjTwBSLYoBw3WQE,1288
9
+ vgs_cli-1.36.0.dev2.data/data/vgscli/public-credential-collect.yaml,sha256=CiorC-6TMx7M0TI8DHmoRSfVKDpOom2wIr_ilwmHQNA,696
10
+ vgs_cli-1.36.0.dev2.data/data/vgscli/read-credentials-no-pci.yaml,sha256=_kWRne_ARh8v7A_jHG08gwgPG6NqZhrDRyq6L-ULs2M,769
11
+ vgs_cli-1.36.0.dev2.data/data/vgscli/read-credentials-with-pci.yaml,sha256=jWXgFdcqZYisakAt9COM6cjf2-x_Q4eidDLaUh8CZOk,796
12
+ vgs_cli-1.36.0.dev2.data/data/vgscli/service-account-schema.yaml,sha256=L1pjNXgnks15N1wNgf_1GmGcOvxn0nu49v7ersUjFno,1090
13
+ vgs_cli-1.36.0.dev2.data/data/vgscli/sftp-route-template.yaml,sha256=zkT6lIVDgVyzLKgZ8QnyJJooy2egZk1cQthdjan_JrM,853
14
+ vgs_cli-1.36.0.dev2.data/data/vgscli/tenant-schema.yaml,sha256=gBO7xVe2qXSymG0B_45hC11X5nm_jCCAH4Yjs-sbC8g,1457
15
+ vgs_cli-1.36.0.dev2.data/data/vgscli/tenant-template.yaml,sha256=F0wIBkC2dFJUNeJet-FzPX3qrLMHcGIaJvhsDzzAOCc,765
16
+ vgs_cli-1.36.0.dev2.data/data/vgscli/theme.tcss,sha256=01k7tUJrLaAxfdkFGvlh20JrUCaFE3IZOJU1Wxmr4io,7523
17
+ vgs_cli-1.36.0.dev2.data/data/vgscli/vault-resources.yaml,sha256=95CCxQher3MBQq96bvjZviNgo1rgv_NhCtI8X-oxIpA,26335
18
+ vgs_cli-1.36.0.dev2.data/data/vgscli/vault-schema.yaml,sha256=a-wW7X8RyHr-669wtOZrlxlIfeQVtx8EUfA-3vpYytk,637
19
+ vgs_cli-1.36.0.dev2.data/data/vgscli/vault-template.yaml,sha256=IlDisL3H5LXUDMkhUaouKMarRdu0-pJxpTz8ij_lp_M,383
20
+ vgs_cli-1.36.0.dev2.data/data/vgscli/vgs-cli.yaml,sha256=5gCjjloyepaKI6zZfDLeUEWxuRExI-dGJI9RO3omP2k,484
21
+ vgs_cli-1.36.0.dev2.dist-info/licenses/LICENSE,sha256=NwSyzgDYdzv6O2ns2C6UODGI8LN1VnVe_FPTnWS4eXY,1082
22
+ vgscli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
+ vgscli/_version.py,sha256=lf6GJiUCDciREhi6VBPysryXHiAF5NYv7g3PUPnROKE,1681
24
+ vgscli/access_logs.py,sha256=G0GjlLjWiC-N6OzK6-RCvWddcVGQlLCLAcyO9pLWIOM,1928
25
+ vgscli/audits_api.py,sha256=AaF5Go019TOerBlQzygwMeOxeW9vPPJPgxa95kttF-M,3215
26
+ vgscli/auth.py,sha256=vdUZ12nqtefIuSHNmwCFvxoqwS3m6ZP5TqLZFNwKnSU,2104
27
+ vgscli/auth_server.py,sha256=2TkXsPAExsG8rRFKY34k9BhVxmdHxZ5ov6JXJpZp_rs,4878
28
+ vgscli/auth_utils.py,sha256=aC1VI0dFdFeupLS9Okz4uDz-wHhhFabqiLUg2R5vO2s,600
29
+ vgscli/callback_server.py,sha256=yOB9YuAy1JcpMcsvuBQmF3EB1qQND-uiirAmbAjrulY,1533
30
+ vgscli/calm_api.py,sha256=5ZZhJUCuA2E5X670L-EkB_mL2kqHPrYy-ca6WtwTacg,1384
31
+ vgscli/cert_manager_api.py,sha256=b_IEIZFLY7Q4ygThWcUUR8Ynr02MXgVVe9qDFE7CQUc,1650
32
+ vgscli/cli_progress.py,sha256=Kpc7iZo0zO6YX3WynteBELuWSYGVvqEjKLq2E5x4lnE,2520
33
+ vgscli/cli_utils.py,sha256=uwYzRSIMlPTM1WHlaWVebrg6mIIp0VaPu5YldkMmGUw,3779
34
+ vgscli/click_extensions.py,sha256=m-RpaPaH69m4caYbuiu0j2blxeyy8c8hA0Tvygw1Mvc,7271
35
+ vgscli/collect_forms.py,sha256=5hmSFgmQlqXjaKQge800fGG1_j5GB0u0qLUr8GSNcIY,1945
36
+ vgscli/collect_forms_api.py,sha256=rORLu-jd5IMsiAoR7VkgIkpskWd9GfjZs6zeHKEoOPs,1258
37
+ vgscli/config_file.py,sha256=HB8lANU0qoO09Wnkf-QDzPh2qtrnFcqcetnCaQgtQ3U,1543
38
+ vgscli/console_config.py,sha256=7gSMXarjlyczxBwkiS0jpFrfbU8pbJSD7VaHnjgy1Mw,1522
39
+ vgscli/diagnostics.py,sha256=iWKFr_jNQSZt4H1CnoecNo7-wNjSNpzXV2nRyhDm9es,1385
40
+ vgscli/errors.py,sha256=1ppwh_AAvvEDIH_J7IZKecjsO_RDsOaaqdu7juEv6ps,12711
41
+ vgscli/file_token_util.py,sha256=537b54paMGw0u5PL5VJgQqQ7awKa9lQP88n3tUc_lyw,771
42
+ vgscli/id_generator.py,sha256=3CbvSOUSyLON76p6M8wUhVQVig8j75_rnWdpxLhBifM,1510
43
+ vgscli/keyring_token_util.py,sha256=cnR72-0AInzujUsIwHoXwPbgprbkllgAXN-AAI3qsPM,4632
44
+ vgscli/notifications.py,sha256=6D8HFDEl3X4V0V9fYZT-9nWYe2KYVahfhRLMF0pbh4I,6252
45
+ vgscli/notifications_api.py,sha256=1EXmRb2fOJrU1QOAZ6gmq8yMjBLhNZGSVs3kRtD2Dfw,2342
46
+ vgscli/payment_accounts_api.py,sha256=wF6K3m7nlKtPmqO9RCpmGFSXYHWtwfhXqNfgI1IGqFI,1665
47
+ vgscli/recovery_journal.py,sha256=FwDlu52YLvVRaQSqKX_xyUx48DRyez6mGOtTFbeu2b0,5485
48
+ vgscli/secure_store.py,sha256=wRLQv6qrTp1PJkb5N1zSmv2bA5NSJjEhqMNMFMoSbiY,3625
49
+ vgscli/telemetry.py,sha256=BFkAe0Bxm96xiffIOsfPY6Q6Lv5xueJBIwGfLmctXRE,25755
50
+ vgscli/tenant_configuration.py,sha256=iC33f2lBHDEL4oHPvdlWp_w--u2x_nWOb86jTHumDLg,5881
51
+ vgscli/tenant_creation.py,sha256=es8to2-crpu0k5UBzWd75I0BSNjInysjuDePy0z9xsk,22461
52
+ vgscli/tenant_provisioning_api.py,sha256=-mQcSECgWG23LKczu1B9J1d7Bb6ZA6lkpr9RegJiiLg,1203
53
+ vgscli/testing.py,sha256=MLrsvy3mEwvjtqyuG0UjwEX-rDkbWUo52aXvu2H2sTk,1437
54
+ vgscli/text.py,sha256=c2d1As7awq8PlEF9NiI6JrjsYYousj9YT0o1xOQ2MQM,172
55
+ vgscli/token_handler.py,sha256=qTshP4i8Rdhpgk9YUu0i5YAqYiRK3PsZCZAtPVc9BUU,239
56
+ vgscli/vgs.py,sha256=pciuwbJGV0i-4HhpirTfyqa8JTdM12Zrcm8ulHD-kN0,7395
57
+ vgscli/cli/__init__.py,sha256=da9LPKYdnal26ntEP22PNn-dZYBbsNkP7tzOwzD6kY4,3915
58
+ vgscli/cli/commands/__init__.py,sha256=8ptc9-Vzdx0HU3ZeMcKERYjmJyuB5IMjBSF3Igx5yQ4,206
59
+ vgscli/cli/commands/apply.py,sha256=_BKC1cRLbDGF1T05UEnqTGLKllfGYY6Piw6qr0YJYTU,26193
60
+ vgscli/cli/commands/certificate.py,sha256=cy8oRiEkUYfFExCG5GdjYqEJ91rCgA6hy98cpHkorHM,22994
61
+ vgscli/cli/commands/delete.py,sha256=6cfYVczMmXo8nv6yXRsHP6Na8fsJJsPovfos_9JPTxw,4080
62
+ vgscli/cli/commands/generate.py,sha256=6SkeXN7lyzllezjYliWQ_CUncMWbDFX1Jx_1vlwDCh8,5512
63
+ vgscli/cli/commands/get.py,sha256=EuFeEw0oLHht9b0IbWwkF2gxABbaGKcKxCEingK5MPw,9790
64
+ vgscli/cli/types/__init__.py,sha256=a-P-SoGHpLzMg7CL1hhg5x_nf6sHq0qAuGm_AtIITmw,107
65
+ vgscli/cli/types/resource_id.py,sha256=7JILR-KjoVGQDHB40tXJfTcU53iR8wM9Zr24fY5le3o,1172
66
+ vgscli/cli/types/variable.py,sha256=IVcszPoWmTjeo_evDsLN06LuUZGTLL-wcZCVfBNBP8I,414
67
+ vgscli/console/__init__.py,sha256=X48mjIkHuvVqtCrsN4vJ7CubJrL4xAE678jm1AFSm1o,44
68
+ vgscli/console/app.py,sha256=z01FLQd6JWsoIF5ePynBKsq00RonslDO3PktMLF2WBw,90717
69
+ vgscli/console/auth.py,sha256=xp2JmXgQGpa3sCrF49qA3tWvOrd-RvWVjkrOzCvABRk,1246
70
+ vgscli/console/backend.py,sha256=P_Oj72N6UDrI-YXZg9FSQp721tY11W4kObE4VzrgQW4,10904
71
+ vgscli/console/bootstrap.py,sha256=TY5cz8zzEuSIEiocxitNBIGHQV_Ugdp2Z_6joSgtDP4,733
72
+ vgscli/console/commands.py,sha256=0lunvZfyj--BUhGG78u1gNE63eQzxCZXckdVEI5MCk0,3864
73
+ vgscli/console/context.py,sha256=TgDgsqt52pbSeLsTZ-VX6PHuQFJTSUSrl4y2I36tquk,1719
74
+ vgscli/console/form_editor.py,sha256=o5u4aUWWOOaCAyI7Djco0yLR4po2bHLapyVwbMbHFNk,5268
75
+ vgscli/console/intro.py,sha256=cZ93gvP0czRpoGbu9HB1QGrJYJ6DMtvX_EVlTg9DEvQ,5348
76
+ vgscli/console/mutation_screen.py,sha256=h1hTUDYqkCUn-8WCqadcXceV0fwzhd_Gkt6tMi2Y7Z0,28051
77
+ vgscli/console/responsive.py,sha256=C1jVLg_kunp8maeQl9W2KumDuKWFev2iL-ZXiQvyN4w,688
78
+ vgscli/console/tenant_onboarding_screen.py,sha256=Px92XmhbL373XbdEdj9xmvvEJ00wbagGOEMcXWnkRig,25999
79
+ vgscli/console/theme.tcss,sha256=01k7tUJrLaAxfdkFGvlh20JrUCaFE3IZOJU1Wxmr4io,7523
80
+ vgscli/console/workflows/__init__.py,sha256=NGtIiPpn-y2EQKXlt40G4nLlLZ1y9se_KewknReDiKI,212
81
+ vgscli/console/workflows/forms.py,sha256=ob7GpX8Ig7h6WFaAzW663Lge8RVEGbtwGa4Z3N_AZj0,1310
82
+ vgscli/console/workflows/mutation.py,sha256=UG4hXewEvMEXusCuusi47FRoXE_mKJYWdxtwfuj2e10,8628
83
+ vgscli/console/workflows/routes.py,sha256=kliVIEj9KzznRZ5KRkA91vzsihnq9UpCv3k_2zavmXw,1499
84
+ vgscli/console/workflows/tenant.py,sha256=8sdsaKKPiThQLhwG123g6F8f4xUWdYZzJcsVewpFdx8,7997
85
+ vgscli/operations/__init__.py,sha256=o5WOygn8wXdVcpKXqVL8kLDc0MS1jZumb1yGECiupiw,74
86
+ vgscli/operations/context.py,sha256=jA8BToRVCx-ZCsEV05tfENuTaYGzaw0acjokuCVxpbQ,1538
87
+ vgscli/operations/documents.py,sha256=sfHmI4uyDH1weDFkLeF4QmwDjzp0Op_XA8kYQ5RnDtU,827
88
+ vgscli/operations/errors.py,sha256=4Erk-RfM6kQBT1R7u6IlXW1dkZlmbPFEGK2PvDLhBrg,2752
89
+ vgscli/operations/form_documents.py,sha256=IZucBFeGLCzsXS_NukA_8fmHycjDq-dpC_I8kj8ZnXU,3695
90
+ vgscli/operations/forms.py,sha256=cN5oJLvPDDNqoiYP8d-N8q5-kJ8Awo53YoRSlWikrsg,5585
91
+ vgscli/operations/logs.py,sha256=69gIjPhjjtLcoZFITUEYXnMMaRQbE5hEGsMgeNoGMfg,5956
92
+ vgscli/operations/models.py,sha256=jZXr0BEY2EsNrNkIgm-awsD8ld5qdroGupZsfzB8Rrw,1151
93
+ vgscli/operations/routes.py,sha256=HgVbxYufi2Em0odqG3fM-SyBY8j_kQmUBiXwnLwRU58,8165
94
+ vgscli/operations/tenant_details.py,sha256=vtzxYjUFyjToweKf3ZqdBMB14P87USpqNzxWW1SuL_U,3364
95
+ vgscli/resource-templates/form-template.yaml,sha256=pY4gOd8jXJRohcpJYijBt4m5cPyHvEVlCBtHgs2AL8M,927
96
+ vgscli/resource-templates/http-route-template.yaml,sha256=vGHvBXA_6pwFtH1vVRWKiwxb4sahzuLvpqGAlavrStc,1085
97
+ vgscli/resource-templates/notification-template.yaml,sha256=hr36msbrgiTjWligLHVDHMmO49QDzjTwBSLYoBw3WQE,1288
98
+ vgscli/resource-templates/sftp-route-template.yaml,sha256=zkT6lIVDgVyzLKgZ8QnyJJooy2egZk1cQthdjan_JrM,853
99
+ vgscli/resource-templates/tenant-template.yaml,sha256=F0wIBkC2dFJUNeJet-FzPX3qrLMHcGIaJvhsDzzAOCc,765
100
+ vgscli/resource-templates/vault-template.yaml,sha256=IlDisL3H5LXUDMkhUaouKMarRdu0-pJxpTz8ij_lp_M,383
101
+ vgscli/resource-templates/service-account/credentials-admin.yaml,sha256=acyLd54Cp7l2fpugfjVfYh07-MIE0BX-JVq4lHraE1s,869
102
+ vgscli/resource-templates/service-account/public-credential-collect.yaml,sha256=CiorC-6TMx7M0TI8DHmoRSfVKDpOom2wIr_ilwmHQNA,696
103
+ vgscli/resource-templates/service-account/read-credentials-no-pci.yaml,sha256=_kWRne_ARh8v7A_jHG08gwgPG6NqZhrDRyq6L-ULs2M,769
104
+ vgscli/resource-templates/service-account/read-credentials-with-pci.yaml,sha256=jWXgFdcqZYisakAt9COM6cjf2-x_Q4eidDLaUh8CZOk,796
105
+ vgscli/resource-templates/service-account/vgs-cli.yaml,sha256=5gCjjloyepaKI6zZfDLeUEWxuRExI-dGJI9RO3omP2k,484
106
+ vgscli/validation-schemas/collect-form-api-schema.yaml,sha256=THuJbLUo7LOr0c1JUo3FPJEc9Jvde59K4JjdlkVF3hw,1246
107
+ vgscli/validation-schemas/collect-form-schema.yaml,sha256=vHAN6_Gsg14CeSL41sHEQgboYF-CHF2RaNw72aJ3W8o,1337
108
+ vgscli/validation-schemas/console-route-schema.yaml,sha256=hKME9kKILXFWkf-zwbAAWwMoXZWnzFHG37_51SqPKKw,1305
109
+ vgscli/validation-schemas/notification-integration-schema.yaml,sha256=1qHzS5ZxlhTdrDab6-qJhszwu7cpith2HleX3uAO_4E,1837
110
+ vgscli/validation-schemas/service-account-schema.yaml,sha256=L1pjNXgnks15N1wNgf_1GmGcOvxn0nu49v7ersUjFno,1090
111
+ vgscli/validation-schemas/tenant-schema.yaml,sha256=gBO7xVe2qXSymG0B_45hC11X5nm_jCCAH4Yjs-sbC8g,1457
112
+ vgscli/validation-schemas/vault-resources.yaml,sha256=95CCxQher3MBQq96bvjZviNgo1rgv_NhCtI8X-oxIpA,26335
113
+ vgscli/validation-schemas/vault-schema.yaml,sha256=a-wW7X8RyHr-669wtOZrlxlIfeQVtx8EUfA-3vpYytk,637
114
+ vgs_cli-1.36.0.dev2.dist-info/METADATA,sha256=vbDoPGhQ9Ef0L8QTvAClT3q6nGB_J5ly5YhpJVf1e4g,10681
115
+ vgs_cli-1.36.0.dev2.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
116
+ vgs_cli-1.36.0.dev2.dist-info/entry_points.txt,sha256=wCWhRQiMX4Ja6kkqJlYr8LbuiywpmXyyRAZPsau-_RY,39
117
+ vgs_cli-1.36.0.dev2.dist-info/top_level.txt,sha256=gabTxCWMkl80q6ha_m-hs_1wQMfGntZcv5DEmkl8JEw,7
118
+ vgs_cli-1.36.0.dev2.dist-info/RECORD,,
vgscli/_version.py CHANGED
@@ -6,7 +6,7 @@ from packaging.version import InvalidVersion, Version
6
6
 
7
7
  from vgscli.text import bold, green
8
8
 
9
- __version__ = "1.35.0.dev3"
9
+ __version__ = "1.36.0.dev2"
10
10
 
11
11
 
12
12
  # noinspection PyBroadException