{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TupleSections #-} -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html module Stratosphere.ResourceProperties.GuardDutyFilterCondition where import Stratosphere.ResourceImports -- | Full data type definition for GuardDutyFilterCondition. See -- 'guardDutyFilterCondition' for a more convenient constructor. data GuardDutyFilterCondition = GuardDutyFilterCondition { _guardDutyFilterConditionEq :: Maybe (ValList Text) , _guardDutyFilterConditionGte :: Maybe (Val Integer) , _guardDutyFilterConditionLt :: Maybe (Val Integer) , _guardDutyFilterConditionLte :: Maybe (Val Integer) , _guardDutyFilterConditionNeq :: Maybe (ValList Text) } deriving (Show, Eq) instance ToJSON GuardDutyFilterCondition where toJSON GuardDutyFilterCondition{..} = object $ catMaybes [ fmap (("Eq",) . toJSON) _guardDutyFilterConditionEq , fmap (("Gte",) . toJSON . fmap Integer') _guardDutyFilterConditionGte , fmap (("Lt",) . toJSON . fmap Integer') _guardDutyFilterConditionLt , fmap (("Lte",) . toJSON . fmap Integer') _guardDutyFilterConditionLte , fmap (("Neq",) . toJSON) _guardDutyFilterConditionNeq ] -- | Constructor for 'GuardDutyFilterCondition' containing required fields as -- arguments. guardDutyFilterCondition :: GuardDutyFilterCondition guardDutyFilterCondition = GuardDutyFilterCondition { _guardDutyFilterConditionEq = Nothing , _guardDutyFilterConditionGte = Nothing , _guardDutyFilterConditionLt = Nothing , _guardDutyFilterConditionLte = Nothing , _guardDutyFilterConditionNeq = Nothing } -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html#cfn-guardduty-filter-condition-eq gdfcEq :: Lens' GuardDutyFilterCondition (Maybe (ValList Text)) gdfcEq = lens _guardDutyFilterConditionEq (\s a -> s { _guardDutyFilterConditionEq = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html#cfn-guardduty-filter-condition-gte gdfcGte :: Lens' GuardDutyFilterCondition (Maybe (Val Integer)) gdfcGte = lens _guardDutyFilterConditionGte (\s a -> s { _guardDutyFilterConditionGte = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html#cfn-guardduty-filter-condition-lt gdfcLt :: Lens' GuardDutyFilterCondition (Maybe (Val Integer)) gdfcLt = lens _guardDutyFilterConditionLt (\s a -> s { _guardDutyFilterConditionLt = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html#cfn-guardduty-filter-condition-lte gdfcLte :: Lens' GuardDutyFilterCondition (Maybe (Val Integer)) gdfcLte = lens _guardDutyFilterConditionLte (\s a -> s { _guardDutyFilterConditionLte = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html#cfn-guardduty-filter-condition-neq gdfcNeq :: Lens' GuardDutyFilterCondition (Maybe (ValList Text)) gdfcNeq = lens _guardDutyFilterConditionNeq (\s a -> s { _guardDutyFilterConditionNeq = a })