Interface SystemProvider

All Superinterfaces:
PluginProvider

public interface SystemProvider extends PluginProvider
Provides a set of interface methods for integration with a vme manager System
Since:
1.2.10
  • Method Details

    • getDescription

      String getDescription()
      Grabs the description for the SystemProvider
      Returns:
      String
    • getIcon

      Icon getIcon()
      Returns the logo for display. SVGs are preferred.
      Returns:
      Icon representation of assets stored in the src/assets of the project.
    • getSystemComponentTypes

      Collection<SystemComponentType> getSystemComponentTypes()
      Provides a Collection of SystemComponentType which are supported for this system provider
    • getSystemTypes

      Collection<SystemType> getSystemTypes()
      Providers a collection of system types that are supported by this provider
    • getSystemTypeLayouts

      Collection<SystemTypeLayout> getSystemTypeLayouts()
      Provides a collection of SystemTypeLayout which are supported by this system provider. These layouts map the resources which are maintained, configured, updated by the provider implementation
    • prepareInitializeSystem

      default ServiceResponse prepareInitializeSystem(System system, SystemRequest systemRequest)
      This phase is run prior to executing the system initialization workflows. In this phase you can perform any form up pre initialization checks, additional input validations, etc.
      Parameters:
      system -
      Returns:
    • initializeSystem

      default ServiceResponse initializeSystem(System system, SystemRequest systemRequest)
      This method is executed post initialization workflows have been executed. Not required to implement.
      Parameters:
      system -
      Returns:
    • prepareUpdateSystem

      default ServiceResponse prepareUpdateSystem(System system, SystemRequest systemRequest)
      This phase is run prior to executing the system update workflows. Perform any pre checks, validations, or resource auditing here.
      Parameters:
      system -
      Returns:
    • updateSystem

      default ServiceResponse updateSystem(System system, SystemRequest systemRequest)
      This method is executed post update workflows for the given system.
      Parameters:
      system -
      Returns:
    • updateSystemConfiguration

      default ServiceResponse updateSystemConfiguration(System system, SystemRequest request)
      Applies system-level configuration properties (e.g. NTP servers, DNS resolvers, hostname) to the managed system. This is intentionally distinct from updateSystem(com.morpheusdata.model.system.System, com.morpheusdata.model.system.SystemRequest), which is reserved for software and firmware update workflows.

      Configuration properties to apply are carried in SystemRequest.getConfigOptions(). Plugins should read the keys they care about and ignore unknown keys — the service layer performs no key validation.

      The Morpheus service layer will:

      1. Set system.configurationWorkflowStatus = 'in-progress' before calling.
      2. Merge non-null configOptions keys into system.config on success.
      3. Set configurationWorkflowStatus to 'completed' or 'failed' based on the returned ServiceResponse.
      Plugins do not need to persist configuration changes themselves.

      The default implementation is a no-op returning ServiceResponse.success(). Providers with no configuration to push may leave this default in place.

      Parameters:
      system - the fully populated plugin model for the target system
      request - carries the active process record and a configOptions map containing the configuration properties to apply
      Returns:
      ServiceResponse.success() if configuration was applied; ServiceResponse.error(String) with a human-readable message otherwise
    • deleteSystem

      default ServiceResponse deleteSystem(System system)
      Perform any cleanup/state reset operations required on removal of a system
      Parameters:
      system -
      Returns:
    • refreshSystem

      default ServiceResponse refreshSystem(System system)
      This method is bound to a periodic job that is executed by the VME Manager.
      Parameters:
      system -
      Returns:
    • refreshSystemDaily

      default ServiceResponse refreshSystemDaily(System system)
      Executed once a day, perform any desirable action on a daily interval
      Parameters:
      system -
      Returns:
    • addSystemComponent

      default ServiceResponse addSystemComponent(System system, SystemRequest systemRequest, SystemComponentType componentType)
      This method is called when adding an additional component to an existing system (adding a new host, storage array etc)
      Parameters:
      system -
      systemRequest -
      componentType -
      Returns:
    • updateSystemComponent

      default ServiceResponse updateSystemComponent(System system, SystemRequest systemRequest, SystemComponentType componentType)
      This method is called when updating an existing component on a system (e.g. reconfiguring a host, storage array, etc. that was previously added to the system)
      Parameters:
      system -
      systemRequest -
      componentType -
      Returns: