Class: AWSCDK::Glue::CfnTableOptimizerProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
glue/cfn_table_optimizer_props.rb

Overview

Properties for defining a CfnTableOptimizer.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(catalog_id:, database_name:, table_name:, table_optimizer_configuration:, type:) ⇒ CfnTableOptimizerProps

Returns a new instance of CfnTableOptimizerProps.

Parameters:



14
15
16
17
18
19
20
21
22
23
24
25
# File 'glue/cfn_table_optimizer_props.rb', line 14

def initialize(catalog_id:, database_name:, table_name:, table_optimizer_configuration:, type:)
  @catalog_id = catalog_id
  Jsii::Type.check_type(@catalog_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "catalogId")
  @database_name = database_name
  Jsii::Type.check_type(@database_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "databaseName")
  @table_name = table_name
  Jsii::Type.check_type(@table_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tableName")
  @table_optimizer_configuration = table_optimizer_configuration.is_a?(Hash) ? ::AWSCDK::Glue::CfnTableOptimizer::TableOptimizerConfigurationProperty.new(**table_optimizer_configuration.transform_keys(&:to_sym)) : table_optimizer_configuration
  Jsii::Type.check_type(@table_optimizer_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nbHVlLkNmblRhYmxlT3B0aW1pemVyLlRhYmxlT3B0aW1pemVyQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "tableOptimizerConfiguration")
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type")
end

Instance Attribute Details

#catalog_idString (readonly)

The catalog ID of the table.



31
32
33
# File 'glue/cfn_table_optimizer_props.rb', line 31

def catalog_id
  @catalog_id
end

#database_nameString (readonly)

The name of the database.

For Hive compatibility, this is folded to lowercase when it is stored.



38
39
40
# File 'glue/cfn_table_optimizer_props.rb', line 38

def database_name
  @database_name
end

#table_nameString (readonly)

The table name.

For Hive compatibility, this must be entirely lowercase.



45
46
47
# File 'glue/cfn_table_optimizer_props.rb', line 45

def table_name
  @table_name
end

#table_optimizer_configurationAWSCDK::IResolvable, AWSCDK::Glue::CfnTableOptimizer::TableOptimizerConfigurationProperty (readonly)

Specifies configuration details of a table optimizer.



50
51
52
# File 'glue/cfn_table_optimizer_props.rb', line 50

def table_optimizer_configuration
  @table_optimizer_configuration
end

#typeString (readonly)

The type of table optimizer. The valid values are:.

  • compaction - for managing compaction with a table optimizer.
  • retention - for managing the retention of snapshot with a table optimizer.
  • orphan_file_deletion - for managing the deletion of orphan files with a table optimizer.


59
60
61
# File 'glue/cfn_table_optimizer_props.rb', line 59

def type
  @type
end

Class Method Details

.jsii_propertiesObject



61
62
63
64
65
66
67
68
69
# File 'glue/cfn_table_optimizer_props.rb', line 61

def self.jsii_properties
  {
    :catalog_id => "catalogId",
    :database_name => "databaseName",
    :table_name => "tableName",
    :table_optimizer_configuration => "tableOptimizerConfiguration",
    :type => "type",
  }
end

Instance Method Details

#to_jsiiObject



71
72
73
74
75
76
77
78
79
80
81
# File 'glue/cfn_table_optimizer_props.rb', line 71

def to_jsii
  result = {}
  result.merge!({
    "catalogId" => @catalog_id,
    "databaseName" => @database_name,
    "tableName" => @table_name,
    "tableOptimizerConfiguration" => @table_optimizer_configuration,
    "type" => @type,
  })
  result.compact
end