module Network.AWS.Greengrass.GetConnectivityInfo
(
getConnectivityInfo
, GetConnectivityInfo
, gciThingName
, getConnectivityInfoResponse
, GetConnectivityInfoResponse
, gcirsMessage
, gcirsConnectivityInfo
, gcirsResponseStatus
) where
import Network.AWS.Greengrass.Types
import Network.AWS.Greengrass.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype GetConnectivityInfo = GetConnectivityInfo'
{ _gciThingName :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getConnectivityInfo
:: Text
-> GetConnectivityInfo
getConnectivityInfo pThingName_ =
GetConnectivityInfo' {_gciThingName = pThingName_}
gciThingName :: Lens' GetConnectivityInfo Text
gciThingName = lens _gciThingName (\ s a -> s{_gciThingName = a});
instance AWSRequest GetConnectivityInfo where
type Rs GetConnectivityInfo =
GetConnectivityInfoResponse
request = get greengrass
response
= receiveJSON
(\ s h x ->
GetConnectivityInfoResponse' <$>
(x .?> "message") <*>
(x .?> "ConnectivityInfo" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable GetConnectivityInfo where
instance NFData GetConnectivityInfo where
instance ToHeaders GetConnectivityInfo where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath GetConnectivityInfo where
toPath GetConnectivityInfo'{..}
= mconcat
["/greengrass/things/", toBS _gciThingName,
"/connectivityInfo"]
instance ToQuery GetConnectivityInfo where
toQuery = const mempty
data GetConnectivityInfoResponse = GetConnectivityInfoResponse'
{ _gcirsMessage :: !(Maybe Text)
, _gcirsConnectivityInfo :: !(Maybe [ConnectivityInfo])
, _gcirsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getConnectivityInfoResponse
:: Int
-> GetConnectivityInfoResponse
getConnectivityInfoResponse pResponseStatus_ =
GetConnectivityInfoResponse'
{ _gcirsMessage = Nothing
, _gcirsConnectivityInfo = Nothing
, _gcirsResponseStatus = pResponseStatus_
}
gcirsMessage :: Lens' GetConnectivityInfoResponse (Maybe Text)
gcirsMessage = lens _gcirsMessage (\ s a -> s{_gcirsMessage = a});
gcirsConnectivityInfo :: Lens' GetConnectivityInfoResponse [ConnectivityInfo]
gcirsConnectivityInfo = lens _gcirsConnectivityInfo (\ s a -> s{_gcirsConnectivityInfo = a}) . _Default . _Coerce;
gcirsResponseStatus :: Lens' GetConnectivityInfoResponse Int
gcirsResponseStatus = lens _gcirsResponseStatus (\ s a -> s{_gcirsResponseStatus = a});
instance NFData GetConnectivityInfoResponse where