Class Template

java.lang.Object
org.opennebula.client.PoolElement
org.opennebula.client.template.Template

public class Template extends PoolElement
This class represents an OpenNebula template. It also offers static XML-RPC call wrappers.
  • Constructor Details

    • Template

      public Template(int id, Client client)
      Creates a new Template representation.
      Parameters:
      id - The template id.
      client - XML-RPC Client.
    • Template

      protected Template(Node xmlElement, Client client)
      See Also:
  • Method Details

    • allocate

      public static OneResponse allocate(Client client, String description)
      Allocates a new Template in OpenNebula.
      Parameters:
      client - XML-RPC Client.
      description - A string containing the template of the template.
      Returns:
      If successful the message contains the associated id generated for this Template.
    • info

      public static OneResponse info(Client client, int id)
      Retrieves the information of the given Template.
      Parameters:
      client - XML-RPC Client.
      id - The template id for the template to retrieve the information from
      Returns:
      If successful the message contains the string with the information returned by OpenNebula.
    • info

      public static OneResponse info(Client client, int id, boolean extended)
      Retrieves the information of the given Template.
      Parameters:
      client - XML-RPC Client.
      id - The template id for the template to retrieve the information from
      extended - optional flag to process the template and include extended information, such as the SIZE for each DISK
      Returns:
      If successful the message contains the string with the information returned by OpenNebula.
    • info

      public static OneResponse info(Client client, int id, boolean extended, boolean decrypt)
      Retrieves the information of the given Template.
      Parameters:
      client - XML-RPC Client.
      id - The template id for the template to retrieve the information from
      decrypt - If true decrypt sensitive attributes
      Returns:
      If successful the message contains the string with the information returned by OpenNebula.
    • delete

      public static OneResponse delete(Client client, int id, boolean recursive)
      Deletes a template from OpenNebula.
      Parameters:
      client - XML-RPC Client.
      id - The template id of the target template we want to delete.
      recursive - deletes the template plus any image defined in DISK.
      Returns:
      A encapsulated response.
    • update

      public static OneResponse update(Client client, int id, String new_template, boolean append)
      Replaces the template contents.
      Parameters:
      client - XML-RPC Client.
      id - The template id of the target template we want to modify.
      new_template - New template contents.
      append - True to append new attributes instead of replace the whole template
      Returns:
      If successful the message contains the template id.
    • publish

      public static OneResponse publish(Client client, int id, boolean publish)
      Publishes or unpublishes a template.
      Parameters:
      client - XML-RPC Client.
      id - The template id of the target template we want to modify.
      publish - True for publishing, false for unpublishing.
      Returns:
      If successful the message contains the template id.
    • chown

      public static OneResponse chown(Client client, int id, int uid, int gid)
      Changes the owner/group
      Parameters:
      client - XML-RPC Client.
      id - The template id of the target template we want to modify.
      uid - The new owner user ID. Set it to -1 to leave the current one.
      gid - The new group ID. Set it to -1 to leave the current one.
      Returns:
      If an error occurs the error message contains the reason.
    • chmod

      public static OneResponse chmod(Client client, int id, int owner_u, int owner_m, int owner_a, int group_u, int group_m, int group_a, int other_u, int other_m, int other_a)
      Changes the template permissions
      Parameters:
      client - XML-RPC Client.
      id - The template id of the target template.
      owner_u - 1 to allow, 0 deny, -1 do not change
      owner_m - 1 to allow, 0 deny, -1 do not change
      owner_a - 1 to allow, 0 deny, -1 do not change
      group_u - 1 to allow, 0 deny, -1 do not change
      group_m - 1 to allow, 0 deny, -1 do not change
      group_a - 1 to allow, 0 deny, -1 do not change
      other_u - 1 to allow, 0 deny, -1 do not change
      other_m - 1 to allow, 0 deny, -1 do not change
      other_a - 1 to allow, 0 deny, -1 do not change
      Returns:
      If an error occurs the error message contains the reason.
    • chmod

      public static OneResponse chmod(Client client, int id, int owner_u, int owner_m, int owner_a, int group_u, int group_m, int group_a, int other_u, int other_m, int other_a, boolean recursive)
      Changes the template permissions
      Parameters:
      client - XML-RPC Client.
      id - The template id of the target template.
      owner_u - 1 to allow, 0 deny, -1 do not change
      owner_m - 1 to allow, 0 deny, -1 do not change
      owner_a - 1 to allow, 0 deny, -1 do not change
      group_u - 1 to allow, 0 deny, -1 do not change
      group_m - 1 to allow, 0 deny, -1 do not change
      group_a - 1 to allow, 0 deny, -1 do not change
      other_u - 1 to allow, 0 deny, -1 do not change
      other_m - 1 to allow, 0 deny, -1 do not change
      other_a - 1 to allow, 0 deny, -1 do not change
      recursive - chmods the template plus any image defined in DISK.
      Returns:
      If an error occurs the error message contains the reason.
    • chmod

      public static OneResponse chmod(Client client, int id, String octet)
      Changes the permissions
      Parameters:
      client - XML-RPC Client.
      id - The id of the target object.
      octet - Permissions octed , e.g. 640
      Returns:
      If an error occurs the error message contains the reason.
    • chmod

      public static OneResponse chmod(Client client, int id, String octet, boolean recursive)
      Changes the permissions
      Parameters:
      client - XML-RPC Client.
      id - The id of the target object.
      octet - Permissions octed , e.g. 640
      recursive - chmods the template plus any image defined in DISK.
      Returns:
      If an error occurs the error message contains the reason.
    • chmod

      public static OneResponse chmod(Client client, int id, int octet)
      Changes the permissions
      Parameters:
      client - XML-RPC Client.
      id - The id of the target object.
      octet - Permissions octed , e.g. 640
      Returns:
      If an error occurs the error message contains the reason.
    • chmod

      public static OneResponse chmod(Client client, int id, int octet, boolean recursive)
      Changes the permissions
      Parameters:
      client - XML-RPC Client.
      id - The id of the target object.
      octet - Permissions octed , e.g. 640
      recursive - chmods the template plus any image defined in DISK.
      Returns:
      If an error occurs the error message contains the reason.
    • instantiate

      public static OneResponse instantiate(Client client, int id, String name, boolean onHold, String template, boolean persistent)
      Creates a VM instance from a Template
      Parameters:
      client - XML-RPC Client.
      id - The template id of the target template.
      name - A string containing the name of the VM instance, can be empty.
      onHold - False to create this VM in pending state, true on hold
      template - User provided Template to merge with the one being instantiated
      persistent - true to create a private persistent copy of the template plus any image defined in DISK, and instantiate that copy
      Returns:
      If successful the message contains the VM Instance ID.
    • clone

      public static OneResponse clone(Client client, int id, String name)
      Clones this template into a new one
      Parameters:
      client - XML-RPC Client.
      id - The template id of the target template.
      name - Name for the new template.
      Returns:
      If successful the message contains the new template ID.
    • clone

      public static OneResponse clone(Client client, int id, String name, boolean recursive)
      Clones this template into a new one
      Parameters:
      client - XML-RPC Client.
      id - The template id of the target template.
      name - Name for the new template.
      recursive - clones the template plus any image defined in DISK. The new IMAGE_ID is set into each DISK.
      Returns:
      If successful the message contains the new template ID.
    • rename

      public static OneResponse rename(Client client, int id, String name)
      Renames this Template
      Parameters:
      client - XML-RPC Client.
      id - The Template id of the target Template.
      name - New name for the Template.
      Returns:
      If an error occurs the error message contains the reason.
    • lock

      public static OneResponse lock(Client client, int id, int level)
      lock this template
      Parameters:
      client - XML-RPC Client.
      id - The template id.
      level - Lock level.
      Returns:
      If an error occurs the error message contains the reason.
    • unlock

      public static OneResponse unlock(Client client, int id)
      Unlock this template
      Parameters:
      client - XML-RPC Client.
      id - The template id.
      Returns:
      If an error occurs the error message contains the reason.
    • info

      public OneResponse info()
      Retrieves the information of the Template.
      Returns:
      If successful the message contains the string with the information returned by OpenNebula.
    • info

      public OneResponse info(boolean extended)
      Retrieves the information of the given Template.
      Parameters:
      extended - optional flag to process the template and include extended information, such as the SIZE for each DISK
      Returns:
      If successful the message contains the string with the information returned by OpenNebula.
    • delete

      public OneResponse delete()
      Deletes the template from OpenNebula.
      Returns:
      A encapsulated response.
    • delete

      public OneResponse delete(boolean recursive)
      Deletes the template from OpenNebula.
      Parameters:
      recursive - deletes the template plus any image defined in DISK.
      Returns:
      A encapsulated response.
    • update

      public OneResponse update(String new_template)
      Replaces the template contents.
      Parameters:
      new_template - New template contents.
      Returns:
      If successful the message contains the template id.
    • update

      public OneResponse update(String new_template, boolean append)
      Replaces the template contents.
      Parameters:
      new_template - New template contents.
      append - True to append new attributes instead of replace the whole template
      Returns:
      If successful the message contains the template id.
    • publish

      public OneResponse publish(boolean publish)
      Publishes or unpublishes the template.
      Parameters:
      publish - True for publishing, false for unpublishing.
      Returns:
      If successful the message contains the template id.
    • publish

      public OneResponse publish()
      Publishes the template.
      Returns:
      If successful the message contains the template id.
    • unpublish

      public OneResponse unpublish()
      Unpublishes the template.
      Returns:
      If successful the message contains the template id.
    • chown

      public OneResponse chown(int uid, int gid)
      Changes the owner/group
      Parameters:
      uid - The new owner user ID. Set it to -1 to leave the current one.
      gid - The new group ID. Set it to -1 to leave the current one.
      Returns:
      If an error occurs the error message contains the reason.
    • chown

      public OneResponse chown(int uid)
      Changes the owner
      Parameters:
      uid - The new owner user ID.
      Returns:
      If an error occurs the error message contains the reason.
    • chgrp

      public OneResponse chgrp(int gid)
      Changes the group
      Parameters:
      gid - The new group ID.
      Returns:
      If an error occurs the error message contains the reason.
    • chmod

      public OneResponse chmod(int owner_u, int owner_m, int owner_a, int group_u, int group_m, int group_a, int other_u, int other_m, int other_a)
      Changes the template permissions
      Parameters:
      owner_u - 1 to allow, 0 deny, -1 do not change
      owner_m - 1 to allow, 0 deny, -1 do not change
      owner_a - 1 to allow, 0 deny, -1 do not change
      group_u - 1 to allow, 0 deny, -1 do not change
      group_m - 1 to allow, 0 deny, -1 do not change
      group_a - 1 to allow, 0 deny, -1 do not change
      other_u - 1 to allow, 0 deny, -1 do not change
      other_m - 1 to allow, 0 deny, -1 do not change
      other_a - 1 to allow, 0 deny, -1 do not change
      Returns:
      If an error occurs the error message contains the reason.
    • chmod

      public OneResponse chmod(int owner_u, int owner_m, int owner_a, int group_u, int group_m, int group_a, int other_u, int other_m, int other_a, boolean recursive)
      Changes the template permissions
      Parameters:
      owner_u - 1 to allow, 0 deny, -1 do not change
      owner_m - 1 to allow, 0 deny, -1 do not change
      owner_a - 1 to allow, 0 deny, -1 do not change
      group_u - 1 to allow, 0 deny, -1 do not change
      group_m - 1 to allow, 0 deny, -1 do not change
      group_a - 1 to allow, 0 deny, -1 do not change
      other_u - 1 to allow, 0 deny, -1 do not change
      other_m - 1 to allow, 0 deny, -1 do not change
      other_a - 1 to allow, 0 deny, -1 do not change
      recursive - chmods the template plus any image defined in DISK.
      Returns:
      If an error occurs the error message contains the reason.
    • chmod

      public OneResponse chmod(String octet)
      Changes the permissions
      Parameters:
      octet - Permissions octed , e.g. 640
      Returns:
      If an error occurs the error message contains the reason.
    • chmod

      public OneResponse chmod(String octet, boolean recursive)
      Changes the permissions
      Parameters:
      octet - Permissions octed , e.g. 640
      recursive - chmods the template plus any image defined in DISK.
      Returns:
      If an error occurs the error message contains the reason.
    • chmod

      public OneResponse chmod(int octet)
      Changes the permissions
      Parameters:
      octet - Permissions octed , e.g. 640
      Returns:
      If an error occurs the error message contains the reason.
    • chmod

      public OneResponse chmod(int octet, boolean recursive)
      Changes the permissions
      Parameters:
      octet - Permissions octed , e.g. 640
      recursive - chmods the template plus any image defined in DISK.
      Returns:
      If an error occurs the error message contains the reason.
    • instantiate

      public OneResponse instantiate(String name, boolean onHold, String template, boolean persistent)
      Creates a VM instance from a Template
      Parameters:
      name - A string containing the name of the VM instance, can be empty.
      onHold - False to create this VM in pending state, true on hold
      template - User provided Template to merge with the one being instantiated
      persistent - true to create a private persistent copy of the template plus any image defined in DISK, and instantiate that copy
      Returns:
      If successful the message contains the VM Instance ID.
    • instantiate

      public OneResponse instantiate(String name)
      Creates a VM instance from a Template
      Parameters:
      name - A string containing the name of the VM instance, can be empty.
      Returns:
      If successful the message contains the VM Instance ID.
    • instantiate

      public OneResponse instantiate()
      Creates a VM instance from a Template
      Returns:
      If successful the message contains the VM Instance ID.
    • clone

      public OneResponse clone(String name)
      Clones this template into a new one
      Parameters:
      name - Name for the new template.
      Returns:
      If successful the message contains the new template ID.
    • clone

      public OneResponse clone(String name, boolean recursive)
      Clones this template into a new one
      Parameters:
      name - Name for the new template.
      recursive - clones the template plus any image defined in DISK. The new IMAGE_ID is set into each DISK.
      Returns:
      If successful the message contains the new template ID.
    • rename

      public OneResponse rename(String name)
      Renames this Template
      Parameters:
      name - New name for the Template.
      Returns:
      If an error occurs the error message contains the reason.
    • lock

      public OneResponse lock(int level)
      Lock this template
      Parameters:
      level - Lock level.
      Returns:
      If an error occurs the error message contains the reason.
    • unlock

      public OneResponse unlock()
      Unlock this template
      Returns:
      If an error occurs the error message contains the reason.