Interface MorpheusDataQueryService<M extends MorpheusModel>
- Type Parameters:
M- TheMorpheusModelclass type for this service to query against
- All Known Subinterfaces:
MorpheusAccountCertificateService,MorpheusAccountCredentialService,MorpheusAccountCredentialTypeService,MorpheusAccountDiscoveryService,MorpheusAccountIntegrationService,MorpheusAccountInventoryService,MorpheusAccountInventoryTypeService,MorpheusAccountInvoiceItemService,MorpheusAccountInvoiceService,MorpheusAccountPriceService,MorpheusAccountPriceSetService,MorpheusAccountResourceService,MorpheusAccountResourceTypeService,MorpheusApplianceService,MorpheusAppService,MorpheusBackupJobService,MorpheusBackupProviderService,MorpheusBackupProviderTypeService,MorpheusBackupRepositoryService,MorpheusBackupRestoreService,MorpheusBackupResultService,MorpheusBackupService,MorpheusBackupTypeService,MorpheusCloudFolderService,MorpheusCloudPoolService,MorpheusCloudRegionService,MorpheusCloudService,MorpheusCloudTypeService,MorpheusClusterPackageService,MorpheusCodeRepositoryService,MorpheusCodeRepositoryTraitService,MorpheusCodeRepositoryTraitTypeService,MorpheusComputePortService,MorpheusComputeServerAccessService,MorpheusComputeServerGroupService,MorpheusComputeServerGroupTypeService,MorpheusComputeServerInterfaceService,MorpheusComputeServerInterfaceTypeService,MorpheusComputeServerService,MorpheusComputeSiteService,MorpheusComputeTypePackageService,MorpheusComputeTypeSetService,MorpheusContainerTypeService,MorpheusDashboardService,MorpheusDataService<M,,I> MorpheusDatastoreLocationService,MorpheusDatastoreService,MorpheusEnvironmentVariableTypeService,MorpheusExecuteScheduleService,MorpheusExecuteScheduleTypeService,MorpheusInstanceScaleService,MorpheusInstanceScaleTypeService,MorpheusInstanceService,MorpheusInstanceThresholdService,MorpheusInstanceTypeLayoutService,MorpheusInstanceTypeLayoutService,MorpheusInstanceTypeService,MorpheusKeyPairService,MorpheusLoadBalancerInstanceService,MorpheusLoadBalancerMonitorService,MorpheusLoadBalancerNodeService,MorpheusLoadBalancerPolicyService,MorpheusLoadBalancerPoolService,MorpheusLoadBalancerProfileService,MorpheusLoadBalancerScriptService,MorpheusLoadBalancerService,MorpheusLoadBalancerTypeService,MorpheusMetadataTagService,MorpheusMetadataTagTypeService,MorpheusNetworkDomainRecordService,MorpheusNetworkDomainService,MorpheusNetworkFloatingIpPoolService,MorpheusNetworkFloatingIpService,MorpheusNetworkPoolIpService,MorpheusNetworkPoolRangeService,MorpheusNetworkPoolServerService,MorpheusNetworkPoolService,MorpheusNetworkProxyService,MorpheusNetworkResourceGroupMemberService,MorpheusNetworkResourceGroupService,MorpheusNetworkRouterService,MorpheusNetworkRouteService,MorpheusNetworkRouteTableService,MorpheusNetworkServerService,MorpheusNetworkService,MorpheusNetworkSubnetService,MorpheusNetworkSwitchService,MorpheusNetworkSwitchTypeService,MorpheusNetworkTypeService,MorpheusOperationDataService,MorpheusOperationNotificationService,MorpheusOptionTypeService,MorpheusOsTypeService,MorpheusPermissionService,MorpheusPolicyService,MorpheusPolicyTypeService,MorpheusPricePlanPriceSetService,MorpheusPricePlanService,MorpheusProcessService,MorpheusReferenceDataService,MorpheusReplicationGroupService,MorpheusReplicationService,MorpheusReplicationSiteService,MorpheusReplicationTypeService,MorpheusResourcePermissionService,MorpheusResourceSpecService,MorpheusResourceSpecTemplateService,MorpheusSecurityGroupLocationService,MorpheusSecurityGroupRuleApplicationService,MorpheusSecurityGroupRuleDestinationService,MorpheusSecurityGroupRuleLocationService,MorpheusSecurityGroupRuleProfileService,MorpheusSecurityGroupRuleScopeService,MorpheusSecurityGroupRuleService,MorpheusSecurityGroupRuleSourceService,MorpheusSecurityGroupService,MorpheusServicePlanPriceSetService,MorpheusServicePlanService,MorpheusSettingService,MorpheusSettingTypeService,MorpheusSnapshotService,MorpheusStorageBucketService,MorpheusStorageControllerService,MorpheusStorageControllerTypeService,MorpheusStorageServerService,MorpheusStorageVolumeService,MorpheusStorageVolumeTypeService,MorpheusTaskService,MorpheusTaskSetService,MorpheusUserService,MorpheusVirtualImageLocationService,MorpheusVirtualImageService,MorpheusVirtualImageTypeService,MorpheusWikiPageService,MorpheusWorkloadActionService,MorpheusWorkloadScriptService,MorpheusWorkloadScriptService,MorpheusWorkloadService,MorpheusWorkloadStateService,MorpheusWorkloadTemplateService,MorpheusWorkloadTemplateService,MorpheusWorkloadTypeConfigService,MorpheusWorkloadTypeLogService,MorpheusWorkloadTypeMountService,MorpheusWorkloadTypePortService,MorpheusWorkloadTypeService,MorpheusWorkloadTypeSetService,MorpheusWorkspaceService,MorpheusWorkspaceTypeService
DataQuery object. There are methods that can be implemented
to provide both MorpheusModel related objects as well as Map objects for use in
DatasetProvider use cases (dropdowns and type-ahead components in UI option types).- Since:
- 0.16.1
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionio.reactivex.rxjava3.core.Single<Long>Performs a query operation based on the filters set in theDataQueryobject passed and returns a simple total count of the results.default io.reactivex.rxjava3.core.Maybe<M>Performs a query operation on the database returning the first result as aMorpheusModelobject.io.reactivex.rxjava3.core.Maybe<M>Fetches a singleMorpheusModelby its Identifier (id) field.io.reactivex.rxjava3.core.Observable<M>list()Performs a list all operation on the database returning the results asMorpheusModelobjects.io.reactivex.rxjava3.core.Observable<M>Performs a query operation on the database returning the results asMorpheusModelobjects.io.reactivex.rxjava3.core.Observable<M>Fetches a stream ofMorpheusModelobjects based on a collection of Identifiers (id).io.reactivex.rxjava3.core.Observable<Map>Performs a list all operation on the database returning the results as Map objects typically containing keys of (name,value) for use in dropdown or type-ahead components within the UI.io.reactivex.rxjava3.core.Observable<Map>listOptions(DataQuery query) Performs a query operation on the database returning the results as Map objects typically containing keys of (name,value) for use in dropdown or type-ahead components within the UI.io.reactivex.rxjava3.core.Single<DataQueryResult>Performs a query operation on the database just likelist(DataQuery)with a query, but the result is no longer a stream of individualMorpheusModel.
-
Method Details
-
count
Performs a query operation based on the filters set in theDataQueryobject passed and returns a simple total count of the results. This could be useful for paging.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
Note: For more information on how to query please refer to the documentation for the
DataQueryclass.- Parameters:
query- An instance of theDataQueryobject used for filtering results. This should often include an account / user scope for security but does not always need to if being used for sync or multi-tenant reporting.- Returns:
- a Single observable containing a Long value with the total count.
- See Also:
-
get
Fetches a singleMorpheusModelby its Identifier (id) field. For more advanced single object fetches please refer tofind(DataQuery).Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
Note: This method does not factor in any sort of access/security control and should not be used in areas where this is required.
- Parameters:
id- the database identifier to fetch an object by.- Returns:
- a Maybe representation of a
MorpheusModeldepending on if the object was found or not.
-
listById
Fetches a stream ofMorpheusModelobjects based on a collection of Identifiers (id). This is often used in conjunction with theMorpheusIdentityService.listIdentityProjections(DataQuery)and theSyncTaskfor efficiently only fetching batches of objects we want to perform update operations on.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
Note: This method does not factor in any sort of access/security control and should not be used in areas where this is required.
- Parameters:
ids- a collection of Identifiers (ids) to fetch the objects by.- Returns:
- an Observable stream of
MorpheusModelobjects based on the ids passed in
-
list
io.reactivex.rxjava3.core.Observable<M> list()Performs a list all operation on the database returning the results asMorpheusModelobjects.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
- Returns:
- an Observable stream of
MorpheusModelobjects based on the passed in query.
-
list
Performs a query operation on the database returning the results asMorpheusModelobjects. These queries can be scoped to anAccountIdentityorUserIdentityas well as various filters on arbitrary fields in the database.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
Note: For more information on how to query please refer to the documentation for the
DataQueryclass.- Parameters:
query- An instance of theDataQueryobject used for filtering results. This should often include an account / user scope for security but does not always need to if being used for sync or multi-tenant reporting.- Returns:
- an Observable stream of
MorpheusModelobjects based on the passed in query.
-
listOptions
io.reactivex.rxjava3.core.Observable<Map> listOptions()Performs a list all operation on the database returning the results as Map objects typically containing keys of (name,value) for use in dropdown or type-ahead components within the UI. This would typically be paired with aDatasetProvider.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
Note: For more information on how to query please refer to the documentation for the
DataQueryclass.- Returns:
- an Observable stream of Map objects based on the passed in query containing name,value pairs.
-
listOptions
Performs a query operation on the database returning the results as Map objects typically containing keys of (name,value) for use in dropdown or type-ahead components within the UI. This would typically be paired with aDatasetProvider. Queries can be scoped to anAccountIdentityorUserIdentityas well as various filters on arbitrary fields in the database.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
Note: For more information on how to query please refer to the documentation for the
DataQueryclass.- Parameters:
query- An instance of theDataQueryobject used for filtering results. This should often include an account / user scope for security but does not always need to if being used for sync or multi-tenant reporting.- Returns:
- an Observable stream of Map objects based on the passed in query containing name,value pairs.
-
find
Performs a query operation on the database returning the first result as aMorpheusModelobject. These queries can be scoped to anAccountIdentityorUserIdentityas well as various filters on arbitrary fields in the database.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
Note: For more information on how to query please refer to the documentation for the
DataQueryclass.- Parameters:
query- An instance of theDataQueryobject used for filtering results. This should often include an account / user scope for security but does not always need to if being used for sync or multi-tenant reporting.- Returns:
- a Maybe
MorpheusModelobject based on the passed in query.
-
search
Performs a query operation on the database just likelist(DataQuery)with a query, but the result is no longer a stream of individualMorpheusModel.Note: This is a reactive method and will not perform any operation until subscribed or blockingGet() is called on it.
Note: For more information on how to query please refer to the documentation for the
DataQueryclass.- Parameters:
query- An instance of theDataQueryobject used for filtering results. This should often include an account / user scope for security but does not always need to if being used for sync or multi-tenant reporting.- Returns:
- a Single DataQueryResult representing a collection of result objects along with the metadata about the result. This could be paging data for example.
-