Class: AWSCDK::S3Tables::CfnTable::IcebergMetadataProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
s3_tables/cfn_table.rb

Overview

Contains details about the metadata for an Iceberg table.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(iceberg_partition_spec: nil, iceberg_schema: nil, iceberg_schema_v2: nil, iceberg_sort_order: nil, table_properties: nil) ⇒ IcebergMetadataProperty

Returns a new instance of IcebergMetadataProperty.

Parameters:



712
713
714
715
716
717
718
719
720
721
722
723
# File 's3_tables/cfn_table.rb', line 712

def initialize(iceberg_partition_spec: nil, iceberg_schema: nil, iceberg_schema_v2: nil, iceberg_sort_order: nil, table_properties: nil)
  @iceberg_partition_spec = iceberg_partition_spec.is_a?(Hash) ? ::AWSCDK::S3Tables::CfnTable::IcebergPartitionSpecProperty.new(**iceberg_partition_spec.transform_keys(&:to_sym)) : iceberg_partition_spec
  Jsii::Type.check_type(@iceberg_partition_spec, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM3RhYmxlcy5DZm5UYWJsZS5JY2ViZXJnUGFydGl0aW9uU3BlY1Byb3BlcnR5In1dfX0=")), "icebergPartitionSpec") unless @iceberg_partition_spec.nil?
  @iceberg_schema = iceberg_schema.is_a?(Hash) ? ::AWSCDK::S3Tables::CfnTable::IcebergSchemaProperty.new(**iceberg_schema.transform_keys(&:to_sym)) : iceberg_schema
  Jsii::Type.check_type(@iceberg_schema, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM3RhYmxlcy5DZm5UYWJsZS5JY2ViZXJnU2NoZW1hUHJvcGVydHkifV19fQ==")), "icebergSchema") unless @iceberg_schema.nil?
  @iceberg_schema_v2 = iceberg_schema_v2.is_a?(Hash) ? ::AWSCDK::S3Tables::CfnTable::IcebergSchemaV2Property.new(**iceberg_schema_v2.transform_keys(&:to_sym)) : iceberg_schema_v2
  Jsii::Type.check_type(@iceberg_schema_v2, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM3RhYmxlcy5DZm5UYWJsZS5JY2ViZXJnU2NoZW1hVjJQcm9wZXJ0eSJ9XX19")), "icebergSchemaV2") unless @iceberg_schema_v2.nil?
  @iceberg_sort_order = iceberg_sort_order.is_a?(Hash) ? ::AWSCDK::S3Tables::CfnTable::IcebergSortOrderProperty.new(**iceberg_sort_order.transform_keys(&:to_sym)) : iceberg_sort_order
  Jsii::Type.check_type(@iceberg_sort_order, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM3RhYmxlcy5DZm5UYWJsZS5JY2ViZXJnU29ydE9yZGVyUHJvcGVydHkifV19fQ==")), "icebergSortOrder") unless @iceberg_sort_order.nil?
  @table_properties = table_properties
  Jsii::Type.check_type(@table_properties, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "tableProperties") unless @table_properties.nil?
end

Instance Attribute Details

#iceberg_partition_specAWSCDK::IResolvable, ... (readonly)

Partition specification for an Iceberg table.



729
730
731
# File 's3_tables/cfn_table.rb', line 729

def iceberg_partition_spec
  @iceberg_partition_spec
end

#iceberg_schemaAWSCDK::IResolvable, ... (readonly)

The schema for an Iceberg table.



734
735
736
# File 's3_tables/cfn_table.rb', line 734

def iceberg_schema
  @iceberg_schema
end

#iceberg_schema_v2AWSCDK::IResolvable, ... (readonly)

Contains details about the schema version 2 (V2) for an Iceberg table that supports Apache Iceberg Nested Types (struct, list, map).

Primitive types are also supported.



741
742
743
# File 's3_tables/cfn_table.rb', line 741

def iceberg_schema_v2
  @iceberg_schema_v2
end

#iceberg_sort_orderAWSCDK::IResolvable, ... (readonly)

Sort order specification for an Iceberg table.



746
747
748
# File 's3_tables/cfn_table.rb', line 746

def iceberg_sort_order
  @iceberg_sort_order
end

#table_propertiesAWSCDK::IResolvable, ... (readonly)

Iceberg table properties (e.g., format-version, write.parquet.compression-codec).



751
752
753
# File 's3_tables/cfn_table.rb', line 751

def table_properties
  @table_properties
end

Class Method Details

.jsii_propertiesObject



753
754
755
756
757
758
759
760
761
# File 's3_tables/cfn_table.rb', line 753

def self.jsii_properties
  {
    :iceberg_partition_spec => "icebergPartitionSpec",
    :iceberg_schema => "icebergSchema",
    :iceberg_schema_v2 => "icebergSchemaV2",
    :iceberg_sort_order => "icebergSortOrder",
    :table_properties => "tableProperties",
  }
end

Instance Method Details

#to_jsiiObject



763
764
765
766
767
768
769
770
771
772
773
# File 's3_tables/cfn_table.rb', line 763

def to_jsii
  result = {}
  result.merge!({
    "icebergPartitionSpec" => @iceberg_partition_spec,
    "icebergSchema" => @iceberg_schema,
    "icebergSchemaV2" => @iceberg_schema_v2,
    "icebergSortOrder" => @iceberg_sort_order,
    "tableProperties" => @table_properties,
  })
  result.compact
end