Class: AWSCDK::S3Tables::CfnTableProps

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

Overview

Properties for defining a CfnTable.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(namespace:, open_table_format:, table_bucket_arn:, table_name:, compaction: nil, iceberg_metadata: nil, snapshot_management: nil, storage_class_configuration: nil, tags: nil, without_metadata: nil) ⇒ CfnTableProps

Returns a new instance of CfnTableProps.

Parameters:



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 's3_tables/cfn_table_props.rb', line 19

def initialize(namespace:, open_table_format:, table_bucket_arn:, table_name:, compaction: nil, iceberg_metadata: nil, snapshot_management: nil, storage_class_configuration: nil, tags: nil, without_metadata: nil)
  @namespace = namespace
  Jsii::Type.check_type(@namespace, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "namespace")
  @open_table_format = open_table_format
  Jsii::Type.check_type(@open_table_format, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "openTableFormat")
  @table_bucket_arn = table_bucket_arn
  Jsii::Type.check_type(@table_bucket_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tableBucketArn")
  @table_name = table_name
  Jsii::Type.check_type(@table_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tableName")
  @compaction = compaction.is_a?(Hash) ? ::AWSCDK::S3Tables::CfnTable::CompactionProperty.new(**compaction.transform_keys(&:to_sym)) : compaction
  Jsii::Type.check_type(@compaction, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM3RhYmxlcy5DZm5UYWJsZS5Db21wYWN0aW9uUHJvcGVydHkifV19fQ==")), "compaction") unless @compaction.nil?
  @iceberg_metadata = .is_a?(Hash) ? ::AWSCDK::S3Tables::CfnTable::IcebergMetadataProperty.new(**.transform_keys(&:to_sym)) : 
  Jsii::Type.check_type(@iceberg_metadata, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM3RhYmxlcy5DZm5UYWJsZS5JY2ViZXJnTWV0YWRhdGFQcm9wZXJ0eSJ9XX19")), "icebergMetadata") unless @iceberg_metadata.nil?
  @snapshot_management = snapshot_management.is_a?(Hash) ? ::AWSCDK::S3Tables::CfnTable::SnapshotManagementProperty.new(**snapshot_management.transform_keys(&:to_sym)) : snapshot_management
  Jsii::Type.check_type(@snapshot_management, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM3RhYmxlcy5DZm5UYWJsZS5TbmFwc2hvdE1hbmFnZW1lbnRQcm9wZXJ0eSJ9XX19")), "snapshotManagement") unless @snapshot_management.nil?
  @storage_class_configuration = storage_class_configuration.is_a?(Hash) ? ::AWSCDK::S3Tables::CfnTable::StorageClassConfigurationProperty.new(**storage_class_configuration.transform_keys(&:to_sym)) : storage_class_configuration
  Jsii::Type.check_type(@storage_class_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM3RhYmxlcy5DZm5UYWJsZS5TdG9yYWdlQ2xhc3NDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "storageClassConfiguration") unless @storage_class_configuration.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @without_metadata = 
  Jsii::Type.check_type(@without_metadata, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "withoutMetadata") unless @without_metadata.nil?
end

Instance Attribute Details

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

Contains details about the compaction settings for an Iceberg table.



66
67
68
# File 's3_tables/cfn_table_props.rb', line 66

def compaction
  @compaction
end

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

Contains details about the metadata for an Iceberg table.



71
72
73
# File 's3_tables/cfn_table_props.rb', line 71

def 
  @iceberg_metadata
end

#namespaceString (readonly)

The name of the namespace.



46
47
48
# File 's3_tables/cfn_table_props.rb', line 46

def namespace
  @namespace
end

#open_table_formatString (readonly)

The format of the table.



51
52
53
# File 's3_tables/cfn_table_props.rb', line 51

def open_table_format
  @open_table_format
end

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

Contains details about the Iceberg snapshot management settings for the table.



76
77
78
# File 's3_tables/cfn_table_props.rb', line 76

def snapshot_management
  @snapshot_management
end

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

The configuration details for the storage class of tables or table buckets.

This allows you to optimize storage costs by selecting the appropriate storage class based on your access patterns and performance requirements.



83
84
85
# File 's3_tables/cfn_table_props.rb', line 83

def storage_class_configuration
  @storage_class_configuration
end

#table_bucket_arnString (readonly)

The Amazon Resource Name (ARN) of the table bucket to create the table in.



56
57
58
# File 's3_tables/cfn_table_props.rb', line 56

def table_bucket_arn
  @table_bucket_arn
end

#table_nameString (readonly)

The name for the table.



61
62
63
# File 's3_tables/cfn_table_props.rb', line 61

def table_name
  @table_name
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

User tags (key-value pairs) to associate with the table.



88
89
90
# File 's3_tables/cfn_table_props.rb', line 88

def tags
  @tags
end

#without_metadataString? (readonly)

Indicates that you don't want to specify a schema for the table.

This property is mutually exclusive to IcebergMetadata , and its only possible value is Yes .



95
96
97
# File 's3_tables/cfn_table_props.rb', line 95

def 
  @without_metadata
end

Class Method Details

.jsii_propertiesObject



97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 's3_tables/cfn_table_props.rb', line 97

def self.jsii_properties
  {
    :namespace => "namespace",
    :open_table_format => "openTableFormat",
    :table_bucket_arn => "tableBucketArn",
    :table_name => "tableName",
    :compaction => "compaction",
    :iceberg_metadata => "icebergMetadata",
    :snapshot_management => "snapshotManagement",
    :storage_class_configuration => "storageClassConfiguration",
    :tags => "tags",
    :without_metadata => "withoutMetadata",
  }
end

Instance Method Details

#to_jsiiObject



112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 's3_tables/cfn_table_props.rb', line 112

def to_jsii
  result = {}
  result.merge!({
    "namespace" => @namespace,
    "openTableFormat" => @open_table_format,
    "tableBucketArn" => @table_bucket_arn,
    "tableName" => @table_name,
    "compaction" => @compaction,
    "icebergMetadata" => @iceberg_metadata,
    "snapshotManagement" => @snapshot_management,
    "storageClassConfiguration" => @storage_class_configuration,
    "tags" => @tags,
    "withoutMetadata" => @without_metadata,
  })
  result.compact
end