
package net.flexiant.extility;

import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.ws.Holder;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;


/**
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.2.8
 * Generated source version: 2.2
 * 
 */
@WebService(name = "UserService", targetNamespace = "http://extility.flexiant.net")
@XmlSeeAlso({
    ObjectFactory.class
})
public interface UserService {


    /**
     * 
     * @param when
     * @param skeletonGroup
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "success", targetNamespace = "")
    @RequestWrapper(localName = "createGroup", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateGroup")
    @ResponseWrapper(localName = "createGroupResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateGroupResponse")
    public Job createGroup(
        @WebParam(name = "skeletonGroup", targetNamespace = "")
        Group skeletonGroup,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param skeletonImage
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "createImage", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateImage")
    @ResponseWrapper(localName = "createImageResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateImageResponse")
    public Job createImage(
        @WebParam(name = "skeletonImage", targetNamespace = "")
        Image skeletonImage,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param resourceKey
     * @param resourceUUID
     * @return
     *     returns net.flexiant.extility.Resource
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "resource", targetNamespace = "")
    @RequestWrapper(localName = "addKey", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.AddKey")
    @ResponseWrapper(localName = "addKeyResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.AddKeyResponse")
    public Resource addKey(
        @WebParam(name = "resourceUUID", targetNamespace = "")
        String resourceUUID,
        @WebParam(name = "resourceKey", targetNamespace = "")
        ResourceKey resourceKey)
        throws ExtilityException
    ;

    /**
     * 
     * @param resourceKey
     * @param resourceUUID
     * @return
     *     returns net.flexiant.extility.Resource
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "resource", targetNamespace = "")
    @RequestWrapper(localName = "removeKey", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.RemoveKey")
    @ResponseWrapper(localName = "removeKeyResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.RemoveKeyResponse")
    public Resource removeKey(
        @WebParam(name = "resourceUUID", targetNamespace = "")
        String resourceUUID,
        @WebParam(name = "resourceKey", targetNamespace = "")
        ResourceKey resourceKey)
        throws ExtilityException
    ;

    /**
     * 
     * @param queryLimit
     * @param searchFilter
     * @param resourceType
     * @return
     *     returns net.flexiant.extility.ListResult
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "resourcesList", targetNamespace = "")
    @RequestWrapper(localName = "listResources", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ListResources")
    @ResponseWrapper(localName = "listResourcesResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ListResourcesResponse")
    public ListResult listResources(
        @WebParam(name = "searchFilter", targetNamespace = "")
        SearchFilter searchFilter,
        @WebParam(name = "queryLimit", targetNamespace = "")
        QueryLimit queryLimit,
        @WebParam(name = "resourceType", targetNamespace = "")
        ResourceType resourceType)
        throws ExtilityException
    ;

    /**
     * 
     * @param resourceKey
     * @param resourceUUID
     * @return
     *     returns net.flexiant.extility.VirtualResource
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "resource", targetNamespace = "")
    @RequestWrapper(localName = "modifyKey", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyKey")
    @ResponseWrapper(localName = "modifyKeyResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyKeyResponse")
    public VirtualResource modifyKey(
        @WebParam(name = "resourceUUID", targetNamespace = "")
        String resourceUUID,
        @WebParam(name = "resourceKey", targetNamespace = "")
        ResourceKey resourceKey)
        throws ExtilityException
    ;

    /**
     * 
     * @param resourceMetadata
     * @param resourceUUID
     * @return
     *     returns boolean
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "success", targetNamespace = "")
    @RequestWrapper(localName = "updateMetadata", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.UpdateMetadata")
    @ResponseWrapper(localName = "updateMetadataResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.UpdateMetadataResponse")
    public boolean updateMetadata(
        @WebParam(name = "resourceUUID", targetNamespace = "")
        String resourceUUID,
        @WebParam(name = "resourceMetadata", targetNamespace = "")
        ResourceMetadata resourceMetadata)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param updatedResource
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "modifyResource", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyResource")
    @ResponseWrapper(localName = "modifyResourceResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyResourceResponse")
    public Job modifyResource(
        @WebParam(name = "updatedResource", targetNamespace = "")
        VirtualResource updatedResource,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param customerDetails
     * @return
     *     returns net.flexiant.extility.CustomerDetails
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "customer", targetNamespace = "")
    @RequestWrapper(localName = "updateCustomer", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.UpdateCustomer")
    @ResponseWrapper(localName = "updateCustomerResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.UpdateCustomerResponse")
    public CustomerDetails updateCustomer(
        @WebParam(name = "customerDetails", targetNamespace = "")
        CustomerDetails customerDetails)
        throws ExtilityException
    ;

    /**
     * 
     * @param skeletonSubnet
     * @param when
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "createSubnet", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateSubnet")
    @ResponseWrapper(localName = "createSubnetResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateSubnetResponse")
    public Job createSubnet(
        @WebParam(name = "skeletonSubnet", targetNamespace = "")
        Subnet skeletonSubnet,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param skeletonDisk
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "createDisk", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateDisk")
    @ResponseWrapper(localName = "createDiskResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateDiskResponse")
    public Job createDisk(
        @WebParam(name = "skeletonDisk", targetNamespace = "")
        Disk skeletonDisk,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param skeletonServer
     * @param when
     * @param sshKeyUUIDList
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "createServer", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateServer")
    @ResponseWrapper(localName = "createServerResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateServerResponse")
    public Job createServer(
        @WebParam(name = "skeletonServer", targetNamespace = "")
        Server skeletonServer,
        @WebParam(name = "sshKeyUUIDList", targetNamespace = "")
        List<String> sshKeyUUIDList,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param passwordHash
     * @param password
     * @param userDetails
     * @return
     *     returns net.flexiant.extility.UserDetails
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "user", targetNamespace = "")
    @RequestWrapper(localName = "updateUser", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.UpdateUser")
    @ResponseWrapper(localName = "updateUserResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.UpdateUserResponse")
    public UserDetails updateUser(
        @WebParam(name = "userDetails", targetNamespace = "")
        UserDetails userDetails,
        @WebParam(name = "password", targetNamespace = "")
        String password,
        @WebParam(name = "passwordHash", targetNamespace = "")
        String passwordHash)
        throws ExtilityException
    ;

    /**
     * 
     * @param index
     * @param when
     * @param serverUUID
     * @param diskUUID
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "attachDisk", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.AttachDisk")
    @ResponseWrapper(localName = "attachDiskResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.AttachDiskResponse")
    public Job attachDisk(
        @WebParam(name = "serverUUID", targetNamespace = "")
        String serverUUID,
        @WebParam(name = "diskUUID", targetNamespace = "")
        String diskUUID,
        @WebParam(name = "index", targetNamespace = "")
        int index,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param serverUUID
     * @param diskUUID
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "detachDisk", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DetachDisk")
    @ResponseWrapper(localName = "detachDiskResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DetachDiskResponse")
    public Job detachDisk(
        @WebParam(name = "serverUUID", targetNamespace = "")
        String serverUUID,
        @WebParam(name = "diskUUID", targetNamespace = "")
        String diskUUID,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param networkInterfaceUUID
     * @param when
     * @param ipAddress
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "removeIP", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.RemoveIP")
    @ResponseWrapper(localName = "removeIPResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.RemoveIPResponse")
    public Job removeIP(
        @WebParam(name = "networkInterfaceUUID", targetNamespace = "")
        String networkInterfaceUUID,
        @WebParam(name = "ipAddress", targetNamespace = "")
        String ipAddress,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param imageUUID
     * @param publishTo
     * @return
     *     returns boolean
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "success", targetNamespace = "")
    @RequestWrapper(localName = "publishImage", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.PublishImage")
    @ResponseWrapper(localName = "publishImageResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.PublishImageResponse")
    public boolean publishImage(
        @WebParam(name = "imageUUID", targetNamespace = "")
        String imageUUID,
        @WebParam(name = "publishTo", targetNamespace = "")
        String publishTo)
        throws ExtilityException
    ;

    /**
     * 
     * @param imageUUID
     * @param publishTo
     * @return
     *     returns boolean
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "success", targetNamespace = "")
    @RequestWrapper(localName = "revokeImage", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.RevokeImage")
    @ResponseWrapper(localName = "revokeImageResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.RevokeImageResponse")
    public boolean revokeImage(
        @WebParam(name = "imageUUID", targetNamespace = "")
        String imageUUID,
        @WebParam(name = "publishTo", targetNamespace = "")
        String publishTo)
        throws ExtilityException
    ;

    /**
     * 
     * @param queryLimit
     * @param searchFilter
     * @return
     *     returns net.flexiant.extility.ListResult
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "listUnitTransactionSummary", targetNamespace = "")
    @RequestWrapper(localName = "listUnitTransactionSummary", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ListUnitTransactionSummary")
    @ResponseWrapper(localName = "listUnitTransactionSummaryResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ListUnitTransactionSummaryResponse")
    public ListResult listUnitTransactionSummary(
        @WebParam(name = "searchFilter", targetNamespace = "")
        SearchFilter searchFilter,
        @WebParam(name = "queryLimit", targetNamespace = "")
        QueryLimit queryLimit)
        throws ExtilityException
    ;

    /**
     * 
     * @param queryLimit
     * @param searchFilter
     * @return
     *     returns net.flexiant.extility.ListResult
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "listReferralPromoCode", targetNamespace = "")
    @RequestWrapper(localName = "listReferralPromoCode", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ListReferralPromoCode")
    @ResponseWrapper(localName = "listReferralPromoCodeResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ListReferralPromoCodeResponse")
    public ListResult listReferralPromoCode(
        @WebParam(name = "searchFilter", targetNamespace = "")
        SearchFilter searchFilter,
        @WebParam(name = "queryLimit", targetNamespace = "")
        QueryLimit queryLimit)
        throws ExtilityException
    ;

    /**
     * 
     * @param skeletonSnapshot
     * @param when
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "createSnapshot", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateSnapshot")
    @ResponseWrapper(localName = "createSnapshotResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateSnapshotResponse")
    public Job createSnapshot(
        @WebParam(name = "skeletonSnapshot", targetNamespace = "")
        Snapshot skeletonSnapshot,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param skeletonNetwork
     * @param when
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "createNetwork", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateNetwork")
    @ResponseWrapper(localName = "createNetworkResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateNetworkResponse")
    public Job createNetwork(
        @WebParam(name = "skeletonNetwork", targetNamespace = "")
        Network skeletonNetwork,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param referralPromoCode
     * @throws ExtilityException
     */
    @WebMethod
    @RequestWrapper(localName = "createReferralPromoCode", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateReferralPromoCode")
    @ResponseWrapper(localName = "createReferralPromoCodeResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateReferralPromoCodeResponse")
    public void createReferralPromoCode(
        @WebParam(name = "referralPromoCode", targetNamespace = "", mode = WebParam.Mode.INOUT)
        Holder<ReferralPromoCode> referralPromoCode)
        throws ExtilityException
    ;

    /**
     * 
     * @param promoCode
     * @return
     *     returns boolean
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "success", targetNamespace = "")
    @RequestWrapper(localName = "deleteReferralPromoCode", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DeleteReferralPromoCode")
    @ResponseWrapper(localName = "deleteReferralPromoCodeResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DeleteReferralPromoCodeResponse")
    public boolean deleteReferralPromoCode(
        @WebParam(name = "promoCode", targetNamespace = "")
        String promoCode)
        throws ExtilityException
    ;

    /**
     * 
     * @param queryLimit
     * @param searchFilter
     * @return
     *     returns net.flexiant.extility.ListResult
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "listUnitTransaction", targetNamespace = "")
    @RequestWrapper(localName = "listUnitTransactions", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ListUnitTransactions")
    @ResponseWrapper(localName = "listUnitTransactionsResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ListUnitTransactionsResponse")
    public ListResult listUnitTransactions(
        @WebParam(name = "searchFilter", targetNamespace = "")
        SearchFilter searchFilter,
        @WebParam(name = "queryLimit", targetNamespace = "")
        QueryLimit queryLimit)
        throws ExtilityException
    ;

    /**
     * 
     * @param queryLimit
     * @param searchFilter
     * @return
     *     returns net.flexiant.extility.ListResult
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "listProductPurchases", targetNamespace = "")
    @RequestWrapper(localName = "listProductPurchases", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ListProductPurchases")
    @ResponseWrapper(localName = "listProductPurchasesResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ListProductPurchasesResponse")
    public ListResult listProductPurchases(
        @WebParam(name = "searchFilter", targetNamespace = "")
        SearchFilter searchFilter,
        @WebParam(name = "queryLimit", targetNamespace = "")
        QueryLimit queryLimit)
        throws ExtilityException
    ;

    /**
     * 
     * @param publishTo
     * @param resourceUUID
     * @return
     *     returns boolean
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "success", targetNamespace = "")
    @RequestWrapper(localName = "publishResource", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.PublishResource")
    @ResponseWrapper(localName = "publishResourceResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.PublishResourceResponse")
    public boolean publishResource(
        @WebParam(name = "resourceUUID", targetNamespace = "")
        String resourceUUID,
        @WebParam(name = "publishTo", targetNamespace = "")
        String publishTo)
        throws ExtilityException
    ;

    /**
     * 
     * @param cascade
     * @param when
     * @param resourceUUID
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "deleteResource", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DeleteResource")
    @ResponseWrapper(localName = "deleteResourceResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DeleteResourceResponse")
    public Job deleteResource(
        @WebParam(name = "resourceUUID", targetNamespace = "")
        String resourceUUID,
        @WebParam(name = "cascade", targetNamespace = "")
        boolean cascade,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param query
     * @return
     *     returns net.flexiant.extility.QueryResult
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "queryResult", targetNamespace = "")
    @RequestWrapper(localName = "doQuery", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DoQuery")
    @ResponseWrapper(localName = "doQueryResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DoQueryResponse")
    public QueryResult doQuery(
        @WebParam(name = "query", targetNamespace = "")
        Query query)
        throws ExtilityException
    ;

    /**
     * 
     * @param timestamp
     * @param measureKeys
     * @param resourceUUID
     * @return
     *     returns java.util.List<net.flexiant.extility.MeasuredValue>
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "measuredValues", targetNamespace = "")
    @RequestWrapper(localName = "getMeasuredValues", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.GetMeasuredValues")
    @ResponseWrapper(localName = "getMeasuredValuesResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.GetMeasuredValuesResponse")
    public List<MeasuredValue> getMeasuredValues(
        @WebParam(name = "measureKeys", targetNamespace = "")
        List<String> measureKeys,
        @WebParam(name = "resourceUUID", targetNamespace = "")
        List<String> resourceUUID,
        @WebParam(name = "timestamp", targetNamespace = "")
        long timestamp)
        throws ExtilityException
    ;

    /**
     * 
     * @param userUUID
     * @return
     *     returns boolean
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "success", targetNamespace = "")
    @RequestWrapper(localName = "lockUser", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.LockUser")
    @ResponseWrapper(localName = "lockUserResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.LockUserResponse")
    public boolean lockUser(
        @WebParam(name = "userUUID", targetNamespace = "")
        String userUUID)
        throws ExtilityException
    ;

    /**
     * 
     * @param userUUID
     * @return
     *     returns boolean
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "success", targetNamespace = "")
    @RequestWrapper(localName = "unlockUser", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.UnlockUser")
    @ResponseWrapper(localName = "unlockUserResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.UnlockUserResponse")
    public boolean unlockUser(
        @WebParam(name = "userUUID", targetNamespace = "")
        String userUUID)
        throws ExtilityException
    ;

    /**
     * 
     * @return
     *     returns net.flexiant.extility.MapHolder
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "resourceTypeMap", targetNamespace = "")
    @RequestWrapper(localName = "getResourceTypes", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.GetResourceTypes")
    @ResponseWrapper(localName = "getResourceTypesResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.GetResourceTypesResponse")
    public MapHolder getResourceTypes()
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param updatedResource
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "modifyNetwork", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyNetwork")
    @ResponseWrapper(localName = "modifyNetworkResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyNetworkResponse")
    public Job modifyNetwork(
        @WebParam(name = "updatedResource", targetNamespace = "")
        Network updatedResource,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param updatedResource
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "modifyDisk", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyDisk")
    @ResponseWrapper(localName = "modifyDiskResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyDiskResponse")
    public Job modifyDisk(
        @WebParam(name = "updatedResource", targetNamespace = "")
        Disk updatedResource,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param updatedResource
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "modifyServer", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyServer")
    @ResponseWrapper(localName = "modifyServerResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyServerResponse")
    public Job modifyServer(
        @WebParam(name = "updatedResource", targetNamespace = "")
        Server updatedResource,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param updatedResource
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "modifyFirewall", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyFirewall")
    @ResponseWrapper(localName = "modifyFirewallResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyFirewallResponse")
    public Job modifyFirewall(
        @WebParam(name = "updatedResource", targetNamespace = "")
        Firewall updatedResource,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param skeletonVDC
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "createVDC", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateVDC")
    @ResponseWrapper(localName = "createVDCResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateVDCResponse")
    public Job createVDC(
        @WebParam(name = "skeletonVDC", targetNamespace = "")
        Vdc skeletonVDC,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param fetchParameters
     * @param skeletonResource
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "fetchResource", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.FetchResource")
    @ResponseWrapper(localName = "fetchResourceResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.FetchResourceResponse")
    public Job fetchResource(
        @WebParam(name = "skeletonResource", targetNamespace = "")
        VirtualResource skeletonResource,
        @WebParam(name = "fetchParameters", targetNamespace = "")
        FetchParameters fetchParameters,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param newSnapshotName
     * @param resourceUUID
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "revertToResource", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.RevertToResource")
    @ResponseWrapper(localName = "revertToResourceResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.RevertToResourceResponse")
    public Job revertToResource(
        @WebParam(name = "resourceUUID", targetNamespace = "")
        String resourceUUID,
        @WebParam(name = "newSnapshotName", targetNamespace = "")
        String newSnapshotName,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param networkInterfaceUUID
     * @param index
     * @param when
     * @param serverUUID
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "attachNetworkInterface", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.AttachNetworkInterface")
    @ResponseWrapper(localName = "attachNetworkInterfaceResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.AttachNetworkInterfaceResponse")
    public Job attachNetworkInterface(
        @WebParam(name = "serverUUID", targetNamespace = "")
        String serverUUID,
        @WebParam(name = "networkInterfaceUUID", targetNamespace = "")
        String networkInterfaceUUID,
        @WebParam(name = "index", targetNamespace = "")
        int index,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param serverUUID
     * @param nicUUID
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "detachNetworkInterface", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DetachNetworkInterface")
    @ResponseWrapper(localName = "detachNetworkInterfaceResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DetachNetworkInterfaceResponse")
    public Job detachNetworkInterface(
        @WebParam(name = "serverUUID", targetNamespace = "")
        String serverUUID,
        @WebParam(name = "nicUUID", targetNamespace = "")
        String nicUUID,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param sshKeyUUID
     * @param when
     * @param serverUUID
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "attachSSHKey", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.AttachSSHKey")
    @ResponseWrapper(localName = "attachSSHKeyResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.AttachSSHKeyResponse")
    public Job attachSSHKey(
        @WebParam(name = "serverUUID", targetNamespace = "")
        String serverUUID,
        @WebParam(name = "SSHKeyUUID", targetNamespace = "")
        String sshKeyUUID,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param sshKeyUUID
     * @param when
     * @param serverUUID
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "detachSSHKey", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DetachSSHKey")
    @ResponseWrapper(localName = "detachSSHKeyResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DetachSSHKeyResponse")
    public Job detachSSHKey(
        @WebParam(name = "serverUUID", targetNamespace = "")
        String serverUUID,
        @WebParam(name = "SSHKeyUUID", targetNamespace = "")
        String sshKeyUUID,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param newStatus
     * @param safe
     * @param runtimeMetadata
     * @param when
     * @param serverUUID
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "changeServerStatus", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ChangeServerStatus")
    @ResponseWrapper(localName = "changeServerStatusResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ChangeServerStatusResponse")
    public Job changeServerStatus(
        @WebParam(name = "serverUUID", targetNamespace = "")
        String serverUUID,
        @WebParam(name = "newStatus", targetNamespace = "")
        ServerStatus newStatus,
        @WebParam(name = "safe", targetNamespace = "")
        boolean safe,
        @WebParam(name = "runtimeMetadata", targetNamespace = "")
        ResourceMetadata runtimeMetadata,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param serverUUID
     * @param handlerType
     * @return
     *     returns net.flexiant.extility.VncConnection
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "vncConnection", targetNamespace = "")
    @RequestWrapper(localName = "openVNCConnection", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.OpenVNCConnection")
    @ResponseWrapper(localName = "openVNCConnectionResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.OpenVNCConnectionResponse")
    public VncConnection openVNCConnection(
        @WebParam(name = "serverUUID", targetNamespace = "")
        String serverUUID,
        @WebParam(name = "handlerType", targetNamespace = "")
        VncHandler handlerType)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param updatedResource
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "modifySnapshot", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifySnapshot")
    @ResponseWrapper(localName = "modifySnapshotResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifySnapshotResponse")
    public Job modifySnapshot(
        @WebParam(name = "updatedResource", targetNamespace = "")
        Snapshot updatedResource,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param subnetUUID
     * @param when
     * @param networkUUID
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "attachSubnet", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.AttachSubnet")
    @ResponseWrapper(localName = "attachSubnetResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.AttachSubnetResponse")
    public Job attachSubnet(
        @WebParam(name = "networkUUID", targetNamespace = "")
        String networkUUID,
        @WebParam(name = "subnetUUID", targetNamespace = "")
        String subnetUUID,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param updatedResource
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "modifySubnet", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifySubnet")
    @ResponseWrapper(localName = "modifySubnetResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifySubnetResponse")
    public Job modifySubnet(
        @WebParam(name = "updatedResource", targetNamespace = "")
        Subnet updatedResource,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param skeletonFirewallTemplate
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "createFirewallTemplate", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateFirewallTemplate")
    @ResponseWrapper(localName = "createFirewallTemplateResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateFirewallTemplateResponse")
    public Job createFirewallTemplate(
        @WebParam(name = "skeletonFirewallTemplate", targetNamespace = "")
        FirewallTemplate skeletonFirewallTemplate,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param updatedResource
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "modifyFirewallTemplate", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyFirewallTemplate")
    @ResponseWrapper(localName = "modifyFirewallTemplateResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyFirewallTemplateResponse")
    public Job modifyFirewallTemplate(
        @WebParam(name = "updatedResource", targetNamespace = "")
        FirewallTemplate updatedResource,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param firewallTemplateUUID
     * @param ipAddress
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "applyFirewallTemplate", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ApplyFirewallTemplate")
    @ResponseWrapper(localName = "applyFirewallTemplateResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ApplyFirewallTemplateResponse")
    public Job applyFirewallTemplate(
        @WebParam(name = "firewallTemplateUUID", targetNamespace = "")
        String firewallTemplateUUID,
        @WebParam(name = "ipAddress", targetNamespace = "")
        String ipAddress,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param skeletonSSHKey
     * @param when
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "createSSHKey", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateSSHKey")
    @ResponseWrapper(localName = "createSSHKeyResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateSSHKeyResponse")
    public Job createSSHKey(
        @WebParam(name = "skeletonSSHKey", targetNamespace = "")
        SshKey skeletonSSHKey,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param updatedSSHKey
     * @param when
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "modifySSHKey", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifySSHKey")
    @ResponseWrapper(localName = "modifySSHKeyResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifySSHKeyResponse")
    public Job modifySSHKey(
        @WebParam(name = "updatedSSHKey", targetNamespace = "")
        SshKey updatedSSHKey,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param skeletonNIC
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "createNetworkInterface", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateNetworkInterface")
    @ResponseWrapper(localName = "createNetworkInterfaceResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateNetworkInterfaceResponse")
    public Job createNetworkInterface(
        @WebParam(name = "skeletonNIC", targetNamespace = "")
        Nic skeletonNIC,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param updatedResource
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "modifyGroup", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyGroup")
    @ResponseWrapper(localName = "modifyGroupResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyGroupResponse")
    public Job modifyGroup(
        @WebParam(name = "updatedResource", targetNamespace = "")
        Group updatedResource,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param updatedResource
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "modifyNetworkInterface", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyNetworkInterface")
    @ResponseWrapper(localName = "modifyNetworkInterfaceResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyNetworkInterfaceResponse")
    public Job modifyNetworkInterface(
        @WebParam(name = "updatedResource", targetNamespace = "")
        Nic updatedResource,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param networkInterfaceUUID
     * @param when
     * @param auto
     * @param ipAddress
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "addIP", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.AddIP")
    @ResponseWrapper(localName = "addIPResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.AddIPResponse")
    public Job addIP(
        @WebParam(name = "networkInterfaceUUID", targetNamespace = "")
        String networkInterfaceUUID,
        @WebParam(name = "ipAddress", targetNamespace = "")
        String ipAddress,
        @WebParam(name = "auto", targetNamespace = "")
        boolean auto,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param updatedResource
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "modifyVDC", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyVDC")
    @ResponseWrapper(localName = "modifyVDCResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyVDCResponse")
    public Job modifyVDC(
        @WebParam(name = "updatedResource", targetNamespace = "")
        Vdc updatedResource,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param updatedResource
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "modifyImage", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyImage")
    @ResponseWrapper(localName = "modifyImageResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyImageResponse")
    public Job modifyImage(
        @WebParam(name = "updatedResource", targetNamespace = "")
        Image updatedResource,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param jobUUID
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "cancelJob", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CancelJob")
    @ResponseWrapper(localName = "cancelJobResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CancelJobResponse")
    public Job cancelJob(
        @WebParam(name = "JobUUID", targetNamespace = "")
        String jobUUID)
        throws ExtilityException
    ;

    /**
     * 
     * @param jobUUID
     * @param noWaitForChildren
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "waitForJob", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.WaitForJob")
    @ResponseWrapper(localName = "waitForJobResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.WaitForJobResponse")
    public Job waitForJob(
        @WebParam(name = "jobUUID", targetNamespace = "")
        String jobUUID,
        @WebParam(name = "noWaitForChildren", targetNamespace = "")
        boolean noWaitForChildren)
        throws ExtilityException
    ;

    /**
     * 
     * @param publishTo
     * @param resourceUUID
     * @return
     *     returns boolean
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "success", targetNamespace = "")
    @RequestWrapper(localName = "revokeResource", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.RevokeResource")
    @ResponseWrapper(localName = "revokeResourceResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.RevokeResourceResponse")
    public boolean revokeResource(
        @WebParam(name = "resourceUUID", targetNamespace = "")
        String resourceUUID,
        @WebParam(name = "publishTo", targetNamespace = "")
        String publishTo)
        throws ExtilityException
    ;

    /**
     * 
     * @param snapshotUUID
     * @param when
     * @param name
     * @param locationUUID
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "cloneResource", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CloneResource")
    @ResponseWrapper(localName = "cloneResourceResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CloneResourceResponse")
    public Job cloneResource(
        @WebParam(name = "snapshotUUID", targetNamespace = "")
        String snapshotUUID,
        @WebParam(name = "name", targetNamespace = "")
        String name,
        @WebParam(name = "locationUUID", targetNamespace = "")
        String locationUUID,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param permissions
     * @param resourceUUID
     * @return
     *     returns boolean
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "success", targetNamespace = "")
    @RequestWrapper(localName = "setPermissions", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.SetPermissions")
    @ResponseWrapper(localName = "setPermissionsResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.SetPermissionsResponse")
    public boolean setPermissions(
        @WebParam(name = "resourceUUID", targetNamespace = "")
        String resourceUUID,
        @WebParam(name = "permissions", targetNamespace = "")
        List<Permission> permissions)
        throws ExtilityException
    ;

    /**
     * 
     * @param queryLimit
     * @param searchFilter
     * @return
     *     returns net.flexiant.extility.ListResult
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "permissions", targetNamespace = "")
    @RequestWrapper(localName = "listPermissions", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ListPermissions")
    @ResponseWrapper(localName = "listPermissionsResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ListPermissionsResponse")
    public ListResult listPermissions(
        @WebParam(name = "searchFilter", targetNamespace = "")
        SearchFilter searchFilter,
        @WebParam(name = "queryLimit", targetNamespace = "")
        QueryLimit queryLimit)
        throws ExtilityException
    ;

    /**
     * 
     * @param permission
     * @param resourceUUID
     * @return
     *     returns boolean
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "permitted", targetNamespace = "")
    @RequestWrapper(localName = "isPermitted", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.IsPermitted")
    @ResponseWrapper(localName = "isPermittedResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.IsPermittedResponse")
    public boolean isPermitted(
        @WebParam(name = "resourceUUID", targetNamespace = "")
        String resourceUUID,
        @WebParam(name = "permission", targetNamespace = "")
        Permission permission)
        throws ExtilityException
    ;

    /**
     * 
     * @param userUUID
     * @param groupUUID
     * @return
     *     returns boolean
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "success", targetNamespace = "")
    @RequestWrapper(localName = "addUserToGroup", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.AddUserToGroup")
    @ResponseWrapper(localName = "addUserToGroupResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.AddUserToGroupResponse")
    public boolean addUserToGroup(
        @WebParam(name = "userUUID", targetNamespace = "")
        String userUUID,
        @WebParam(name = "groupUUID", targetNamespace = "")
        String groupUUID)
        throws ExtilityException
    ;

    /**
     * 
     * @param userUUID
     * @param groupUUID
     * @return
     *     returns boolean
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "success", targetNamespace = "")
    @RequestWrapper(localName = "deleteUserFromGroup", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DeleteUserFromGroup")
    @ResponseWrapper(localName = "deleteUserFromGroupResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DeleteUserFromGroupResponse")
    public boolean deleteUserFromGroup(
        @WebParam(name = "userUUID", targetNamespace = "")
        String userUUID,
        @WebParam(name = "groupUUID", targetNamespace = "")
        String groupUUID)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param skeletonDeploymentTemplate
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "createDeploymentTemplate", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateDeploymentTemplate")
    @ResponseWrapper(localName = "createDeploymentTemplateResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateDeploymentTemplateResponse")
    public Job createDeploymentTemplate(
        @WebParam(name = "skeletonDeploymentTemplate", targetNamespace = "")
        DeploymentTemplate skeletonDeploymentTemplate,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param skeletonDeploymentInstance
     * @return
     *     returns net.flexiant.extility.DryRunResult
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "dryRunResult", targetNamespace = "")
    @RequestWrapper(localName = "dryRunTemplate", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DryRunTemplate")
    @ResponseWrapper(localName = "dryRunTemplateResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DryRunTemplateResponse")
    public DryRunResult dryRunTemplate(
        @WebParam(name = "skeletonDeploymentInstance", targetNamespace = "")
        DeploymentInstance skeletonDeploymentInstance,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param skeletonDeploymentInstance
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "deployTemplate", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DeployTemplate")
    @ResponseWrapper(localName = "deployTemplateResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.DeployTemplateResponse")
    public Job deployTemplate(
        @WebParam(name = "skeletonDeploymentInstance", targetNamespace = "")
        DeploymentInstance skeletonDeploymentInstance,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param newStatus
     * @param safe
     * @param runtimeMetadata
     * @param when
     * @param deploymentInstanceUUID
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "changeDeploymentInstanceStatus", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ChangeDeploymentInstanceStatus")
    @ResponseWrapper(localName = "changeDeploymentInstanceStatusResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ChangeDeploymentInstanceStatusResponse")
    public Job changeDeploymentInstanceStatus(
        @WebParam(name = "deploymentInstanceUUID", targetNamespace = "")
        String deploymentInstanceUUID,
        @WebParam(name = "newStatus", targetNamespace = "")
        DeploymentInstanceStatus newStatus,
        @WebParam(name = "safe", targetNamespace = "")
        boolean safe,
        @WebParam(name = "runtimeMetadata", targetNamespace = "")
        ResourceMetadata runtimeMetadata,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param updatedResource
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "modifyDeploymentTemplate", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyDeploymentTemplate")
    @ResponseWrapper(localName = "modifyDeploymentTemplateResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyDeploymentTemplateResponse")
    public Job modifyDeploymentTemplate(
        @WebParam(name = "updatedResource", targetNamespace = "")
        DeploymentTemplate updatedResource,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param when
     * @param updatedResource
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "modifyDeploymentInstance", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyDeploymentInstance")
    @ResponseWrapper(localName = "modifyDeploymentInstanceResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.ModifyDeploymentInstanceResponse")
    public Job modifyDeploymentInstance(
        @WebParam(name = "updatedResource", targetNamespace = "")
        DeploymentInstance updatedResource,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

    /**
     * 
     * @param instanceUUID
     * @param when
     * @return
     *     returns net.flexiant.extility.Job
     * @throws ExtilityException
     */
    @WebMethod
    @WebResult(name = "job", targetNamespace = "")
    @RequestWrapper(localName = "createDeploymentTemplateFromInstance", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateDeploymentTemplateFromInstance")
    @ResponseWrapper(localName = "createDeploymentTemplateFromInstanceResponse", targetNamespace = "http://extility.flexiant.net", className = "net.flexiant.extility.CreateDeploymentTemplateFromInstanceResponse")
    public Job createDeploymentTemplateFromInstance(
        @WebParam(name = "instanceUUID", targetNamespace = "")
        String instanceUUID,
        @WebParam(name = "when", targetNamespace = "")
        XMLGregorianCalendar when)
        throws ExtilityException
    ;

}
