{-# 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.GetResourceDefinition
(
getResourceDefinition
, GetResourceDefinition
, grdResourceDefinitionId
, getResourceDefinitionResponse
, GetResourceDefinitionResponse
, grdrsLatestVersionARN
, grdrsARN
, grdrsName
, grdrsCreationTimestamp
, grdrsId
, grdrsLatestVersion
, grdrsLastUpdatedTimestamp
, grdrsResponseStatus
) 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 GetResourceDefinition = GetResourceDefinition'
{ _grdResourceDefinitionId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getResourceDefinition
:: Text
-> GetResourceDefinition
getResourceDefinition pResourceDefinitionId_ =
GetResourceDefinition' {_grdResourceDefinitionId = pResourceDefinitionId_}
grdResourceDefinitionId :: Lens' GetResourceDefinition Text
grdResourceDefinitionId = lens _grdResourceDefinitionId (\ s a -> s{_grdResourceDefinitionId = a})
instance AWSRequest GetResourceDefinition where
type Rs GetResourceDefinition =
GetResourceDefinitionResponse
request = get greengrass
response
= receiveJSON
(\ s h x ->
GetResourceDefinitionResponse' <$>
(x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>
(x .?> "Name")
<*> (x .?> "CreationTimestamp")
<*> (x .?> "Id")
<*> (x .?> "LatestVersion")
<*> (x .?> "LastUpdatedTimestamp")
<*> (pure (fromEnum s)))
instance Hashable GetResourceDefinition where
instance NFData GetResourceDefinition where
instance ToHeaders GetResourceDefinition where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath GetResourceDefinition where
toPath GetResourceDefinition'{..}
= mconcat
["/greengrass/definition/resources/",
toBS _grdResourceDefinitionId]
instance ToQuery GetResourceDefinition where
toQuery = const mempty
data GetResourceDefinitionResponse = GetResourceDefinitionResponse'
{ _grdrsLatestVersionARN :: !(Maybe Text)
, _grdrsARN :: !(Maybe Text)
, _grdrsName :: !(Maybe Text)
, _grdrsCreationTimestamp :: !(Maybe Text)
, _grdrsId :: !(Maybe Text)
, _grdrsLatestVersion :: !(Maybe Text)
, _grdrsLastUpdatedTimestamp :: !(Maybe Text)
, _grdrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getResourceDefinitionResponse
:: Int
-> GetResourceDefinitionResponse
getResourceDefinitionResponse pResponseStatus_ =
GetResourceDefinitionResponse'
{ _grdrsLatestVersionARN = Nothing
, _grdrsARN = Nothing
, _grdrsName = Nothing
, _grdrsCreationTimestamp = Nothing
, _grdrsId = Nothing
, _grdrsLatestVersion = Nothing
, _grdrsLastUpdatedTimestamp = Nothing
, _grdrsResponseStatus = pResponseStatus_
}
grdrsLatestVersionARN :: Lens' GetResourceDefinitionResponse (Maybe Text)
grdrsLatestVersionARN = lens _grdrsLatestVersionARN (\ s a -> s{_grdrsLatestVersionARN = a})
grdrsARN :: Lens' GetResourceDefinitionResponse (Maybe Text)
grdrsARN = lens _grdrsARN (\ s a -> s{_grdrsARN = a})
grdrsName :: Lens' GetResourceDefinitionResponse (Maybe Text)
grdrsName = lens _grdrsName (\ s a -> s{_grdrsName = a})
grdrsCreationTimestamp :: Lens' GetResourceDefinitionResponse (Maybe Text)
grdrsCreationTimestamp = lens _grdrsCreationTimestamp (\ s a -> s{_grdrsCreationTimestamp = a})
grdrsId :: Lens' GetResourceDefinitionResponse (Maybe Text)
grdrsId = lens _grdrsId (\ s a -> s{_grdrsId = a})
grdrsLatestVersion :: Lens' GetResourceDefinitionResponse (Maybe Text)
grdrsLatestVersion = lens _grdrsLatestVersion (\ s a -> s{_grdrsLatestVersion = a})
grdrsLastUpdatedTimestamp :: Lens' GetResourceDefinitionResponse (Maybe Text)
grdrsLastUpdatedTimestamp = lens _grdrsLastUpdatedTimestamp (\ s a -> s{_grdrsLastUpdatedTimestamp = a})
grdrsResponseStatus :: Lens' GetResourceDefinitionResponse Int
grdrsResponseStatus = lens _grdrsResponseStatus (\ s a -> s{_grdrsResponseStatus = a})
instance NFData GetResourceDefinitionResponse where