<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hi All,<br>
    </p>
    <p>Currently on x86 or ppc, console type does not need to be passed
      from API and hence we do not have API to specify type of console
      in VM(s)/ template(s).</p>
    <p>On s390x architecture, two type of console sclp or virtio are
      supported. And hence we need to update VM(s)/template(s) API to
      have attribute to get and modify type of console.</p>
    <p>        console (s390x only): Specify the console parameter.<br>
                 type: sclp/virtio.<br>
                 If not provided, default sclp.</p>
    <p><br>
    </p>
    <p>Below are the list of current API and proposed API which need to
      have addition parameter 'console' and its type:<br>
    </p>
    <p>1) GET list of VMs and its attribute and Create VM.<br>
      <br>
      <b>Current:</b><br>
      <br>
      Collection: Virtual Machines<br>
      <br>
      URI: /plugins/kimchi/vms<br>
      <br>
      Methods:<br>
      <br>
          GET: Retrieve a summarized list of all defined Virtual
      Machines<br>
          POST: Create a new Virtual Machine<br>
              name (optional): The name of the VM. Used to identify the
      VM in this API. If omitted, a name will be chosen based on the
      template used.<br>
              persistent: If 'true', vm will persist after a Power Off
      or host reboot. All virtual machines created by Kimchi are
      persistent.<br>
              template: The URI of a Template to use when building the
      VM<br>
              storagepool (optional): Assign a specific Storage Pool to
      the new VM<br>
              graphics (optional): Specify the graphics parameter for
      this vm<br>
                  type: The type of graphics. It can be VNC or spice or
      None.<br>
                      vnc: Graphical display using the Virtual Network
      Computing protocol<br>
                      spice: Graphical display using the Simple Protocol
      for Independent Computing Environments<br>
                      null: Graphics is disabled or type not supported<br>
                  listen: The network which the vnc/spice server listens
      on.<br>
              description: VM description<br>
              title: VM title<br>
      <br>
      <b>Proposed:</b><br>
      <br>
      Collection: Virtual Machines<br>
      <br>
      URI: /plugins/kimchi/vms<br>
      <br>
      Methods:<br>
      <br>
          GET: Retrieve a summarized list of all defined Virtual
      Machines<br>
          POST: Create a new Virtual Machine<br>
              name (optional): The name of the VM. Used to identify the
      VM in this API. If omitted, a name will be chosen based on the
      template used.<br>
              persistent: If 'true', vm will persist after a Power Off
      or host reboot. All virtual machines created by Kimchi are
      persistent.<br>
              template: The URI of a Template to use when building the
      VM<br>
              storagepool (optional): Assign a specific Storage Pool to
      the new VM<br>
              graphics (optional): Specify the graphics paramenter for
      this vm<br>
                  type: The type of graphics. It can be VNC or spice or
      None.<br>
                      vnc: Graphical display using the Virtual Network
      Computing protocol<br>
                      spice: Graphical display using the Simple Protocol
      for Independent Computing Environments<br>
                      null: Graphics is disabled or type not supported<br>
                  listen: The network which the vnc/spice server listens
      on.<br>
      <b>        console (s390x only): Specify the console parameter for
        this vm.</b><b><br>
      </b><b>           type: sclp/virtio.</b><b><br>
      </b><b>           If not provided, default sclp.</b><br>
              description: VM description<br>
              title: VM title<br>
    </p>
    <p><br>
      2) GET details of a VM.</p>
    <p><b>Current:</b><br>
      <br>
      Resource: Virtual Machine<br>
      <br>
      URI: /plugins/kimchi/vms/:name<br>
      <br>
      Methods:<br>
      <br>
          GET: Retrieve the full description of a Virtual Machine<br>
              name: The name of the VM. Used to identify the VM in this
      API<br>
              state: Indicates the current state in the VM lifecycle<br>
                  running: The VM is powered on<br>
                  paused: The VMs virtual CPUs are paused<br>
                  shutoff: The VM is powered off<br>
              stats: Virtual machine statistics:<br>
                  cpu_utilization: A number between 0 and 100 which
      indicates the percentage of CPU utilization.<br>
                  mem_utilization: A number between 0 and 100 which
      indicates the percentage of memory utilization.<br>
                  net_throughput: Expresses total network throughput for
      reads and writes across all virtual interfaces (kb/s).<br>
                  net_throughput_peak: The highest recent value of
      'net_throughput'.<br>
                  io_throughput: Expresses the total IO throughput for
      reads and writes across all virtual disks (kb/s).<br>
                  io_throughput_peak: The highest recent value of
      'io_throughput'.<br>
              uuid: UUID of the VM.<br>
              memory: The memory parameters of the VM in the unit of
      MiB.<br>
                  current: The amount of memory that is assigned to the
      VM.<br>
                  maxmemory: The maximum total of memory that the VM can
      have. Amount over current will be used exclusively for memory
      hotplug<br>
              cpu_info: CPU-specific information.<br>
                  vcpus: The number of CPUs assigned to the VM<br>
                  maxvcpus: The maximum number of CPUs that can be
      assigned to the VM<br>
                  topology: Processor topology, includes:<br>
                      sockets - The maximum number of sockets to use.<br>
                      cores - The number of cores per socket.<br>
                      threads - The number of threads per core.<br>
              screenshot: A link to a recent capture of the screen in
      PNG format<br>
              icon: A link to an icon that represents the VM<br>
              graphics: A dict to show detail of VM graphics.<br>
                  type: The type of graphics. It can be VNC or spice or
      None.<br>
                      vnc: Graphical display using the Virtual Network
      Computing protocol<br>
                      spice: Graphical display using the Simple Protocol
      for Independent Computing Environments<br>
                      null: Graphics is disabled or type not supported<br>
                  listen: The network which the vnc/spice server listens
      on.<br>
                  port: The real port number of the graphics, vnc or
      spice. Users can use this port to connect to the vm with general
      vnc/spice clients.<br>
                  passwd: console password<br>
                  passwdValidTo: lifetime for the console password.<br>
              users: A list of system users who have permission to
      access the VM. Default is: empty (i.e. only root-users may
      access).<br>
              groups: A list of system groups whose users have
      permission to access the VM. Default is: empty (i.e. no groups
      given access).<br>
              bootorder: list of devices in boot order<br>
              description: VM description<br>
              title: VM title<br>
      <br>
      <b>Proposed:</b><br>
      <br>
      Resource: Virtual Machine<br>
      <br>
      URI: /plugins/kimchi/vms/:name<br>
      <br>
      Methods:<br>
      <br>
          GET: Retrieve the full description of a Virtual Machine<br>
              name: The name of the VM. Used to identify the VM in this
      API<br>
              state: Indicates the current state in the VM lifecycle<br>
                  running: The VM is powered on<br>
                  paused: The VMs virtual CPUs are paused<br>
                  shutoff: The VM is powered off<br>
              stats: Virtual machine statistics:<br>
                  cpu_utilization: A number between 0 and 100 which
      indicates the percentage of CPU utilization.<br>
                  mem_utilization: A number between 0 and 100 which
      indicates the percentage of memory utilization.<br>
                  net_throughput: Expresses total network throughput for
      reads and writes across all virtual interfaces (kb/s).<br>
                  net_throughput_peak: The highest recent value of
      'net_throughput'.<br>
                  io_throughput: Expresses the total IO throughput for
      reads and writes across all virtual disks (kb/s).<br>
                  io_throughput_peak: The highest recent value of
      'io_throughput'.<br>
              uuid: UUID of the VM.<br>
              memory: The memory parameters of the VM in the unit of
      MiB.<br>
                  current: The amount of memory that is assigned to the
      VM.<br>
                  maxmemory: The maximum total of memory that the VM can
      have. Amount over current will be used exclusively for memory
      hotplug<br>
              cpu_info: CPU-specific information.<br>
                  vcpus: The number of CPUs assigned to the VM<br>
                  maxvcpus: The maximum number of CPUs that can be
      assigned to the VM<br>
                  topology: Processor topology, includes:<br>
                      sockets - The maximum number of sockets to use.<br>
                      cores - The number of cores per socket.<br>
                      threads - The number of threads per core.<br>
              screenshot: A link to a recent capture of the screen in
      PNG format<br>
              icon: A link to an icon that represents the VM<br>
              graphics: A dict to show detail of VM graphics.<br>
                  type: The type of graphics. It can be VNC or spice or
      None.<br>
                      vnc: Graphical display using the Virtual Network
      Computing protocol<br>
                      spice: Graphical display using the Simple Protocol
      for Independent Computing Environments<br>
                      null: Graphics is disabled or type not supported<br>
                  listen: The network which the vnc/spice server listens
      on.<br>
                  port: The real port number of the graphics, vnc or
      spice. Users can use this port to connect to the vm with general
      vnc/spice clients.<br>
                  passwd: console password<br>
                  passwdValidTo: lifetime for the console password.<br>
      <b>        console (s390x only, optional): Specify the console
        parameter for this vm.</b><b><br>
      </b><b>           type: sclp/virtio.</b><b><br>
      </b><b>           If not provided, default sclp.</b><br>
              users: A list of system users who have permission to
      access the VM. Default is: empty (i.e. only root-users may
      access).<br>
              groups: A list of system groups whose users have
      permission to access the VM. Default is: empty (i.e. no groups
      given access).<br>
              bootorder: list of devices in boot order<br>
              description: VM description<br>
              title: VM title<br>
    </p>
    <p>3) Update a VM details<br>
      <br>
      <b>Current:</b></p>
    <p>Resource: Virtual Machine<br>
      <br>
      URI: /plugins/kimchi/vms/:name</p>
    <p>Method: <br>
    </p>
    <p>  PUT: update the parameters of existing VM<br>
      <br>
          name: New name for this VM (only applied for shutoff VM)<br>
          users: New list of system users.<br>
          groups: New list of system groups.<br>
          memory: New memory parameters of the VM in the unit of MiB.
      Provide one or both.<br>
              current: New amount of memory that will be assigned to the
      VM.<br>
              maxmemory: New maximum total of memory that the VM can
      have.<br>
          graphics: A dict to show detail of VM graphics.<br>
              passwd (optional): console password. When omitted a random
      password willbe generated.<br>
              passwdValidTo (optional): lifetime for the console
      password. When omitted the password will be valid just for 30
      seconds.<br>
              type (optional): graphics type. VNC or Spice.<br>
          cpu_info (optional): CPU-specific information.<br>
              maxvcpus (optional): The maximum number of vCPUs that can
      be assigned to the VM. If topology is specified, maxvcpus must be
      a product of sockets, cores and threads.<br>
              vcpus (optional): The number of vCPUs assigned to the VM.
      Default is 1, unless a CPU topology is specified. In that case,
      vcpus must be a multiple of a product of cores and threads, and
      will default to maxvcpus value.<br>
              topology (optional): Specify sockets, threads, and cores
      to run the virtual CPU threads on. All three are required.<br>
                  sockets - The maximum number of sockets to use.<br>
                  cores - The number of cores per socket.<br>
                  threads - The number of threads per core.<br>
          bootorder: guest bootorder, types accepted: hd, cdrom, network
      or fd<br>
          bootmenu: prompts guest bootmenu. Bool type.<br>
          description: VM description<br>
          title: VM title<br>
      <br>
      <b>Proposed:</b><br>
    </p>
    <p>Resource: Virtual Machine<br>
      <br>
      URI: /plugins/kimchi/vms/:name</p>
    <p>Method:</p>
    <p>  PUT: update the parameters of existing VM<br>
      <br>
          name: New name for this VM (only applied for shutoff VM)<br>
          users: New list of system users.<br>
          groups: New list of system groups.<br>
          memory: New memory parameters of the VM in the unit of MiB.
      Provide one or both.<br>
              current: New amount of memory that will be assigned to the
      VM.<br>
              maxmemory: New maximum total of memory that the VM can
      have.<br>
          graphics: A dict to show detail of VM graphics.<br>
              passwd (optional): console password. When omitted a random
      password willbe generated.<br>
              passwdValidTo (optional): lifetime for the console
      password. When omitted the password will be valid just for 30
      seconds.<br>
              type (optional): graphics type. VNC or Spice.<br>
      <b>    console (s390x only, optional): Specify the console
        parameter for this vm.</b><b><br>
      </b><b>           type: sclp/virtio.</b><b><br>
      </b><b>           If not provided, default sclp.</b><br>
          cpu_info (optional): CPU-specific information.<br>
              maxvcpus (optional): The maximum number of vCPUs that can
      be assigned to the VM. If topology is specified, maxvcpus must be
      a product of sockets, cores and threads.<br>
              vcpus (optional): The number of vCPUs assigned to the VM.
      Default is 1, unless a CPU topology is specified. In that case,
      vcpus must be a multiple of a product of cores and threads, and
      will default to maxvcpus value.<br>
              topology (optional): Specify sockets, threads, and cores
      to run the virtual CPU threads on. All three are required.<br>
                  sockets - The maximum number of sockets to use.<br>
                  cores - The number of cores per socket.<br>
                  threads - The number of threads per core.<br>
          bootorder: guest bootorder, types accepted: hd, cdrom, network
      or fd<br>
          bootmenu: prompts guest bootmenu. Bool type.<br>
          description: VM description<br>
          title: VM title<br>
      <br>
    </p>
    <p>4) Get templates and create a template.<br>
      <b><br>
      </b><b>Current:</b><br>
      <br>
      Collection: Templates<br>
      <br>
      URI: /plugins/kimchi/templates<br>
      <br>
      Methods:<br>
      <br>
          GET: Retrieve a summarized list of all defined Templates<br>
          POST: Create a new Template<br>
              name: The name of the Template. Used to identify the
      Template in this API<br>
              source_media: dictionary. The type of media to be used in
      the installation.<br>
                  type: the type of the media. Values: 'netboot' and
      'disk'.<br>
                  path: applicable for type = 'disk' only. Indicates the
      path of the source media.<br>
              os_distro (optional): The operating system distribution<br>
              os_version (optional): The version of the operating system
      distribution<br>
              memory (optional): The memory parameters of the template,
      specify one or both. Default values are 1024MiB:<br>
                  current: The amount of memory that will be assigned to
      the VM.<br>
                  maxmemory: The maximum total of memory that the VM can
      have. Amount over current will be used exclusively for memory
      hotplug<br>
              networks (optional): list of networks will be assigned to
      the new VM. Default is '[default]'<br>
              disks (optional): An array of requested disks with the
      following optional fields (either size or volume must be
      specified):<br>
                  index: The device index<br>
                  size: The device size in GB<br>
                  format: Format of the image. Valid formats: qcow,
      qcow2, qed, raw, vmdk, vpc<br>
                  pool: Storage pool information<br>
                      name: URI of the storagepool where disk will be
      created<br>
              graphics (optional): The graphics paramenters of this
      template<br>
                  type: The type of graphics. It can be VNC or spice or
      None.<br>
                      vnc: Graphical display using the Virtual Network
      Computing protocol<br>
                      spice: Graphical display using the Simple Protocol
      for Independent Computing Environments<br>
                      null: Graphics is disabled or type not supported<br>
                  listen: The network which the vnc/spice server listens
      on.<br>
              cpu_info (optional): CPU-specific information.<br>
                  maxvcpus (optional): The maximum number of vCPUs that
      can be assigned to the VM. If topology is specified, maxvcpus must
      be a product of sockets, cores and threads.<br>
                  vcpus (optional): The number of vCPUs assigned to the
      VM. Default is 1, unless a CPU topology is specified. In that
      case, vcpus must be a multiple of a product of cores and threads,
      and will default to maxvcpus value.<br>
                  topology (optional): Specify sockets, threads, and
      cores to run the virtual CPU threads on. All three are required.<br>
                      sockets - The maximum number of sockets to use.<br>
                      cores - The number of cores per socket.<br>
                      threads - The number of threads per core.<br>
      <br>
      <b>Proposed:</b><br>
      <br>
      Collection: Templates<br>
      <br>
      URI: /plugins/kimchi/templates<br>
      <br>
      Methods:<br>
      <br>
          GET: Retrieve a summarized list of all defined Templates<br>
          POST: Create a new Template<br>
              name: The name of the Template. Used to identify the
      Template in this API<br>
              source_media: dictionary. The type of media to be used in
      the installation.<br>
                  type: the type of the media. Values: 'netboot' and
      'disk'.<br>
                  path: applicable for type = 'disk' only. Indicates the
      path of the source media.<br>
              os_distro (optional): The operating system distribution<br>
              os_version (optional): The version of the operating system
      distribution<br>
              memory (optional): The memory parameters of the template,
      specify one or both. Default values are 1024MiB:<br>
                  current: The amount of memory that will be assigned to
      the VM.<br>
                  maxmemory: The maximum total of memory that the VM can
      have. Amount over current will be used exclusively for memory
      hotplug<br>
              networks (optional): list of networks will be assigned to
      the new VM. Default is '[default]'<br>
              disks (optional): An array of requested disks with the
      following optional fields (either size or volume must be
      specified):<br>
                  index: The device index<br>
                  size: The device size in GB<br>
                  format: Format of the image. Valid formats: qcow,
      qcow2, qed, raw, vmdk, vpc<br>
                  pool: Storage pool information<br>
                      name: URI of the storagepool where disk will be
      created<br>
              graphics (optional): The graphics paramenters of this
      template<br>
                  type: The type of graphics. It can be VNC or spice or
      None.<br>
                      vnc: Graphical display using the Virtual Network
      Computing protocol<br>
                      spice: Graphical display using the Simple Protocol
      for Independent Computing Environments<br>
                      null: Graphics is disabled or type not supported<br>
                  listen: The network which the vnc/spice server listens
      on.<br>
      <b>       console (s390x only, optional): Specify the console
        parameter for this template.</b><b><br>
      </b><b>           type:sclp/virtio.</b><b><br>
      </b><b>           If not provided, default sclp.</b><br>
              cpu_info (optional): CPU-specific information.<br>
                  maxvcpus (optional): The maximum number of vCPUs that
      can be assigned to the VM. If topology is specified, maxvcpus must
      be a product of sockets, cores and threads.<br>
                  vcpus (optional): The number of vCPUs assigned to the
      VM. Default is 1, unless a CPU topology is specified. In that
      case, vcpus must be a multiple of a product of cores and threads,
      and will default to maxvcpus value.<br>
                  topology (optional): Specify sockets, threads, and
      cores to run the virtual CPU threads on. All three are required.<br>
                      sockets - The maximum number of sockets to use.<br>
                      cores - The number of cores per socket.<br>
                      threads - The number of threads per core.<br>
      <br>
      5) Get a template details.<br>
      <br>
      <b>Current:-</b><br>
      <br>
      Resource: Template<br>
      <br>
      URI: /plugins/kimchi/templates/:name<br>
      <br>
      Methods:<br>
      <br>
          GET: Retrieve the full description of a Template<br>
              name: A name for this template<br>
              folder: A virtual path which can be used to organize
      Templates in a user interface. The format is an array of path
      components.<br>
              icon: A URI to a PNG image representing this template<br>
              os_distro: The operating system distribution<br>
              os_version: The version of the operating system
      distribution<br>
              memory: The memory parameters of the template, that will
      be assigned to the VM in the unit of MiB.<br>
                  current: The amount of memory that will be assigned to
      the VM.<br>
                  maxmemory: The maximum total of memory that the VM can
      have. Amount over current will be used exclusively for memory
      hotplug<br>
              cdrom: A volume name or URI to an ISO image<br>
              storagepool: URI of the storagepool where template
      allocates vm storage.<br>
              networks (optional): list of networks will be assigned to
      the new VM.<br>
              interfaces (optional): list of host network interfaces
      will be assigned to the new VM. Only applicable for s390x or s390
      architecture.<br>
                  type: Type of host network interface. Type should be
      'macvtap' for host network interface (Ethernet, Bond, VLAN) to be
      connected as direct MacVTap; or 'ovs' for openvswitch host network
      interface to be connected as virtual switch to a VM.<br>
                  name: The host network interface. It should be the
      host network interface (Ethernet, Bond, VLAN) for type 'macvtap'
      or host openvswitch bridge interface for type 'ovs'.<br>
                  mode (optional): Only applicable for interface type
      macvtap, to indicates whether packets will be delivered directly
      to target device(bridge) or to the external bridge(vepa-capable
      bridge).<br>
                      bridge: If packets have a destination on the host
      from which they originated, they are delivered directly to the
      target. For direct delivery, both origin and destination devices
      need to be in bridge mode. If either the origin or destination is
      in vepa mode, VEPA-capable bridge is required.<br>
                      vepa: All packets are sent to the external bridge.
      If packets have a destination on the host from which they
      originated, the VEPA-capable bridge will return the packets to the
      host.<br>
              disks: An array of requested disks with the following
      optional fields (either size or volume must be specified):<br>
                  index: The device index<br>
                  size: The device size in GB<br>
                  volume: A volume name that contains the initial disk
      contents<br>
                  format: Format of the image. Valid formats: qcow,
      qcow2, qed, raw, vmdk, vpc.<br>
                  pool: Information about the pool where disk or volume
      will be created<br>
                      name: URI of the storagepool<br>
                      type: Type of the storagepool (dir, nfs, scsci,
      iscsi, etc)<br>
              graphics: A dict of graphics paramenters of this template<br>
                  type: The type of graphics. It can be VNC or spice or
      None.<br>
                      vnc: Graphical display using the Virtual Network
      Computing protocol<br>
                      spice: Graphical display using the Simple Protocol
      for Independent Computing Environments<br>
                      null: Graphics is disabled or type not supported<br>
                  listen: The network which the vnc/spice server listens
      on.<br>
              invalid: A dict indicates which paramenters of this
      template are invalid.<br>
                  networks (optional): An array of invalid network
      names.<br>
                  cdrom (optional): An array of invalid cdrom names.<br>
                  disks (optional): An array of invalid volume names.<br>
                  storagepools (optional): An array of invalid
      storagepool names.<br>
              cpu_info: CPU-specific information.<br>
                  vcpus: The number of CPUs assigned to the VM<br>
                  maxvcpus: The maximum number of CPUs that can be
      assigned to the VM<br>
                  topology: Processor topology, includes:<br>
                      sockets - The maximum number of sockets to use.<br>
                      cores - The number of cores per socket.<br>
                      threads - The number of threads per core.<br>
      <br>
      <b>Proposed:-</b><br>
      <br>
      <br>
      Resource: Template<br>
      <br>
      URI: /plugins/kimchi/templates/:name<br>
      <br>
      Methods:<br>
      <br>
          GET: Retrieve the full description of a Template<br>
              name: A name for this template<br>
              folder: A virtual path which can be used to organize
      Templates in a user interface. The format is an array of path
      components.<br>
              icon: A URI to a PNG image representing this template<br>
              os_distro: The operating system distribution<br>
              os_version: The version of the operating system
      distribution<br>
              memory: The memory parameters of the template, that will
      be assigned to the VM in the unit of MiB.<br>
                  current: The amount of memory that will be assigned to
      the VM.<br>
                  maxmemory: The maximum total of memory that the VM can
      have. Amount over current will be used exclusively for memory
      hotplug<br>
              cdrom: A volume name or URI to an ISO image<br>
              storagepool: URI of the storagepool where template
      allocates vm storage.<br>
              networks (optional): list of networks will be assigned to
      the new VM.<br>
              interfaces (optional): list of host network interfaces
      will be assigned to the new VM. Only applicable for s390x or s390
      architecture.<br>
                  type: Type of host network interface. Type should be
      'macvtap' for host network interface (Ethernet, Bond, VLAN) to be
      connected as direct MacVTap; or 'ovs' for openvswitch host network
      interface to be connected as virtual switch to a VM.<br>
                  name: The host network interface. It should be the
      host network interface (Ethernet, Bond, VLAN) for type 'macvtap'
      or host openvswitch bridge interface for type 'ovs'.<br>
                  mode (optional): Only applicable for interface type
      macvtap, to indicates whether packets will be delivered directly
      to target device(bridge) or to the external bridge(vepa-capable
      bridge).<br>
                      bridge: If packets have a destination on the host
      from which they originated, they are delivered directly to the
      target. For direct delivery, both origin and destination devices
      need to be in bridge mode. If either the origin or destination is
      in vepa mode, VEPA-capable bridge is required.<br>
                      vepa: All packets are sent to the external bridge.
      If packets have a destination on the host from which they
      originated, the VEPA-capable bridge will return the packets to the
      host.<br>
              disks: An array of requested disks with the following
      optional fields (either size or volume must be specified):<br>
                  index: The device index<br>
                  size: The device size in GB<br>
                  volume: A volume name that contains the initial disk
      contents<br>
                  format: Format of the image. Valid formats: qcow,
      qcow2, qed, raw, vmdk, vpc.<br>
                  pool: Information about the pool where disk or volume
      will be created<br>
                      name: URI of the storagepool<br>
                      type: Type of the storagepool (dir, nfs, scsci,
      iscsi, etc)<br>
              graphics: A dict of graphics paramenters of this template<br>
                  type: The type of graphics. It can be VNC or spice or
      None.<br>
                      vnc: Graphical display using the Virtual Network
      Computing protocol<br>
                      spice: Graphical display using the Simple Protocol
      for Independent Computing Environments<br>
                      null: Graphics is disabled or type not supported<br>
                  listen: The network which the vnc/spice server listens
      on.<br>
      <b>       console (s390x only, optional): Specify the console
        parameter for this template.</b><b><br>
      </b><b>           type:sclp/virtio.</b><b><br>
      </b><b>           If not provided, default sclp.</b><br>
              invalid: A dict indicates which paramenters of this
      template are invalid.<br>
                  networks (optional): An array of invalid network
      names.<br>
                  cdrom (optional): An array of invalid cdrom names.<br>
                  disks (optional): An array of invalid volume names.<br>
                  storagepools (optional): An array of invalid
      storagepool names.<br>
              cpu_info: CPU-specific information.<br>
                  vcpus: The number of CPUs assigned to the VM<br>
                  maxvcpus: The maximum number of CPUs that can be
      assigned to the VM<br>
                  topology: Processor topology, includes:<br>
                      sockets - The maximum number of sockets to use.<br>
                      cores - The number of cores per socket.<br>
                      threads - The number of threads per core.<br>
      <br>
      <br>
      6) Update existing template.<br>
      <br>
      <b>Current:</b><br>
    </p>
    <p><br>
      Resource: Template<br>
      <br>
      URI: /plugins/kimchi/templates/:name</p>
    <p>Method:</p>
    <p>PUT: update the parameters of existed template<br>
      <br>
          name: A name for this template<br>
          folder: A virtual path which can be used to organize Templates
      in the user interface. The format is an array of path components.<br>
          icon: A URI to a PNG image representing this template<br>
          os_distro: The operating system distribution<br>
          os_version: The version of the operating system distribution<br>
          memory: The memory parameters of the template, specify one or
      both of:<br>
              current: The amount of memory that will be assigned to the
      VM.<br>
              maxmemory: The maximum total of memory that the VM can
      have. Amount over current will be used exclusively for memory
      hotplug<br>
          cdrom: A volume name or URI to an ISO image<br>
          networks (optional): list of networks will be assigned to the
      new VM.<br>
          interfaces (optional): list of host network interfaces will be
      assigned to the new VM. Only applicable for s390x or s390
      architecture.<br>
              type: Type of host network interface. Type should be
      'macvtap' for host network interface (Ethernet, Bond, VLAN) to be
      connected as direct MacVTap; or 'ovs' for openvswitch host network
      interface to be connected as virtual switch to a VM.<br>
              name: The host network interface. It should be the host
      network interface (Ethernet, Bond, VLAN) for type 'macvtap' or
      host openvswitch bridge interface for type 'ovs'.<br>
              mode (optional): Only applicable for interface type
      macvtap, to indicates whether packets will be delivered directly
      to target device(bridge) or to the external bridge(vepa-capable
      bridge).<br>
                  bridge: If packets have a destination on the host from
      which they originated, they are delivered directly to the target.
      For direct delivery, both origin and destination devices need to
      be in bridge mode. If either the origin or destination is in vepa
      mode, VEPA-capable bridge is required.<br>
                  vepa: All packets are sent to the external bridge. If
      packets have a destination on the host from which they originated,
      the VEPA-capable bridge will return the packets to the host.<br>
          disks: An array of requested disks with the following optional
      fields (either size or volume must be specified):<br>
              index: The device index<br>
              size: The device size in GB<br>
              volume: A volume name that contains the initial disk
      contents<br>
              format: Format of the image. Valid formats: qcow, qcow2,
      qed, raw, vmdk, vpc.<br>
              pool: Storage pool information<br>
                  name: URI of the storagepool where template allocates
      vm disk.<br>
          graphics (optional): A dict of graphics paramenters of this
      template<br>
              type: The type of graphics. It can be VNC or spice or
      None.<br>
                  vnc: Graphical display using the Virtual Network
      Computing protocol<br>
                  spice: Graphical display using the Simple Protocol for
      Independent Computing Environments<br>
                  null: Graphics is disabled or type not supported<br>
              listen: The network which the vnc/spice server listens on.<br>
          cpu_info (optional): CPU-specific information.<br>
              maxvcpus (optional): The maximum number of vCPUs that can
      be assigned to the VM. If topology is specified, maxvcpus must be
      a product of sockets, cores and threads.<br>
              vcpus (optional): The number of vCPUs assigned to the VM.
      Default is 1, unless a CPU topology is specified. In that case,
      vcpus must be a multiple of a product of cores and threads, and
      will default to maxvcpus value.<br>
              topology (optional): Specify sockets, threads, and cores
      to run the virtual CPU threads on. All three are required.<br>
                  sockets - The maximum number of sockets to use.<br>
                  cores - The number of cores per socket.<br>
                  threads - The number of threads per core.<br>
      <br>
      <b>Proposed:-</b><br>
    </p>
    <p><br>
      Resource: Template<br>
      <br>
      URI: /plugins/kimchi/templates/:name</p>
    <p>Method:</p>
    <p>PUT: update the parameters of existed template<br>
      <br>
          name: A name for this template<br>
          folder: A virtual path which can be used to organize Templates
      in the user interface. The format is an array of path components.<br>
          icon: A URI to a PNG image representing this template<br>
          os_distro: The operating system distribution<br>
          os_version: The version of the operating system distribution<br>
          memory: The memory parameters of the template, specify one or
      both of:<br>
              current: The amount of memory that will be assigned to the
      VM.<br>
              maxmemory: The maximum total of memory that the VM can
      have. Amount over current will be used exclusively for memory
      hotplug<br>
          cdrom: A volume name or URI to an ISO image<br>
          networks (optional): list of networks will be assigned to the
      new VM.<br>
          interfaces (optional): list of host network interfaces will be
      assigned to the new VM. Only applicable for s390x or s390
      architecture.<br>
              type: Type of host network interface. Type should be
      'macvtap' for host network interface (Ethernet, Bond, VLAN) to be
      connected as direct MacVTap; or 'ovs' for openvswitch host network
      interface to be connected as virtual switch to a VM.<br>
              name: The host network interface. It should be the host
      network interface (Ethernet, Bond, VLAN) for type 'macvtap' or
      host openvswitch bridge interface for type 'ovs'.<br>
              mode (optional): Only applicable for interface type
      macvtap, to indicates whether packets will be delivered directly
      to target device(bridge) or to the external bridge(vepa-capable
      bridge).<br>
                  bridge: If packets have a destination on the host from
      which they originated, they are delivered directly to the target.
      For direct delivery, both origin and destination devices need to
      be in bridge mode. If either the origin or destination is in vepa
      mode, VEPA-capable bridge is required.<br>
                  vepa: All packets are sent to the external bridge. If
      packets have a destination on the host from which they originated,
      the VEPA-capable bridge will return the packets to the host.<br>
          disks: An array of requested disks with the following optional
      fields (either size or volume must be specified):<br>
              index: The device index<br>
              size: The device size in GB<br>
              volume: A volume name that contains the initial disk
      contents<br>
              format: Format of the image. Valid formats: qcow, qcow2,
      qed, raw, vmdk, vpc.<br>
              pool: Storage pool information<br>
                  name: URI of the storagepool where template allocates
      vm disk.<br>
          graphics (optional): A dict of graphics paramenters of this
      template<br>
              type: The type of graphics. It can be VNC or spice or
      None.<br>
                  vnc: Graphical display using the Virtual Network
      Computing protocol<br>
                  spice: Graphical display using the Simple Protocol for
      Independent Computing Environments<br>
                  null: Graphics is disabled or type not supported<br>
              listen: The network which the vnc/spice server listens on.<br>
      <b>    console (s390x only, optional): Specify the console
        parameter for this template.</b><b><br>
      </b><b>           type:sclp/virtio.</b><b><br>
      </b><b>           If not provided, default sclp.</b><br>
          cpu_info (optional): CPU-specific information.<br>
              maxvcpus (optional): The maximum number of vCPUs that can
      be assigned to the VM. If topology is specified, maxvcpus must be
      a product of sockets, cores and threads.<br>
              vcpus (optional): The number of vCPUs assigned to the VM.
      Default is 1, unless a CPU topology is specified. In that case,
      vcpus must be a multiple of a product of cores and threads, and
      will default to maxvcpus value.<br>
              topology (optional): Specify sockets, threads, and cores
      to run the virtual CPU threads on. All three are required.<br>
                  sockets - The maximum number of sockets to use.<br>
                  cores - The number of cores per socket.<br>
                  threads - The number of threads per core.<br>
      <br>
      Thanks,</p>
    <p>Archana Singh<br>
    </p>
  </body>
</html>