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.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.morpheusdata.core.providers.PluginProvider
PluginProvider.EventSubscriberFacet<E extends Event> -
Method Summary
Modifier and TypeMethodDescriptionaddInstance(NetworkLoadBalancerInstance instance) Implement this method to handle morpheus setting up a load balancer pool from a morpheus instance.default ServiceResponseaddLoadBalancer(NetworkLoadBalancer loadBalancer) default ServiceResponseCreate operation for load balancer providers.default ServiceResponseCreate operation for load balancer providers.default ServiceResponsecreateLoadBalancerPolicy(NetworkLoadBalancerPolicy loadBalancerPolicy) Create operation for load balancer providers.default ServiceResponseCreate operation for load balancer providers.default ServiceResponseCreate operation for load balancer providers.default ServiceResponseCreate operation for load balancer providers.default ServiceResponseCreate operation for load balancer providers.default ServiceResponsedeleteLoadBalancer(NetworkLoadBalancer loadBalancer) default ServiceResponseDelete operation for load balancer providers.default ServiceResponseDelete operation for load balancer providers.default ServiceResponsedeleteLoadBalancerPolicy(NetworkLoadBalancerPolicy loadBalancerPolicy) Delete operation for load balancer providers.default ServiceResponseDelete operation for load balancer providers.default ServiceResponseDelete operation for load balancer providers.default ServiceResponseDelete operation for load balancer providers.default ServiceResponseDelete 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 ServiceResponseinitializeLoadBalancer(NetworkLoadBalancer loadBalancer, Map opts) default ServiceResponserefresh(NetworkLoadBalancer loadBalancer) removeInstance(NetworkLoadBalancerInstance instance) Implement this method to remove all entities involved in aNetworkLoadBalancerInstancesuch ass policies, pools, profiles, nodes, virtual servers, etc.default ServiceResponseremoveInstance(NetworkLoadBalancerInstance instance, ComputeServerGroup serverGroup) Implement this method to remove all entities involved in aNetworkLoadBalancerInstancewith a ComputeServerGroup such ass policies, pools, profiles, nodes, virtual servers, etc.default ServiceResponsesetAdditionalConfiguration(NetworkLoadBalancer loadBalancer, Map opts) updateInstance(NetworkLoadBalancerInstance instance) Implement this method to update all entities involved in aNetworkLoadBalancerInstancesuch as policies, pools, profiles, nodes, virtual servers, etc.default ServiceResponseupdateLoadBalancer(NetworkLoadBalancer loadBalancer) default ServiceResponseUpdate operation for load balancer providers.default ServiceResponseUpdate operation for load balancer providers.default ServiceResponseUpdate operation for load balancer providers.default ServiceResponseUpdate operation for load balancer providers.default ServiceResponseUpdate 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 ServiceResponseImplement this method to perform validation for the create/save of a load balancer health monitordefault ServiceResponsevalidateLoadBalancerInstance(NetworkLoadBalancerInstance loadBalancerInstance) default ServiceResponsevalidateLoadBalancerInstanceConfiguration(NetworkLoadBalancer loadBalancer, Instance instance) default ServiceResponseImplement this method to perform validation for the create/save of a load balancer nodedefault ServiceResponsevalidateLoadBalancerPolicy(NetworkLoadBalancerPolicy loadBalancerPolicy) Implement this method to perform validation for the create/save of a load balancer policydefault ServiceResponseImplement this method to perform validation for the create/save of a load balancer pooldefault ServiceResponseImplement this method to perform validation for the create/save of a load balancer policy ruledefault ServiceResponseImplement 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 aServiceResponseis not marked as successful then the validation results will be bubbled up to the user.- Parameters:
loadBalancer-NetworkLoadBalanceropts- 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 theNetworkLoadBalancerProfilemodel.- Parameters:
profile-NetworkLoadBalancerProfile- Returns:
ServiceResponse
-
deleteLoadBalancerProfile
Delete operation for load balancer providers. Implement this method to delete a profile within the provider using theNetworkLoadBalancerProfilemodel.- Parameters:
profile-NetworkLoadBalancerProfile- Returns:
ServiceResponse
-
updateLoadBalancerProfile
Update operation for load balancer providers. Implement this method to update a profile within the provider using theNetworkLoadBalancerProfilemodel.- Parameters:
profile-NetworkLoadBalancerProfile- Returns:
ServiceResponse
-
createLoadBalancerHealthMonitor
Create operation for load balancer providers. Implement this method to create a health monitor within the provider using theNetworkLoadBalancerMonitormodel- Parameters:
monitor-NetworkLoadBalancerMonitor- Returns:
ServiceResponse
-
deleteLoadBalancerHealthMonitor
Delete operation for load balancer providers. Implement this method to delete a health monitor within the provider using theNetworkLoadBalancerMonitormodel- Parameters:
monitor-NetworkLoadBalancerMonitor- Returns:
ServiceResponse
-
updateLoadBalancerHealthMonitor
Update operation for load balancer providers. Implement this method to update a health monitor within the provider using theNetworkLoadBalancerMonitormodel- 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 theNetworkLoadBalancerPolicymodel- Parameters:
loadBalancerPolicy-NetworkLoadBalancerPolicy- Returns:
ServiceResponse
-
deleteLoadBalancerPolicy
Delete operation for load balancer providers. Implement this method to delete a policy within the provider using theNetworkLoadBalancerPolicymodel- 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 theNetworkLoadBalancerRulemodel- Parameters:
rule-NetworkLoadBalancerRule- Returns:
ServiceResponse
-
deleteLoadBalancerRule
Delete operation for load balancer providers. Implement this method to delete a policy rule within the provider using theNetworkLoadBalancerRulemodel- Parameters:
rule-NetworkLoadBalancerRule- Returns:
ServiceResponse
-
createLoadBalancerNode
Create operation for load balancer providers. Implement this method to create a node within the provider using theNetworkLoadBalancerNodemodel- Parameters:
node-NetworkLoadBalancerNode- Returns:
ServiceResponse
-
deleteLoadBalancerNode
Delete operation for load balancer providers. Implement this method to delete a node within the provider using theNetworkLoadBalancerNodemodel- Parameters:
node-NetworkLoadBalancerNode- Returns:
ServiceResponse
-
updateLoadBalancerNode
Update operation for load balancer providers. Implement this method to update a node within the provider using theNetworkLoadBalancerNodemodel- 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 theNetworkLoadBalancerPoolmodel- Parameters:
pool-NetworkLoadBalancerPool- Returns:
ServiceResponse
-
deleteLoadBalancerPool
Delete operation for load balancer providers. Implement this method to delete a pool within the provider using theNetworkLoadBalancerPoolmodel- Parameters:
pool-NetworkLoadBalancerPool- Returns:
ServiceResponse
-
updateLoadBalancerPool
Update operation for load balancer providers. Implement this method to update a pool within the provider using theNetworkLoadBalancerPoolmodel- 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 theNetworkLoadBalancerInstancemodel- Parameters:
instance-NetworkLoadBalancerInstance- Returns:
ServiceResponse
-
deleteLoadBalancerVirtualServer
Delete operation for load balancer providers. Implement this method to delete a virtual server within the provider using theNetworkLoadBalancerInstancemodel- Parameters:
instance-NetworkLoadBalancerInstance- Returns:
ServiceResponse
-
updateLoadBalancerVirtualServer
Update operation for load balancer providers. Implement this method to update a virtual server within the provider using theNetworkLoadBalancerInstancemodel- 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 aNetworkLoadBalancerInstancesuch 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 aNetworkLoadBalancerInstancewith 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-NetworkLoadBalancerInstanceserverGroup-ComputeServerGroup- Returns:
ServiceResponse
-
updateInstance
Implement this method to update all entities involved in aNetworkLoadBalancerInstancesuch 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
-