{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.SSM.DescribeMaintenanceWindowExecutions
(
describeMaintenanceWindowExecutions
, DescribeMaintenanceWindowExecutions
, dmweFilters
, dmweNextToken
, dmweMaxResults
, dmweWindowId
, describeMaintenanceWindowExecutionsResponse
, DescribeMaintenanceWindowExecutionsResponse
, dmwersWindowExecutions
, dmwersNextToken
, dmwersResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.SSM.Types
import Network.AWS.SSM.Types.Product
data DescribeMaintenanceWindowExecutions = DescribeMaintenanceWindowExecutions'
{ _dmweFilters :: !(Maybe [MaintenanceWindowFilter])
, _dmweNextToken :: !(Maybe Text)
, _dmweMaxResults :: !(Maybe Nat)
, _dmweWindowId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeMaintenanceWindowExecutions
:: Text
-> DescribeMaintenanceWindowExecutions
describeMaintenanceWindowExecutions pWindowId_ =
DescribeMaintenanceWindowExecutions'
{ _dmweFilters = Nothing
, _dmweNextToken = Nothing
, _dmweMaxResults = Nothing
, _dmweWindowId = pWindowId_
}
dmweFilters :: Lens' DescribeMaintenanceWindowExecutions [MaintenanceWindowFilter]
dmweFilters = lens _dmweFilters (\ s a -> s{_dmweFilters = a}) . _Default . _Coerce
dmweNextToken :: Lens' DescribeMaintenanceWindowExecutions (Maybe Text)
dmweNextToken = lens _dmweNextToken (\ s a -> s{_dmweNextToken = a})
dmweMaxResults :: Lens' DescribeMaintenanceWindowExecutions (Maybe Natural)
dmweMaxResults = lens _dmweMaxResults (\ s a -> s{_dmweMaxResults = a}) . mapping _Nat
dmweWindowId :: Lens' DescribeMaintenanceWindowExecutions Text
dmweWindowId = lens _dmweWindowId (\ s a -> s{_dmweWindowId = a})
instance AWSRequest
DescribeMaintenanceWindowExecutions
where
type Rs DescribeMaintenanceWindowExecutions =
DescribeMaintenanceWindowExecutionsResponse
request = postJSON ssm
response
= receiveJSON
(\ s h x ->
DescribeMaintenanceWindowExecutionsResponse' <$>
(x .?> "WindowExecutions" .!@ mempty) <*>
(x .?> "NextToken")
<*> (pure (fromEnum s)))
instance Hashable DescribeMaintenanceWindowExecutions
where
instance NFData DescribeMaintenanceWindowExecutions
where
instance ToHeaders
DescribeMaintenanceWindowExecutions
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AmazonSSM.DescribeMaintenanceWindowExecutions" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeMaintenanceWindowExecutions
where
toJSON DescribeMaintenanceWindowExecutions'{..}
= object
(catMaybes
[("Filters" .=) <$> _dmweFilters,
("NextToken" .=) <$> _dmweNextToken,
("MaxResults" .=) <$> _dmweMaxResults,
Just ("WindowId" .= _dmweWindowId)])
instance ToPath DescribeMaintenanceWindowExecutions
where
toPath = const "/"
instance ToQuery DescribeMaintenanceWindowExecutions
where
toQuery = const mempty
data DescribeMaintenanceWindowExecutionsResponse = DescribeMaintenanceWindowExecutionsResponse'
{ _dmwersWindowExecutions :: !(Maybe [MaintenanceWindowExecution])
, _dmwersNextToken :: !(Maybe Text)
, _dmwersResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeMaintenanceWindowExecutionsResponse
:: Int
-> DescribeMaintenanceWindowExecutionsResponse
describeMaintenanceWindowExecutionsResponse pResponseStatus_ =
DescribeMaintenanceWindowExecutionsResponse'
{ _dmwersWindowExecutions = Nothing
, _dmwersNextToken = Nothing
, _dmwersResponseStatus = pResponseStatus_
}
dmwersWindowExecutions :: Lens' DescribeMaintenanceWindowExecutionsResponse [MaintenanceWindowExecution]
dmwersWindowExecutions = lens _dmwersWindowExecutions (\ s a -> s{_dmwersWindowExecutions = a}) . _Default . _Coerce
dmwersNextToken :: Lens' DescribeMaintenanceWindowExecutionsResponse (Maybe Text)
dmwersNextToken = lens _dmwersNextToken (\ s a -> s{_dmwersNextToken = a})
dmwersResponseStatus :: Lens' DescribeMaintenanceWindowExecutionsResponse Int
dmwersResponseStatus = lens _dmwersResponseStatus (\ s a -> s{_dmwersResponseStatus = a})
instance NFData
DescribeMaintenanceWindowExecutionsResponse
where