Class RetentionArchiveTier

java.lang.Object
software.amazon.awssdk.services.dlm.model.RetentionArchiveTier
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<RetentionArchiveTier.Builder,RetentionArchiveTier>

@Generated("software.amazon.awssdk:codegen") public final class RetentionArchiveTier extends Object implements SdkPojo, Serializable, ToCopyableBuilder<RetentionArchiveTier.Builder,RetentionArchiveTier>

[Custom snapshot policies only] Describes the retention rule for archived snapshots. Once the archive retention threshold is met, the snapshots are permanently deleted from the archive tier.

The archive retention rule must retain snapshots in the archive tier for a minimum of 90 days.

For count-based schedules, you must specify Count. For age-based schedules, you must specify Interval and IntervalUnit.

For more information about using snapshot archiving, see Considerations for snapshot lifecycle policies.

See Also:
  • Method Details

    • count

      public final Integer count()

      The maximum number of snapshots to retain in the archive storage tier for each volume. The count must ensure that each snapshot remains in the archive tier for at least 90 days. For example, if the schedule creates snapshots every 30 days, you must specify a count of 3 or more to ensure that each snapshot is archived for at least 90 days.

      Returns:
      The maximum number of snapshots to retain in the archive storage tier for each volume. The count must ensure that each snapshot remains in the archive tier for at least 90 days. For example, if the schedule creates snapshots every 30 days, you must specify a count of 3 or more to ensure that each snapshot is archived for at least 90 days.
    • interval

      public final Integer interval()

      Specifies the period of time to retain snapshots in the archive tier. After this period expires, the snapshot is permanently deleted.

      Returns:
      Specifies the period of time to retain snapshots in the archive tier. After this period expires, the snapshot is permanently deleted.
    • intervalUnit

      public final RetentionIntervalUnitValues intervalUnit()

      The unit of time in which to measure the Interval. For example, to retain a snapshots in the archive tier for 6 months, specify Interval=6 and IntervalUnit=MONTHS.

      If the service returns an enum value that is not available in the current SDK version, intervalUnit will return RetentionIntervalUnitValues.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from intervalUnitAsString().

      Returns:
      The unit of time in which to measure the Interval. For example, to retain a snapshots in the archive tier for 6 months, specify Interval=6 and IntervalUnit=MONTHS.
      See Also:
    • intervalUnitAsString

      public final String intervalUnitAsString()

      The unit of time in which to measure the Interval. For example, to retain a snapshots in the archive tier for 6 months, specify Interval=6 and IntervalUnit=MONTHS.

      If the service returns an enum value that is not available in the current SDK version, intervalUnit will return RetentionIntervalUnitValues.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from intervalUnitAsString().

      Returns:
      The unit of time in which to measure the Interval. For example, to retain a snapshots in the archive tier for 6 months, specify Interval=6 and IntervalUnit=MONTHS.
      See Also:
    • toBuilder

      public RetentionArchiveTier.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<RetentionArchiveTier.Builder,RetentionArchiveTier>
      Returns:
      a builder for type T
    • builder

      public static RetentionArchiveTier.Builder builder()
    • serializableBuilderClass

      public static Class<? extends RetentionArchiveTier.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.