vss-cli 2025.2.0__tar.gz → 2025.2.1.dev3__tar.gz

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 (86) hide show
  1. {vss-cli-2025.2.0/vss_cli.egg-info → vss-cli-2025.2.1.dev3}/PKG-INFO +3 -3
  2. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/const.py +6 -1
  3. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/data/clib.yaml +1 -1
  4. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/data/clone.yaml +1 -1
  5. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/data/shell.yaml +1 -1
  6. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/data/template.yaml +1 -1
  7. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/vm.py +54 -1
  8. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3/vss_cli.egg-info}/PKG-INFO +3 -3
  9. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli.egg-info/requires.txt +1 -1
  10. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/LICENSE +0 -0
  11. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/README.md +0 -0
  12. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/pyproject.toml +0 -0
  13. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/setup.cfg +0 -0
  14. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/setup.py +0 -0
  15. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/tests/test_vss_cli.py +0 -0
  16. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/__init__.py +0 -0
  17. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/autocompletion.py +0 -0
  18. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/cli.py +0 -0
  19. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/config.py +0 -0
  20. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/data/config.yaml +0 -0
  21. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/data/image.yaml +0 -0
  22. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/data_types.py +0 -0
  23. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/exceptions.py +0 -0
  24. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/hcio.py +0 -0
  25. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/helper.py +0 -0
  26. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/__init__.py +0 -0
  27. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/account.py +0 -0
  28. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/assist.py +0 -0
  29. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/completion.py +0 -0
  30. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute.py +0 -0
  31. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/__init__.py +0 -0
  32. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/callbacks.py +0 -0
  33. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/contentlib.py +0 -0
  34. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/domain.py +0 -0
  35. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/floppy.py +0 -0
  36. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/folder.py +0 -0
  37. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/helper.py +0 -0
  38. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/image.py +0 -0
  39. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/inventory.py +0 -0
  40. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/iso.py +0 -0
  41. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/net.py +0 -0
  42. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/os.py +0 -0
  43. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/rel_args.py +0 -0
  44. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/rel_opts.py +0 -0
  45. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/template.py +0 -0
  46. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/compute_plugins/vmdks.py +0 -0
  47. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/configure.py +0 -0
  48. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/key.py +0 -0
  49. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/message.py +0 -0
  50. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/misc.py +0 -0
  51. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/ovf.py +0 -0
  52. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/plugins.py +0 -0
  53. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/raw.py +0 -0
  54. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/request.py +0 -0
  55. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/request_plugins/__init__.py +0 -0
  56. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/request_plugins/change.py +0 -0
  57. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/request_plugins/export.py +0 -0
  58. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/request_plugins/folder.py +0 -0
  59. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/request_plugins/image.py +0 -0
  60. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/request_plugins/inventory.py +0 -0
  61. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/request_plugins/new.py +0 -0
  62. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/request_plugins/restore.py +0 -0
  63. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/request_plugins/retirement.py +0 -0
  64. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/request_plugins/snapshot.py +0 -0
  65. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/request_plugins/vmdk.py +0 -0
  66. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/service.py +0 -0
  67. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/shell.py +0 -0
  68. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/status.py +0 -0
  69. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/stor.py +0 -0
  70. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/token.py +0 -0
  71. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/upgrade.py +0 -0
  72. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/plugins/vpn.py +0 -0
  73. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/rel_opts.py +0 -0
  74. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/sstatus.py +0 -0
  75. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/utils/__init__.py +0 -0
  76. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/utils/emoji.py +0 -0
  77. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/utils/threading.py +0 -0
  78. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/validators.py +0 -0
  79. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/vss.py +0 -0
  80. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/vssconst.py +0 -0
  81. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli/yaml.py +0 -0
  82. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli.egg-info/SOURCES.txt +0 -0
  83. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli.egg-info/dependency_links.txt +0 -0
  84. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli.egg-info/entry_points.txt +0 -0
  85. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli.egg-info/not-zip-safe +0 -0
  86. {vss-cli-2025.2.0 → vss-cli-2025.2.1.dev3}/vss_cli.egg-info/top_level.txt +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vss-cli
3
- Version: 2025.2.0
3
+ Version: 2025.2.1.dev3
4
4
  Summary: ITS Private Cloud Command Line Interface
5
5
  Home-page: https://gitlab-ee.eis.utoronto.ca/vss/vss-cli
6
- Download-URL: https://gitlab-ee.eis.utoronto.ca/vss/vss-cli/archive/2025.2.0.zip
6
+ Download-URL: https://gitlab-ee.eis.utoronto.ca/vss/vss-cli/archive/2025.2.1-dev3.zip
7
7
  Author: University of Toronto
8
8
  Author-email: vss-apps@eis.utoronto.ca
9
9
  Maintainer-email: vss-py@eis.utoronto.ca
@@ -25,7 +25,7 @@ Classifier: Topic :: System :: Systems Administration
25
25
  Requires-Python: >=3.8.5
26
26
  Description-Content-Type: text/markdown
27
27
  License-File: LICENSE
28
- Requires-Dist: pyvss>=2024.6.0
28
+ Requires-Dist: pyvss>=2025.2.0
29
29
  Requires-Dist: click==8.1.8
30
30
  Requires-Dist: click-log==0.4.0
31
31
  Requires-Dist: click-plugins==1.1.1
@@ -8,7 +8,7 @@ except ImportError:
8
8
 
9
9
  PACKAGE_NAME = "vss_cli"
10
10
 
11
- __version__ = "2025.2.0"
11
+ __version__ = "2025.2.1-dev3"
12
12
 
13
13
 
14
14
  DEFAULT_TIMEOUT = 30
@@ -482,6 +482,11 @@ COLUMNS_VM_STATE = [
482
482
  COLUMNS_VM_TOOLS = [("version",), ("version_status",), ("running_status",)]
483
483
  COLUMNS_VM_TPM = [('label',), ('summary',), ('key',)]
484
484
  COLUMNS_VM_GPU = [('label',), ('summary',), ('key',)]
485
+ COLUMNS_VM_ENCRYPTION = [
486
+ ('is_encrypted',),
487
+ ('migrate_encryption_mode',),
488
+ ('ft_encryption_mode',),
489
+ ]
485
490
  COLUMNS_VM_RESTORE_POINTS = [('id',), ('timestamp',)]
486
491
  COLUMNS_VM_VBS = [('vbs_enabled',), ('firmware',), ('tpm', 'tpm[*].label')]
487
492
  COLUMNS_VM_HW = [
@@ -1,5 +1,5 @@
1
1
  ####################################################
2
- # VSS-CLI Spec from CLib 2025.2.0 #
2
+ # VSS-CLI Spec from CLib 2025.2.1-dev3 #
3
3
  ####################################################
4
4
  built: clib # Required: Do not remove.
5
5
  machine:
@@ -1,5 +1,5 @@
1
1
  ####################################################
2
- # VSS-CLI Spec from Clone 2025.2.0 #
2
+ # VSS-CLI Spec from Clone 2025.2.1-dev3 #
3
3
  ####################################################
4
4
  built: clone # Required: Do not remove.
5
5
  machine:
@@ -1,5 +1,5 @@
1
1
  ####################################################
2
- # VSS-CLI Spec shell VM 2025.2.0 #
2
+ # VSS-CLI Spec shell VM 2025.2.1-dev3 #
3
3
  ####################################################
4
4
  built: os_install # Required: Do not remove.
5
5
  machine:
@@ -1,5 +1,5 @@
1
1
  ####################################################
2
- # VSS-CLI Spec from Template 2025.2.0 #
2
+ # VSS-CLI Spec from Template 2025.2.1-dev3 #
3
3
  ####################################################
4
4
  built: template # Required: Do not remove.
5
5
  machine:
@@ -803,6 +803,15 @@ def compute_vm_get_gpu(ctx: Configuration):
803
803
  ctx.echo(format_output(ctx, objs, columns=columns))
804
804
 
805
805
 
806
+ @compute_vm_get.command('encryption', short_help='Encryption configuration')
807
+ @pass_context
808
+ def compute_vm_get_encryption(ctx: Configuration):
809
+ """Virtual machine encryption configuration."""
810
+ columns = ctx.columns or const.COLUMNS_VM_ENCRYPTION
811
+ obj = ctx.get_vm_encrypt(ctx.moref)
812
+ ctx.echo(format_output(ctx, [obj], columns=columns, single=True))
813
+
814
+
806
815
  @compute_vm_get.group('restore-point', short_help='Restore Points')
807
816
  @pass_context
808
817
  def compute_vm_get_rp(ctx: Configuration):
@@ -4858,7 +4867,7 @@ def compute_vm_mk_clib(
4858
4867
  def compute_vm_set_ubuntu_pro(ctx: Configuration, action):
4859
4868
  """Enable Ubuntu Pro.
4860
4869
 
4861
- vss-cli compute vm set <name-or-vm_id> attach|detach
4870
+ vss-cli compute vm set <name-or-vm_id> ubuntu-pro attach|detach
4862
4871
 
4863
4872
  Retrieving activation token requires VMware Tools Running.
4864
4873
  """
@@ -4891,3 +4900,47 @@ def compute_vm_set_ubuntu_pro(ctx: Configuration, action):
4891
4900
  # wait for request
4892
4901
  if ctx.wait_for_requests:
4893
4902
  ctx.wait_for_request_to(obj)
4903
+
4904
+
4905
+ @compute_vm_set.command('encryption', short_help='Encrypt a virtual machine')
4906
+ @click.argument(
4907
+ 'action',
4908
+ type=click.Choice(['on']),
4909
+ required=True,
4910
+ )
4911
+ @click.option(
4912
+ '-f',
4913
+ '--force',
4914
+ is_flag=True,
4915
+ help='Shut down or power off before encryption.',
4916
+ )
4917
+ @click.option(
4918
+ '-o', '--power-on', is_flag=True, help='Power of after encrypting.'
4919
+ )
4920
+ @pass_context
4921
+ def compute_vm_set_encryption(
4922
+ ctx: "Configuration", action: str, force: bool, power_on: bool
4923
+ ):
4924
+ """Encrypt a virtual machine.
4925
+
4926
+ vss-cli compute vm set <name-or-vm_id> encryption on
4927
+
4928
+ Encrypt the data stored on a virtual machine's virtual disks,
4929
+ protecting sensitive information.
4930
+ """
4931
+ if not ctx.is_powered_off_vm(ctx.moref) and not force:
4932
+ raise VssCliError(
4933
+ 'Cannot perform operation in current power state: poweredOn'
4934
+ )
4935
+ if action == 'on':
4936
+ obj = ctx.encrypt_vm(ctx.moref, force=force, power_on=power_on)
4937
+ elif action == 'off':
4938
+ raise NotImplementedError('Not implemented')
4939
+ else:
4940
+ raise VssCliError('Invalid action')
4941
+ # print
4942
+ columns = ctx.columns or const.COLUMNS_REQUEST_SUBMITTED
4943
+ ctx.echo(format_output(ctx, [obj], columns=columns, single=True))
4944
+ # wait for request
4945
+ if ctx.wait_for_requests:
4946
+ ctx.wait_for_request_to(obj)
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vss-cli
3
- Version: 2025.2.0
3
+ Version: 2025.2.1.dev3
4
4
  Summary: ITS Private Cloud Command Line Interface
5
5
  Home-page: https://gitlab-ee.eis.utoronto.ca/vss/vss-cli
6
- Download-URL: https://gitlab-ee.eis.utoronto.ca/vss/vss-cli/archive/2025.2.0.zip
6
+ Download-URL: https://gitlab-ee.eis.utoronto.ca/vss/vss-cli/archive/2025.2.1-dev3.zip
7
7
  Author: University of Toronto
8
8
  Author-email: vss-apps@eis.utoronto.ca
9
9
  Maintainer-email: vss-py@eis.utoronto.ca
@@ -25,7 +25,7 @@ Classifier: Topic :: System :: Systems Administration
25
25
  Requires-Python: >=3.8.5
26
26
  Description-Content-Type: text/markdown
27
27
  License-File: LICENSE
28
- Requires-Dist: pyvss>=2024.6.0
28
+ Requires-Dist: pyvss>=2025.2.0
29
29
  Requires-Dist: click==8.1.8
30
30
  Requires-Dist: click-log==0.4.0
31
31
  Requires-Dist: click-plugins==1.1.1
@@ -1,4 +1,4 @@
1
- pyvss>=2024.6.0
1
+ pyvss>=2025.2.0
2
2
  click==8.1.8
3
3
  click-log==0.4.0
4
4
  click-plugins==1.1.1
File without changes
File without changes
File without changes
File without changes