Interface PluginProvider

All Known Subinterfaces:
AnalyticsProvider, ApprovalProvider, ApprovalProvider, AppTabProvider, AppTabProvider, BackupProviderInterface, BackupTypeProvider, CatalogItemLayoutProvider, CatalogItemLayoutProvider, CloudCostingProvider, CloudNativeProvisionProvider, CloudProvider, CloudProvider, ClusterProvider, ClusterTabProvider, ClusterTabProvider, ComputeProvisionProvider, CostForecastProvider, CredentialProvider, CredentialProvider, CypherModuleProvider, CypherModuleProvider, DashboardItemTypeProvider, DashboardProvider, DatasetProvider<T,V>, DNSProvider, DNSProvider, GenericIntegrationProvider, GlobalUIComponentProvider, GlobalUIComponentProvider, GuidanceRecommendationProvider, HostProvisionProvider, IacResourceMappingProvider, InstanceTabProvider, InstanceTabProvider, IPAMProvider, IPAMProvider, LoadBalancerProvider, LocalizationProvider, LocalizationProvider, NetworkProvider, NetworkProvider, NetworkTabProvider, NetworkTabProvider, OptionSourceProvider, PluginController, PluginProvider, ProvisionProvider, ProvisionProvider, ReportProvider, ReportProvider, ResourceProvisionProvider, ScaleProvider, SecurityGroupProvider, ServerTabProvider, ServerTabProvider, StorageProvider, TaskProvider, TaskProvider, UIExtensionProvider, UIExtensionProvider, VmProvisionProvider, WorkloadProvisionProvider
All Known Implementing Classes:
AbstractAnalyticsProvider, AbstractAppTabProvider, AbstractBackupProvider, AbstractBackupTypeProvider, AbstractCatalogItemLayoutProvider, AbstractCloudCostingProvider, AbstractClusterTabProvider, AbstractDashboardItemTypeProvider, AbstractDashboardProvider, AbstractDatasetProvider, AbstractGenericIntegrationProvider, AbstractGlobalUIComponentProvider, AbstractGuidanceRecommendationProvider, AbstractInstanceTabProvider, AbstractMorpheusBackupTypeProvider, AbstractNetworkTabProvider, AbstractOptionSourceProvider, AbstractProvisionProvider, AbstractReportProvider, AbstractServerTabProvider, BackupProvider, LeastSquaresCostForecastProvider, MorpheusBackupProvider

public interface PluginProvider
All Providers implement the Plugin Extension. Different Plugins for Morpheus provide different integration endpoints. These could range from DNS, IPAM, and all the way up to Cloud Integrations. Each integration type extends this as a base interface for providing core methods.
Since:
0.15.1
  • Method Summary

    Modifier and Type
    Method
    Description
    A unique shortcode used for referencing the provided provider.
    Returns the Morpheus Context for interacting with data stored in the Main Morpheus Application
    Provides the provider name for reference when adding to the Morpheus Orchestrator NOTE: This may be useful to set as an i18n key for UI reference and localization support.
    Returns the instance of the Plugin class that this provider is loaded from
    default boolean
    Returns true if the Provider is a plugin.
  • Method Details

    • getMorpheus

      MorpheusContext getMorpheus()
      Returns the Morpheus Context for interacting with data stored in the Main Morpheus Application
      Returns:
      an implementation of the MorpheusContext for running Future based rxJava queries
    • getPlugin

      Plugin getPlugin()
      Returns the instance of the Plugin class that this provider is loaded from
      Returns:
      Plugin class contains references to other providers
    • getCode

      String getCode()
      A unique shortcode used for referencing the provided provider. Make sure this is going to be unique as any data that is seeded or generated related to this provider will reference it by this code.
      Returns:
      short code string that should be unique across all other plugin implementations.
    • getName

      String getName()
      Provides the provider name for reference when adding to the Morpheus Orchestrator NOTE: This may be useful to set as an i18n key for UI reference and localization support.
      Returns:
      either an English name of a Provider or an i18n based key that can be scanned for in a properties file.
    • isPlugin

      default boolean isPlugin()
      Returns true if the Provider is a plugin. Always true for plugin but null or false for Morpheus internal providers.
      Returns:
      provider is plugin