stratosphere-0.50.0: library-gen/Stratosphere/ResourceProperties/AthenaWorkGroupWorkGroupConfigurationUpdates.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html
module Stratosphere.ResourceProperties.AthenaWorkGroupWorkGroupConfigurationUpdates where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.AthenaWorkGroupResultConfigurationUpdates
-- | Full data type definition for
-- AthenaWorkGroupWorkGroupConfigurationUpdates. See
-- 'athenaWorkGroupWorkGroupConfigurationUpdates' for a more convenient
-- constructor.
data AthenaWorkGroupWorkGroupConfigurationUpdates =
AthenaWorkGroupWorkGroupConfigurationUpdates
{ _athenaWorkGroupWorkGroupConfigurationUpdatesBytesScannedCutoffPerQuery :: Maybe (Val Integer)
, _athenaWorkGroupWorkGroupConfigurationUpdatesEnforceWorkGroupConfiguration :: Maybe (Val Bool)
, _athenaWorkGroupWorkGroupConfigurationUpdatesPublishCloudWatchMetricsEnabled :: Maybe (Val Bool)
, _athenaWorkGroupWorkGroupConfigurationUpdatesRemoveBytesScannedCutoffPerQuery :: Maybe (Val Bool)
, _athenaWorkGroupWorkGroupConfigurationUpdatesRequesterPaysEnabled :: Maybe (Val Bool)
, _athenaWorkGroupWorkGroupConfigurationUpdatesResultConfigurationUpdates :: Maybe AthenaWorkGroupResultConfigurationUpdates
} deriving (Show, Eq)
instance ToJSON AthenaWorkGroupWorkGroupConfigurationUpdates where
toJSON AthenaWorkGroupWorkGroupConfigurationUpdates{..} =
object $
catMaybes
[ fmap (("BytesScannedCutoffPerQuery",) . toJSON) _athenaWorkGroupWorkGroupConfigurationUpdatesBytesScannedCutoffPerQuery
, fmap (("EnforceWorkGroupConfiguration",) . toJSON) _athenaWorkGroupWorkGroupConfigurationUpdatesEnforceWorkGroupConfiguration
, fmap (("PublishCloudWatchMetricsEnabled",) . toJSON) _athenaWorkGroupWorkGroupConfigurationUpdatesPublishCloudWatchMetricsEnabled
, fmap (("RemoveBytesScannedCutoffPerQuery",) . toJSON) _athenaWorkGroupWorkGroupConfigurationUpdatesRemoveBytesScannedCutoffPerQuery
, fmap (("RequesterPaysEnabled",) . toJSON) _athenaWorkGroupWorkGroupConfigurationUpdatesRequesterPaysEnabled
, fmap (("ResultConfigurationUpdates",) . toJSON) _athenaWorkGroupWorkGroupConfigurationUpdatesResultConfigurationUpdates
]
-- | Constructor for 'AthenaWorkGroupWorkGroupConfigurationUpdates' containing
-- required fields as arguments.
athenaWorkGroupWorkGroupConfigurationUpdates
:: AthenaWorkGroupWorkGroupConfigurationUpdates
athenaWorkGroupWorkGroupConfigurationUpdates =
AthenaWorkGroupWorkGroupConfigurationUpdates
{ _athenaWorkGroupWorkGroupConfigurationUpdatesBytesScannedCutoffPerQuery = Nothing
, _athenaWorkGroupWorkGroupConfigurationUpdatesEnforceWorkGroupConfiguration = Nothing
, _athenaWorkGroupWorkGroupConfigurationUpdatesPublishCloudWatchMetricsEnabled = Nothing
, _athenaWorkGroupWorkGroupConfigurationUpdatesRemoveBytesScannedCutoffPerQuery = Nothing
, _athenaWorkGroupWorkGroupConfigurationUpdatesRequesterPaysEnabled = Nothing
, _athenaWorkGroupWorkGroupConfigurationUpdatesResultConfigurationUpdates = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-bytesscannedcutoffperquery
awgwgcuBytesScannedCutoffPerQuery :: Lens' AthenaWorkGroupWorkGroupConfigurationUpdates (Maybe (Val Integer))
awgwgcuBytesScannedCutoffPerQuery = lens _athenaWorkGroupWorkGroupConfigurationUpdatesBytesScannedCutoffPerQuery (\s a -> s { _athenaWorkGroupWorkGroupConfigurationUpdatesBytesScannedCutoffPerQuery = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-enforceworkgroupconfiguration
awgwgcuEnforceWorkGroupConfiguration :: Lens' AthenaWorkGroupWorkGroupConfigurationUpdates (Maybe (Val Bool))
awgwgcuEnforceWorkGroupConfiguration = lens _athenaWorkGroupWorkGroupConfigurationUpdatesEnforceWorkGroupConfiguration (\s a -> s { _athenaWorkGroupWorkGroupConfigurationUpdatesEnforceWorkGroupConfiguration = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-publishcloudwatchmetricsenabled
awgwgcuPublishCloudWatchMetricsEnabled :: Lens' AthenaWorkGroupWorkGroupConfigurationUpdates (Maybe (Val Bool))
awgwgcuPublishCloudWatchMetricsEnabled = lens _athenaWorkGroupWorkGroupConfigurationUpdatesPublishCloudWatchMetricsEnabled (\s a -> s { _athenaWorkGroupWorkGroupConfigurationUpdatesPublishCloudWatchMetricsEnabled = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-removebytesscannedcutoffperquery
awgwgcuRemoveBytesScannedCutoffPerQuery :: Lens' AthenaWorkGroupWorkGroupConfigurationUpdates (Maybe (Val Bool))
awgwgcuRemoveBytesScannedCutoffPerQuery = lens _athenaWorkGroupWorkGroupConfigurationUpdatesRemoveBytesScannedCutoffPerQuery (\s a -> s { _athenaWorkGroupWorkGroupConfigurationUpdatesRemoveBytesScannedCutoffPerQuery = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-requesterpaysenabled
awgwgcuRequesterPaysEnabled :: Lens' AthenaWorkGroupWorkGroupConfigurationUpdates (Maybe (Val Bool))
awgwgcuRequesterPaysEnabled = lens _athenaWorkGroupWorkGroupConfigurationUpdatesRequesterPaysEnabled (\s a -> s { _athenaWorkGroupWorkGroupConfigurationUpdatesRequesterPaysEnabled = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-athena-workgroup-workgroupconfigurationupdates.html#cfn-athena-workgroup-workgroupconfigurationupdates-resultconfigurationupdates
awgwgcuResultConfigurationUpdates :: Lens' AthenaWorkGroupWorkGroupConfigurationUpdates (Maybe AthenaWorkGroupResultConfigurationUpdates)
awgwgcuResultConfigurationUpdates = lens _athenaWorkGroupWorkGroupConfigurationUpdatesResultConfigurationUpdates (\s a -> s { _athenaWorkGroupWorkGroupConfigurationUpdatesResultConfigurationUpdates = a })