Class: AWSCDK::S3Tables::CfnTableProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::S3Tables::CfnTableProps
- Defined in:
- s3_tables/cfn_table_props.rb
Overview
Properties for defining a CfnTable.
Instance Attribute Summary collapse
-
#compaction ⇒ AWSCDK::IResolvable, ...
readonly
Contains details about the compaction settings for an Iceberg table.
-
#iceberg_metadata ⇒ AWSCDK::IResolvable, ...
readonly
Contains details about the metadata for an Iceberg table.
-
#namespace ⇒ String
readonly
The name of the namespace.
-
#open_table_format ⇒ String
readonly
The format of the table.
-
#snapshot_management ⇒ AWSCDK::IResolvable, ...
readonly
Contains details about the Iceberg snapshot management settings for the table.
-
#storage_class_configuration ⇒ AWSCDK::IResolvable, ...
readonly
The configuration details for the storage class of tables or table buckets.
-
#table_bucket_arn ⇒ String
readonly
The Amazon Resource Name (ARN) of the table bucket to create the table in.
-
#table_name ⇒ String
readonly
The name for the table.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
User tags (key-value pairs) to associate with the table.
-
#without_metadata ⇒ String?
readonly
Indicates that you don't want to specify a schema for the table.
Class Method Summary collapse
Instance Method Summary collapse
-
#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
constructor
A new instance of CfnTableProps.
- #to_jsii ⇒ Object
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.
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 = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : 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
#compaction ⇒ AWSCDK::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_metadata ⇒ AWSCDK::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 |
#namespace ⇒ String (readonly)
The name of the namespace.
46 47 48 |
# File 's3_tables/cfn_table_props.rb', line 46 def namespace @namespace end |
#open_table_format ⇒ String (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_management ⇒ AWSCDK::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_configuration ⇒ AWSCDK::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_arn ⇒ String (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_name ⇒ String (readonly)
The name for the table.
61 62 63 |
# File 's3_tables/cfn_table_props.rb', line 61 def table_name @table_name end |
#tags ⇒ Array<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 end |
#without_metadata ⇒ String? (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_properties ⇒ Object
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_jsii ⇒ Object
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 |