{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TupleSections #-} -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups.html module Stratosphere.ResourceProperties.PinpointSegmentSegmentGroups where import Stratosphere.ResourceImports import Stratosphere.ResourceProperties.PinpointSegmentGroups -- | Full data type definition for PinpointSegmentSegmentGroups. See -- 'pinpointSegmentSegmentGroups' for a more convenient constructor. data PinpointSegmentSegmentGroups = PinpointSegmentSegmentGroups { _pinpointSegmentSegmentGroupsGroups :: Maybe [PinpointSegmentGroups] , _pinpointSegmentSegmentGroupsInclude :: Maybe (Val Text) } deriving (Show, Eq) instance ToJSON PinpointSegmentSegmentGroups where toJSON PinpointSegmentSegmentGroups{..} = object $ catMaybes [ fmap (("Groups",) . toJSON) _pinpointSegmentSegmentGroupsGroups , fmap (("Include",) . toJSON) _pinpointSegmentSegmentGroupsInclude ] -- | Constructor for 'PinpointSegmentSegmentGroups' containing required fields -- as arguments. pinpointSegmentSegmentGroups :: PinpointSegmentSegmentGroups pinpointSegmentSegmentGroups = PinpointSegmentSegmentGroups { _pinpointSegmentSegmentGroupsGroups = Nothing , _pinpointSegmentSegmentGroupsInclude = Nothing } -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups.html#cfn-pinpoint-segment-segmentgroups-groups pssgGroups :: Lens' PinpointSegmentSegmentGroups (Maybe [PinpointSegmentGroups]) pssgGroups = lens _pinpointSegmentSegmentGroupsGroups (\s a -> s { _pinpointSegmentSegmentGroupsGroups = a }) -- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups.html#cfn-pinpoint-segment-segmentgroups-include pssgInclude :: Lens' PinpointSegmentSegmentGroups (Maybe (Val Text)) pssgInclude = lens _pinpointSegmentSegmentGroupsInclude (\s a -> s { _pinpointSegmentSegmentGroupsInclude = a })