Package com.morpheusdata.core.network
Interface MorpheusNetworkRouterService
- All Superinterfaces:
MorpheusDataQueryService<NetworkRouter>,MorpheusDataService<NetworkRouter,,NetworkRouterIdentityProjection> MorpheusIdentityService<NetworkRouterIdentityProjection>
public interface MorpheusNetworkRouterService
extends MorpheusDataService<NetworkRouter,NetworkRouterIdentityProjection>, MorpheusIdentityService<NetworkRouterIdentityProjection>
Provides Morpheus services related to querying, saving, and removing
NetworkRouter type objects. Routers can represent
many types of routers. These can include Internet Gateways, Egress Gateways, Generic Routers, or just even Vpn Gateways- Since:
- 0.14.0
-
Method Summary
Modifier and TypeMethodDescriptionio.reactivex.rxjava3.core.Single<Boolean>create(List<NetworkRouter> addList) Deprecated.getRoute()Returns theMorpheusNetworkRouteServiceused for performing updates/queries onNetworkRouterelated assets within Morpheusio.reactivex.rxjava3.core.Observable<NetworkRouter>listByCloudAndExternalIdIn(Long cloudId, Collection<String> externalIds) Deprecated.io.reactivex.rxjava3.core.Observable<NetworkRouterIdentityProjection>listIdentityProjections(AccountIntegration accountIntegration) Lists all network projection objects for a specified integration id.io.reactivex.rxjava3.core.Observable<NetworkRouterIdentityProjection>listIdentityProjections(Cloud cloud) Lists all router projection objects for a specified cloud.io.reactivex.rxjava3.core.Observable<NetworkRouterIdentityProjection>listIdentityProjections(CloudPool cloudPool) Lists all network router projection objects for a specified zone pool.io.reactivex.rxjava3.core.Observable<NetworkRouterIdentityProjection>listIdentityProjections(Long cloudId) Lists all router projection objects for a specified cloud.io.reactivex.rxjava3.core.Observable<NetworkRouterIdentityProjection>listIdentityProjections(Long cloudId, String typeCode) Lists all router projection objects for a specified cloud by type code.io.reactivex.rxjava3.core.Single<Boolean>remove(List<NetworkRouterIdentityProjection> removeList) Deprecated.io.reactivex.rxjava3.core.Single<Boolean>save(List<NetworkRouter> routersToSave) Deprecated.useMorpheusDataService.bulkSave(java.util.List<M>)insteadMethods inherited from interface com.morpheusdata.core.MorpheusDataQueryService
count, find, get, list, list, listById, listOptions, listOptions, searchMethods inherited from interface com.morpheusdata.core.MorpheusDataService
bulkCreate, bulkRemove, bulkSave, create, remove, saveMethods inherited from interface com.morpheusdata.core.MorpheusIdentityService
getIdentityProperties, listIdentityProjections
-
Method Details
-
getRoute
MorpheusNetworkRouteService getRoute()Returns theMorpheusNetworkRouteServiceused for performing updates/queries onNetworkRouterelated assets within Morpheus- Returns:
- An instance of the
MorpheusNetworkRouteService
-
listIdentityProjections
io.reactivex.rxjava3.core.Observable<NetworkRouterIdentityProjection> listIdentityProjections(AccountIntegration accountIntegration) Lists all network projection objects for a specified integration id. The projection is a subset of the properties on a fullNetworkRouterobject for sync matching.- Parameters:
accountIntegration- theAccountIntegrationidentifier associated to the routers to be listed.- Returns:
- an RxJava Observable stream of result projection objects.
-
listIdentityProjections
io.reactivex.rxjava3.core.Observable<NetworkRouterIdentityProjection> listIdentityProjections(CloudPool cloudPool) Lists all network router projection objects for a specified zone pool. The projection is a subset of the properties on a fullNetworkRouterobject for sync matching.- Parameters:
cloudPool- theCloudPoolidentifier associated to the routers to be listed.- Returns:
- an RxJava Observable stream of result projection objects.
-
listIdentityProjections
io.reactivex.rxjava3.core.Observable<NetworkRouterIdentityProjection> listIdentityProjections(Cloud cloud) Lists all router projection objects for a specified cloud. The projection is a subset of the properties on a fullNetworkRouterobject for sync matching.- Parameters:
cloud- theCloudidentifier associated to the routers to be listed.- Returns:
- an RxJava Observable stream of result projection objects.
-
listIdentityProjections
io.reactivex.rxjava3.core.Observable<NetworkRouterIdentityProjection> listIdentityProjections(Long cloudId) Lists all router projection objects for a specified cloud. The projection is a subset of the properties on a fullNetworkRouterobject for sync matching.- Parameters:
cloudId- the id of theCloudassociated to the routers to be listed.- Returns:
- an RxJava Observable stream of result projection objects.
-
listIdentityProjections
io.reactivex.rxjava3.core.Observable<NetworkRouterIdentityProjection> listIdentityProjections(Long cloudId, String typeCode) Lists all router projection objects for a specified cloud by type code. The projection is a subset of the properties on a fullNetworkRouterobject for sync matching.- Parameters:
cloudId- the id of theCloudassociated to the routers to be listed.typeCode- the unique code of theNetworkRouterTypethat this router may be scoped to.- Returns:
- an RxJava Observable stream of result projection objects.
-
listByCloudAndExternalIdIn
@Deprecated(since="0.15.4") io.reactivex.rxjava3.core.Observable<NetworkRouter> listByCloudAndExternalIdIn(Long cloudId, Collection<String> externalIds) Deprecated.Lists allNetworkRouterobjects by a list of Identifiers. This is commonly used in sync / caching logic.- Parameters:
cloudId- the cloud to filter the list of networks by.externalIds- a Collection of external Ids to filter the list of networks by- Returns:
- an RxJava Observable stream of
NetworkRouterto be subscribed to.
-
remove
@Deprecated(since="0.15.4") io.reactivex.rxjava3.core.Single<Boolean> remove(List<NetworkRouterIdentityProjection> removeList) Deprecated.Removes Missing Routers on the Morpheus side. This accepts the Projection Object instead of the main Object. It is important to note this is an Observer pattern and must be subscribed to in order for the action to occurExample:
morpheusContext.getNetwork().getRouter().remove(removeItems).blockingGet()- Specified by:
removein interfaceMorpheusDataService<NetworkRouter,NetworkRouterIdentityProjection> - Parameters:
removeList- a list of router projections to be removed- Returns:
- a Single
Observablereturning the success status of the operation. - See Also:
-
create
@Deprecated(since="0.15.4") io.reactivex.rxjava3.core.Single<Boolean> create(List<NetworkRouter> addList) Deprecated.Creates new Network Domains from cache / sync implementations This ensures the refType and refId match the poolServer as well as the owner default Any NetworkRoutes will not be added. They must be added/removed via MorpheusNetworkRouteService- Specified by:
createin interfaceMorpheusDataService<NetworkRouter,NetworkRouterIdentityProjection> - Parameters:
addList- List of newNetworkRouterobjects to be inserted into the database- Returns:
- notification of completion if someone really cares about it
- See Also:
-
save
@Deprecated(since="0.15.4") io.reactivex.rxjava3.core.Single<Boolean> save(List<NetworkRouter> routersToSave) Deprecated.useMorpheusDataService.bulkSave(java.util.List<M>)insteadSaves a list ofNetworkRouterobjects. Be mindful this is an RxJava implementation and must be subscribed to for any action to actually take place. Any NetworkRoutes will not be added/removed. They must be added/removed via MorpheusNetworkRouteService- Specified by:
savein interfaceMorpheusDataService<NetworkRouter,NetworkRouterIdentityProjection> - Parameters:
routersToSave- a List of Router objects that need to be updated in the database.- Returns:
- the Single Observable stating the success state of the save attempt
- See Also:
-
MorpheusDataService.bulkCreate(java.util.List<M>)instead