.. _Image: ITS Private Cloud CLI Image specification for VM deployment ============================================================= To launch your text editor with the specification template pre-loaded, run the following command: .. code-block:: bash vss-cli compute vm mk from-file --edit --save --spec-template image The following is the YAML definition of valid VM Image CLI specification: .. code-block:: yaml built: image # Required: Do not remove. machine: name: Vm-Name # Required: Target virtual machine name. os: centos7 # Required: Guest Operating System name or Id. cpu: 1 # Optional: CPU count (Default: 1). memory: 1 # Optional: Memory in GB (Default: 1GB). folder: Name-or-Id # Required: Folder name, path or ID. disks: - 40 # Optional: Disk capacity in GB (Default: 40GB). iso: CentOS # Optional: ISO name or path to mount upon creation. storage-type: hdd # Optional: Storage Type to use for this VM. ssd or hdd # Additional (Uncomment to enable) # domain: # Optional: Domain name or ID to deploy (Default: provided by API). # power_on: true # Optional: Power on after successful deployment. # gpus: # Optional: GPU profiles to attach to VM. # - nvidia_l4-24c networking: interfaces: - network: VSS-PUBLIC # Required: Network name or network ID. type: vmxnet3 # Optional: Defaults to vmxnet3 # metadata required metadata: client: Department # Required: Client department # Required: Description of virtual machine description: > nginx and database server for a very important service. usage: Test # Optional: Usage between Prod | Dev | QA | Test (default: Test) inform: # Optional: list of additional contact email addresses (default: user account) - email@utoronto.ca # admin: # Optional: VM Administrator (Default: user submitting request) # name: # (Admin) Required: VM Administrator full name # email: # (Admin) Required: VM Administrator email i.e. user@utoronto.ca # phone: # (Admin) Required: VM Administrator phone i.e. 416-123-2341 # Recommended Metadata (Uncomment to enable) # notes: # Optional: list of key-value items to be set in Key: value form. # - BillingCode: 12345 # - Documentation: https://uoft.me/service-docs # vss_service: N/A # Optional: VSS Service name or service id # vss_options: # Optional: VSS options reset_on_restore, reboot_on_restore # - reset_on_restore # - reboot_on_restore # Extra config (Uncomment to enable) # certain OVF/OVA like coreOS cloud images support guestinfo variables and these can # be injected via the extra_config section # extra_config: # hostname: cos1 # interface.0.role: private # dns.server.0: 128.100.100.128 # interface.0.route.0.gateway: 128.100.72.1 # interface.0.route.0.destination: 0.0.0.0/0 # interface.0.name: en* # interface.0.dhcp: 'no' # interface.0.ip.0.address: 128.100.72.148/24 # coreos.config.data.encoding: gzip+base64 # coreos.config.data: .. note:: YAML is case-sensitive. YAML is whitespace-sensitive and indentation defines the structure, but it doesn't accept tabs for indentation.