Interface MorpheusComputeServerGroupService

All Superinterfaces:
MorpheusDataQueryService<ComputeServerGroup>, MorpheusDataService<ComputeServerGroup,ComputeServerGroup>, MorpheusIdentityService<ComputeServerGroup>

public interface MorpheusComputeServerGroupService extends MorpheusDataService<ComputeServerGroup,ComputeServerGroup>, MorpheusIdentityService<ComputeServerGroup>
  • Method Details

    • getType

      Returns the Compute Server Group Type Service
      Returns:
      An instance of the Compute Server Group Type Service
    • addServerGroupServers

      io.reactivex.rxjava3.core.Single<ServiceResponse<List<ComputeServer>>> addServerGroupServers(ComputeServerGroup cluster, ComputeTypeLayout layout, AddServerGroupServersRequest request)
      Add one or more servers to an existing cluster. Follows the same flow as the POST /api/clusters/:id/servers REST API endpoint, including license checks, policy enforcement, and async provisioning.
      Parameters:
      cluster - the target cluster (server group)
      layout - the ComputeTypeLayout to use for provisioning
      request - the request object describing the server(s) to add
      Returns:
      a ServiceResponse indicating success. If the servers are created synchronously, the response data will include the list of added servers. If the servers are provisioned asynchronously, the response data will be empty
      Since:
      1.4.0
    • validateUpdate

      io.reactivex.rxjava3.core.Single<ServiceResponse> validateUpdate(UpdateDefinition updateDefinition, ComputeServerGroup serverGroup)
      Validates an update definition against the target cluster via the plugin's ClusterUpdateFacet.
      Parameters:
      updateDefinition - the update definition to validate
      serverGroup - the target cluster
      Returns:
      a ServiceResponse indicating validation success or failure
      Since:
      1.4.0
    • executeUpdate

      io.reactivex.rxjava3.core.Single<ServiceResponse> executeUpdate(UpdateDefinition updateDefinition, ComputeServerGroup serverGroup)
      Executes an update definition against the target cluster via the plugin's ClusterUpdateFacet.
      Parameters:
      updateDefinition - the update definition to execute
      serverGroup - the target cluster
      Returns:
      a ServiceResponse indicating execution success or failure
      Since:
      1.4.0
    • postUpdate

      io.reactivex.rxjava3.core.Single<ServiceResponse> postUpdate(UpdateDefinition updateDefinition, ComputeServerGroup serverGroup)
      Runs post-update logic for the target cluster via the plugin's ClusterUpdateFacet.
      Parameters:
      updateDefinition - the update definition
      serverGroup - the target cluster
      Returns:
      a ServiceResponse indicating success or failure
      Since:
      1.4.0
    • rollbackUpdate

      io.reactivex.rxjava3.core.Single<ServiceResponse> rollbackUpdate(UpdateDefinition updateDefinition, ComputeServerGroup serverGroup)
      Rolls back an update on the target cluster via the plugin's ClusterUpdateFacet.
      Parameters:
      updateDefinition - the update definition to rollback
      serverGroup - the target cluster
      Returns:
      a ServiceResponse indicating success or failure
      Since:
      1.4.0
    • refreshUpdate

      io.reactivex.rxjava3.core.Single<ServiceResponse> refreshUpdate(ComputeServerGroup serverGroup)
      Refreshes update status on the target cluster via the plugin's ClusterUpdateFacet.
      Parameters:
      serverGroup - the target cluster
      Returns:
      a ServiceResponse indicating success or failure
      Since:
      1.4.0