Interface GlobalHostApi


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

See Also:
  • Method Details

    • 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.
    • listClusters

      @Named("listClusters") @GET @Consumes("application/json") Set<Cluster> listClusters(ListClustersOptions... options)
      See Also:
    • 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