Class: AWSCDK::Athena::CfnWorkGroup::WorkGroupConfigurationUpdatesProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
athena/cfn_work_group.rb

Overview

The configuration information that will be updated for this workgroup, which includes the location in Amazon S3 where query results are stored, the encryption option, if any, used for query results, whether the Amazon CloudWatch Metrics are enabled for the workgroup, whether the workgroup settings override the client-side settings, and the data usage limit for the amount of bytes scanned per query, if it is specified.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(additional_configuration: nil, bytes_scanned_cutoff_per_query: nil, customer_content_encryption_configuration: nil, enforce_work_group_configuration: nil, engine_configuration: nil, engine_version: nil, execution_role: nil, managed_query_results_configuration: nil, monitoring_configuration: nil, publish_cloud_watch_metrics_enabled: nil, remove_bytes_scanned_cutoff_per_query: nil, remove_customer_content_encryption_configuration: nil, requester_pays_enabled: nil, result_configuration_updates: nil) ⇒ WorkGroupConfigurationUpdatesProperty

Returns a new instance of WorkGroupConfigurationUpdatesProperty.

Parameters:



1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
# File 'athena/cfn_work_group.rb', line 1591

def initialize(additional_configuration: nil, bytes_scanned_cutoff_per_query: nil, customer_content_encryption_configuration: nil, enforce_work_group_configuration: nil, engine_configuration: nil, engine_version: nil, execution_role: nil, managed_query_results_configuration: nil, monitoring_configuration: nil, publish_cloud_watch_metrics_enabled: nil, remove_bytes_scanned_cutoff_per_query: nil, remove_customer_content_encryption_configuration: nil, requester_pays_enabled: nil, result_configuration_updates: nil)
  @additional_configuration = additional_configuration
  Jsii::Type.check_type(@additional_configuration, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "additionalConfiguration") unless @additional_configuration.nil?
  @bytes_scanned_cutoff_per_query = bytes_scanned_cutoff_per_query
  Jsii::Type.check_type(@bytes_scanned_cutoff_per_query, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "bytesScannedCutoffPerQuery") unless @bytes_scanned_cutoff_per_query.nil?
  @customer_content_encryption_configuration = customer_content_encryption_configuration.is_a?(Hash) ? ::AWSCDK::Athena::CfnWorkGroup::CustomerContentEncryptionConfigurationProperty.new(**customer_content_encryption_configuration.transform_keys(&:to_sym)) : customer_content_encryption_configuration
  Jsii::Type.check_type(@customer_content_encryption_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hdGhlbmEuQ2ZuV29ya0dyb3VwLkN1c3RvbWVyQ29udGVudEVuY3J5cHRpb25Db25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "customerContentEncryptionConfiguration") unless @customer_content_encryption_configuration.nil?
  @enforce_work_group_configuration = enforce_work_group_configuration
  Jsii::Type.check_type(@enforce_work_group_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enforceWorkGroupConfiguration") unless @enforce_work_group_configuration.nil?
  @engine_configuration = engine_configuration.is_a?(Hash) ? ::AWSCDK::Athena::CfnWorkGroup::EngineConfigurationProperty.new(**engine_configuration.transform_keys(&:to_sym)) : engine_configuration
  Jsii::Type.check_type(@engine_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hdGhlbmEuQ2ZuV29ya0dyb3VwLkVuZ2luZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "engineConfiguration") unless @engine_configuration.nil?
  @engine_version = engine_version.is_a?(Hash) ? ::AWSCDK::Athena::CfnWorkGroup::EngineVersionProperty.new(**engine_version.transform_keys(&:to_sym)) : engine_version
  Jsii::Type.check_type(@engine_version, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hdGhlbmEuQ2ZuV29ya0dyb3VwLkVuZ2luZVZlcnNpb25Qcm9wZXJ0eSJ9XX19")), "engineVersion") unless @engine_version.nil?
  @execution_role = execution_role
  Jsii::Type.check_type(@execution_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "executionRole") unless @execution_role.nil?
  @managed_query_results_configuration = managed_query_results_configuration.is_a?(Hash) ? ::AWSCDK::Athena::CfnWorkGroup::ManagedQueryResultsConfigurationProperty.new(**managed_query_results_configuration.transform_keys(&:to_sym)) : managed_query_results_configuration
  Jsii::Type.check_type(@managed_query_results_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hdGhlbmEuQ2ZuV29ya0dyb3VwLk1hbmFnZWRRdWVyeVJlc3VsdHNDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "managedQueryResultsConfiguration") unless @managed_query_results_configuration.nil?
  @monitoring_configuration = monitoring_configuration.is_a?(Hash) ? ::AWSCDK::Athena::CfnWorkGroup::MonitoringConfigurationProperty.new(**monitoring_configuration.transform_keys(&:to_sym)) : monitoring_configuration
  Jsii::Type.check_type(@monitoring_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hdGhlbmEuQ2ZuV29ya0dyb3VwLk1vbml0b3JpbmdDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "monitoringConfiguration") unless @monitoring_configuration.nil?
  @publish_cloud_watch_metrics_enabled = publish_cloud_watch_metrics_enabled
  Jsii::Type.check_type(@publish_cloud_watch_metrics_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "publishCloudWatchMetricsEnabled") unless @publish_cloud_watch_metrics_enabled.nil?
  @remove_bytes_scanned_cutoff_per_query = remove_bytes_scanned_cutoff_per_query
  Jsii::Type.check_type(@remove_bytes_scanned_cutoff_per_query, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "removeBytesScannedCutoffPerQuery") unless @remove_bytes_scanned_cutoff_per_query.nil?
  @remove_customer_content_encryption_configuration = remove_customer_content_encryption_configuration
  Jsii::Type.check_type(@remove_customer_content_encryption_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "removeCustomerContentEncryptionConfiguration") unless @remove_customer_content_encryption_configuration.nil?
  @requester_pays_enabled = requester_pays_enabled
  Jsii::Type.check_type(@requester_pays_enabled, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "requesterPaysEnabled") unless @requester_pays_enabled.nil?
  @result_configuration_updates = result_configuration_updates.is_a?(Hash) ? ::AWSCDK::Athena::CfnWorkGroup::ResultConfigurationUpdatesProperty.new(**result_configuration_updates.transform_keys(&:to_sym)) : result_configuration_updates
  Jsii::Type.check_type(@result_configuration_updates, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hdGhlbmEuQ2ZuV29ya0dyb3VwLlJlc3VsdENvbmZpZ3VyYXRpb25VcGRhdGVzUHJvcGVydHkifV19fQ==")), "resultConfigurationUpdates") unless @result_configuration_updates.nil?
end

Instance Attribute Details

#additional_configurationString? (readonly)

Additional Configuration that are passed to Athena Spark Calculations running in this workgroup.



1626
1627
1628
# File 'athena/cfn_work_group.rb', line 1626

def additional_configuration
  @additional_configuration
end

#bytes_scanned_cutoff_per_queryNumeric? (readonly)

The upper data usage limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan.



1631
1632
1633
# File 'athena/cfn_work_group.rb', line 1631

def bytes_scanned_cutoff_per_query
  @bytes_scanned_cutoff_per_query
end

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

Indicates the KMS key for encrypting notebook content.



1636
1637
1638
# File 'athena/cfn_work_group.rb', line 1636

def customer_content_encryption_configuration
  @customer_content_encryption_configuration
end

#enforce_work_group_configurationBoolean, ... (readonly)

If set to "true", the settings for the workgroup override client-side settings.

If set to "false", client-side settings are used



1643
1644
1645
# File 'athena/cfn_work_group.rb', line 1643

def enforce_work_group_configuration
  @enforce_work_group_configuration
end

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

The engine configuration for running queries.



1648
1649
1650
# File 'athena/cfn_work_group.rb', line 1648

def engine_configuration
  @engine_configuration
end

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

The Athena engine version for running queries.



1653
1654
1655
# File 'athena/cfn_work_group.rb', line 1653

def engine_version
  @engine_version
end

#execution_roleString? (readonly)

The ARN of the execution role used to access user resources for Spark sessions and Identity Center enabled workgroups.

This property applies only to Spark enabled workgroups and Identity Center enabled workgroups.



1660
1661
1662
# File 'athena/cfn_work_group.rb', line 1660

def execution_role
  @execution_role
end

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

The configuration for the managed query results and encryption option.

ResultConfiguration and ManagedQueryResultsConfiguration cannot be set at the same time



1667
1668
1669
# File 'athena/cfn_work_group.rb', line 1667

def managed_query_results_configuration
  @managed_query_results_configuration
end

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

Contains the configuration settings for managed log persistence, delivering logs to Amazon S3 buckets, Amazon CloudWatch log groups etc.



1672
1673
1674
# File 'athena/cfn_work_group.rb', line 1672

def monitoring_configuration
  @monitoring_configuration
end

#publish_cloud_watch_metrics_enabledBoolean, ... (readonly)

Indicates that the Amazon CloudWatch metrics are enabled for the workgroup.



1677
1678
1679
# File 'athena/cfn_work_group.rb', line 1677

def publish_cloud_watch_metrics_enabled
  @publish_cloud_watch_metrics_enabled
end

#remove_bytes_scanned_cutoff_per_queryBoolean, ... (readonly)

Indicates that the data usage control limit per query is removed.



1682
1683
1684
# File 'athena/cfn_work_group.rb', line 1682

def remove_bytes_scanned_cutoff_per_query
  @remove_bytes_scanned_cutoff_per_query
end

#remove_customer_content_encryption_configurationBoolean, ... (readonly)



1685
1686
1687
# File 'athena/cfn_work_group.rb', line 1685

def remove_customer_content_encryption_configuration
  @remove_customer_content_encryption_configuration
end

#requester_pays_enabledBoolean, ... (readonly)

If set to true, allows members assigned to a workgroup to reference Amazon S3 Requester Pays buckets in queries.

If set to false, workgroup members cannot query data from Requester Pays buckets, and queries that retrieve data from Requester Pays buckets cause an error.



1692
1693
1694
# File 'athena/cfn_work_group.rb', line 1692

def requester_pays_enabled
  @requester_pays_enabled
end

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

The result configuration information about the queries in this workgroup that will be updated.

Includes the updated results location and an updated option for encrypting query results.



1699
1700
1701
# File 'athena/cfn_work_group.rb', line 1699

def result_configuration_updates
  @result_configuration_updates
end

Class Method Details

.jsii_propertiesObject



1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
# File 'athena/cfn_work_group.rb', line 1701

def self.jsii_properties
  {
    :additional_configuration => "additionalConfiguration",
    :bytes_scanned_cutoff_per_query => "bytesScannedCutoffPerQuery",
    :customer_content_encryption_configuration => "customerContentEncryptionConfiguration",
    :enforce_work_group_configuration => "enforceWorkGroupConfiguration",
    :engine_configuration => "engineConfiguration",
    :engine_version => "engineVersion",
    :execution_role => "executionRole",
    :managed_query_results_configuration => "managedQueryResultsConfiguration",
    :monitoring_configuration => "monitoringConfiguration",
    :publish_cloud_watch_metrics_enabled => "publishCloudWatchMetricsEnabled",
    :remove_bytes_scanned_cutoff_per_query => "removeBytesScannedCutoffPerQuery",
    :remove_customer_content_encryption_configuration => "removeCustomerContentEncryptionConfiguration",
    :requester_pays_enabled => "requesterPaysEnabled",
    :result_configuration_updates => "resultConfigurationUpdates",
  }
end

Instance Method Details

#to_jsiiObject



1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
# File 'athena/cfn_work_group.rb', line 1720

def to_jsii
  result = {}
  result.merge!({
    "additionalConfiguration" => @additional_configuration,
    "bytesScannedCutoffPerQuery" => @bytes_scanned_cutoff_per_query,
    "customerContentEncryptionConfiguration" => @customer_content_encryption_configuration,
    "enforceWorkGroupConfiguration" => @enforce_work_group_configuration,
    "engineConfiguration" => @engine_configuration,
    "engineVersion" => @engine_version,
    "executionRole" => @execution_role,
    "managedQueryResultsConfiguration" => @managed_query_results_configuration,
    "monitoringConfiguration" => @monitoring_configuration,
    "publishCloudWatchMetricsEnabled" => @publish_cloud_watch_metrics_enabled,
    "removeBytesScannedCutoffPerQuery" => @remove_bytes_scanned_cutoff_per_query,
    "removeCustomerContentEncryptionConfiguration" => @remove_customer_content_encryption_configuration,
    "requesterPaysEnabled" => @requester_pays_enabled,
    "resultConfigurationUpdates" => @result_configuration_updates,
  })
  result.compact
end