# Record Class CSOptions

java.lang.Object
java.lang.Record
com.io7m.certusine.api.CSOptions

Record Components:
  `dropUnreferencedCertificates` - Whether to drop certificates that are no longer mentioned in the configuration file.
  `certificateStore` - The local certificate store used to hold persistent certificate state during processing
  `dnsWaitTime` - The amount of time to wait after DNS records have been created before asking the ACME server to check them.
  `certificateExpirationThreshold` - The expiration threshold for certificates; if a certificate has less than or equal this time remaining before it expires, renewal should proceed
  `openTelemetry` - The OpenTelemetry configuration
  `faultInjection` - The fault injection configuration

public record CSOptions(boolean dropUnreferencedCertificates, Path certificateStore, Duration dnsWaitTime, Duration certificateExpirationThreshold, Optional<CSOpenTelemetryConfiguration> openTelemetry, CSFaultInjectionConfiguration faultInjection) extends Record
The options associated with the ACME process.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CSOptions(boolean dropUnreferencedCertificates, Path certificateStore, Duration dnsWaitTime, Duration certificateExpirationThreshold, Optional<CSOpenTelemetryConfiguration> openTelemetry, CSFaultInjectionConfiguration faultInjection)`
  The options associated with the ACME process.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Duration`
  `certificateExpirationThreshold()`
  Returns the value of the `certificateExpirationThreshold` record component.
  `Path`
  `certificateStore()`
  Returns the value of the `certificateStore` record component.
  `Duration`
  `dnsWaitTime()`
  Returns the value of the `dnsWaitTime` record component.
  `boolean`
  `dropUnreferencedCertificates()`
  Returns the value of the `dropUnreferencedCertificates` record component.
  `final boolean`
  `equals(Object o)`
  Indicates whether some other object is "equal to" this one.
  `CSFaultInjectionConfiguration`
  `faultInjection()`
  Returns the value of the `faultInjection` record component.
  `final int`
  `hashCode()`
  Returns a hash code value for this object.
  `Optional<CSOpenTelemetryConfiguration>`
  `openTelemetry()`
  Returns the value of the `openTelemetry` record component.
  `final String`
  `toString()`
  Returns a string representation of this record class.

  ### Methods inherited from class Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### CSOptions

    public CSOptions(boolean dropUnreferencedCertificates, Path certificateStore, Duration dnsWaitTime, Duration certificateExpirationThreshold, Optional<CSOpenTelemetryConfiguration> openTelemetry, CSFaultInjectionConfiguration faultInjection)
    The options associated with the ACME process.
    Parameters:
      `dropUnreferencedCertificates` - Whether to drop certificates that are no longer mentioned in the configuration file.
      `certificateStore` - The local certificate store used to hold persistent certificate state during processing
      `dnsWaitTime` - The amount of time to wait after DNS records have been created before asking the ACME server to check them.
      `certificateExpirationThreshold` - The expiration threshold for certificates; if a certificate has less than or equal this time remaining before it expires, renewal should proceed
      `openTelemetry` - The OpenTelemetry configuration
      `faultInjection` - The fault injection configuration

- ## Method Details

  - ### toString

    public final String toString()
    Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
    Specified by:
      `toString` in class `Record`
    Returns:
      a string representation of this object

  - ### hashCode

    public final int hashCode()
    Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
    Specified by:
      `hashCode` in class `Record`
    Returns:
      a hash code value for this object

  - ### equals

    public final boolean equals(Object o)
    Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with `Objects::equals(Object,Object)`; primitive components are compared with the `compare` method from their corresponding wrapper classes.
    Specified by:
      `equals` in class `Record`
    Parameters:
      `o` - the object with which to compare
    Returns:
      `true` if this object is the same as the `o` argument; `false` otherwise.

  - ### dropUnreferencedCertificates

    public boolean dropUnreferencedCertificates()
    Returns the value of the `dropUnreferencedCertificates` record component.
    Returns:
      the value of the `dropUnreferencedCertificates` record component

  - ### certificateStore

    public Path certificateStore()
    Returns the value of the `certificateStore` record component.
    Returns:
      the value of the `certificateStore` record component

  - ### dnsWaitTime

    public Duration dnsWaitTime()
    Returns the value of the `dnsWaitTime` record component.
    Returns:
      the value of the `dnsWaitTime` record component

  - ### certificateExpirationThreshold

    public Duration certificateExpirationThreshold()
    Returns the value of the `certificateExpirationThreshold` record component.
    Returns:
      the value of the `certificateExpirationThreshold` record component

  - ### openTelemetry

    public Optional<CSOpenTelemetryConfiguration> openTelemetry()
    Returns the value of the `openTelemetry` record component.
    Returns:
      the value of the `openTelemetry` record component

  - ### faultInjection

    public CSFaultInjectionConfiguration faultInjection()
    Returns the value of the `faultInjection` record component.
    Returns:
      the value of the `faultInjection` record component