# Hierarchy For All Packages

Package Hierarchies:

- com.io7m.certusine.api,
- com.io7m.certusine.certstore.api,
- com.io7m.certusine.cmdline,
- com.io7m.certusine.cmdline.internal,
- com.io7m.certusine.gandi,
- com.io7m.certusine.gandi.internal,
- com.io7m.certusine.hetzner,
- com.io7m.certusine.hetzner.internal,
- com.io7m.certusine.looseleaf,
- com.io7m.certusine.looseleaf.internal,
- com.io7m.certusine.vanilla,
- com.io7m.certusine.vanilla.internal,
- com.io7m.certusine.vanilla.internal.age,
- com.io7m.certusine.vanilla.internal.configuration,
- com.io7m.certusine.vanilla.internal.dns,
- com.io7m.certusine.vanilla.internal.events,
- com.io7m.certusine.vanilla.internal.jaxb,
- com.io7m.certusine.vanilla.internal.store,
- com.io7m.certusine.vanilla.internal.tasks,
- com.io7m.certusine.vanilla.internal.telemetry,
- com.io7m.certusine.vultr,
- com.io7m.certusine.vultr.internal

## Class Hierarchy

- java.lang.Object
  - com.io7m.certusine.vanilla.internal.jaxb.Account
  - com.io7m.certusine.vanilla.internal.jaxb.Accounts
  - com.io7m.certusine.vanilla.internal.jaxb.Certificate
  - com.io7m.certusine.vanilla.internal.jaxb.Certificates
  - com.io7m.certusine.vanilla.internal.jaxb.Configuration
  - ch.qos.logback.core.spi.ContextAwareBase (implements ch.qos.logback.core.spi.ContextAware)
    - ch.qos.logback.core.LayoutBase<E> (implements ch.qos.logback.core.Layout<E>)
      - com.io7m.certusine.cmdline.CSLoggingPatternLayout
  - com.io7m.certusine.api.CSAbstractNamedProvider (implements com.io7m.certusine.api.CSNamedProviderType)
    - com.io7m.certusine.vanilla.CSCertificateOutputProviderDirectory (implements com.io7m.certusine.api.CSCertificateOutputProviderType)
    - com.io7m.certusine.gandi.CSGandiDNSConfigurators (implements com.io7m.certusine.api.CSDNSConfiguratorProviderType)
    - com.io7m.certusine.hetzner.CSHetznerDNSConfigurators (implements com.io7m.certusine.api.CSDNSConfiguratorProviderType)
    - com.io7m.certusine.looseleaf.CSLLOutputProvider (implements com.io7m.certusine.api.CSCertificateOutputProviderType)
    - com.io7m.certusine.vultr.CSVultrDNSConfigurators (implements com.io7m.certusine.api.CSDNSConfiguratorProviderType)
  - com.io7m.certusine.vanilla.internal.age.CSAgeService (implements com.io7m.certusine.vanilla.internal.age.CSAgeServiceType)
  - com.io7m.certusine.vanilla.internal.CSCertificateIO
  - com.io7m.certusine.vanilla.internal.CSCertificateOutputDirectory (implements com.io7m.certusine.api.CSCertificateOutputType)
  - com.io7m.certusine.vanilla.internal.store.CSCertificateStoreService (implements com.io7m.certusine.vanilla.internal.store.CSCertificateStoreServiceType, java.util.concurrent.Flow.Subscriber<T>)
  - com.io7m.certusine.vanilla.internal.store.CSCertificateStoreSQLite (implements com.io7m.certusine.certstore.api.CSCertificateStoreType)
  - com.io7m.certusine.vanilla.internal.store.CSCertificateStoreSQLiteFactory (implements com.io7m.certusine.certstore.api.CSCertificateStoreFactoryType)
  - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTask
    - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskAuthorizeDNS
      - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskAuthorizeDNSCheckRecords
      - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskAuthorizeDNSHandleChallenges
      - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskAuthorizeDNSInitial
    - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskEnd
    - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskSignCertificate
      - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskSignCertificateInitial
      - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskSignCertificateSaveToOutputs
      - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskSignCertificateSaveToStore
      - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskSignCertificateUpdate
  - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskContext
  - com.io7m.certusine.vanilla.CSCertificateUtilities
  - com.io7m.certusine.cmdline.internal.CSCheckConfiguration (implements com.io7m.quarrel.core.QCommandType)
  - com.io7m.certusine.vanilla.internal.CSConfigurationParser (implements com.io7m.certusine.api.CSConfigurationParserType)
  - com.io7m.certusine.vanilla.CSConfigurationParsers (implements com.io7m.certusine.api.CSConfigurationParsersType)
  - com.io7m.certusine.vanilla.internal.configuration.CSConfigurationService (implements com.io7m.certusine.api.CSConfigurationServiceType)
  - com.io7m.certusine.vanilla.internal.dns.CSDNSQueriesDJ (implements com.io7m.certusine.vanilla.internal.dns.CSDNSQueriesType)
  - com.io7m.certusine.vanilla.internal.dns.CSDNSQueriesFactoryDJ (implements com.io7m.certusine.vanilla.internal.dns.CSDNSQueriesFactoryType)
  - com.io7m.certusine.vanilla.internal.CSDomainExecutor
  - com.io7m.certusine.vanilla.CSDomains
  - com.io7m.certusine.vanilla.internal.tasks.CSDurations
  - com.io7m.certusine.vanilla.internal.events.CSEventService (implements com.io7m.certusine.vanilla.internal.events.CSEventServiceType)
  - com.io7m.certusine.gandi.internal.CSGandiDNSConfigurator (implements com.io7m.certusine.api.CSDNSConfiguratorType)
  - com.io7m.certusine.cmdline.internal.CSGenerateKeyPair (implements com.io7m.quarrel.core.QCommandType)
  - com.io7m.certusine.hetzner.internal.CSHetznerDNSConfigurator (implements com.io7m.certusine.api.CSDNSConfiguratorType)
  - com.io7m.certusine.looseleaf.CSLLDownloader
  - com.io7m.certusine.looseleaf.internal.CSLLOutput (implements com.io7m.certusine.api.CSCertificateOutputType)
  - com.io7m.certusine.cmdline.internal.CSLooseleafDownload (implements com.io7m.quarrel.core.QCommandType)
  - com.io7m.certusine.api.CSParseErrorLogging
  - com.io7m.certusine.cmdline.internal.CSRenew (implements com.io7m.quarrel.core.QCommandType)
  - com.io7m.certusine.vanilla.CSServices
  - com.io7m.certusine.cmdline.internal.CSShowCertificateOutputs (implements com.io7m.quarrel.core.QCommandType)
  - com.io7m.certusine.cmdline.internal.CSShowDNSConfigurators (implements com.io7m.quarrel.core.QCommandType)
  - com.io7m.certusine.api.CSTelemetryNoOp (implements com.io7m.certusine.api.CSTelemetryServiceType)
  - com.io7m.certusine.vanilla.internal.telemetry.CSTelemetryService (implements com.io7m.certusine.api.CSTelemetryServiceType)
  - com.io7m.certusine.vanilla.CSTelemetryServices (implements com.io7m.certusine.api.CSTelemetryServiceFactoryType)
  - com.io7m.certusine.api.CSVersion
  - com.io7m.certusine.vultr.internal.CSVultrDNSConfigurator (implements com.io7m.certusine.api.CSDNSConfiguratorType)
  - com.io7m.certusine.vanilla.internal.jaxb.DNSConfigurator
  - com.io7m.certusine.vanilla.internal.jaxb.DNSConfigurators
  - com.io7m.certusine.vanilla.internal.jaxb.Domain
  - com.io7m.certusine.vanilla.internal.jaxb.Domains
  - com.io7m.certusine.vanilla.internal.jaxb.FaultInjection
  - com.io7m.certusine.vanilla.internal.jaxb.Host
  - com.io7m.certusine.vanilla.internal.jaxb.Hosts
  - com.io7m.jxtrand.vanilla.JXTAbstractStrings (implements com.io7m.jxtrand.api.JXTStringsType)
    - com.io7m.certusine.gandi.internal.CSGandiStrings
    - com.io7m.certusine.hetzner.internal.CSHetznerStrings
    - com.io7m.certusine.looseleaf.internal.CSLLStrings
    - com.io7m.certusine.vanilla.internal.CSStrings (implements com.io7m.repetoir.core.RPServiceType)
    - com.io7m.certusine.vultr.internal.CSVultrStrings
  - com.io7m.certusine.vanilla.internal.jaxb.Logs
  - com.io7m.certusine.cmdline.Main (implements java.lang.Runnable)
  - com.io7m.certusine.vanilla.internal.jaxb.Metrics
  - com.io7m.certusine.vanilla.internal.jaxb.ObjectFactory
  - com.io7m.certusine.vanilla.internal.jaxb.OpenTelemetry
  - com.io7m.certusine.vanilla.internal.jaxb.Options
  - com.io7m.certusine.vanilla.internal.jaxb.Output
  - com.io7m.certusine.vanilla.internal.jaxb.OutputReference
  - com.io7m.certusine.vanilla.internal.jaxb.OutputReferences
  - com.io7m.certusine.vanilla.internal.jaxb.Outputs
  - com.io7m.certusine.vanilla.internal.jaxb.Parameter
  - com.io7m.certusine.vanilla.internal.jaxb.Parameters
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskException
      - com.io7m.certusine.api.CSConfigurationException
      - com.io7m.certusine.vanilla.internal.CSInternalParseException
  - com.io7m.certusine.vanilla.internal.jaxb.Traces

## Interface Hierarchy

- java.lang.AutoCloseable
  - java.io.Closeable
    - com.io7m.certusine.certstore.api.CSCertificateStoreType
    - com.io7m.anethum.api.ParserType<T>
      - com.io7m.certusine.api.CSConfigurationParserType
  - com.io7m.certusine.vanilla.internal.age.CSAgeServiceType (also extends com.io7m.repetoir.core.RPServiceType)
  - com.io7m.certusine.vanilla.internal.store.CSCertificateStoreServiceType (also extends com.io7m.repetoir.core.RPServiceType)
  - com.io7m.certusine.api.CSConfigurationServiceType (also extends com.io7m.repetoir.core.RPServiceType)
  - com.io7m.certusine.vanilla.internal.events.CSEventServiceType (also extends com.io7m.repetoir.core.RPServiceType)
- com.io7m.certusine.api.CSCertificateOutputType
- com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskStatusType
- com.io7m.certusine.api.CSDNSConfiguratorType
- com.io7m.certusine.vanilla.internal.dns.CSDNSQueriesFactoryType
- com.io7m.certusine.vanilla.internal.dns.CSDNSQueriesType
- com.io7m.certusine.api.CSDNSRecordNameType
- com.io7m.certusine.vanilla.internal.events.CSEventType
- com.io7m.certusine.api.CSTelemetryServiceFactoryType
- com.io7m.anethum.api.ParserFactoryType<C,T,P>
  - com.io7m.certusine.api.CSConfigurationParsersType
- com.io7m.repetoir.core.RPServiceType
  - com.io7m.certusine.vanilla.internal.age.CSAgeServiceType (also extends java.lang.AutoCloseable)
  - com.io7m.certusine.certstore.api.CSCertificateStoreFactoryType
  - com.io7m.certusine.vanilla.internal.store.CSCertificateStoreServiceType (also extends java.lang.AutoCloseable)
  - com.io7m.certusine.api.CSConfigurationServiceType (also extends java.lang.AutoCloseable)
  - com.io7m.certusine.vanilla.internal.events.CSEventServiceType (also extends java.lang.AutoCloseable)
  - com.io7m.certusine.api.CSNamedProviderType
    - com.io7m.certusine.api.CSCertificateOutputProviderType
    - com.io7m.certusine.api.CSDNSConfiguratorProviderType
  - com.io7m.certusine.api.CSTelemetryServiceType

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - com.io7m.certusine.api.CSOpenTelemetryConfiguration.CSOTLPProtocol
    - com.io7m.certusine.vanilla.internal.jaxb.OpenTelemetryProtocol

## Record Class Hierarchy

- java.lang.Object
  - java.lang.Record
    - com.io7m.certusine.api.CSAccount
    - com.io7m.certusine.api.CSCertificate
    - com.io7m.certusine.api.CSCertificateName (implements java.io.Serializable)
    - com.io7m.certusine.api.CSCertificateOutputData
    - com.io7m.certusine.certstore.api.CSCertificateStored (implements java.io.Serializable)
    - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskCompleted (implements com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskStatusType)
    - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskFailedAndRestart (implements com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskStatusType)
    - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskFailedButCanBeRetried (implements com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskStatusType)
    - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskFailedPermanently (implements com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskStatusType)
    - com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskInProgress (implements com.io7m.certusine.vanilla.internal.tasks.CSCertificateTaskStatusType)
    - com.io7m.certusine.api.CSConfiguration
    - com.io7m.certusine.api.CSConfigurationParameterDescription
    - com.io7m.certusine.api.CSConfigurationParameters (implements com.io7m.jlexing.core.LexicalType<F>)
    - com.io7m.certusine.api.CSDNSRecordNameType.CSDNSRecordNameAbsolute (implements com.io7m.certusine.api.CSDNSRecordNameType)
    - com.io7m.certusine.api.CSDNSRecordNameType.CSDNSRecordNameRelative (implements com.io7m.certusine.api.CSDNSRecordNameType)
    - com.io7m.certusine.vanilla.internal.dns.CSDNSTXTRecord
    - com.io7m.certusine.api.CSDomain
    - com.io7m.certusine.vanilla.internal.events.CSEventCertificateDNSChallengeFailed (implements com.io7m.certusine.vanilla.internal.events.CSEventType)
    - com.io7m.certusine.vanilla.internal.events.CSEventCertificateRenewalFailed (implements com.io7m.certusine.vanilla.internal.events.CSEventType)
    - com.io7m.certusine.vanilla.internal.events.CSEventCertificateRenewalSucceeded (implements com.io7m.certusine.vanilla.internal.events.CSEventType)
    - com.io7m.certusine.vanilla.internal.events.CSEventCertificateSigningFailed (implements com.io7m.certusine.vanilla.internal.events.CSEventType)
    - com.io7m.certusine.vanilla.internal.events.CSEventCertificateStored (implements com.io7m.certusine.vanilla.internal.events.CSEventType)
    - com.io7m.certusine.vanilla.internal.events.CSEventCertificateStoreFailed (implements com.io7m.certusine.vanilla.internal.events.CSEventType)
    - com.io7m.certusine.vanilla.internal.events.CSEventCertificateValidityRemaining (implements com.io7m.certusine.vanilla.internal.events.CSEventType)
    - com.io7m.certusine.api.CSFaultInjectionConfiguration
    - com.io7m.certusine.hetzner.internal.CSHetznerDNSRecord
    - com.io7m.certusine.hetzner.internal.CSHetznerDNSRecordResponse
    - com.io7m.certusine.hetzner.internal.CSHetznerDNSRecordsResponse
    - com.io7m.certusine.looseleaf.CSLLCredentials
    - com.io7m.certusine.api.CSOpenTelemetryConfiguration
    - com.io7m.certusine.api.CSOpenTelemetryConfiguration.CSLogs
    - com.io7m.certusine.api.CSOpenTelemetryConfiguration.CSMetrics
    - com.io7m.certusine.api.CSOpenTelemetryConfiguration.CSTraces
    - com.io7m.certusine.api.CSOptions
    - com.io7m.certusine.vultr.internal.CSVultrDNSRecord
    - com.io7m.certusine.vultr.internal.CSVultrDNSResponse
    - com.io7m.certusine.vultr.internal.CSVultrPageLinks
    - com.io7m.certusine.vultr.internal.CSVultrPageMetadata