Package com.morpheusdata.core.providers
Interface DNSProvider
- All Superinterfaces:
PluginProvider
- All Known Subinterfaces:
DNSProvider
Any plugin for Morpheus that provides DNS Related integration points should use this for implementing
DNS Related Services used throughout the orchestration process
- Since:
- 0.15.1
-
Method Summary
Modifier and TypeMethodDescriptioncreateRecord
(AccountIntegration integration, NetworkDomainRecord record, Map opts) Creates a manually allocated DNS Record of the specified record type on the passedNetworkDomainRecord
object.deleteRecord
(AccountIntegration integration, NetworkDomainRecord record, Map opts) Deletes a Zone Record that is specified on the Morpheus side with the target integration endpoint.getIcon()
Returns the DNS Integration logo for display when a user needs to view or add this integrationProvide custom configuration options when creating a newAccountIntegration
void
refresh
(AccountIntegration integration) Periodically called to refresh and sync data coming from the relevant integration.verifyAccountIntegration
(AccountIntegration integration, Map opts) Validation Method used to validate all inputs applied to the integration of an DNS Provider upon save.Methods inherited from interface com.morpheusdata.core.providers.PluginProvider
getCode, getMorpheus, getName, getPlugin, isPlugin
-
Method Details
-
createRecord
Creates a manually allocated DNS Record of the specified record type on the passedNetworkDomainRecord
object. This is typically called outside of automation and is a manual method for administration purposes.- Parameters:
integration
- The DNS Integration record which contains things like connectivity info to the DNS Providerrecord
- The domain record that is being requested for creation. All the metadata needed to create teh record should exist here.opts
- any additional options that may be used in the future to configure behavior. Currently unused- Returns:
- a ServiceResponse with the success/error state of the create operation as well as the modified record.
-
deleteRecord
Deletes a Zone Record that is specified on the Morpheus side with the target integration endpoint. This could be any record type within the specified integration and the authoritative zone object should be associated with theNetworkDomainRecord
parameter.- Parameters:
integration
- The DNS Integration record which contains things like connectivity info to the DNS Providerrecord
- The zone record object to be deleted on the target integration.opts
- opts any additional options that may be used in the future to configure behavior. Currently unused- Returns:
- the ServiceResponse with the success/error of the delete operation.
-
getIntegrationOptionTypes
List<OptionType> getIntegrationOptionTypes()Provide custom configuration options when creating a newAccountIntegration
- Returns:
- a List of OptionType
-
getIcon
Icon getIcon()Returns the DNS Integration logo for display when a user needs to view or add this integration- Returns:
- Icon representation of assets stored in the src/assets of the project.
- Since:
- 0.12.3
-
refresh
Periodically called to refresh and sync data coming from the relevant integration. Most integration providers provide a method like this that is called periodically (typically 5 - 10 minutes). DNS Sync operates on a 10min cycle by default. Useful for caching DNS Records created outside of Morpheus. NOTE: This method is unused when paired with a DNS Provider so simply return null- Parameters:
integration
- The Integration Object contains all the saved information regarding configuration of the DNS Provider.
-
verifyAccountIntegration
Validation Method used to validate all inputs applied to the integration of an DNS Provider upon save. If an input fails validation or authentication information cannot be verified, Error messages should be returned via aServiceResponse
object where the key on the error is the field name and the value is the error message. If the error is a generic authentication error or unknown error, a standard message can also be sent back in the response. NOTE: This is unused when paired with an IPAMProvider interface- Parameters:
integration
- The Integration Object contains all the saved information regarding configuration of the DNS Provider.opts
- any custom payload submission options may exist here- Returns:
- A response is returned depending on if the inputs are valid or not.
-