Class: AWSCDK::Glue::CfnTableOptimizer::TableOptimizerConfigurationProperty

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

Overview

Specifies configuration details of a table optimizer.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(enabled:, role_arn:, orphan_file_deletion_configuration: nil, retention_configuration: nil, vpc_configuration: nil) ⇒ TableOptimizerConfigurationProperty

Returns a new instance of TableOptimizerConfigurationProperty.

Parameters:



717
718
719
720
721
722
723
724
725
726
727
728
# File 'glue/cfn_table_optimizer.rb', line 717

def initialize(enabled:, role_arn:, orphan_file_deletion_configuration: nil, retention_configuration: nil, vpc_configuration: nil)
  @enabled = enabled
  Jsii::Type.check_type(@enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enabled")
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn")
  @orphan_file_deletion_configuration = orphan_file_deletion_configuration.is_a?(Hash) ? ::AWSCDK::Glue::CfnTableOptimizer::OrphanFileDeletionConfigurationProperty.new(**orphan_file_deletion_configuration.transform_keys(&:to_sym)) : orphan_file_deletion_configuration
  Jsii::Type.check_type(@orphan_file_deletion_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nbHVlLkNmblRhYmxlT3B0aW1pemVyLk9ycGhhbkZpbGVEZWxldGlvbkNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "orphanFileDeletionConfiguration") unless @orphan_file_deletion_configuration.nil?
  @retention_configuration = retention_configuration.is_a?(Hash) ? ::AWSCDK::Glue::CfnTableOptimizer::RetentionConfigurationProperty.new(**retention_configuration.transform_keys(&:to_sym)) : retention_configuration
  Jsii::Type.check_type(@retention_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nbHVlLkNmblRhYmxlT3B0aW1pemVyLlJldGVudGlvbkNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "retentionConfiguration") unless @retention_configuration.nil?
  @vpc_configuration = vpc_configuration.is_a?(Hash) ? ::AWSCDK::Glue::CfnTableOptimizer::VPCConfigurationProperty.new(**vpc_configuration.transform_keys(&:to_sym)) : vpc_configuration
  Jsii::Type.check_type(@vpc_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nbHVlLkNmblRhYmxlT3B0aW1pemVyLlZwY0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "vpcConfiguration") unless @vpc_configuration.nil?
end

Instance Attribute Details

#enabledBoolean, AWSCDK::IResolvable (readonly)

Whether the table optimization is enabled.



734
735
736
# File 'glue/cfn_table_optimizer.rb', line 734

def enabled
  @enabled
end

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

OrphanFileDeletionConfiguration is a property that can be included within the TableOptimizer resource.

It controls the automatic deletion of orphaned files - files that are not tracked by the table metadata, and older than the configured age limit.



746
747
748
# File 'glue/cfn_table_optimizer.rb', line 746

def orphan_file_deletion_configuration
  @orphan_file_deletion_configuration
end

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

The configuration for a snapshot retention optimizer for Apache Iceberg tables.



751
752
753
# File 'glue/cfn_table_optimizer.rb', line 751

def retention_configuration
  @retention_configuration
end

#role_arnString (readonly)

A role passed by the caller which gives the service permission to update the resources associated with the optimizer on the caller's behalf.



739
740
741
# File 'glue/cfn_table_optimizer.rb', line 739

def role_arn
  @role_arn
end

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

An object that describes the VPC configuration for a table optimizer.

This configuration is necessary to perform optimization on tables that are in a customer VPC.



758
759
760
# File 'glue/cfn_table_optimizer.rb', line 758

def vpc_configuration
  @vpc_configuration
end

Class Method Details

.jsii_propertiesObject



760
761
762
763
764
765
766
767
768
# File 'glue/cfn_table_optimizer.rb', line 760

def self.jsii_properties
  {
    :enabled => "enabled",
    :role_arn => "roleArn",
    :orphan_file_deletion_configuration => "orphanFileDeletionConfiguration",
    :retention_configuration => "retentionConfiguration",
    :vpc_configuration => "vpcConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



770
771
772
773
774
775
776
777
778
779
780
# File 'glue/cfn_table_optimizer.rb', line 770

def to_jsii
  result = {}
  result.merge!({
    "enabled" => @enabled,
    "roleArn" => @role_arn,
    "orphanFileDeletionConfiguration" => @orphan_file_deletion_configuration,
    "retentionConfiguration" => @retention_configuration,
    "vpcConfiguration" => @vpc_configuration,
  })
  result.compact
end