{-# 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.KinesisVideo.GetDataEndpoint
(
getDataEndpoint
, GetDataEndpoint
, gdeStreamARN
, gdeStreamName
, gdeAPIName
, getDataEndpointResponse
, GetDataEndpointResponse
, gdersDataEndpoint
, gdersResponseStatus
) where
import Network.AWS.KinesisVideo.Types
import Network.AWS.KinesisVideo.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data GetDataEndpoint = GetDataEndpoint'
{ _gdeStreamARN :: !(Maybe Text)
, _gdeStreamName :: !(Maybe Text)
, _gdeAPIName :: !APIName
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getDataEndpoint
:: APIName
-> GetDataEndpoint
getDataEndpoint pAPIName_ =
GetDataEndpoint'
{_gdeStreamARN = Nothing, _gdeStreamName = Nothing, _gdeAPIName = pAPIName_}
gdeStreamARN :: Lens' GetDataEndpoint (Maybe Text)
gdeStreamARN = lens _gdeStreamARN (\ s a -> s{_gdeStreamARN = a})
gdeStreamName :: Lens' GetDataEndpoint (Maybe Text)
gdeStreamName = lens _gdeStreamName (\ s a -> s{_gdeStreamName = a})
gdeAPIName :: Lens' GetDataEndpoint APIName
gdeAPIName = lens _gdeAPIName (\ s a -> s{_gdeAPIName = a})
instance AWSRequest GetDataEndpoint where
type Rs GetDataEndpoint = GetDataEndpointResponse
request = postJSON kinesisVideo
response
= receiveJSON
(\ s h x ->
GetDataEndpointResponse' <$>
(x .?> "DataEndpoint") <*> (pure (fromEnum s)))
instance Hashable GetDataEndpoint where
instance NFData GetDataEndpoint where
instance ToHeaders GetDataEndpoint where
toHeaders = const mempty
instance ToJSON GetDataEndpoint where
toJSON GetDataEndpoint'{..}
= object
(catMaybes
[("StreamARN" .=) <$> _gdeStreamARN,
("StreamName" .=) <$> _gdeStreamName,
Just ("APIName" .= _gdeAPIName)])
instance ToPath GetDataEndpoint where
toPath = const "/getDataEndpoint"
instance ToQuery GetDataEndpoint where
toQuery = const mempty
data GetDataEndpointResponse = GetDataEndpointResponse'
{ _gdersDataEndpoint :: !(Maybe Text)
, _gdersResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getDataEndpointResponse
:: Int
-> GetDataEndpointResponse
getDataEndpointResponse pResponseStatus_ =
GetDataEndpointResponse'
{_gdersDataEndpoint = Nothing, _gdersResponseStatus = pResponseStatus_}
gdersDataEndpoint :: Lens' GetDataEndpointResponse (Maybe Text)
gdersDataEndpoint = lens _gdersDataEndpoint (\ s a -> s{_gdersDataEndpoint = a})
gdersResponseStatus :: Lens' GetDataEndpointResponse Int
gdersResponseStatus = lens _gdersResponseStatus (\ s a -> s{_gdersResponseStatus = a})
instance NFData GetDataEndpointResponse where