{-# 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.MediaLive.ListInputSecurityGroups
(
listInputSecurityGroups
, ListInputSecurityGroups
, lisgNextToken
, lisgMaxResults
, listInputSecurityGroupsResponse
, ListInputSecurityGroupsResponse
, lisgrsNextToken
, lisgrsInputSecurityGroups
, lisgrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.MediaLive.Types
import Network.AWS.MediaLive.Types.Product
import Network.AWS.Pager
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListInputSecurityGroups = ListInputSecurityGroups'
{ _lisgNextToken :: !(Maybe Text)
, _lisgMaxResults :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listInputSecurityGroups
:: ListInputSecurityGroups
listInputSecurityGroups =
ListInputSecurityGroups' {_lisgNextToken = Nothing, _lisgMaxResults = Nothing}
lisgNextToken :: Lens' ListInputSecurityGroups (Maybe Text)
lisgNextToken = lens _lisgNextToken (\ s a -> s{_lisgNextToken = a})
lisgMaxResults :: Lens' ListInputSecurityGroups (Maybe Natural)
lisgMaxResults = lens _lisgMaxResults (\ s a -> s{_lisgMaxResults = a}) . mapping _Nat
instance AWSPager ListInputSecurityGroups where
page rq rs
| stop (rs ^. lisgrsNextToken) = Nothing
| stop (rs ^. lisgrsInputSecurityGroups) = Nothing
| otherwise =
Just $ rq & lisgNextToken .~ rs ^. lisgrsNextToken
instance AWSRequest ListInputSecurityGroups where
type Rs ListInputSecurityGroups =
ListInputSecurityGroupsResponse
request = get mediaLive
response
= receiveJSON
(\ s h x ->
ListInputSecurityGroupsResponse' <$>
(x .?> "nextToken") <*>
(x .?> "inputSecurityGroups" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListInputSecurityGroups where
instance NFData ListInputSecurityGroups where
instance ToHeaders ListInputSecurityGroups where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath ListInputSecurityGroups where
toPath = const "/prod/inputSecurityGroups"
instance ToQuery ListInputSecurityGroups where
toQuery ListInputSecurityGroups'{..}
= mconcat
["nextToken" =: _lisgNextToken,
"maxResults" =: _lisgMaxResults]
data ListInputSecurityGroupsResponse = ListInputSecurityGroupsResponse'
{ _lisgrsNextToken :: !(Maybe Text)
, _lisgrsInputSecurityGroups :: !(Maybe [InputSecurityGroup])
, _lisgrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listInputSecurityGroupsResponse
:: Int
-> ListInputSecurityGroupsResponse
listInputSecurityGroupsResponse pResponseStatus_ =
ListInputSecurityGroupsResponse'
{ _lisgrsNextToken = Nothing
, _lisgrsInputSecurityGroups = Nothing
, _lisgrsResponseStatus = pResponseStatus_
}
lisgrsNextToken :: Lens' ListInputSecurityGroupsResponse (Maybe Text)
lisgrsNextToken = lens _lisgrsNextToken (\ s a -> s{_lisgrsNextToken = a})
lisgrsInputSecurityGroups :: Lens' ListInputSecurityGroupsResponse [InputSecurityGroup]
lisgrsInputSecurityGroups = lens _lisgrsInputSecurityGroups (\ s a -> s{_lisgrsInputSecurityGroups = a}) . _Default . _Coerce
lisgrsResponseStatus :: Lens' ListInputSecurityGroupsResponse Int
lisgrsResponseStatus = lens _lisgrsResponseStatus (\ s a -> s{_lisgrsResponseStatus = a})
instance NFData ListInputSecurityGroupsResponse where