Class: AWSCDK::S3Tables::CfnTableBucketProps

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

Overview

Properties for defining a CfnTableBucket.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(table_bucket_name:, encryption_configuration: nil, metrics_configuration: nil, replication_configuration: nil, storage_class_configuration: nil, tags: nil, unreferenced_file_removal: nil) ⇒ CfnTableBucketProps

Returns a new instance of CfnTableBucketProps.

Parameters:



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 's3_tables/cfn_table_bucket_props.rb', line 16

def initialize(table_bucket_name:, encryption_configuration: nil, metrics_configuration: nil, replication_configuration: nil, storage_class_configuration: nil, tags: nil, unreferenced_file_removal: nil)
  @table_bucket_name = table_bucket_name
  Jsii::Type.check_type(@table_bucket_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tableBucketName")
  @encryption_configuration = encryption_configuration.is_a?(Hash) ? ::AWSCDK::S3Tables::CfnTableBucket::EncryptionConfigurationProperty.new(**encryption_configuration.transform_keys(&:to_sym)) : encryption_configuration
  Jsii::Type.check_type(@encryption_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM3RhYmxlcy5DZm5UYWJsZUJ1Y2tldC5FbmNyeXB0aW9uQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "encryptionConfiguration") unless @encryption_configuration.nil?
  @metrics_configuration = metrics_configuration.is_a?(Hash) ? ::AWSCDK::S3Tables::CfnTableBucket::MetricsConfigurationProperty.new(**metrics_configuration.transform_keys(&:to_sym)) : metrics_configuration
  Jsii::Type.check_type(@metrics_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM3RhYmxlcy5DZm5UYWJsZUJ1Y2tldC5NZXRyaWNzQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "metricsConfiguration") unless @metrics_configuration.nil?
  @replication_configuration = replication_configuration.is_a?(Hash) ? ::AWSCDK::S3Tables::CfnTableBucket::ReplicationConfigurationProperty.new(**replication_configuration.transform_keys(&:to_sym)) : replication_configuration
  Jsii::Type.check_type(@replication_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM3RhYmxlcy5DZm5UYWJsZUJ1Y2tldC5SZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "replicationConfiguration") unless @replication_configuration.nil?
  @storage_class_configuration = storage_class_configuration.is_a?(Hash) ? ::AWSCDK::S3Tables::CfnTableBucket::StorageClassConfigurationProperty.new(**storage_class_configuration.transform_keys(&:to_sym)) : storage_class_configuration
  Jsii::Type.check_type(@storage_class_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM3RhYmxlcy5DZm5UYWJsZUJ1Y2tldC5TdG9yYWdlQ2xhc3NDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "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?
  @unreferenced_file_removal = unreferenced_file_removal.is_a?(Hash) ? ::AWSCDK::S3Tables::CfnTableBucket::UnreferencedFileRemovalProperty.new(**unreferenced_file_removal.transform_keys(&:to_sym)) : unreferenced_file_removal
  Jsii::Type.check_type(@unreferenced_file_removal, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zM3RhYmxlcy5DZm5UYWJsZUJ1Y2tldC5VbnJlZmVyZW5jZWRGaWxlUmVtb3ZhbFByb3BlcnR5In1dfX0=")), "unreferencedFileRemoval") unless @unreferenced_file_removal.nil?
end

Instance Attribute Details

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

Configuration specifying how data should be encrypted.

This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.



44
45
46
# File 's3_tables/cfn_table_bucket_props.rb', line 44

def encryption_configuration
  @encryption_configuration
end

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

Settings governing the Metric configuration for the table bucket.



49
50
51
# File 's3_tables/cfn_table_bucket_props.rb', line 49

def metrics_configuration
  @metrics_configuration
end

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

Specifies replication configuration for the table bucket.



54
55
56
# File 's3_tables/cfn_table_bucket_props.rb', line 54

def replication_configuration
  @replication_configuration
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.



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

def storage_class_configuration
  @storage_class_configuration
end

#table_bucket_nameString (readonly)

The name for the table bucket.



37
38
39
# File 's3_tables/cfn_table_bucket_props.rb', line 37

def table_bucket_name
  @table_bucket_name
end

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

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



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

def tags
  @tags
end

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

The unreferenced file removal settings for your table bucket.

Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots. For more information, see the Amazon S3 User Guide .



73
74
75
# File 's3_tables/cfn_table_bucket_props.rb', line 73

def unreferenced_file_removal
  @unreferenced_file_removal
end

Class Method Details

.jsii_propertiesObject



75
76
77
78
79
80
81
82
83
84
85
# File 's3_tables/cfn_table_bucket_props.rb', line 75

def self.jsii_properties
  {
    :table_bucket_name => "tableBucketName",
    :encryption_configuration => "encryptionConfiguration",
    :metrics_configuration => "metricsConfiguration",
    :replication_configuration => "replicationConfiguration",
    :storage_class_configuration => "storageClassConfiguration",
    :tags => "tags",
    :unreferenced_file_removal => "unreferencedFileRemoval",
  }
end

Instance Method Details

#to_jsiiObject



87
88
89
90
91
92
93
94
95
96
97
98
99
# File 's3_tables/cfn_table_bucket_props.rb', line 87

def to_jsii
  result = {}
  result.merge!({
    "tableBucketName" => @table_bucket_name,
    "encryptionConfiguration" => @encryption_configuration,
    "metricsConfiguration" => @metrics_configuration,
    "replicationConfiguration" => @replication_configuration,
    "storageClassConfiguration" => @storage_class_configuration,
    "tags" => @tags,
    "unreferencedFileRemoval" => @unreferenced_file_removal,
  })
  result.compact
end