stratosphere-0.32.0: library-gen/Stratosphere/Resources/GlueClassifier.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html
module Stratosphere.Resources.GlueClassifier where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.GlueClassifierGrokClassifier
import Stratosphere.ResourceProperties.GlueClassifierJsonClassifier
import Stratosphere.ResourceProperties.GlueClassifierXMLClassifier
-- | Full data type definition for GlueClassifier. See 'glueClassifier' for a
-- more convenient constructor.
data GlueClassifier =
GlueClassifier
{ _glueClassifierGrokClassifier :: Maybe GlueClassifierGrokClassifier
, _glueClassifierJsonClassifier :: Maybe GlueClassifierJsonClassifier
, _glueClassifierXMLClassifier :: Maybe GlueClassifierXMLClassifier
} deriving (Show, Eq)
instance ToJSON GlueClassifier where
toJSON GlueClassifier{..} =
object $
catMaybes
[ fmap (("GrokClassifier",) . toJSON) _glueClassifierGrokClassifier
, fmap (("JsonClassifier",) . toJSON) _glueClassifierJsonClassifier
, fmap (("XMLClassifier",) . toJSON) _glueClassifierXMLClassifier
]
-- | Constructor for 'GlueClassifier' containing required fields as arguments.
glueClassifier
:: GlueClassifier
glueClassifier =
GlueClassifier
{ _glueClassifierGrokClassifier = Nothing
, _glueClassifierJsonClassifier = Nothing
, _glueClassifierXMLClassifier = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-grokclassifier
gcGrokClassifier :: Lens' GlueClassifier (Maybe GlueClassifierGrokClassifier)
gcGrokClassifier = lens _glueClassifierGrokClassifier (\s a -> s { _glueClassifierGrokClassifier = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-jsonclassifier
gcJsonClassifier :: Lens' GlueClassifier (Maybe GlueClassifierJsonClassifier)
gcJsonClassifier = lens _glueClassifierJsonClassifier (\s a -> s { _glueClassifierJsonClassifier = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-xmlclassifier
gcXMLClassifier :: Lens' GlueClassifier (Maybe GlueClassifierXMLClassifier)
gcXMLClassifier = lens _glueClassifierXMLClassifier (\s a -> s { _glueClassifierXMLClassifier = a })