module Network.AWS.EMR.DescribeJobFlows
(
DescribeJobFlows
, describeJobFlows
, djfCreatedAfter
, djfCreatedBefore
, djfJobFlowIds
, djfJobFlowStates
, DescribeJobFlowsResponse
, describeJobFlowsResponse
, djfrJobFlows
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.EMR.Types
import qualified GHC.Exts
data DescribeJobFlows = DescribeJobFlows
{ _djfCreatedAfter :: Maybe RFC822
, _djfCreatedBefore :: Maybe RFC822
, _djfJobFlowIds :: List "Args" Text
, _djfJobFlowStates :: List "JobFlowStates" JobFlowExecutionState
} deriving (Eq, Show)
describeJobFlows :: DescribeJobFlows
describeJobFlows = DescribeJobFlows
{ _djfCreatedAfter = Nothing
, _djfCreatedBefore = Nothing
, _djfJobFlowIds = mempty
, _djfJobFlowStates = mempty
}
djfCreatedAfter :: Lens' DescribeJobFlows (Maybe UTCTime)
djfCreatedAfter = lens _djfCreatedAfter (\s a -> s { _djfCreatedAfter = a }) . mapping _Time
djfCreatedBefore :: Lens' DescribeJobFlows (Maybe UTCTime)
djfCreatedBefore = lens _djfCreatedBefore (\s a -> s { _djfCreatedBefore = a }) . mapping _Time
djfJobFlowIds :: Lens' DescribeJobFlows [Text]
djfJobFlowIds = lens _djfJobFlowIds (\s a -> s { _djfJobFlowIds = a }) . _List
djfJobFlowStates :: Lens' DescribeJobFlows [JobFlowExecutionState]
djfJobFlowStates = lens _djfJobFlowStates (\s a -> s { _djfJobFlowStates = a }) . _List
newtype DescribeJobFlowsResponse = DescribeJobFlowsResponse
{ _djfrJobFlows :: List "JobFlows" JobFlowDetail
} deriving (Eq, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeJobFlowsResponse where
type Item DescribeJobFlowsResponse = JobFlowDetail
fromList = DescribeJobFlowsResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _djfrJobFlows
describeJobFlowsResponse :: DescribeJobFlowsResponse
describeJobFlowsResponse = DescribeJobFlowsResponse
{ _djfrJobFlows = mempty
}
djfrJobFlows :: Lens' DescribeJobFlowsResponse [JobFlowDetail]
djfrJobFlows = lens _djfrJobFlows (\s a -> s { _djfrJobFlows = a }) . _List
instance ToPath DescribeJobFlows where
toPath = const "/"
instance ToQuery DescribeJobFlows where
toQuery = const mempty
instance ToHeaders DescribeJobFlows
instance ToJSON DescribeJobFlows where
toJSON DescribeJobFlows{..} = object
[ "CreatedAfter" .= _djfCreatedAfter
, "CreatedBefore" .= _djfCreatedBefore
, "JobFlowIds" .= _djfJobFlowIds
, "JobFlowStates" .= _djfJobFlowStates
]
instance AWSRequest DescribeJobFlows where
type Sv DescribeJobFlows = EMR
type Rs DescribeJobFlows = DescribeJobFlowsResponse
request = post "DescribeJobFlows"
response = jsonResponse
instance FromJSON DescribeJobFlowsResponse where
parseJSON = withObject "DescribeJobFlowsResponse" $ \o -> DescribeJobFlowsResponse
<$> o .: "JobFlows"