{-# 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.EFS.DescribeMountTargetSecurityGroups
(
describeMountTargetSecurityGroups
, DescribeMountTargetSecurityGroups
, dmtsgMountTargetId
, describeMountTargetSecurityGroupsResponse
, DescribeMountTargetSecurityGroupsResponse
, dmtsgrsResponseStatus
, dmtsgrsSecurityGroups
) where
import Network.AWS.EFS.Types
import Network.AWS.EFS.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DescribeMountTargetSecurityGroups = DescribeMountTargetSecurityGroups'
{ _dmtsgMountTargetId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeMountTargetSecurityGroups
:: Text
-> DescribeMountTargetSecurityGroups
describeMountTargetSecurityGroups pMountTargetId_ =
DescribeMountTargetSecurityGroups' {_dmtsgMountTargetId = pMountTargetId_}
dmtsgMountTargetId :: Lens' DescribeMountTargetSecurityGroups Text
dmtsgMountTargetId = lens _dmtsgMountTargetId (\ s a -> s{_dmtsgMountTargetId = a})
instance AWSRequest DescribeMountTargetSecurityGroups
where
type Rs DescribeMountTargetSecurityGroups =
DescribeMountTargetSecurityGroupsResponse
request = get efs
response
= receiveJSON
(\ s h x ->
DescribeMountTargetSecurityGroupsResponse' <$>
(pure (fromEnum s)) <*>
(x .?> "SecurityGroups" .!@ mempty))
instance Hashable DescribeMountTargetSecurityGroups
where
instance NFData DescribeMountTargetSecurityGroups
where
instance ToHeaders DescribeMountTargetSecurityGroups
where
toHeaders = const mempty
instance ToPath DescribeMountTargetSecurityGroups
where
toPath DescribeMountTargetSecurityGroups'{..}
= mconcat
["/2015-02-01/mount-targets/",
toBS _dmtsgMountTargetId, "/security-groups"]
instance ToQuery DescribeMountTargetSecurityGroups
where
toQuery = const mempty
data DescribeMountTargetSecurityGroupsResponse = DescribeMountTargetSecurityGroupsResponse'
{ _dmtsgrsResponseStatus :: !Int
, _dmtsgrsSecurityGroups :: ![Text]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeMountTargetSecurityGroupsResponse
:: Int
-> DescribeMountTargetSecurityGroupsResponse
describeMountTargetSecurityGroupsResponse pResponseStatus_ =
DescribeMountTargetSecurityGroupsResponse'
{_dmtsgrsResponseStatus = pResponseStatus_, _dmtsgrsSecurityGroups = mempty}
dmtsgrsResponseStatus :: Lens' DescribeMountTargetSecurityGroupsResponse Int
dmtsgrsResponseStatus = lens _dmtsgrsResponseStatus (\ s a -> s{_dmtsgrsResponseStatus = a})
dmtsgrsSecurityGroups :: Lens' DescribeMountTargetSecurityGroupsResponse [Text]
dmtsgrsSecurityGroups = lens _dmtsgrsSecurityGroups (\ s a -> s{_dmtsgrsSecurityGroups = a}) . _Coerce
instance NFData
DescribeMountTargetSecurityGroupsResponse
where