Interface SnapshotManagementProperty

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
SnapshotManagementProperty.Jsii$Proxy

@Generated(value="jsii-pacmak/1.112.0 (build de1bc80)", date="2025-08-06T18:14:48.676Z") @Stability(Experimental) public interface SnapshotManagementProperty extends software.amazon.jsii.JsiiSerializable
(experimental) Contains details about the snapshot management settings for an Iceberg table.

A snapshot is expired when it exceeds MinSnapshotsToKeep and MaxSnapshotAgeHours.

Default: - No snapshot management settings

Example:

 // Build a table
 Table sampleTable = Table.Builder.create(scope, "ExampleTable")
         .tableName("example_table")
         .namespace(namespace)
         .openTableFormat(OpenTableFormat.ICEBERG)
         .withoutMetadata(true)
         .build();
 // Build a table with an Iceberg Schema
 Table sampleTableWithSchema = Table.Builder.create(scope, "ExampleSchemaTable")
         .tableName("example_table_with_schema")
         .namespace(namespace)
         .openTableFormat(OpenTableFormat.ICEBERG)
         .icebergMetadata(IcebergMetadataProperty.builder()
                 .icebergSchema(IcebergSchemaProperty.builder()
                         .schemaFieldList(List.of(SchemaFieldProperty.builder()
                                 .name("id")
                                 .type("int")
                                 .required(true)
                                 .build(), SchemaFieldProperty.builder()
                                 .name("name")
                                 .type("string")
                                 .build()))
                         .build())
                 .build())
         .compaction(CompactionProperty.builder()
                 .status(Status.ENABLED)
                 .targetFileSizeMb(128)
                 .build())
         .snapshotManagement(SnapshotManagementProperty.builder()
                 .status(Status.ENABLED)
                 .maxSnapshotAgeHours(48)
                 .minSnapshotsToKeep(5)
                 .build())
         .build();
 
  • Method Details

    • getMaxSnapshotAgeHours

      @Stability(Experimental) @Nullable default Number getMaxSnapshotAgeHours()
      (experimental) The maximum age of a snapshot before it can be expired.

      Default: - No maximum age

    • getMinSnapshotsToKeep

      @Stability(Experimental) @Nullable default Number getMinSnapshotsToKeep()
      (experimental) The minimum number of snapshots to keep.

      Default: - No minimum number

    • getStatus

      @Stability(Experimental) @Nullable default Status getStatus()
      (experimental) Indicates whether the SnapshotManagement maintenance action is enabled.

      Default: - Not specified

    • builder

      @Stability(Experimental) static SnapshotManagementProperty.Builder builder()
      Returns:
      a SnapshotManagementProperty.Builder of SnapshotManagementProperty