Class Retention.Builder

java.lang.Object
All Implemented Interfaces:
WithJson<Retention.Builder>, ObjectBuilder<Retention>
Enclosing class:
Retention

public static class Retention.Builder
extends WithJsonObjectBuilderBase<Retention.Builder>
implements ObjectBuilder<Retention>
Builder for Retention.
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • expireAfter

      public final Retention.Builder expireAfter​(Time value)
      Required - Time period after which a snapshot is considered expired and eligible for deletion. SLM deletes expired snapshots based on the slm.retention_schedule.

      API name: expire_after

    • expireAfter

      public final Retention.Builder expireAfter​(java.util.function.Function<Time.Builder,​ObjectBuilder<Time>> fn)
      Required - Time period after which a snapshot is considered expired and eligible for deletion. SLM deletes expired snapshots based on the slm.retention_schedule.

      API name: expire_after

    • maxCount

      public final Retention.Builder maxCount​(int value)
      Required - Maximum number of snapshots to retain, even if the snapshots have not yet expired. If the number of snapshots in the repository exceeds this limit, the policy retains the most recent snapshots and deletes older snapshots.

      API name: max_count

    • minCount

      public final Retention.Builder minCount​(int value)
      Required - Minimum number of snapshots to retain, even if the snapshots have expired.

      API name: min_count

    • self

      protected Retention.Builder self()
      Specified by:
      self in class WithJsonObjectBuilderBase<Retention.Builder>
    • build

      public Retention build()
      Builds a Retention.
      Specified by:
      build in interface ObjectBuilder<Retention>
      Throws:
      java.lang.NullPointerException - if some of the required fields are null.