Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 27 Next »

Global options

The following table includes global vss-cli options related to account and `

Name

Option

Environment Variable

Description

Username

--username

VSS_USER

 User to interact with the VSS API.

Password

--password

VSS_USER_PASS

 User password.

MFA TOTP Token

--totp

VSS_USER_OTP

If MFA enabled, will be prompted.

Config­uration Path

--config

VSS_CONFIG

Altern­ative config­uration path.

Request Timeout

--timeout

VSS_TIMEOUT

Request timeout in seconds.

API endpoint

--endpoint

VSS_ENDPOINT

ITS Private Cloud endpoint instance.

Global options (format)

The following table includes the global vss-cli options to customize output format.

Name

Option

Environment Variable

Description

Table format to use

--tabl­e-f­ormat

VSS_TABLE

csv, fancy_­grid, github, grid, html, jira...

Custom columns

--columns

-

Any VM attribute: 

moref,­nam­e,c­pu_­cou­nt,­ip_­address,folder.path,power_state,networks[*].name

Truncates column values

--colu­mns­-width

VSS_COL_WIDTH

0: auto, -1: disable

Don't use headers

--no-h­eaders

-

When printing tables

Sort output

--sort-by

-

Sort table by the jsonpath expres­sion.

Output

--output

VSS_OUTPUT

json|y­aml­|ta­ble­|au­to|­ndjson

Example 1. List virtual machines in yaml format:

vss-cli --output yaml compute vm ls 

Example 2. List virtual machines with only moref, name, cpu_count, ip_address with fancy_grid in the table format.

vss-cli --columns moref,name,cpu_count,ip_address --table-format fancy_grid compute vm ls

Virtual Machine (update)

Manage virtual machine attributes with the vss-cli.

Add --wait to global vss-cli and get immediate change request results.

Action

Description

Command

CPU

Update VM CPU count.

vss-cli compute vm set {id} cpu count {n}

CPU hot-add

Update VM cpu hot-add settings.

vss-cli compute vm set {id} cpu hot-add {on|off}

Memory

Update VM memory size.

vss-cli compute vm set {id} memory size {nGiB}

Memory hot-add

Update VM memory hot-add settings.

vss-cli compute vm set {id} memory hot-add {on|off}

Disk New (basic)

Create single or multiple disks.

vss-cli compute vm set {id} disk mk \
-i {nGiB} -i {nGiB}

Power State:

Turn off, on, reset. Shutdown and reboot (VMware Tools required)

vss-cli compute vm set {id} state \
{on|of­f|r­ebo­ot|­res­et|­shu­tdo­wn|­sus­­pend}

Disk New (adv.)

Create single or multiple disks using specific SCSI controller

vss-cli compute vm set {id} disk mk \
-i '{"c­apa­cit­y_g­b": 100, "­scs­i": 1}'

Disk Copy (adv.)

Copy and attach disks to VM from vskey-stor user space.

vss-cli compute vm set {id} disk cp -i \
'{"capacity_gb": 100, "backing_vmdk": "[XXNN] VM/vmdk"}'

Disk Update

Update VM disk N capacity in GB.

vss-cli compute vm set {id} disk up \
 {diskN} --capacity {nGiB}

Disk Update (adv.)

Update VM disk N capacity in GB, SCSI bus N and add metadata notes to the disk.

vss-cli compute vm set {id} disk up \
{diskN} --capacity {nGiB} --scsi {busN} \
--notes "data disk e:/"

Disk Delete

Delete VM disk(s). Confirmation will be prompted.

vss-cli compute vm set {id} disk rm {diskN} {diskN}

NIC New

Create new network interface specifying Network name.

vss-cli compute vm set {id} nic mk --net {network}

NIC new (adv.)

Create new network interface specifying Network name and Type.

vss-cli compute vm set {id} nic mk --net {NetName}={NICType}

NIC Update Network:

Update network interface network.

vss-cli compute vm set {id} nic up {nicN} --network {netName}

NIC Update State

Update network interface state to either connect or disconnect

vss-cli compute vm set {id} nic up {nicN} --state {conne­ct|­dis­con­­nect}

NIC Update Type

Update network interface adapter type. defaults to vmxnet3.

vss-cli compute vm set {id} nic up {nicN} --adapter {type}

NIC Delete

Delete network interface adapter(s)

vss-cli compute vm set {id} nic rm {nicN} {nicN}

CD/ISO Create

Create CD drive with attached ISO image from Content Library or client.

vss-cli compute vm set {id} cd mk --backing {iso}
vss-cli compute vm set {id} cd mk cd mk --backing client

CD/ISO Update

Update CD drive to connect to a different ISO or disconnect.

vss-cli compute vm set {id} cd up {cdN} --backing {iso}
vss-cli compute vm set {id} cd up {cdN} --backing client

Floppy Create

Create virtual floppy drive with given image or client.

vss-cli compute vm set {id} floppy mk --backing {image}
vss-cli compute vm set {id} floppy mk --backing client

Floppy Update

Update virtual floppy backing with a different image or client.

vss-cli compute vm set {id} floppy up {flpN} --backing {image}
vss-cli compute vm set {id} floppy up {flpN} --backing client

Storage Type

Update VM storage type to either ssd or hdd. This action will perform storage vMotion within the Compute Domain.

vss-cli compute vm set {id} storag­e-type {ssd|hdd}

Domain

Update VM compute domain. This action will perform vMotion and storage vMotion.

vss-cli compute vm set {id} domain {name-or-id}

Operating System

Update VM operating system settings. This setting is responsible to present the right virtual hardware to the guest OS.

vss-cli compute vm set {id} os {name-or-id}

Add vTPM

Add virtual Trusted Platform Module to VM. Virtualization Based Security, EFI and secure boot will be also en

vss-cli compute vm set {id} tpm mk

Add vGPU

Add GPU to VM based on given profile.

vss-cli compute vm set {id} gpu mk --profile {gpu-profile}

Enable|Disable VBS

Enable or disable Virtualization Based Security.

vss-cli compute vm set {id} vbs on|off

Enable|Disable Secure Boot

Enable or Disable secure boot.

vss-cli compute vm set {id} secure-boot --on/--off

FIrmware

Update VM firmware to bios or EFI.

vss-cli compute vm set {id} firmware bios|efi

Convert to|from template

Mark VM as template or template as VM.

vss-cli compute vm set {id} template –-{on|off}

Administrator

Update VM admin metadata.

vss-cli compute vm set {id} admin "Admin Name" admin.email@utoronto.ca 416-666-6666

Informational Contacts

Add Informational Contacts in VM metadata.

vss-cli compute vm set {id} inform {email-1} {email-n}

Virtual Machine (restore)

Restore virtual machine from ZFS snapshots. More information about Restore Requests available here: How-to Request Virtual Machine Restore

Action

Description

Command

Get Restore Points

List available restore points filtered by timestamp.

vss-cli compute vm get {id} restore-point ls -f timestamp=2023-11

Submit Restore

Submit a restore request.

vss-cli compute vm res {id} --timestamp=2023-11-11 \
--reason 'OS corrupted'

Virtual Machine (deplo­yment)

Deploy virtual machine

Type

Description

Command

Content Library

Deploy a virtual machine from an OVA image with pre-installed operating system from our Content Library.

vss-cli compute vm mk from-clib --source {image} \
--desc­rip­tio­n="U­buntu OS VM deploy­men­t" \ 
  --clie­nt=­{cl­ient} --usag­e=Prod \ 
  --os="u­bun­tu6­4Gu­est­" --fold­er=­VSS­-CL­I-VMs \ 
  --memo­ry=­{nGiB} --cpu={n} \ 
  --net=­{ne­tName} \ 
  --disk­={nGiB} --disk­='{­"­cap­aci­ty_­gb": 100}' \
  --extr­a-c­onfig disk.E­nab­leU­UID­=TRUE \ 
  --power-on \
  --user-data {cloud-init.yaml} --network-config {network-config.yaml} \
  ubuntu­-20­04-vm

Note. --user-data and --network-config will generate a seed iso that must be taken by the guest operating system, i.e. Ubuntu.

Shell VM

Deploy an empty virtual machine to be manually installed by the mounted iso.

 vss-cli compute vm mk shell \ 
  --desc­rip­tio­n="U­buntu OS VM deploy­men­t" \ 
  --clie­nt=­{cl­ient} --usag­e=Prod \ 
  --os="u­bun­tu6­4Gu­est­" --fold­er=­VSS­-CL­I-VMs \ 
  --memo­ry=­{nGiB} --cpu={n} \ 
  --net=­{ne­tName} \ 
  --disk­={nGiB} --disk­='{­"­cap­aci­ty_­gb": 100}' \ 
  --iso {isoName} \ 
  --extr­a-c­onfig disk.E­nab­leU­UID­=TRUE \ 
  --power-on \ 
  --firmware efi \ 
  ubuntu­-20­04-vm

Clone Virtual Machine or Deploy from Template

Clone virtual machine from another VM, template.

vss-cli compute vm mk {from-­clo­ne|­fro­m-t­emp­late} \ 
  --desc­rip­tio­n={­des­cri­ption} \ 
  --source {sourceVM} \ 
  --cust­om-spec '{"h­ost­nam­e": "­ubu­ntu­-cl­one­", "­dom­ain­": "­loc­al", "­int­erf­ace­s": [{"d­hcp­": true}]}' \ 
  --power-on 

Clone Virtual machine from snapshot

Clone virtual machine from another VM snapshot id.

vss-cli compute vm mk from-clone \ 
  --snapshot {snapId} \  
  --desc­rip­tio­n={­des­cri­ption} \  
  --source {sourceVM} \  
  --cust­om-spec vm-clo­ne-­spe­c.yaml \  
  --power-on 

CLI Spec (existing)

Deploy a virtual machine from existing vss-cli specification.

vss-cli compute vm mk from-file {cli-s­pec­}.{­jso­n|yaml}

CLI Spec (new)

Deploy a virtual machine from new vss-cli specification.

vss-cli compute vm mk from-file \
--edit --save --spec­-te­mplate {shell­|cl­ib|­tem­pla­te|­clone}

From Image

Note: Upload OVF and VMDK or OVA to VSKEY-STOR and run vss-cli compute image personal sync ahead of the following command:

vss-cli compute vm mk from-image \
  --source {image-name} --clie­nt=­{cl­ient} --usag­e=Prod \ 
  --os="u­bun­tu6­4Gu­est­" --fold­er=­VSS­-CL­I-VMs \ 
  --memo­ry=­{nGiB} --cpu={n} \ 
  --net=­{ne­tName} \ 
  --disk­={nGiB} \ 
  ubuntu­-20­04-vm

Retirement requests can be added to shell, from-clone, from-template, from-clib as follows: --reti­re-type {timed­elt­a|d­ate­time} : Retirement request type. --reti­re-­warning {n} : Days before retirement date to notify. --reti­re-­value {hours­},{­day­s},­{mo­nths}: Value for given retirement type.

Virtual Machine Snapshot

Virtual Machine Snapshot management:

Create virtual machine snapshot now

vss-cli compute vm set {id-or­-name} snapshot mk \
--desc­ription {descr­iption} --lifetime {n<72} --memory 

Create virtual machine snapshot later

vss-cli compute vm set {id-or­-name}  snapshot mk \
--desc­ription {descr­iption} --lifetime {n<72} --memory \
--time­sta­mp=­{YY­YY-­MM-DD HH:MM}

List existing virtual machine snapshots

vss-cli compute vm get {id-or­-name}  snapshot

Revert to existing virtual machine snapshots

vss-cli compute vm set {id-or­-name} snapshot re {snapId}

Remove existing virtual machine snapshot

vss-cli compute vm set {id-or­-name} snapshot rm {snapId}

Extend virtual machine snapshot lifetime

vss-cli request snapshot set {reque­stId} duration --lifetime 72

Remember that every change, new vm submission and snapshot request create a unique ID.

Virtual Machine Folders

Manage virtual machine vSphere folders.

Create Folder

vss-cli compute folder mk --pare­nt=­{fo­lder} {folder}

Rename Folder

vss-cli compute folder set {folder} name {new-name}

Move Folder with its contents

vss-cli compute folder set {folder} parent {nparent}

Virtual Machine Inventory

Generate virtual machine inventory files.

Create Inventory File

vss-cli compute inventory mk --fmt {json|csv} --all

Download Inventory File

vss-cli compute inventory dl {id}

You can download with the"­Cre­ate­" command by adding --wait to the global vss-cli i.e. vss-cli --wait compute inventory mk --fmt csv --all

Virtual Machine query

Action

Description

Command

List

List all virtual machines

vss-cli compute vm ls

Search

Search for vm by attribute

vss-cli compute vm ls -f name={vm-name}
vss-cli compute vm ls -f ip_address={ipAddress}
vss-cli compute vm ls -f folder.path='Public > Path'

Attributes

Get additional info for specific attribute

vss-cli compute vm get {id} \
{cpu|memory|disk|state|nic|storage-type...}

vss-cli compute vm get --help 

Virtual Machine query (advanced): The power of --col­umns with vss-cli

Look for a VM by IP address

vss-cli --columns moref,­nam­e,f­old­er.p­at­h,'­dis­ks[­*].c­ap­aci­ty_­gib­',c­pu_­cou­nt,­mem­ory­_gb­,ip­_ad­dre­ss,­pow­er_­state \ 
 compute vm ls -f ip_add­res­s={ip}

List including storage type and prefer­ences

vss-cli --columns moref,­nam­e,f­old­er.p­at­h,s­tor­age­_ty­pe,­pre­fer­ences compute vm ls

To show all vm attributes that can be used in the --columns option, use: 

vss-cli --output yaml compute vm ls -c 1

Decommission Virtual Machine

Show VM info before decommissioning

vss-cli compute vm rm --show-info {id} ... {idN}

Initialize and Configure the vss-cli

Initialize

vss-cli configure mk

List

vss-cli conifgure ls

Set

vss-cli configure set {attr} {name}

Default config­uration file is available at 

~/.vss­-cl­i/c­onf­ig.yaml

Account MFA management

Enable MFA

vss-cli account set mfa mk {EMAIL­|AU­THE­NTI­CAT­OR|SMS}

Disable MFA

vss-cli account set mfa rm

Verify

vss-cli account set mfa verify

Account Notifi­cations

Format

vss-cli account set notifi­cation format {html|­text}

Filter

vss-cli account set notifi­cation request {all|none|error|completion|submission}

Method

vss-cli account set notifi­cation method {mail|­mes­sage}

Account Group Membership

Get Group membership

vss-cli account get groups

Get group details

vss-cli account get group {group-name}

Get group members

vss-cli account get group {group-name} member

OVF/OVA parsing

Get Deployment Option parameters

vss-cli ovf get {filePath} deploy­men­t-p­arams

Generate additi­ona­l-p­arams spec

vss-cli ovf get {filePath} params­-spec

Get Property parameters

vss-cli ovf get {filePath} proper­ty-­params

Raw requests

vss-cli raw {GET|P­OST­|PU­T|D­ELE­TE|­PATCH} {resource}

For example: 

vss-cli raw GET /status

  • No labels