# salt.modules.smartos_vmadm

Module for running vmadm command on SmartOS

salt.modules.smartos_vmadm.create(from_file=None, **kwargs)

  Create a new vm

  from_filestring

    json file to create the vm from -- if present, all other options will be ignored

  kwargsstring|int|...

    options to set for the vm

  CLI Example:

      salt '*' vmadm.create from_file=/tmp/new_vm.json
      salt '*' vmadm.create image_uuid='...' alias='...' nics='[{ "nic_tag": "admin", "ip": "198.51.100.123", ...}, {...}]' [...]

salt.modules.smartos_vmadm.create_snapshot(vm, name, key='uuid')

  Create snapshot of a vm

  vmstring

    vm to be targeted

  namestring
    snapshot name

      The snapname must be 64 characters or less and must only contain alphanumeric characters and characters in the set [-_.:%] to comply with ZFS restrictions.

  keystring [uuid|alias|hostname]

    value type of 'vm' parameter

  CLI Example:

      salt '*' vmadm.create_snapshot 186da9ab-7392-4f55-91a5-b8f1fe770543 baseline
      salt '*' vmadm.create_snapshot nacl baseline key=alias

salt.modules.smartos_vmadm.delete(vm, key='uuid')

  Delete a vm

  vmstring

    vm to be deleted

  keystring [uuid|alias|hostname]

    value type of 'vm' parameter

  CLI Example:

      salt '*' vmadm.delete 186da9ab-7392-4f55-91a5-b8f1fe770543
      salt '*' vmadm.delete nacl key=alias

salt.modules.smartos_vmadm.delete_snapshot(vm, name, key='uuid')

  Delete snapshot of a vm

  vmstring

    vm to be targeted

  namestring
    snapshot name

      The snapname must be 64 characters or less and must only contain alphanumeric characters and characters in the set [-_.:%] to comply with ZFS restrictions.

  keystring [uuid|alias|hostname]

    value type of 'vm' parameter

  CLI Example:

      salt '*' vmadm.delete_snapshot 186da9ab-7392-4f55-91a5-b8f1fe770543 baseline
      salt '*' vmadm.delete_snapshot nacl baseline key=alias

salt.modules.smartos_vmadm.get(vm, key='uuid')

  Output the JSON object describing a VM

  vmstring

    vm to be targeted

  keystring [uuid|alias|hostname]

    value type of 'vm' parameter

  CLI Example:

      salt '*' vmadm.get 186da9ab-7392-4f55-91a5-b8f1fe770543
      salt '*' vmadm.get nacl key=alias

salt.modules.smartos_vmadm.info(vm, info_type='all', key='uuid')

  Lookup info on running kvm

  vmstring

    vm to be targeted

  info_typestring [all|block|blockstats|chardev|cpus|kvm|pci|spice|version|vnc]

    info type to return

  keystring [uuid|alias|hostname]

    value type of 'vm' parameter

  CLI Example:

      salt '*' vmadm.info 186da9ab-7392-4f55-91a5-b8f1fe770543
      salt '*' vmadm.info 186da9ab-7392-4f55-91a5-b8f1fe770543 vnc
      salt '*' vmadm.info nacl key=alias
      salt '*' vmadm.info nacl vnc key=alias

salt.modules.smartos_vmadm.list_vms(search=None, sort=None, order='uuid,type,ram,state,alias', keyed=True)

  Return a list of VMs

  searchstring

    vmadm filter property

  sortstring

    vmadm sort (-s) property

  orderstring

    vmadm order (-o) property -- Default: uuid,type,ram,state,alias

  keyedboolean
    specified if the output should be an array (False) or dict (True)

      For a dict the key is the first item from the order parameter. Note: If key is not unique last vm wins.

  CLI Example:

      salt '*' vmadm.list
      salt '*' vmadm.list order=alias,ram,cpu_cap sort=-ram,-cpu_cap
      salt '*' vmadm.list search='type=KVM'

salt.modules.smartos_vmadm.lookup(search=None, order=None, one=False)

  Return a list of VMs using lookup

  searchstring

    vmadm filter property

  orderstring

    vmadm order (-o) property -- Default: uuid,type,ram,state,alias

  oneboolean

    return only one result (vmadm's -1)

  CLI Example:

      salt '*' vmadm.lookup search='state=running'
      salt '*' vmadm.lookup search='state=running' order=uuid,alias,hostname
      salt '*' vmadm.lookup search='alias=nacl' one=True

salt.modules.smartos_vmadm.reboot(vm, force=False, key='uuid')

  Reboot a vm

  vmstring

    vm to be rebooted

  forceboolean

    force reboot of vm if true

  keystring [uuid|alias|hostname]

    value type of 'vm' parameter

  CLI Example:

      salt '*' vmadm.reboot 186da9ab-7392-4f55-91a5-b8f1fe770543
      salt '*' vmadm.reboot 186da9ab-7392-4f55-91a5-b8f1fe770543 True
      salt '*' vmadm.reboot vm=nacl key=alias
      salt '*' vmadm.reboot vm=nina.example.org key=hostname

salt.modules.smartos_vmadm.receive(uuid, source)

  Receive a vm from a directory

  uuidstring

    uuid of vm to be received

  sourcestring

    source directory

  CLI Example:

      salt '*' vmadm.receive 186da9ab-7392-4f55-91a5-b8f1fe770543 /opt/backups

salt.modules.smartos_vmadm.reprovision(vm, image, key='uuid')

  Reprovision a vm

  vmstring

    vm to be reprovisioned

  imagestring

    uuid of new image

  keystring [uuid|alias|hostname]

    value type of 'vm' parameter

  CLI Example:

      salt '*' vmadm.reprovision 186da9ab-7392-4f55-91a5-b8f1fe770543 c02a2044-c1bd-11e4-bd8c-dfc1db8b0182
      salt '*' vmadm.reprovision nacl c02a2044-c1bd-11e4-bd8c-dfc1db8b0182 key=alias

salt.modules.smartos_vmadm.rollback_snapshot(vm, name, key='uuid')

  Rollback snapshot of a vm

  vmstring

    vm to be targeted

  namestring
    snapshot name

      The snapname must be 64 characters or less and must only contain alphanumeric characters and characters in the set [-_.:%] to comply with ZFS restrictions.

  keystring [uuid|alias|hostname]

    value type of 'vm' parameter

  CLI Example:

      salt '*' vmadm.rollback_snapshot 186da9ab-7392-4f55-91a5-b8f1fe770543 baseline
      salt '*' vmadm.rollback_snapshot nacl baseline key=alias

salt.modules.smartos_vmadm.send(vm, target, key='uuid')

  Send a vm to a directory

  vmstring

    vm to be sent

  targetstring

    target directory

  keystring [uuid|alias|hostname]

    value type of 'vm' parameter

  CLI Example:

      salt '*' vmadm.send 186da9ab-7392-4f55-91a5-b8f1fe770543 /opt/backups
      salt '*' vmadm.send vm=nacl target=/opt/backups key=alias

salt.modules.smartos_vmadm.start(vm, options=None, key='uuid')

  Start a vm

  vmstring

    vm to be started

  optionsstring

    optional additional options

  keystring [uuid|alias|hostname]

    value type of 'vm' parameter

  CLI Example:

      salt '*' vmadm.start 186da9ab-7392-4f55-91a5-b8f1fe770543
      salt '*' vmadm.start 186da9ab-7392-4f55-91a5-b8f1fe770543 'order=c,once=d cdrom=/path/to/image.iso,ide'
      salt '*' vmadm.start vm=nacl key=alias
      salt '*' vmadm.start vm=nina.example.org key=hostname

salt.modules.smartos_vmadm.stop(vm, force=False, key='uuid')

  Stop a vm

  vmstring

    vm to be stopped

  forceboolean

    force stop of vm if true

  keystring [uuid|alias|hostname]

    value type of 'vm' parameter

  CLI Example:

      salt '*' vmadm.stop 186da9ab-7392-4f55-91a5-b8f1fe770543
      salt '*' vmadm.stop 186da9ab-7392-4f55-91a5-b8f1fe770543 True
      salt '*' vmadm.stop vm=nacl key=alias
      salt '*' vmadm.stop vm=nina.example.org key=hostname

salt.modules.smartos_vmadm.sysrq(vm, action='nmi', key='uuid')

  Send non-maskable interrupt to vm or capture a screenshot

  vmstring

    vm to be targeted

  actionstring

    nmi or screenshot -- Default: nmi

  keystring [uuid|alias|hostname]

    value type of 'vm' parameter

  CLI Example:

      salt '*' vmadm.sysrq 186da9ab-7392-4f55-91a5-b8f1fe770543 nmi
      salt '*' vmadm.sysrq 186da9ab-7392-4f55-91a5-b8f1fe770543 screenshot
      salt '*' vmadm.sysrq nacl nmi key=alias

salt.modules.smartos_vmadm.update(vm, from_file=None, key='uuid', **kwargs)

  Update a new vm

  vmstring

    vm to be updated

  from_filestring

    json file to update the vm with -- if present, all other options will be ignored

  keystring [uuid|alias|hostname]

    value type of 'vm' parameter

  kwargsstring|int|...

    options to update for the vm

  CLI Example:

      salt '*' vmadm.update vm=186da9ab-7392-4f55-91a5-b8f1fe770543 from_file=/tmp/new_vm.json
      salt '*' vmadm.update vm=nacl key=alias from_file=/tmp/new_vm.json
      salt '*' vmadm.update vm=186da9ab-7392-4f55-91a5-b8f1fe770543 max_physical_memory=1024