{-# 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.UpdateDeviceDefinition
(
updateDeviceDefinition
, UpdateDeviceDefinition
, uddName
, uddDeviceDefinitionId
, updateDeviceDefinitionResponse
, UpdateDeviceDefinitionResponse
, uddrsResponseStatus
) 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
data UpdateDeviceDefinition = UpdateDeviceDefinition'
{ _uddName :: !(Maybe Text)
, _uddDeviceDefinitionId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateDeviceDefinition
:: Text
-> UpdateDeviceDefinition
updateDeviceDefinition pDeviceDefinitionId_ =
UpdateDeviceDefinition'
{_uddName = Nothing, _uddDeviceDefinitionId = pDeviceDefinitionId_}
uddName :: Lens' UpdateDeviceDefinition (Maybe Text)
uddName = lens _uddName (\ s a -> s{_uddName = a})
uddDeviceDefinitionId :: Lens' UpdateDeviceDefinition Text
uddDeviceDefinitionId = lens _uddDeviceDefinitionId (\ s a -> s{_uddDeviceDefinitionId = a})
instance AWSRequest UpdateDeviceDefinition where
type Rs UpdateDeviceDefinition =
UpdateDeviceDefinitionResponse
request = putJSON greengrass
response
= receiveEmpty
(\ s h x ->
UpdateDeviceDefinitionResponse' <$>
(pure (fromEnum s)))
instance Hashable UpdateDeviceDefinition where
instance NFData UpdateDeviceDefinition where
instance ToHeaders UpdateDeviceDefinition where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateDeviceDefinition where
toJSON UpdateDeviceDefinition'{..}
= object (catMaybes [("Name" .=) <$> _uddName])
instance ToPath UpdateDeviceDefinition where
toPath UpdateDeviceDefinition'{..}
= mconcat
["/greengrass/definition/devices/",
toBS _uddDeviceDefinitionId]
instance ToQuery UpdateDeviceDefinition where
toQuery = const mempty
newtype UpdateDeviceDefinitionResponse = UpdateDeviceDefinitionResponse'
{ _uddrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateDeviceDefinitionResponse
:: Int
-> UpdateDeviceDefinitionResponse
updateDeviceDefinitionResponse pResponseStatus_ =
UpdateDeviceDefinitionResponse' {_uddrsResponseStatus = pResponseStatus_}
uddrsResponseStatus :: Lens' UpdateDeviceDefinitionResponse Int
uddrsResponseStatus = lens _uddrsResponseStatus (\ s a -> s{_uddrsResponseStatus = a})
instance NFData UpdateDeviceDefinitionResponse where