Class: AWSCDK::Athena::CfnWorkGroup::WorkGroupConfigurationProperty

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

Overview

The configuration of the workgroup, which includes the location in Amazon S3 where query results are stored, the encryption option, if any, used for query results, whether Amazon CloudWatch Metrics are enabled for the workgroup, and the limit for the amount of bytes scanned (cutoff) per query, if it is specified.

The EnforceWorkGroupConfiguration option determines whether workgroup settings override client-side query settings.

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, requester_pays_enabled: nil, result_configuration: nil) ⇒ WorkGroupConfigurationProperty

Returns a new instance of WorkGroupConfigurationProperty.

Parameters:



1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
# File 'athena/cfn_work_group.rb', line 1430

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, requester_pays_enabled: nil, result_configuration: 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?
  @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 = result_configuration.is_a?(Hash) ? ::AWSCDK::Athena::CfnWorkGroup::ResultConfigurationProperty.new(**result_configuration.transform_keys(&:to_sym)) : result_configuration
  Jsii::Type.check_type(@result_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hdGhlbmEuQ2ZuV29ya0dyb3VwLlJlc3VsdENvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "resultConfiguration") unless @result_configuration.nil?
end

Instance Attribute Details

#additional_configurationString? (readonly)

Specifies a user defined JSON string that is passed to the session engine.



1461
1462
1463
# File 'athena/cfn_work_group.rb', line 1461

def additional_configuration
  @additional_configuration
end

#bytes_scanned_cutoff_per_queryNumeric? (readonly)

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

No default is defined.

This property currently supports integer types. Support for long values is planned.



1470
1471
1472
# File 'athena/cfn_work_group.rb', line 1470

def bytes_scanned_cutoff_per_query
  @bytes_scanned_cutoff_per_query
end

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

Specifies the KMS key that is used to encrypt the user's data stores in Athena.

This setting does not apply to Athena SQL workgroups.



1477
1478
1479
# File 'athena/cfn_work_group.rb', line 1477

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. For more information, see Override client-side settings .



1484
1485
1486
# File 'athena/cfn_work_group.rb', line 1484

def enforce_work_group_configuration
  @enforce_work_group_configuration
end

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

The engine configuration for running queries.



1489
1490
1491
# File 'athena/cfn_work_group.rb', line 1489

def engine_configuration
  @engine_configuration
end

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

The engine version that all queries running on the workgroup use.



1494
1495
1496
# File 'athena/cfn_work_group.rb', line 1494

def engine_version
  @engine_version
end

#execution_roleString? (readonly)

Role used to access user resources in an Athena for Apache Spark session.

This property applies only to Spark-enabled workgroups in Athena.



1501
1502
1503
# File 'athena/cfn_work_group.rb', line 1501

def execution_role
  @execution_role
end

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

The configuration for storing results in Athena owned storage, which includes whether this feature is enabled;

whether encryption configuration, if any, is used for encrypting query results.



1508
1509
1510
# File 'athena/cfn_work_group.rb', line 1508

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.



1513
1514
1515
# File 'athena/cfn_work_group.rb', line 1513

def monitoring_configuration
  @monitoring_configuration
end

#publish_cloud_watch_metrics_enabledBoolean, ... (readonly)

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



1518
1519
1520
# File 'athena/cfn_work_group.rb', line 1518

def publish_cloud_watch_metrics_enabled
  @publish_cloud_watch_metrics_enabled
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. The default is false . For more information about Requester Pays buckets, see Requester Pays Buckets in the Amazon Simple Storage Service Developer Guide .



1525
1526
1527
# File 'athena/cfn_work_group.rb', line 1525

def requester_pays_enabled
  @requester_pays_enabled
end

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

Specifies the location in Amazon S3 where query results are stored and the encryption option, if any, used for query results.

For more information, see Work with query results and recent queries .



1532
1533
1534
# File 'athena/cfn_work_group.rb', line 1532

def result_configuration
  @result_configuration
end

Class Method Details

.jsii_propertiesObject



1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
# File 'athena/cfn_work_group.rb', line 1534

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",
    :requester_pays_enabled => "requesterPaysEnabled",
    :result_configuration => "resultConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
# File 'athena/cfn_work_group.rb', line 1551

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,
    "requesterPaysEnabled" => @requester_pays_enabled,
    "resultConfiguration" => @result_configuration,
  })
  result.compact
end