Interface DNSProvider

  • All Superinterfaces:
    PluginProvider

    public interface DNSProvider
    extends PluginProvider
    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.8.0
    • Method Detail

      • createRecord

        ServiceResponse createRecord​(AccountIntegration integration,
                                     NetworkDomainRecord record,
                                     java.util.Map opts)
        Creates a manually allocated DNS Record of the specified record type on the passed NetworkDomainRecord 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 Provider
        record - 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

        ServiceResponse deleteRecord​(AccountIntegration integration,
                                     NetworkDomainRecord record,
                                     java.util.Map opts)
        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 the NetworkDomainRecord parameter.
        Parameters:
        integration - The DNS Integration record which contains things like connectivity info to the DNS Provider
        record - 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

        java.util.List<OptionType> getIntegrationOptionTypes()
        Provide custom configuration options when creating a new AccountIntegration
        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

        void refresh​(AccountIntegration integration)
        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

        ServiceResponse verifyAccountIntegration​(AccountIntegration integration,
                                                 java.util.Map opts)
        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 a ServiceResponse 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.