Source code for troposphere.athena

# Copyright (c) 2012-2025, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***


from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, integer
from .validators.athena import validate_encryptionoption, validate_workgroup_state


[docs]class CapacityAssignment(AWSProperty): """ `CapacityAssignment <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignment.html>`__ """ props: PropsDictType = { "WorkgroupNames": ([str], True), }
[docs]class CapacityAssignmentConfiguration(AWSProperty): """ `CapacityAssignmentConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-capacityreservation-capacityassignmentconfiguration.html>`__ """ props: PropsDictType = { "CapacityAssignments": ([CapacityAssignment], True), }
[docs]class CapacityReservation(AWSObject): """ `CapacityReservation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-capacityreservation.html>`__ """ resource_type = "AWS::Athena::CapacityReservation" props: PropsDictType = { "CapacityAssignmentConfiguration": (CapacityAssignmentConfiguration, False), "Name": (str, True), "Tags": (Tags, False), "TargetDpus": (integer, True), }
[docs]class DataCatalog(AWSObject): """ `DataCatalog <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-datacatalog.html>`__ """ resource_type = "AWS::Athena::DataCatalog" props: PropsDictType = { "ConnectionType": (str, False), "Description": (str, False), "Error": (str, False), "Name": (str, True), "Parameters": (dict, False), "Status": (str, False), "Tags": (Tags, False), "Type": (str, True), }
[docs]class NamedQuery(AWSObject): """ `NamedQuery <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html>`__ """ resource_type = "AWS::Athena::NamedQuery" props: PropsDictType = { "Database": (str, True), "Description": (str, False), "Name": (str, False), "QueryString": (str, True), "WorkGroup": (str, False), }
[docs]class PreparedStatement(AWSObject): """ `PreparedStatement <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-preparedstatement.html>`__ """ resource_type = "AWS::Athena::PreparedStatement" props: PropsDictType = { "Description": (str, False), "QueryStatement": (str, True), "StatementName": (str, True), "WorkGroup": (str, True), }
[docs]class CustomerContentEncryptionConfiguration(AWSProperty): """ `CustomerContentEncryptionConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-customercontentencryptionconfiguration.html>`__ """ props: PropsDictType = { "KmsKey": (str, True), }
[docs]class Classification(AWSProperty): """ `Classification <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-classification.html>`__ """ props: PropsDictType = { "Name": (str, False), "Properties": (dict, False), }
[docs]class EngineConfiguration(AWSProperty): """ `EngineConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-engineconfiguration.html>`__ """ props: PropsDictType = { "AdditionalConfigs": (dict, False), "Classifications": ([Classification], False), "CoordinatorDpuSize": (integer, False), "DefaultExecutorDpuSize": (integer, False), "MaxConcurrentDpus": (integer, False), "SparkProperties": (dict, False), }
[docs]class EngineVersion(AWSProperty): """ `EngineVersion <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-engineversion.html>`__ """ props: PropsDictType = { "EffectiveEngineVersion": (str, False), "SelectedEngineVersion": (str, False), }
[docs]class ManagedStorageEncryptionConfiguration(AWSProperty): """ `ManagedStorageEncryptionConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-managedstorageencryptionconfiguration.html>`__ """ props: PropsDictType = { "KmsKey": (str, False), }
[docs]class ManagedQueryResultsConfiguration(AWSProperty): """ `ManagedQueryResultsConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-managedqueryresultsconfiguration.html>`__ """ props: PropsDictType = { "Enabled": (boolean, False), "EncryptionConfiguration": (ManagedStorageEncryptionConfiguration, False), }
[docs]class CloudWatchLoggingConfiguration(AWSProperty): """ `CloudWatchLoggingConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-cloudwatchloggingconfiguration.html>`__ """ props: PropsDictType = { "Enabled": (boolean, False), "LogGroup": (str, False), "LogStreamNamePrefix": (str, False), "LogTypes": (dict, False), }
[docs]class ManagedLoggingConfiguration(AWSProperty): """ `ManagedLoggingConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-managedloggingconfiguration.html>`__ """ props: PropsDictType = { "Enabled": (boolean, False), "KmsKey": (str, False), }
[docs]class S3LoggingConfiguration(AWSProperty): """ `S3LoggingConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-s3loggingconfiguration.html>`__ """ props: PropsDictType = { "Enabled": (boolean, False), "KmsKey": (str, False), "LogLocation": (str, False), }
[docs]class MonitoringConfiguration(AWSProperty): """ `MonitoringConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-monitoringconfiguration.html>`__ """ props: PropsDictType = { "CloudWatchLoggingConfiguration": (CloudWatchLoggingConfiguration, False), "ManagedLoggingConfiguration": (ManagedLoggingConfiguration, False), "S3LoggingConfiguration": (S3LoggingConfiguration, False), }
[docs]class AclConfiguration(AWSProperty): """ `AclConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-aclconfiguration.html>`__ """ props: PropsDictType = { "S3AclOption": (str, True), }
[docs]class EncryptionConfiguration(AWSProperty): """ `EncryptionConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-encryptionconfiguration.html>`__ """ props: PropsDictType = { "EncryptionOption": (validate_encryptionoption, True), "KmsKey": (str, False), }
[docs]class ResultConfiguration(AWSProperty): """ `ResultConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-resultconfiguration.html>`__ """ props: PropsDictType = { "AclConfiguration": (AclConfiguration, False), "EncryptionConfiguration": (EncryptionConfiguration, False), "ExpectedBucketOwner": (str, False), "OutputLocation": (str, False), }
[docs]class WorkGroupConfiguration(AWSProperty): """ `WorkGroupConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfiguration.html>`__ """ props: PropsDictType = { "AdditionalConfiguration": (str, False), "BytesScannedCutoffPerQuery": (integer, False), "CustomerContentEncryptionConfiguration": ( CustomerContentEncryptionConfiguration, False, ), "EnforceWorkGroupConfiguration": (boolean, False), "EngineConfiguration": (EngineConfiguration, False), "EngineVersion": (EngineVersion, False), "ExecutionRole": (str, False), "ManagedQueryResultsConfiguration": (ManagedQueryResultsConfiguration, False), "MonitoringConfiguration": (MonitoringConfiguration, False), "PublishCloudWatchMetricsEnabled": (boolean, False), "RequesterPaysEnabled": (boolean, False), "ResultConfiguration": (ResultConfiguration, False), }
[docs]class WorkGroup(AWSObject): """ `WorkGroup <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-workgroup.html>`__ """ resource_type = "AWS::Athena::WorkGroup" props: PropsDictType = { "Description": (str, False), "Name": (str, True), "RecursiveDeleteOption": (boolean, False), "State": (validate_workgroup_state, False), "Tags": (Tags, False), "WorkGroupConfiguration": (WorkGroupConfiguration, False), }