module Network.AWS.DirectConnect.DescribeVirtualInterfaces
(
describeVirtualInterfaces
, DescribeVirtualInterfaces
, dviConnectionId
, dviVirtualInterfaceId
, describeVirtualInterfacesResponse
, DescribeVirtualInterfacesResponse
, dvisrsVirtualInterfaces
, dvisrsResponseStatus
) where
import Network.AWS.DirectConnect.Types
import Network.AWS.DirectConnect.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeVirtualInterfaces = DescribeVirtualInterfaces'
{ _dviConnectionId :: !(Maybe Text)
, _dviVirtualInterfaceId :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeVirtualInterfaces
:: DescribeVirtualInterfaces
describeVirtualInterfaces =
DescribeVirtualInterfaces'
{ _dviConnectionId = Nothing
, _dviVirtualInterfaceId = Nothing
}
dviConnectionId :: Lens' DescribeVirtualInterfaces (Maybe Text)
dviConnectionId = lens _dviConnectionId (\ s a -> s{_dviConnectionId = a});
dviVirtualInterfaceId :: Lens' DescribeVirtualInterfaces (Maybe Text)
dviVirtualInterfaceId = lens _dviVirtualInterfaceId (\ s a -> s{_dviVirtualInterfaceId = a});
instance AWSRequest DescribeVirtualInterfaces where
type Rs DescribeVirtualInterfaces =
DescribeVirtualInterfacesResponse
request = postJSON directConnect
response
= receiveJSON
(\ s h x ->
DescribeVirtualInterfacesResponse' <$>
(x .?> "virtualInterfaces" .!@ mempty) <*>
(pure (fromEnum s)))
instance ToHeaders DescribeVirtualInterfaces where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("OvertureService.DescribeVirtualInterfaces" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeVirtualInterfaces where
toJSON DescribeVirtualInterfaces'{..}
= object
(catMaybes
[("connectionId" .=) <$> _dviConnectionId,
("virtualInterfaceId" .=) <$>
_dviVirtualInterfaceId])
instance ToPath DescribeVirtualInterfaces where
toPath = const "/"
instance ToQuery DescribeVirtualInterfaces where
toQuery = const mempty
data DescribeVirtualInterfacesResponse = DescribeVirtualInterfacesResponse'
{ _dvisrsVirtualInterfaces :: !(Maybe [VirtualInterface])
, _dvisrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeVirtualInterfacesResponse
:: Int
-> DescribeVirtualInterfacesResponse
describeVirtualInterfacesResponse pResponseStatus_ =
DescribeVirtualInterfacesResponse'
{ _dvisrsVirtualInterfaces = Nothing
, _dvisrsResponseStatus = pResponseStatus_
}
dvisrsVirtualInterfaces :: Lens' DescribeVirtualInterfacesResponse [VirtualInterface]
dvisrsVirtualInterfaces = lens _dvisrsVirtualInterfaces (\ s a -> s{_dvisrsVirtualInterfaces = a}) . _Default . _Coerce;
dvisrsResponseStatus :: Lens' DescribeVirtualInterfacesResponse Int
dvisrsResponseStatus = lens _dvisrsResponseStatus (\ s a -> s{_dvisrsResponseStatus = a});