{-# 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.Greengrass.GetDeviceDefinition
(
getDeviceDefinition
, GetDeviceDefinition
, gddDeviceDefinitionId
, getDeviceDefinitionResponse
, GetDeviceDefinitionResponse
, gddrsLatestVersionARN
, gddrsARN
, gddrsName
, gddrsCreationTimestamp
, gddrsId
, gddrsLatestVersion
, gddrsLastUpdatedTimestamp
, gddrsResponseStatus
) 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 GetDeviceDefinition = GetDeviceDefinition'
{ _gddDeviceDefinitionId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getDeviceDefinition
:: Text
-> GetDeviceDefinition
getDeviceDefinition pDeviceDefinitionId_ =
GetDeviceDefinition' {_gddDeviceDefinitionId = pDeviceDefinitionId_}
gddDeviceDefinitionId :: Lens' GetDeviceDefinition Text
gddDeviceDefinitionId = lens _gddDeviceDefinitionId (\ s a -> s{_gddDeviceDefinitionId = a})
instance AWSRequest GetDeviceDefinition where
type Rs GetDeviceDefinition =
GetDeviceDefinitionResponse
request = get greengrass
response
= receiveJSON
(\ s h x ->
GetDeviceDefinitionResponse' <$>
(x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>
(x .?> "Name")
<*> (x .?> "CreationTimestamp")
<*> (x .?> "Id")
<*> (x .?> "LatestVersion")
<*> (x .?> "LastUpdatedTimestamp")
<*> (pure (fromEnum s)))
instance Hashable GetDeviceDefinition where
instance NFData GetDeviceDefinition where
instance ToHeaders GetDeviceDefinition where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath GetDeviceDefinition where
toPath GetDeviceDefinition'{..}
= mconcat
["/greengrass/definition/devices/",
toBS _gddDeviceDefinitionId]
instance ToQuery GetDeviceDefinition where
toQuery = const mempty
data GetDeviceDefinitionResponse = GetDeviceDefinitionResponse'
{ _gddrsLatestVersionARN :: !(Maybe Text)
, _gddrsARN :: !(Maybe Text)
, _gddrsName :: !(Maybe Text)
, _gddrsCreationTimestamp :: !(Maybe Text)
, _gddrsId :: !(Maybe Text)
, _gddrsLatestVersion :: !(Maybe Text)
, _gddrsLastUpdatedTimestamp :: !(Maybe Text)
, _gddrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getDeviceDefinitionResponse
:: Int
-> GetDeviceDefinitionResponse
getDeviceDefinitionResponse pResponseStatus_ =
GetDeviceDefinitionResponse'
{ _gddrsLatestVersionARN = Nothing
, _gddrsARN = Nothing
, _gddrsName = Nothing
, _gddrsCreationTimestamp = Nothing
, _gddrsId = Nothing
, _gddrsLatestVersion = Nothing
, _gddrsLastUpdatedTimestamp = Nothing
, _gddrsResponseStatus = pResponseStatus_
}
gddrsLatestVersionARN :: Lens' GetDeviceDefinitionResponse (Maybe Text)
gddrsLatestVersionARN = lens _gddrsLatestVersionARN (\ s a -> s{_gddrsLatestVersionARN = a})
gddrsARN :: Lens' GetDeviceDefinitionResponse (Maybe Text)
gddrsARN = lens _gddrsARN (\ s a -> s{_gddrsARN = a})
gddrsName :: Lens' GetDeviceDefinitionResponse (Maybe Text)
gddrsName = lens _gddrsName (\ s a -> s{_gddrsName = a})
gddrsCreationTimestamp :: Lens' GetDeviceDefinitionResponse (Maybe Text)
gddrsCreationTimestamp = lens _gddrsCreationTimestamp (\ s a -> s{_gddrsCreationTimestamp = a})
gddrsId :: Lens' GetDeviceDefinitionResponse (Maybe Text)
gddrsId = lens _gddrsId (\ s a -> s{_gddrsId = a})
gddrsLatestVersion :: Lens' GetDeviceDefinitionResponse (Maybe Text)
gddrsLatestVersion = lens _gddrsLatestVersion (\ s a -> s{_gddrsLatestVersion = a})
gddrsLastUpdatedTimestamp :: Lens' GetDeviceDefinitionResponse (Maybe Text)
gddrsLastUpdatedTimestamp = lens _gddrsLastUpdatedTimestamp (\ s a -> s{_gddrsLastUpdatedTimestamp = a})
gddrsResponseStatus :: Lens' GetDeviceDefinitionResponse Int
gddrsResponseStatus = lens _gddrsResponseStatus (\ s a -> s{_gddrsResponseStatus = a})
instance NFData GetDeviceDefinitionResponse where