{-# 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.DescribeInputSecurityGroup
(
describeInputSecurityGroup
, DescribeInputSecurityGroup
, disgInputSecurityGroupId
, describeInputSecurityGroupResponse
, DescribeInputSecurityGroupResponse
, desrsState
, desrsARN
, desrsInputs
, desrsId
, desrsWhitelistRules
, desrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.MediaLive.Types
import Network.AWS.MediaLive.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DescribeInputSecurityGroup = DescribeInputSecurityGroup'
{ _disgInputSecurityGroupId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeInputSecurityGroup
:: Text
-> DescribeInputSecurityGroup
describeInputSecurityGroup pInputSecurityGroupId_ =
DescribeInputSecurityGroup'
{_disgInputSecurityGroupId = pInputSecurityGroupId_}
disgInputSecurityGroupId :: Lens' DescribeInputSecurityGroup Text
disgInputSecurityGroupId = lens _disgInputSecurityGroupId (\ s a -> s{_disgInputSecurityGroupId = a})
instance AWSRequest DescribeInputSecurityGroup where
type Rs DescribeInputSecurityGroup =
DescribeInputSecurityGroupResponse
request = get mediaLive
response
= receiveJSON
(\ s h x ->
DescribeInputSecurityGroupResponse' <$>
(x .?> "state") <*> (x .?> "arn") <*>
(x .?> "inputs" .!@ mempty)
<*> (x .?> "id")
<*> (x .?> "whitelistRules" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable DescribeInputSecurityGroup where
instance NFData DescribeInputSecurityGroup where
instance ToHeaders DescribeInputSecurityGroup where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath DescribeInputSecurityGroup where
toPath DescribeInputSecurityGroup'{..}
= mconcat
["/prod/inputSecurityGroups/",
toBS _disgInputSecurityGroupId]
instance ToQuery DescribeInputSecurityGroup where
toQuery = const mempty
data DescribeInputSecurityGroupResponse = DescribeInputSecurityGroupResponse'
{ _desrsState :: !(Maybe InputSecurityGroupState)
, _desrsARN :: !(Maybe Text)
, _desrsInputs :: !(Maybe [Text])
, _desrsId :: !(Maybe Text)
, _desrsWhitelistRules :: !(Maybe [InputWhitelistRule])
, _desrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeInputSecurityGroupResponse
:: Int
-> DescribeInputSecurityGroupResponse
describeInputSecurityGroupResponse pResponseStatus_ =
DescribeInputSecurityGroupResponse'
{ _desrsState = Nothing
, _desrsARN = Nothing
, _desrsInputs = Nothing
, _desrsId = Nothing
, _desrsWhitelistRules = Nothing
, _desrsResponseStatus = pResponseStatus_
}
desrsState :: Lens' DescribeInputSecurityGroupResponse (Maybe InputSecurityGroupState)
desrsState = lens _desrsState (\ s a -> s{_desrsState = a})
desrsARN :: Lens' DescribeInputSecurityGroupResponse (Maybe Text)
desrsARN = lens _desrsARN (\ s a -> s{_desrsARN = a})
desrsInputs :: Lens' DescribeInputSecurityGroupResponse [Text]
desrsInputs = lens _desrsInputs (\ s a -> s{_desrsInputs = a}) . _Default . _Coerce
desrsId :: Lens' DescribeInputSecurityGroupResponse (Maybe Text)
desrsId = lens _desrsId (\ s a -> s{_desrsId = a})
desrsWhitelistRules :: Lens' DescribeInputSecurityGroupResponse [InputWhitelistRule]
desrsWhitelistRules = lens _desrsWhitelistRules (\ s a -> s{_desrsWhitelistRules = a}) . _Default . _Coerce
desrsResponseStatus :: Lens' DescribeInputSecurityGroupResponse Int
desrsResponseStatus = lens _desrsResponseStatus (\ s a -> s{_desrsResponseStatus = a})
instance NFData DescribeInputSecurityGroupResponse
where