Class Template


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

      • Template

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

        protected Template​(org.w3c.dom.Node xmlElement,
                           Client client)
        See Also:
        PoolElement
    • Method Detail

      • allocate

        public static OneResponse allocate​(Client client,
                                           java.lang.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,
                                         java.lang.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,
                                        java.lang.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,
                                        java.lang.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,
                                              java.lang.String name,
                                              boolean onHold,
                                              java.lang.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,
                                        java.lang.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,
                                        java.lang.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,
                                         java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.String name,
                                       boolean onHold,
                                       java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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.