Interface GlobalHostApi


  • public interface GlobalHostApi
    Provides synchronous access to cloudstack via their REST API.

    See Also:
    • Method Detail

      • listHosts

        @Named("listHosts")
        @GET
        @Consumes("application/json")
        Set<Host> listHosts​(ListHostsOptions... options)
        Lists hosts
        Parameters:
        options - if present, how to constrain the list.
        Returns:
        hosts matching query, or empty set, if no service offerings are found
      • addHost

        @Named("addHost")
        @GET
        @Consumes("application/json")
        Host addHost​(@QueryParam("zoneid")
                     String zoneId,
                     @QueryParam("url")
                     String url,
                     @QueryParam("hypervisor")
                     String hypervisor,
                     @QueryParam("username")
                     String username,
                     @QueryParam("password")
                     String password,
                     AddHostOptions... options)
        Adds a new host.
        Parameters:
        zoneId - the Zone ID for the host
        url - the host URL
        hypervisor - hypervisor type of the host
        username - the username for the host
        password - the password for the host
        options - optional arguments
        Returns:
        the new host.
      • updateHost

        @Named("updateHost")
        @GET
        @Consumes("application/json")
        Host updateHost​(@QueryParam("id")
                        String hostId,
                        UpdateHostOptions... options)
        Updates a host.
        Parameters:
        hostId - the ID of the host to update
        options - optional arguments
        Returns:
        the modified host.
      • updateHostPassword

        @Named("updateHostPassword")
        @GET
        @Consumes("application/json")
        void updateHostPassword​(@QueryParam("hostid")
                                String hostId,
                                @QueryParam("username")
                                String username,
                                @QueryParam("password")
                                String password)
        Update password of a host on management server.
        Parameters:
        hostId - the host ID
        username - the username for the host
        password - the password for the host
      • deleteHost

        @Named("deleteHost")
        @GET
        @Consumes("application/json")
        void deleteHost​(@QueryParam("id")
                        String hostId,
                        DeleteHostOptions... options)
        Deletes a host.
        Parameters:
        hostId - the host ID
        options - optional arguments
      • prepareHostForMaintenance

        @Named("prepareHostForMaintenance")
        @GET
        @Consumes("application/json")
        String prepareHostForMaintenance​(@QueryParam("id")
                                         String hostId)
        Prepares a host for maintenance.
        Parameters:
        hostId - the host ID
        Returns:
        a job reference number for tracking this asynchronous job.
      • cancelHostMaintenance

        @Named("cancelHostMaintenance")
        @GET
        @Consumes("application/json")
        String cancelHostMaintenance​(@QueryParam("id")
                                     String hostId)
        Cancels host maintenance.
        Parameters:
        hostId - the host ID
        Returns:
        a job reference number for tracking this asynchronous job.
      • reconnectHost

        @Named("reconnectHost")
        @GET
        @Consumes("application/json")
        String reconnectHost​(@QueryParam("id")
                             String hostId)
        Reconnects a host.
        Parameters:
        hostId -
        Returns:
        a job reference number for tracking this asynchronous job.
      • addSecondaryStorage

        @Named("addSecondaryStorage")
        @GET
        @Consumes("application/json")
        Host addSecondaryStorage​(@QueryParam("url")
                                 String url,
                                 AddSecondaryStorageOptions... options)
        Adds secondary storage.
        Parameters:
        url - the URL for the secondary storage
        options - optional arguments
        Returns:
        the host of the storage.
      • addCluster

        @Named("addCluster")
        @GET
        @Consumes("application/json")
        Cluster addCluster​(@QueryParam("zoneid")
                           String zoneId,
                           @QueryParam("clustername")
                           String clusterName,
                           @QueryParam("clustertype")
                           Host.ClusterType clusterType,
                           @QueryParam("hypervisor")
                           String hypervisor,
                           AddClusterOptions... options)
        Adds a new cluster.
        Parameters:
        zoneId - the Zone ID for the cluster
        clusterName - the cluster name
        clusterType - type of the cluster
        hypervisor - hypervisor type of the cluster
        options - optional arguments
        Returns:
        the new cluster.
      • updateCluster

        @Named("updateCluster")
        @GET
        @Consumes("application/json")
        Cluster updateCluster​(@QueryParam("id")
                              String clusterId,
                              UpdateClusterOptions... options)
        Updates an existing cluster.
        Parameters:
        clusterId - the ID of the cluster
        options - optional arguments
        Returns:
        the modified cluster
      • updateClusterPassword

        @Named("updateHostPassword")
        @GET
        @Consumes("application/json")
        void updateClusterPassword​(@QueryParam("clusterid")
                                   String clusterId,
                                   @QueryParam("username")
                                   String username,
                                   @QueryParam("password")
                                   String password)
        Update password of a cluster on management server.
        Parameters:
        clusterId - the cluster ID
        username - the username for the cluster
        password - the password for the cluster
      • deleteCluster

        @Named("deleteCluster")
        @GET
        @Consumes("application/json")
        void deleteCluster​(@QueryParam("id")
                           String clusterId)
        Deletes a cluster.
        Parameters:
        clusterId - the cluster ID