### start Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/util/SyncTask.html Starts the synchronization task. ```APIDOC ## start ### Description Starts the synchronization task. This method initiates the synchronization process and may block the current thread depending on the implementation. ### Signature `public void start()` ``` -------------------------------- ### startServer (ComputeProvisionProvider) Source: https://developer.morpheusdata.com/api/com/morpheusdata/model/class-use/ComputeServer.html Start the server. ```APIDOC ## startServer (ComputeProvisionProvider) ### Description Start the server. ### Method Not specified (likely internal method call) ### Endpoint Not applicable (SDK method) ### Parameters - **computeServer** (ComputeServer) - Description not specified ### Response - **ServiceResponse** - Description not specified ``` -------------------------------- ### startServer Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/CloudProvider.html Called when a server should be started. ```APIDOC ## startServer(ComputeServer computeServer) ### Description Called when a server should be started. ### Method `startServer` ### Parameters #### Path Parameters - **computeServer** (ComputeServer) - Required - The compute server to start. ``` -------------------------------- ### Initialize Hypervisor Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/synchronous/MorpheusSynchronousHypervisorService.html Triggers the initialization of a compute server as a hypervisor. This method is used to start the hypervisor setup process for a given compute server. ```APIDOC ## initialize ### Description Triggers the initialization of a compute server as a hypervisor. ### Method `initialize` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body * **server** (ComputeServer) - Required - The compute server to initialize as a hypervisor. ### Request Example ```json { "server": { ... ComputeServer object ... } } ``` ### Response #### Success Response (Boolean) * **true** - The initialization was successfully triggered. * **false** - The initialization failed to trigger. #### Response Example ```json true ``` ``` -------------------------------- ### startServer (CloudProvider) Source: https://developer.morpheusdata.com/api/com/morpheusdata/model/class-use/ComputeServer.html Called when a server should be started. ```APIDOC ## startServer (CloudProvider) ### Description Called when a server should be started. ### Method Not specified (likely internal method call) ### Endpoint Not applicable (SDK method) ### Parameters - **computeServer** (ComputeServer) - Description not specified ### Response - **ServiceResponse** - Description not specified ``` -------------------------------- ### startProcess (basic) Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/synchronous/MorpheusSynchronousProcessService.html Starts a new Process for the given Workload. ```APIDOC ## startProcess (basic) ### Description Starts a new Process for the Workload. ### Method Not specified (likely a service method call) ### Parameters - **workload** (Workload) - Required - The workload for which to start a process. - **stepType** (ProcessStepType) - Required - The initial step type for the process. - **user** (User) - Required - The user initiating the process. - **timerCategory** (String) - Required - The category for timing the process. ### Response - **Process** - Returns the newly created Process object. ``` -------------------------------- ### startServer Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/MorpheusComputeServerService.html Starts a ComputeServer by its ID. ```APIDOC ## startServer ### Description Starts a ComputeServer by its ID. ### Method Not specified (likely internal or SDK method) ### Parameters - **computeServerId** (Long) - The ID of the ComputeServer to start. ### Returns - **Single** - Description not specified ``` -------------------------------- ### startServer Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/MorpheusComputeServerService.html Starts a ComputeServer. This is an asynchronous operation. ```APIDOC ## startServer ### Description Start a ComputeServer. This is an async operation and the server may not be started immediately. ### Method POST ### Endpoint /api/compute-servers/{computeServerId}/start ### Parameters #### Path Parameters - **computeServerId** (Long) - Required - ComputeServer id to start ### Response #### Success Response (200) - **success** (Boolean) - success if the request to start the server was successful. ``` -------------------------------- ### installPackage Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/ComputeTypePackageProvider.html Installs a compute server group package. There are two versions of this method: one deprecated and one that accepts a PackageInstallRequest for more detailed installation control. ```APIDOC ## installPackage ### Description Installs a compute server group package. The `installPackage(ComputeServerGroup, ComputeServerGroupPackage, PackageInstallRequest)` method is the preferred way to install packages. ### Method `default ServiceResponse` ### Endpoint `installPackage(ComputeServerGroup serverGroup, ComputeServerGroupPackage computeServerGroupPackage)` ### Parameters - **serverGroup** (ComputeServerGroup) - Description not provided. - **computeServerGroupPackage** (ComputeServerGroupPackage) - Description not provided. ### Response - **ServiceResponse** - Description not provided. ## installPackage ### Description Called when a package needs to be installed. This method allows for specifying installation details via a `PackageInstallRequest`. ### Method `default ServiceResponse` ### Endpoint `installPackage(ComputeServerGroup serverGroup, ComputeServerGroupPackage computeServerGroupPackage, PackageInstallRequest packageInstallRequest)` ### Parameters - **serverGroup** (ComputeServerGroup) - Description not provided. - **computeServerGroupPackage** (ComputeServerGroupPackage) - Description not provided. - **packageInstallRequest** (PackageInstallRequest) - Description not provided. ### Response - **ServiceResponse** - Description not provided. ``` -------------------------------- ### startServer (ClusterProvider) Source: https://developer.morpheusdata.com/api/com/morpheusdata/model/class-use/ComputeServer.html Called when a server should be started. ```APIDOC ## startServer (ClusterProvider) ### Description Called when a server should be started. ### Method Not specified (likely internal method call) ### Endpoint Not applicable (SDK method) ### Parameters - **computeServer** (ComputeServer) - Description not specified ### Response - **ServiceResponse** - Description not specified ``` -------------------------------- ### SyncTask Usage Example Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/util/SyncTask.html This example demonstrates how to use the SyncTask utility to synchronize network domain records. It includes setting up match functions, defining actions for adding, deleting, and updating records, and loading object details. ```APIDOC ## SyncTask Example This example illustrates the usage of the `SyncTask` class for synchronizing `NetworkDomain` objects. ### Description The `SyncTask` utility class provides an RxJava compatible means for syncing remote API objects with local/Morpheus backed models in a persistent database. This handles an efficient way to match data projection objects with API objects and batches updates to the backend database for efficient sync. This should be considered the standard method for caching objects within a `CloudProvider` and many other provider types. ### Method `start()` ### Endpoint N/A (This is a utility class, not an HTTP endpoint) ### Parameters This example uses chained method calls to configure the `SyncTask`. - `SyncTask(Observable domainRecords, Collection apiItems)`: Constructor to initialize the sync task with existing domain records and new API items. - `addMatchFunction(SyncTask.MatchFunction matchFunction)`: Adds a function to define how to match API items to existing domain records. - `onDelete(SyncTask.OnDeleteFunction deleteFunction)`: Specifies a function to be executed when items are found in the domain records but not in the API items (indicating deletion). - `onAdd(SyncTask.OnAddFunction onAddFunction)`: Specifies a function to be executed when items are found in the API items but not in the domain records (indicating addition). - `withLoadObjectDetails(SyncTask.OnLoadObjectDetailsFunction, SyncTask.UpdateItem> onLoadObjectDetailsFunction)`: Configures a function to load detailed information for items that need to be updated. - `onUpdate(SyncTask.OnUpdateFunction> onUpdateFunction)`: Specifies a function to be executed for items that match but may require updates. ### Request Example ```java Observable domainRecords = morpheusContext.network.listNetworkDomainSyncMatch(poolServer.integration.id); SyncTask syncTask = new SyncTask<>(domainRecords, apiItems as Collection); syncTask.addMatchFunction { NetworkDomainSyncProjection domainObject, Map apiItem -> domainObject.externalId == apiItem.'_ref' }.addMatchFunction { NetworkDomainSyncProjection domainObject, Map apiItem -> domainObject.name == apiItem.name }.onDelete { removeItems -> morpheusContext.network.removeMissingZones(poolServer.integration.id, removeItems) }.onAdd { itemsToAdd -> addMissingZones(poolServer, itemsToAdd) }.withLoadObjectDetails { List> updateItems -> return morpheusContext.network.listNetworkDomainsById(updateItems.collect { it.existingItem.id } as Collection) }.onUpdate { List> updateItems -> updateMatchedZones(poolServer, updateItems) }.start(); ``` ### Response This method returns the `SyncTask` instance for chaining operations. The `start()` method initiates the synchronization process. ``` -------------------------------- ### Range Query Example Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/data/DataQuery.html This example demonstrates how to construct a range query to find objects created within the last 4 weeks. ```java ?range.endDate=now&range.type=weeks&range.count=4 ``` -------------------------------- ### startAsync Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/util/SyncTask.html Starts the synchronization task asynchronously. ```APIDOC ## startAsync ### Description Starts the synchronization task asynchronously. This method initiates the synchronization process without blocking the current thread. ### Signature `public void startAsync()` ``` -------------------------------- ### Get SSL Install Token Name Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/network/loadbalancer/MorpheusLoadBalancerCertificateService.html Retrieves the name of the SSL install token. ```java String getSslInstallTokenName() ``` -------------------------------- ### getPackageVersion Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/ComputeTypePackageProvider.html Gets the version of the package that this provider can install. ```APIDOC ## getPackageVersion ### Description The version of the package that this provider can install. ### Method `String` ### Endpoint `getPackageVersion()` ### Response - **String** - Description not provided. ``` -------------------------------- ### Plugin Initialization Example Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/Plugin.html Demonstrates how to extend the base Plugin class and implement the initialize method to register custom providers. This is the primary method for setting up plugin functionality. ```java import com.Morpheus.core.Plugin; class MyPlugin extends Plugin { void initialize() { this.setName("My Custom Tabs Plugin"); CustomTabProvider tabProvider = new CustomTabProvider(this, morpheus); this.registerProvider(tabProvider); } } ``` -------------------------------- ### runInstance Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/ResourceProvisionProvider.html The primary entry point for provisioning a new instance. ```APIDOC ## runInstance ### Description This method is a key entry point in provisioning an instance. ### Method `runInstance` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **instance** (Instance) - The instance to provision. - **instanceRequest** (InstanceRequest) - The request details for provisioning. - **opts** (Map) - Optional parameters for the provisioning process. ### Response #### Success Response - **ServiceResponse** - Contains the result of the instance provisioning. ``` -------------------------------- ### supportsAgent Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/ProvisionProvider.html Override this method to return false if it's a provision type that does not support the Morpheus agent install. This will be the case for provision types of non-standard operating systems or service-based provision types (Amazon RDS for example). This method is inherited from the PluginProvider interface. ```APIDOC ## supportsAgent ### Description Indicates whether the provision type supports the Morpheus agent install. ### Method `default Boolean supportsAgent()` ### Returns - Boolean: True if the agent is supported, false otherwise. ``` -------------------------------- ### startServer Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/ComputeProvisionProvider.html Starts a provisioned virtual machine. This method is part of the ComputeProvisionProvider interface for managing VM power states. ```APIDOC ## startServer ### Description Starts the specified virtual machine. ### Method POST ### Endpoint /api/compute/provision/start ### Parameters #### Request Body - **computeServer** (ComputeServer) - Required - The server object to start. ### Response #### Success Response (200) - **response** (ServiceResponse) - Description of the API response. #### Response Example { "status": "success", "message": "Server started successfully." } ``` -------------------------------- ### runInstance Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/ResourceProvisionProvider.html This method is a key entry point in provisioning an instance. Information associated with the passed Instance object is used to kick off the instance provision request. ```APIDOC ## runInstance ### Description This method is a key entry point in provisioning an instance. Information associated with the passed Instance object is used to kick off the instance provision request. ### Method ServiceResponse runInstance(Instance instance, InstanceRequest instanceRequest, Map opts) ### Parameters #### Path Parameters - **instance** (Instance) - The Instance object we intend to provision along with some of the associated data needed to determine how best to provision the instance. - **instanceRequest** (InstanceRequest) - The InstanceRequest object containing the various configurations that may be needed in running the instance. - **opts** (Map) - Additional configuration options that may have been passed during provisioning. ### Returns - A ProvisionResponse object that should at least contain the response from the API ``` -------------------------------- ### ComputeServerGroupPackage Installed Field Source: https://developer.morpheusdata.com/api/serialized-form.html Indicates whether the Compute Server Group Package is installed. ```java Boolean installed ``` -------------------------------- ### Allocate Floating IP Example Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/FloatingIpProvider.html Example of how to construct a NetworkFloatingIp object to be returned in a ServiceResponse after allocation. ```groovy def networkFloatingIp = new NetworkFloatingIp( floatingPool:pool, externalId:externalObject.id, internalId:externalObject.port_id, refType:'ComputeZone', refId:cloud.id, active:(externalObject.status == 'ACTIVE' || externalObject.status == 'DOWN'), staticIp:true, ipAddress:externalObject.floating_ip_address, ipStatus:(externalObject.port_id || externalObject.fixed_ip_address ? 'assigned' : 'free'), ptrId:item.fixed_ip_address, category: objCategory) networkFloatingIp.setConfigMap(externalObject) return ServiceResponse.success(networkFloatingIp) ``` -------------------------------- ### Get ID Source: https://developer.morpheusdata.com/api/com/morpheusdata/model/projection/NetworkDomainIdentityProjection.html Gets the uniquely generated ID from the database record stored via the Morpheus appliance. ```java public Long getId() { return id; } ``` -------------------------------- ### SyncTask Example Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/util/SyncTask.html Demonstrates how to use SyncTask to synchronize network domain records. It includes setting up match functions, defining actions for adding, deleting, and updating items, and loading object details. ```java Observable domainRecords = morpheusContext.network.listNetworkDomainSyncMatch(poolServer.integration.id) SyncTask syncTask = new SyncTask(domainRecords, apiItems as Collection) syncTask.addMatchFunction { NetworkDomainSyncProjection domainObject, Map apiItem -> domainObject.externalId == apiItem.'_ref' }.addMatchFunction { NetworkDomainSyncProjection domainObject, Map apiItem -> domainObject.name == apiItem.name }.onDelete {removeItems -> morpheusContext.network.removeMissingZones(poolServer.integration.id, removeItems) }.onAdd { itemsToAdd -> addMissingZones(poolServer, itemsToAdd) }.withLoadObjectDetails { List> updateItems -> return morpheusContext.network.listNetworkDomainsById(updateItems.collect{it.existingItem.id} as Collection) }.onUpdate { List> updateItems -> updateMatchedZones(poolServer, updateItems) }.start() ``` -------------------------------- ### Range Constructor Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/util/image/StreamingQcow2Writer.Range.html Constructs a new Range with the specified start and end values. The start is inclusive and the end is exclusive. ```java public Range(T start, T end) ``` -------------------------------- ### HostProvisionProvider.prepareHost Source: https://developer.morpheusdata.com/api/com/morpheusdata/model/class-use/ComputeServer.html Prepares a host for provisioning. ```APIDOC ## HostProvisionProvider.prepareHost ### Description This method is called before runHost and provides an opportunity to perform action or obtain configuration that will be needed in runHost. ### Method Not specified (likely internal method) ### Endpoint Not specified ### Parameters - **server** (ComputeServer) - Required - The Compute Server to prepare. - **hostRequest** (HostRequest) - Required - The host request details. - **opts** (Map) - Required - Optional parameters for host preparation. ### Response - **ServiceResponse** - The response containing storage volume information. ``` -------------------------------- ### Create Certificate Install Token Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/network/loadbalancer/MorpheusLoadBalancerCertificateService.html Creates a token for installing a certificate. Requires the certificate object, a name, and a category. ```java io.reactivex.rxjava3.core.Single createCertInstallToken(AccountCertificate cert, String name, String category) ``` -------------------------------- ### Show Tab Logic Example Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/BackupIntegrationTabProvider.html Implement logic to determine if a tab should be displayed for a specific backup provider. This is checked after permissions are validated. Use a constant for cleaner implementation. ```java return backupProvider.type.code == MyBackupProvider.BACKUP_PROVIDER_CODE ``` -------------------------------- ### initializeSystem Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/SystemProvider.html This method is executed post initialization workflows have been executed. Not required to implement. ```APIDOC ## initializeSystem ### Description This method is executed post initialization workflows have been executed. Not required to implement. ### Method POST ### Endpoint /api/system/initialize ### Parameters #### Request Body - **system** (System) - Required - The system object. - **systemRequest** (SystemRequest) - Required - The system request object containing initialization parameters. ``` -------------------------------- ### Get Name Source: https://developer.morpheusdata.com/api/com/morpheusdata/model/projection/LoadBalancerRuleIdentityProjection.html Gets the name of the pool. This is on the identity projection in case a fallback match needs to happen by name. ```java public String getName() Gets the name of the pool. This is on the identity projection in case a fallback match needs to happen by name Returns: the current name of the profile ``` -------------------------------- ### Start Process Event Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/MorpheusProcessService.html Starts a new ProcessEvent associated with a Process, ending a previous step and initiating a new one. ```APIDOC ## Start Process Event ### Description Starts a new ProcessEvent associated with the Process while ending a specific previous step. This will end the ProcessEvent with the specified lastStepType and then start a new ProcessEvent. ### Parameters #### Path Parameters - `process` (Process) - The Process on which to create a new ProcessEvent to start - `lastStepType` (ProcessStepType) - The type of the last step to end before starting the new event - `nextStep` (ProcessEvent) - The new ProcessEvent to start - `processStatus` (string) - The status (i.e. 'complete', 'failed') ### Returns - Boolean indicating success ``` -------------------------------- ### SystemProvider.prepareInitializeSystem Source: https://developer.morpheusdata.com/api/com/morpheusdata/response/class-use/ServiceResponse.html This phase is run prior to executing the system initialization workflows. Returns a ServiceResponse containing a PrepareInstanceResponse. ```APIDOC ## SystemProvider.prepareInitializeSystem ### Description This phase is run prior to executing the system initialization workflows. ### Method Not specified (likely internal or SDK method) ### Endpoint Not specified ### Parameters - **system** (System) - The system object. - **systemRequest** (SystemRequest) - The request details for system initialization. ### Response #### Success Response - **ServiceResponse** - Contains a PrepareInstanceResponse object. ``` -------------------------------- ### Expire Certificate Install Token Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/network/loadbalancer/MorpheusLoadBalancerCertificateService.html Expires an existing certificate installation token. Pass the ReferenceData token object to invalidate it. ```java io.reactivex.rxjava3.core.Single expireCertInstallToken(ReferenceData token) ``` -------------------------------- ### startServer (Synchronous ComputeServerService) Source: https://developer.morpheusdata.com/api/index-files/index-19.html Starts a ComputeServer using the synchronous MorpheusComputeServerService. ```APIDOC ## startServer(Long) - Synchronous ComputeServerService ### Description Start a ComputeServer. ### Method Not specified (likely SDK method call) ### Parameters - **serverId** (Long) - Description not specified ``` -------------------------------- ### initializeSystem Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/SystemProvider.html This method is executed post initialization workflows have been executed. ```APIDOC ## initializeSystem ### Description This method is executed post initialization workflows have been executed. ### Method `default ServiceResponse` ### Endpoint N/A (SDK Method) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **system** (System) - The system object to initialize. - **systemRequest** (SystemRequest) - The request object for system operations. ### Request Example ```json { "system": { ... }, "systemRequest": { ... } } ``` ### Response #### Success Response (200) - **ServiceResponse** - Indicates the success or failure of the operation. #### Response Example ```json { "success": true, "message": "System initialized successfully" } ``` ``` -------------------------------- ### Synchronous User Service Example Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/MorpheusSynchronousDataService.html Example of a MorpheusSynchronousUserService implementing MorpheusSynchronousDataService and MorpheusSynchronousIdentityService. This pattern is common for services that manage users and their identities. ```java public interface MorpheusSynchronousUserService extends MorpheusSynchronousDataService, MorpheusSynchronousIdentityService { } ``` -------------------------------- ### startProcess Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/synchronous/MorpheusSynchronousProcessService.html Starts a new process for a given workload. Optionally associates a user and a timer category for performance tracking. ```APIDOC ## startProcess ### Description Starts a new process for the workload. This method allows for optional association of a user and a timer category for performance tracking. ### Method Signature `Process startProcess(Workload workload, ProcessStepType stepType, User user, String timerCategory)` ### Parameters * `workload` (Workload) - The workload to associate the process with. * `stepType` (ProcessStepType) - The type of the process step to start. * `user` (User) - The user initiating the process (optional). * `timerCategory` (String) - A category for tracking process durations. ### Returns * Boolean - Indicating success of the operation. ``` -------------------------------- ### SyncList Example Usage Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/util/SyncList.html Demonstrates how to instantiate and use the SyncList class to compare existing and master item lists. Requires a MatchFunction to define item equality. ```java MatchFunction matchFunction1 = (VirtualImage v, Map m) -> { return v.id == m.id; }; SyncList syncList = new SyncList(matchFunction1); SyncResult syncResult = syncList.buildSyncLists(existingItems, masterItems); System.out.println("Items to add: " + syncResult.addList.size()); System.out.println("Items to update: " + syncResult.updateList.size()); System.out.println("Items to remove: " + syncResult.removeList.size()); ``` -------------------------------- ### MorpheusUserService Interface Example Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/MorpheusDataService.html Example of implementing MorpheusDataService with MorpheusIdentityService for User objects. This pattern is common for services requiring both data persistence and identity management. ```java public interface MorpheusUserService extends MorpheusDataService, MorpheusIdentityService { } ``` -------------------------------- ### Get Configuration Drift Details Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/PluginProvider.ConfigurationDriftCheckFacet.html Retrieves details about configuration drift required by a System plugin for cross-checking. Use this to get specific information about configuration discrepancies. ```java default ServiceResponse getConfigurationDriftDetails(T target, DriftState driftState) ``` -------------------------------- ### executeBackup Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/backup/BackupExecutionProvider.html Initiate the backup process on the external provider system. ```APIDOC ## executeBackup ### Description Initiate the backup process on the external provider system. ### Method N/A (Interface Method) ### Endpoint N/A (Interface Method) ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body - **backup** (Backup) - Required - The backup configuration. - **backupResult** (BackupResult) - Required - The backup result object. - **executionConfig** (Map) - Required - Configuration for the backup execution. - **cloud** (Cloud) - Required - The cloud object associated with the backup. - **computeServer** (ComputeServer) - Required - The compute server for the backup. - **opts** (Map) - Optional - Additional options for execution. ### Response #### Success Response (200) - **backupExecutionResponse** (BackupExecutionResponse) - Details of the backup execution. ``` -------------------------------- ### Get Event Scopes Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/PluginProvider.EventSubscriberFacet.html Gets the list of scopes to limit the events received by the subscriber. Useful for filtering events based on associations, such as subscribing only to events related to a cloud. ```java default List getEventScopes() ``` -------------------------------- ### ProvisionProvider.HypervisorProvisionFacet.initializeHypervisor Source: https://developer.morpheusdata.com/api/com/morpheusdata/model/class-use/ComputeServer.html Initializes a Compute Server as a Hypervisor. ```APIDOC ## ProvisionProvider.HypervisorProvisionFacet.initializeHypervisor ### Description Initialize a compute server as a Hypervisor. ### Method Not specified (likely internal method) ### Endpoint Not specified ### Parameters - **cloud** (Cloud) - Required - The cloud environment. - **server** (ComputeServer) - Required - The Compute Server to initialize as a hypervisor. ### Response - **ServiceResponse** - The response containing initialization details. ``` -------------------------------- ### AbstractBackupTypeProvider.prepareExecuteBackup Source: https://developer.morpheusdata.com/api/com/morpheusdata/response/class-use/ServiceResponse.html Prepares for backup execution. Returns a ServiceResponse. ```APIDOC ## prepareExecuteBackup(Backup backupModel, Map opts) ### Description Prepares for backup execution. ### Returns `ServiceResponse` ``` -------------------------------- ### Get Image Disk Map Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/synchronous/MorpheusSynchronousVirtualImageService.html Retrieves metadata for a virtual image, potentially including a list of its disks. Pass the virtual image model to get disk mapping information. ```java Map getImageDiskMap(VirtualImage virtualImageModel) ``` -------------------------------- ### Show Tab Logic Alternative Example Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/BackupIntegrationTabProvider.html An alternative way to implement the logic for displaying a tab by directly comparing the backup provider type code. ```java return backupProvider.type.code == new MyBackupProvider().getCode() ``` -------------------------------- ### Dynamic Query DSL Example 2 Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/data/DataQuery.html This example shows how to search for an object with a name containing 'Fred' (case-insensitive) and a type exactly equal to 'Person' using the dynamic query syntax. ```java name:Fred AND type='Person' ``` -------------------------------- ### Dynamic Query DSL Example 1 Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/data/DataQuery.html This example demonstrates querying for an object with a name exactly equal to 'Fred' and a type exactly equal to 'Person' using the dynamic query syntax. ```java name=Fred AND type='Person' ``` -------------------------------- ### startInstance Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/CloudNativeProvisionProvider.html Issues the remote calls necessary to start an instance running. ```APIDOC ## startInstance ### Description Issues the remote calls necessary to start an instance running. ### Method POST ### Endpoint /startInstance ### Parameters #### Request Body - **instance** (Instance) - Required - The Workload object representing the instance to be started. ### Response #### Success Response (200) - **Response** (ServiceResponse) - The response from the API indicating the status of the operation. ``` -------------------------------- ### prepareInitializeSystem Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/SystemProvider.html This phase is run prior to executing the system initialization workflows. ```APIDOC ## prepareInitializeSystem ### Description This phase is run prior to executing the system initialization workflows. ### Method `default ServiceResponse` ### Endpoint N/A (SDK Method) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **system** (System) - The system object to prepare for initialization. - **systemRequest** (SystemRequest) - The request object for system operations. ### Request Example ```json { "system": { ... }, "systemRequest": { ... } } ``` ### Response #### Success Response (200) - **ServiceResponse** - Indicates the success or failure of the operation. #### Response Example ```json { "success": true, "message": "System preparation for initialization complete" } ``` ``` -------------------------------- ### HostProvisionProvider.ResizeV2Facet.prepareResizeServer Source: https://developer.morpheusdata.com/api/com/morpheusdata/model/class-use/ComputeServer.html Prepares a Compute Server for a resize operation (V2). ```APIDOC ## HostProvisionProvider.ResizeV2Facet.prepareResizeServer ### Description Prepares the resize operation. ### Method Not specified (likely internal method) ### Endpoint Not specified ### Parameters - **server** (ComputeServer) - Required - The Compute Server to resize. - **resizeRequest** (ResizeV2Request) - Required - The resize request details. - **opts** (Map) - Required - Optional parameters for the resize operation. ### Response - **default ServiceResponse** - The response containing storage volume information. ``` -------------------------------- ### prepareInstance Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/ResourceProvisionProvider.html Prepares an instance before running it, allowing for pre-execution actions or configuration retrieval. ```APIDOC ## prepareInstance ### Description This method is called before runInstance and provides an opportunity to perform action or obtain configuration that will be needed in runInstance. ### Method `prepareInstance` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **instance** (Instance) - The instance to prepare. - **instanceRequest** (InstanceRequest) - The request details for the instance. - **opts** (Map) - Optional parameters for the preparation. ### Response #### Success Response - **ServiceResponse** - Contains data for instance preparation. ``` -------------------------------- ### prepareServerForVolume Source: https://developer.morpheusdata.com/api/index-files/index-16.html Prepares the host for a volume attachment. ```APIDOC ## prepareServerForVolume ### Description This is a hook call to allow the plugin to prepare the host for the volume. ### Method Not specified (likely part of an SDK or internal API) ### Endpoint Not specified ### Parameters - **ComputeServer** (type not specified) - Description not specified - **StorageVolume** (type not specified) - Description not specified ``` -------------------------------- ### AbstractBackupProvider.initializeBackupProvider Source: https://developer.morpheusdata.com/api/com/morpheusdata/response/class-use/ServiceResponse.html Initializes the backup provider. Returns a ServiceResponse. ```APIDOC ## initializeBackupProvider(BackupProvider backupProviderModel, Map opts) ### Description Initializes the backup provider. ### Returns `ServiceResponse` ``` -------------------------------- ### DatastoreTypeProvider.ComputeProvisionFacet.prepareServerForVolume Source: https://developer.morpheusdata.com/api/com/morpheusdata/model/class-use/ComputeServer.html Prepares a Compute Server for a storage volume. ```APIDOC ## DatastoreTypeProvider.ComputeProvisionFacet.prepareServerForVolume ### Description This is a hook call to allow the plugin to prepare the host for the volume. ### Method Not specified (likely internal method) ### Endpoint Not specified ### Parameters - **server** (ComputeServer) - Required - The Compute Server to prepare. - **volume** (StorageVolume) - Required - The storage volume. ### Response - **default ServiceResponse** - The response containing storage volume information. ``` -------------------------------- ### StreamingQcow2Writer.Range.getStart Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/util/image/StreamingQcow2Writer.Range.html Returns the start value of this range. ```APIDOC ## getStart() ### Description Returns the start value of this range. ### Returns * **T** - the start value ``` -------------------------------- ### prepareServerForVolume Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/DatastoreTypeProvider.ComputeProvisionFacet.html This is a hook call to allow the plugin to prepare the host for the volume. This could be something like forcing a rescan or refresh if necessary on the host itself. ```APIDOC ## prepareServerForVolume ### Description This is a hook call to allow the plugin to prepare the host for the volume. This could be something like forcing a rescan or refresh if necessary on the host itself. ### Method ServiceResponse prepareServerForVolume(ComputeServer server, StorageVolume volume) ### Parameters #### Path Parameters - **server** (ComputeServer) - Required - The server to prepare the volume for - **volume** (StorageVolume) - Required - The volume that will be available to the host ### Response #### Success Response - **ServiceResponse** - The success state and a copy of the volume ``` -------------------------------- ### NetworkProvider.getFloatingIpProvider() Source: https://developer.morpheusdata.com/api/index-files/index-7.html Gets the floating ip provider. ```APIDOC ## getFloatingIpProvider() ### Description Gets the floating ip provider. ### Method N/A (Interface Method) ### Endpoint N/A (Interface Method) ### Parameters None explicitly documented. ### Response Returns the floating IP provider. ``` -------------------------------- ### Status Source: https://developer.morpheusdata.com/api/com/morpheusdata/model/StorageHostGroup.html Gets or sets the status of the StorageHostGroup. ```APIDOC ## Method getStatus ### Description Gets the status of the StorageHostGroup. ### Method `getStatus()` ### Returns `String` - The status. ``` ```APIDOC ## Method setStatus ### Description Sets the status of the StorageHostGroup. ### Method `setStatus(String status)` ### Parameters #### Path Parameters - **status** (String) - Required - The status. ``` -------------------------------- ### ResourceProvisionProvider.AppFacet.prepareApp Source: https://developer.morpheusdata.com/api/com/morpheusdata/response/class-use/ServiceResponse.html Prepares an application for provisioning. Returns a default ServiceResponse. ```APIDOC ## ResourceProvisionProvider.AppFacet.prepareApp ### Description Prepares an application for provisioning. ### Method Not specified (likely internal or SDK method) ### Endpoint Not specified ### Parameters - **app** (App) - The application to prepare. - **appRequest** (AppRequest) - The request details for preparing the application. - **opts** (Map) - Optional parameters for preparation. ### Response #### Success Response - **default ServiceResponse** - A default service response object. ``` -------------------------------- ### Render Dashboard Example Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/dashboard/DashboardProvider.html Demonstrates how to render a dashboard using server-side Handlebars rendering. Requires a ViewModel and a template path. ```java ViewModel model = new ViewModel() model.object = reportRowsBySection getRenderer().renderTemplate("hbs/instanceReport", model) ``` -------------------------------- ### Description Source: https://developer.morpheusdata.com/api/com/morpheusdata/model/StorageHostGroup.html Gets or sets the description of the StorageHostGroup. ```APIDOC ## Method getDescription ### Description Gets the description of the StorageHostGroup. ### Method `getDescription()` ### Returns `String` - The description. ``` ```APIDOC ## Method setDescription ### Description Sets the description of the StorageHostGroup. ### Method `setDescription(String description)` ### Parameters #### Path Parameters - **description** (String) - Required - The description. ``` -------------------------------- ### Category Source: https://developer.morpheusdata.com/api/com/morpheusdata/model/StorageHostGroup.html Gets or sets the category of the StorageHostGroup. ```APIDOC ## Method getCategory ### Description Gets the category of the StorageHostGroup. ### Method `getCategory()` ### Returns `String` - The category. ``` ```APIDOC ## Method setCategory ### Description Sets the category of the StorageHostGroup. ### Method `setCategory(String category)` ### Parameters #### Path Parameters - **category** (String) - Required - The category. ``` -------------------------------- ### AbstractBackupTypeProvider.executeBackup Source: https://developer.morpheusdata.com/api/com/morpheusdata/model/class-use/ComputeServer.html Initiates the backup process on the external provider system for a given backup, result, and compute server. ```APIDOC ## executeBackup (AbstractBackupTypeProvider) ### Description Initiates the backup process on the external provider system. ### Method Not specified (likely a Java method call) ### Endpoint N/A ### Parameters - **backupModel** (Backup) - Required - The backup model. - **backupResult** (BackupResult) - Required - The backup result object. - **executionConfig** (Map) - Required - Configuration for backup execution. - **cloud** (Cloud) - Required - The cloud context. - **computeServer** (ComputeServer) - Required - The compute server to back up. - **opts** (Map) - Optional - Additional options for backup execution. ### Request Example N/A (This is a method call, not an HTTP request) ### Response - **ServiceResponse** - A ServiceResponse containing the backup execution details. ``` -------------------------------- ### Name Source: https://developer.morpheusdata.com/api/com/morpheusdata/model/StorageHostGroup.html Gets or sets the name of the StorageHostGroup. ```APIDOC ## Method getName ### Description Gets the name of the StorageHostGroup. ### Method `getName()` ### Returns `String` - The name of the StorageHostGroup. ``` ```APIDOC ## Method setName ### Description Sets the name of the StorageHostGroup. ### Method `setName(String name)` ### Parameters #### Path Parameters - **name** (String) - Required - The name for the StorageHostGroup. ``` -------------------------------- ### startServer Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/CloudProvider.html Called when a server should be started. Returning a response of success will cause corresponding updates to usage records, result in the powerState of the computeServer to be set to 'on', and related instances set to 'running'. ```APIDOC ## startServer ### Description Called when a server should be started. Returning a response of success will cause corresponding updates to usage records, result in the powerState of the computeServer to be set to 'on', and related instances set to 'running'. ### Method Not specified (likely internal or SDK method) ### Endpoint Not specified ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Parameters * `computeServer` - server to start ### Returns * ServiceResponse ``` -------------------------------- ### Partition Source: https://developer.morpheusdata.com/api/com/morpheusdata/model/NetworkLoadBalancerMonitor.html Gets or sets the partition for the NetworkLoadBalancerMonitor. ```APIDOC ## getPartition ### Description Retrieves the partition that the health monitor belongs to. ### Method GET ### Endpoint N/A (Getter Method) ## setPartition ### Description Sets the partition for the health monitor. ### Method SET ### Endpoint N/A (Setter Method) #### Parameters * **partition** (String) - Required - The partition to set. ``` -------------------------------- ### startProcess (Workload, ProcessStepType, User, String) Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/MorpheusProcessService.html Start a new Process for the Workload with the specified step type, user, and timer category. ```APIDOC ## startProcess ### Description Starts a new process for a given workload, specifying the step type, user, and timer category. ### Method `io.reactivex.rxjava3.core.Single` ### Parameters - **workload** (Workload) - The workload for which to start the process. - **stepType** (ProcessStepType) - The type of the initial step in the process. - **user** (User) - The user initiating the process. - **timerCategory** (String) - A category for timing purposes. ### Response #### Success Response (Single) - Returns the newly created `Process` object. ``` -------------------------------- ### Execute Backup Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/backup/AbstractBackupTypeProvider.html Initiate the backup process on the external provider system. ```APIDOC ## executeBackup ### Description Initiate the backup process on the external provider system. ### Method `executeBackup` ### Parameters - **backupModel** (Backup) - The backup model to execute. - **backupResult** (BackupResult) - The backup result object. - **executionConfig** (Map) - Configuration for the backup execution. - **cloud** (Cloud) - The cloud environment for the backup. - **computeServer** (ComputeServer) - The compute server for the backup. - **opts** (Map) - Optional parameters for the execution. ### Response - **ServiceResponse** - Indicates the success or failure of the backup execution and contains execution details. ``` -------------------------------- ### Status Source: https://developer.morpheusdata.com/api/com/morpheusdata/model/NetworkLoadBalancerMonitor.html Gets or sets the status of the NetworkLoadBalancerMonitor. ```APIDOC ## getStatus ### Description Retrieves the current status of the monitor. ### Method GET ### Endpoint N/A (Getter Method) ## setStatus ### Description Sets the status of the monitor. ### Method SET ### Endpoint N/A (Setter Method) #### Parameters * **status** (String) - Required - The status to set. ``` -------------------------------- ### getKey Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/DatasetProvider.html Gets the unique identifier for the dataset. ```APIDOC ## getKey ### Description Retrieves the identifier used to access the dataset. This is often used for referencing datasets in OptionType or API requests. ### Method `getKey()` ### Returns - `String` - The key identifier for the dataset. ``` -------------------------------- ### prepareInitializeSystem Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/SystemProvider.html This phase is run prior to executing the system initialization workflows. In this phase you can perform any form of pre-initialization checks, additional input validations, etc. ```APIDOC ## prepareInitializeSystem ### Description This phase is run prior to executing the system initialization workflows. In this phase you can perform any form of pre-initialization checks, additional input validations, etc. ### Method POST ### Endpoint /api/system/prepare-initialize ### Parameters #### Request Body - **system** (System) - Required - The system object. - **systemRequest** (SystemRequest) - Required - The system request object containing initialization parameters. ``` -------------------------------- ### startProcess (Workload, ProcessStepType, User, String, String) Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/MorpheusProcessService.html Start a new Process for the Workload with the specified step type, user, timer category, and event title. ```APIDOC ## startProcess ### Description Starts a new process for a given workload, specifying the step type, user, timer category, and an event title. ### Method `io.reactivex.rxjava3.core.Single` ### Parameters - **workload** (Workload) - The workload for which to start the process. - **stepType** (ProcessStepType) - The type of the initial step in the process. - **user** (User) - The user initiating the process. - **timerCategory** (String) - A category for timing purposes. - **eventTitle** (String) - A title for the initial process event. ### Response #### Success Response (Single) - Returns the newly created `Process` object. ``` -------------------------------- ### updateCloudStatus Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/cloud/MorpheusCloudService.html Updates the status of a cloud during setup. ```APIDOC ## updateCloudStatus ### Description Updates the status of a cloud during its setup or configuration process. ### Method `void` ### Parameters - `cloud` (Cloud) - The cloud instance to update. - `status` (Cloud.Status) - The new status for the cloud. - `message` (String) - A message describing the status update. - `syncDate` (Date) - The date and time of the status synchronization. ``` -------------------------------- ### getStart Method Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/util/image/StreamingQcow2Writer.Range.html Returns the start value of this range. ```java public T getStart() ``` -------------------------------- ### ComputeTypePackageProvider.installPackage Source: https://developer.morpheusdata.com/api/com/morpheusdata/response/class-use/ServiceResponse.html Installs a package for a compute server group. Returns a ServiceResponse containing a Snapshot object. ```APIDOC ## ComputeTypePackageProvider.installPackage ### Description Installs a package for a compute server group. This method is called when a package needs to be installed. ### Method Not specified (likely internal or SDK method) ### Endpoint Not specified ### Parameters - **serverGroup** (ComputeServerGroup) - Description not specified - **computeServerGroupPackage** (ComputeServerGroupPackage) - Description not specified - **packageInstallRequest** (PackageInstallRequest) - Description not specified ### Response #### Success Response - **ServiceResponse** - Contains a Snapshot object upon successful installation. ``` -------------------------------- ### startProcessStep Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/synchronous/MorpheusSynchronousProcessService.html Starts a new ProcessEvent associated with the Process. ```APIDOC ## startProcessStep ### Description Starts a new ProcessEvent associated with the Process. ### Method Not specified (likely a service method call) ### Parameters - **process** (Process) - Required - The process object. - **nextEvent** (ProcessEvent) - Required - The next process event to start. - **processStatus** (String) - Required - The status to set for the new process step. ### Response - **Boolean** - Returns true if the process step was started successfully, false otherwise. ``` -------------------------------- ### startProcess Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/MorpheusProcessService.html Starts a new Process for a given Workload using a specific ProcessStepType. ```APIDOC ## startProcess ### Description Starts a new Process for the Workload using a specific ProcessStepType. ### Method `io.reactivex.rxjava3.core.Single startProcess(Workload workload, ProcessStepType stepType, User user, String timerCategory)` ### Parameters * `workload` (Workload) - The Workload to associate the Process to. * `stepType` (ProcessStepType) - The ProcessStepType to start. * `user` (User) - The User that starts the process (optional). * `timerCategory` (String) - A category to associate with this Process. The category is used to provide estimated durations for a Process based on previous run of processes with this same category. ### Returns Boolean indicating success ``` -------------------------------- ### prepareApp Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/ResourceProvisionProvider.AppFacet.html Prepares an application for provisioning with the specified request and options. ```APIDOC ## prepareApp ### Description Prepares an application for provisioning with the specified request and options. ### Method `prepareApp` ### Parameters #### Path Parameters - **app** (App) - Required - the App to prepare - **appRequest** (AppRequest) - Required - the application request details - **opts** (Map) - Required - options ### Response `ServiceResponse` ``` -------------------------------- ### getSslInstallTokenName Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/synchronous/network/loadbalancer/MorpheusSynchronousLoadBalancerCertificateService.html Retrieves the name of the SSL install token. ```APIDOC ## getSslInstallTokenName ### Description Retrieves the name of the SSL install token. ### Method GET ### Endpoint /api/certificates/ssl-install-token-name ### Response #### Success Response (200) - **sslInstallTokenName** (String) - The name of the SSL install token. ``` -------------------------------- ### getPackageVersion Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/providers/ComputeTypePackageProvider.html Retrieves the version of the package that this provider can install. ```APIDOC ## getPackageVersion ### Description Returns the version of the package that this provider can install. ### Method GET (assumed) ### Endpoint /providers/{providerId}/packageVersion ### Response #### Success Response (200) - **String** (String) - The version of the package. ``` -------------------------------- ### getSslInstallTokenName Source: https://developer.morpheusdata.com/api/com/morpheusdata/core/network/loadbalancer/MorpheusLoadBalancerCertificateService.html Retrieves the name of the SSL installation token. ```APIDOC ## getSslInstallTokenName ### Description Get the name of the SSL installation token. ### Method GET (assumed based on naming convention and return type) ### Endpoint `/certificates/ssl-install-token/name` (inferred) ### Response #### Success Response (200) - **name** (String) - The name of the SSL installation token ``` -------------------------------- ### BackupExecutionProvider.prepareExecuteBackup Source: https://developer.morpheusdata.com/api/com/morpheusdata/response/class-use/ServiceResponse.html A hook into the execution process. Returns a ServiceResponse. ```APIDOC ## prepareExecuteBackup(Backup backupModel, Map opts) ### Description A hook into the execution process. ### Returns `ServiceResponse` ```