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
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;