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 theMorpheusNetworkRouteService
used for performing updates/queries onNetworkRoute
related 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, search
Methods inherited from interface com.morpheusdata.core.MorpheusDataService
bulkCreate, bulkRemove, bulkSave, create, remove, save
Methods inherited from interface com.morpheusdata.core.MorpheusIdentityService
getIdentityProperties, listIdentityProjections
-
Method Details
-
getRoute
MorpheusNetworkRouteService getRoute()Returns theMorpheusNetworkRouteService
used for performing updates/queries onNetworkRoute
related 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 fullNetworkRouter
object for sync matching.- Parameters:
accountIntegration
- theAccountIntegration
identifier 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 fullNetworkRouter
object for sync matching.- Parameters:
cloudPool
- theCloudPool
identifier 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 fullNetworkRouter
object for sync matching.- Parameters:
cloud
- theCloud
identifier 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 fullNetworkRouter
object for sync matching.- Parameters:
cloudId
- the id of theCloud
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, String typeCode) Lists all router projection objects for a specified cloud by type code. The projection is a subset of the properties on a fullNetworkRouter
object for sync matching.- Parameters:
cloudId
- the id of theCloud
associated to the routers to be listed.typeCode
- the unique code of theNetworkRouterType
that 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 allNetworkRouter
objects 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
NetworkRouter
to 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:
remove
in interfaceMorpheusDataService<NetworkRouter,
NetworkRouterIdentityProjection> - Parameters:
removeList
- a list of router projections to be removed- Returns:
- a Single
Observable
returning 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:
create
in interfaceMorpheusDataService<NetworkRouter,
NetworkRouterIdentityProjection> - Parameters:
addList
- List of newNetworkRouter
objects 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 ofNetworkRouter
objects. 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:
save
in 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