Interface LoadBalancerProvider
- All Superinterfaces:
PluginProvider
Provides a standard set of methods for interacting with load balancer integrations. This includes syncing entities from
the providers and crud operations on load balancer entities.
-
Method Summary
Modifier and TypeMethodDescriptionaddInstance
(NetworkLoadBalancerInstance instance) Implement this method to handle morpheus setting up a load balancer pool from a morpheus instance.default ServiceResponse
addLoadBalancer
(NetworkLoadBalancer loadBalancer) default ServiceResponse
Create operation for load balancer providers.default ServiceResponse
Create operation for load balancer providers.default ServiceResponse
createLoadBalancerPolicy
(NetworkLoadBalancerPolicy loadBalancerPolicy) Create operation for load balancer providers.default ServiceResponse
Create operation for load balancer providers.default ServiceResponse
Create operation for load balancer providers.default ServiceResponse
Create operation for load balancer providers.default ServiceResponse
Create operation for load balancer providers.default ServiceResponse
deleteLoadBalancer
(NetworkLoadBalancer loadBalancer) default ServiceResponse
Delete operation for load balancer providers.default ServiceResponse
Delete operation for load balancer providers.default ServiceResponse
deleteLoadBalancerPolicy
(NetworkLoadBalancerPolicy loadBalancerPolicy) Delete operation for load balancer providers.default ServiceResponse
Delete operation for load balancer providers.default ServiceResponse
Delete operation for load balancer providers.default ServiceResponse
Delete operation for load balancer providers.default ServiceResponse
Delete operation for load balancer providers.Grabs the description for the LoadBalancerProvidergetIcon()
Returns the load balancer logo for display when a user needs to view or add this load balancer.Provides a collection of network load balancer types that need to be configured in the morpheus environment along with the various child entities required by the load balancerProvides a Collection of OptionType inputs that define the required input fields for defining a load balancer integrationdefault ServiceResponse
initializeLoadBalancer
(NetworkLoadBalancer loadBalancer, Map opts) default ServiceResponse
refresh
(NetworkLoadBalancer loadBalancer) removeInstance
(NetworkLoadBalancerInstance instance) Implement this method to remove all entities involved in aNetworkLoadBalancerInstance
such ass policies, pools, profiles, nodes, virtual servers, etc.default ServiceResponse
removeInstance
(NetworkLoadBalancerInstance instance, ComputeServerGroup serverGroup) Implement this method to remove all entities involved in aNetworkLoadBalancerInstance
with a ComputeServerGroup such ass policies, pools, profiles, nodes, virtual servers, etc.default ServiceResponse
setAdditionalConfiguration
(NetworkLoadBalancer loadBalancer, Map opts) updateInstance
(NetworkLoadBalancerInstance instance) Implement this method to update all entities involved in aNetworkLoadBalancerInstance
such as policies, pools, profiles, nodes, virtual servers, etc.default ServiceResponse
updateLoadBalancer
(NetworkLoadBalancer loadBalancer) default ServiceResponse
Update operation for load balancer providers.default ServiceResponse
Update operation for load balancer providers.default ServiceResponse
Update operation for load balancer providers.default ServiceResponse
Update operation for load balancer providers.default ServiceResponse
Update operation for load balancer providers.validate
(NetworkLoadBalancer loadBalancer, Map opts) Validates the user submitted load balancer connection information to ensure the appliance can communicate with it.default ServiceResponse
Implement this method to perform validation for the create/save of a load balancer health monitordefault ServiceResponse
validateLoadBalancerInstance
(NetworkLoadBalancerInstance loadBalancerInstance) default ServiceResponse
validateLoadBalancerInstanceConfiguration
(NetworkLoadBalancer loadBalancer, Instance instance) default ServiceResponse
Implement this method to perform validation for the create/save of a load balancer nodedefault ServiceResponse
validateLoadBalancerPolicy
(NetworkLoadBalancerPolicy loadBalancerPolicy) Implement this method to perform validation for the create/save of a load balancer policydefault ServiceResponse
Implement this method to perform validation for the create/save of a load balancer pooldefault ServiceResponse
Implement this method to perform validation for the create/save of a load balancer policy ruledefault ServiceResponse
Implement this method to perform validation for the create/save of a load balancer virtual server (vip)Methods inherited from interface com.morpheusdata.core.providers.PluginProvider
getCode, getMorpheus, getName, getPlugin, isPlugin
-
Method Details
-
getDescription
String getDescription()Grabs the description for the LoadBalancerProvider- Returns:
- String
-
getIcon
Icon getIcon()Returns the load balancer logo for display when a user needs to view or add this load balancer. SVGs are preferred.- Returns:
- Icon representation of assets stored in the src/assets of the project.
- Since:
- 0.13.0
-
getOptionTypes
Collection<OptionType> getOptionTypes()Provides a Collection of OptionType inputs that define the required input fields for defining a load balancer integration- Returns:
- Collection of OptionType
-
getLoadBalancerTypes
Collection<NetworkLoadBalancerType> getLoadBalancerTypes()Provides a collection of network load balancer types that need to be configured in the morpheus environment along with the various child entities required by the load balancer- Returns:
- Collection of NetworkLoadBalancerType
-
validate
Validates the user submitted load balancer connection information to ensure the appliance can communicate with it. If aServiceResponse
is not marked as successful then the validation results will be bubbled up to the user.- Parameters:
loadBalancer
-NetworkLoadBalancer
opts
- a map of additional optional properties- Returns:
- ServiceResponse. If ServiceResponse.success == false, ServiceResponse.errors will contain reasons.
-
addLoadBalancer
-
deleteLoadBalancer
-
updateLoadBalancer
-
setAdditionalConfiguration
-
initializeLoadBalancer
-
refresh
-
createLoadBalancerProfile
Create operation for load balancer providers. Implement this method to create a profile within the provider using theNetworkLoadBalancerProfile
model.- Parameters:
profile
-NetworkLoadBalancerProfile
- Returns:
ServiceResponse
-
deleteLoadBalancerProfile
Delete operation for load balancer providers. Implement this method to delete a profile within the provider using theNetworkLoadBalancerProfile
model.- Parameters:
profile
-NetworkLoadBalancerProfile
- Returns:
ServiceResponse
-
updateLoadBalancerProfile
Update operation for load balancer providers. Implement this method to update a profile within the provider using theNetworkLoadBalancerProfile
model.- Parameters:
profile
-NetworkLoadBalancerProfile
- Returns:
ServiceResponse
-
createLoadBalancerHealthMonitor
Create operation for load balancer providers. Implement this method to create a health monitor within the provider using theNetworkLoadBalancerMonitor
model- Parameters:
monitor
-NetworkLoadBalancerMonitor
- Returns:
ServiceResponse
-
deleteLoadBalancerHealthMonitor
Delete operation for load balancer providers. Implement this method to delete a health monitor within the provider using theNetworkLoadBalancerMonitor
model- Parameters:
monitor
-NetworkLoadBalancerMonitor
- Returns:
ServiceResponse
-
updateLoadBalancerHealthMonitor
Update operation for load balancer providers. Implement this method to update a health monitor within the provider using theNetworkLoadBalancerMonitor
model- Parameters:
monitor
-NetworkLoadBalancerMonitor
- Returns:
ServiceResponse
-
validateLoadBalancerHealthMonitor
Implement this method to perform validation for the create/save of a load balancer health monitor- Parameters:
monitor
-NetworkLoadBalancerMonitor
- Returns:
ServiceResponse
-
createLoadBalancerPolicy
Create operation for load balancer providers. Implement this method to create a policy within the provider using theNetworkLoadBalancerPolicy
model- Parameters:
loadBalancerPolicy
-NetworkLoadBalancerPolicy
- Returns:
ServiceResponse
-
deleteLoadBalancerPolicy
Delete operation for load balancer providers. Implement this method to delete a policy within the provider using theNetworkLoadBalancerPolicy
model- Parameters:
loadBalancerPolicy
-NetworkLoadBalancerPolicy
- Returns:
ServiceResponse
-
validateLoadBalancerPolicy
Implement this method to perform validation for the create/save of a load balancer policy- Parameters:
loadBalancerPolicy
-NetworkLoadBalancerPolicy
- Returns:
ServiceResponse
-
validateLoadBalancerRule
Implement this method to perform validation for the create/save of a load balancer policy rule- Parameters:
rule
-NetworkLoadBalancerRule
- Returns:
ServiceResponse
-
createLoadBalancerRule
Create operation for load balancer providers. Implement this method to create a policy rule within the provider using theNetworkLoadBalancerRule
model- Parameters:
rule
-NetworkLoadBalancerRule
- Returns:
ServiceResponse
-
deleteLoadBalancerRule
Delete operation for load balancer providers. Implement this method to delete a policy rule within the provider using theNetworkLoadBalancerRule
model- Parameters:
rule
-NetworkLoadBalancerRule
- Returns:
ServiceResponse
-
createLoadBalancerNode
Create operation for load balancer providers. Implement this method to create a node within the provider using theNetworkLoadBalancerNode
model- Parameters:
node
-NetworkLoadBalancerNode
- Returns:
ServiceResponse
-
deleteLoadBalancerNode
Delete operation for load balancer providers. Implement this method to delete a node within the provider using theNetworkLoadBalancerNode
model- Parameters:
node
-NetworkLoadBalancerNode
- Returns:
ServiceResponse
-
updateLoadBalancerNode
Update operation for load balancer providers. Implement this method to update a node within the provider using theNetworkLoadBalancerNode
model- Parameters:
node
-NetworkLoadBalancerNode
- Returns:
ServiceResponse
-
validateLoadBalancerNode
Implement this method to perform validation for the create/save of a load balancer node- Parameters:
node
-NetworkLoadBalancerNode
- Returns:
ServiceResponse
-
createLoadBalancerPool
Create operation for load balancer providers. Implement this method to create a pool within the provider using theNetworkLoadBalancerPool
model- Parameters:
pool
-NetworkLoadBalancerPool
- Returns:
ServiceResponse
-
deleteLoadBalancerPool
Delete operation for load balancer providers. Implement this method to delete a pool within the provider using theNetworkLoadBalancerPool
model- Parameters:
pool
-NetworkLoadBalancerPool
- Returns:
ServiceResponse
-
updateLoadBalancerPool
Update operation for load balancer providers. Implement this method to update a pool within the provider using theNetworkLoadBalancerPool
model- Parameters:
pool
-NetworkLoadBalancerPool
- Returns:
ServiceResponse
-
validateLoadBalancerPool
Implement this method to perform validation for the create/save of a load balancer pool- Parameters:
pool
-NetworkLoadBalancerPool
- Returns:
ServiceResponse
-
createLoadBalancerVirtualServer
Create operation for load balancer providers. Implement this method to create a virtual server within the provider using theNetworkLoadBalancerInstance
model- Parameters:
instance
-NetworkLoadBalancerInstance
- Returns:
ServiceResponse
-
deleteLoadBalancerVirtualServer
Delete operation for load balancer providers. Implement this method to delete a virtual server within the provider using theNetworkLoadBalancerInstance
model- Parameters:
instance
-NetworkLoadBalancerInstance
- Returns:
ServiceResponse
-
updateLoadBalancerVirtualServer
Update operation for load balancer providers. Implement this method to update a virtual server within the provider using theNetworkLoadBalancerInstance
model- Parameters:
instance
-NetworkLoadBalancerInstance
- Returns:
ServiceResponse
-
validateLoadBalancerVirtualServer
Implement this method to perform validation for the create/save of a load balancer virtual server (vip)- Parameters:
instance
-NetworkLoadBalancerInstance
- Returns:
ServiceResponse
-
validateLoadBalancerInstance
default ServiceResponse validateLoadBalancerInstance(NetworkLoadBalancerInstance loadBalancerInstance) -
validateLoadBalancerInstanceConfiguration
default ServiceResponse validateLoadBalancerInstanceConfiguration(NetworkLoadBalancer loadBalancer, Instance instance) -
addInstance
Implement this method to handle morpheus setting up a load balancer pool from a morpheus instance. This operation should handle every operation necessary to setup a load balanced pool for one or more vms/containers within a morpheus instance- Parameters:
instance
-NetworkLoadBalancerInstance
- Returns:
ServiceResponse
-
removeInstance
Implement this method to remove all entities involved in aNetworkLoadBalancerInstance
such ass policies, pools, profiles, nodes, virtual servers, etc. This method should clean said entities from the load balancer integration itself- Parameters:
instance
-NetworkLoadBalancerInstance
- Returns:
ServiceResponse
-
removeInstance
default ServiceResponse removeInstance(NetworkLoadBalancerInstance instance, ComputeServerGroup serverGroup) Implement this method to remove all entities involved in aNetworkLoadBalancerInstance
with a ComputeServerGroup such ass policies, pools, profiles, nodes, virtual servers, etc. This method should clean said entities from the load balancer integration itself- Parameters:
instance
-NetworkLoadBalancerInstance
serverGroup
-ComputeServerGroup
- Returns:
ServiceResponse
-
updateInstance
Implement this method to update all entities involved in aNetworkLoadBalancerInstance
such as policies, pools, profiles, nodes, virtual servers, etc. This method is usually called when a node is added/removed from an instance- Parameters:
instance
-NetworkLoadBalancerInstance
- Returns:
ServiceResponse
-