Interface MorpheusComputeServerService

All Superinterfaces:
MorpheusDataQueryService<ComputeServer>, MorpheusDataService<ComputeServer,ComputeServerIdentityProjection>, MorpheusIdentityService<ComputeServerIdentityProjection>

Context methods for syncing ComputeServer in Morpheus
Since:
0.8.0
  • Method Details

    • listIdentityProjections

      io.reactivex.rxjava3.core.Observable<ComputeServerIdentityProjection> listIdentityProjections(Long cloudId, String regionCode)
      Get a list of ComputeServer projections based on Cloud id
      Parameters:
      cloudId - Cloud id
      regionCode - the ComputeZoneRegion to optionally filter by
      Returns:
      Observable stream of sync projection
    • listSyncProjections

      @Deprecated io.reactivex.rxjava3.core.Observable<ComputeServerIdentityProjection> listSyncProjections(Long cloudId)
      Deprecated.
      Get a list of ComputeServer projections based on Cloud id
      Parameters:
      cloudId - Cloud id
      Returns:
      Observable stream of sync projection
    • listByCloudAndExternalIdIn

      io.reactivex.rxjava3.core.Observable<ComputeServer> listByCloudAndExternalIdIn(Long cloudId, Collection<String> externalIds)
      Lists all ComputeServer objects by cloud ID and a list of External IDs.
      Parameters:
      cloudId - the cloud to filter the list of servers by.
      externalIds - a Collection of external Ids to filter the list of servers by
      Returns:
      an RxJava Observable stream of ComputeServer to be subscribed to.
    • listByResourcePoolId

      io.reactivex.rxjava3.core.Observable<ComputeServer> listByResourcePoolId(Long resourcePoolId)
      Lists all ComputeServer objects by a ComputeZonePool.
      Parameters:
      resourcePoolId - the id of the resource pool (ComputeZonePool) to filter the list of servers by.
      Returns:
      an RxJava Observable stream of ComputeServer to be subscribed to.
    • updatePowerState

      io.reactivex.rxjava3.core.Single<Void> updatePowerState(Long computeServerId, ComputeServer.PowerState state)
      Update the power state of a server and any related vms
      Parameters:
      computeServerId - id of the ComputeServer
      state - power state
      Returns:
      void
    • getComputeServerInterface

      MorpheusComputeServerInterfaceService getComputeServerInterface()
      Returns the ComputeServerInterfaceContext used for performing updates or queries on ComputeServerInterface related assets within Morpheus.
      Returns:
      An instance of the ComputeServerInterface Context
    • getComputePort

      MorpheusComputePortService getComputePort()
      Returns the ComputePort context used for performing sync operations on ComputePort related assets within Morpheus.
      Returns:
      An instance of the ComputePort context
    • getAccess

      Returns the ComputePort context used for performing sync operations on ComputeServerAccess related assets within Morpheus.
      Returns:
      An instance of the ComputeServerAccess context
    • getComputeDevice

      MorpheusComputeDeviceService getComputeDevice()
      Returns the ComputeDevice context used for performing sync operations on ComputeDevice related assets within Morpheus.
      Returns:
      An instance of the ComputeDevice context
    • remove

      io.reactivex.rxjava3.core.Single<Boolean> remove(List<ComputeServer> computeServers, InstanceScale instanceScale)
      Remove persisted ComputeServers from Morpheus and remove them the InstanceScale they are associated with
      Parameters:
      computeServers - ComputeServers to delete
      instanceScale - the InstanceScale instance to remove the servers from
      Returns:
      success
    • addHost

      io.reactivex.rxjava3.core.Single<ServiceResponse<ComputeServer>> addHost(Cloud cloud, AddHostRequest request)
      Provisions a new host onto the target Cloud using the supplied request details.

      This triggers host provisioning. A new ComputeServer is created and queued for provisioning on the cloud; on success the returned server may still be in a provisioning state. This is not a metadata-only registration of an existing machine — it stands up a new compute host on the cloud.

      Parameters:
      cloud - the target cloud that should receive the newly provisioned host
      request - the request object describing the host to provision
      Returns:
      a ServiceResponse containing the newly provisioned ComputeServer on success
      Since:
      1.4.2
    • removeHost

      io.reactivex.rxjava3.core.Single<ServiceResponse> removeHost(ComputeServer server, RemoveHostRequest request)
      Removes the specified host using the supplied request details.
      Parameters:
      server - the ComputeServer host to remove
      request - the request object describing the host removal
      Returns:
      a ServiceResponse indicating success or failure
      Since:
      1.4.2
    • stopServer

      io.reactivex.rxjava3.core.Single<Boolean> stopServer(Long computeServerId)
      Stop a ComputeServer. This is an async operation and the server may not be stopped immediately.
      Parameters:
      computeServerId - ComputeServer id to stop
      Returns:
      success if the request to stop the server was successful
    • startServer

      io.reactivex.rxjava3.core.Single<Boolean> startServer(Long computeServerId)
      Start a ComputeServer. This is an async operation and the server may not be started immediately.
      Parameters:
      computeServerId - ComputeServer id to start
      Returns:
      success if the request to start the server was successful
    • restartServer

      io.reactivex.rxjava3.core.Single<Boolean> restartServer(Long computeServerId)
      Restart a ComputeServer. This is an async operation and the server may not be restarted immediately.
      Parameters:
      computeServerId - ComputeServer id to restart
      Returns:
      success if the request to restart the server was successful
    • validateUpdate

      io.reactivex.rxjava3.core.Single<ServiceResponse> validateUpdate(UpdateDefinition updateDefinition, ComputeServer... computeServer)
    • executeUpdate

      io.reactivex.rxjava3.core.Single<ServiceResponse> executeUpdate(UpdateDefinition updateDefinition, ComputeServer... computeServer)
    • postUpdate

      io.reactivex.rxjava3.core.Single<ServiceResponse> postUpdate(UpdateDefinition updateDefinition, ComputeServer... computeServer)
    • rollbackUpdate

      io.reactivex.rxjava3.core.Single<ServiceResponse> rollbackUpdate(UpdateDefinition updateDefinition, ComputeServer... computeServer)
    • refreshUpdate

      io.reactivex.rxjava3.core.Single<ServiceResponse> refreshUpdate(UpdateOperation updateOperation, ComputeServer... computeServer)
    • runConfigurationDriftCheck

      io.reactivex.rxjava3.core.Single<ServiceResponse> runConfigurationDriftCheck(CheckLevel checkLevel, ComputeServer... computeServer)
    • getConfigurationDriftDetails

      io.reactivex.rxjava3.core.Single<ServiceResponse> getConfigurationDriftDetails(ComputeServer... computeServer)
    • buildComputeServerInterface

      ComputeServerInterface buildComputeServerInterface(Account account, Instance instance, ComputeServer server, MorpheusComputeServerNetworkInterfaceConfig networkInterfaceConfig)