{-# 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.IoT.UpdateRoleAlias
(
updateRoleAlias
, UpdateRoleAlias
, uraCredentialDurationSeconds
, uraRoleARN
, uraRoleAlias
, updateRoleAliasResponse
, UpdateRoleAliasResponse
, urarsRoleAliasARN
, urarsRoleAlias
, urarsResponseStatus
) where
import Network.AWS.IoT.Types
import Network.AWS.IoT.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateRoleAlias = UpdateRoleAlias'
{ _uraCredentialDurationSeconds :: !(Maybe Nat)
, _uraRoleARN :: !(Maybe Text)
, _uraRoleAlias :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateRoleAlias
:: Text
-> UpdateRoleAlias
updateRoleAlias pRoleAlias_ =
UpdateRoleAlias'
{ _uraCredentialDurationSeconds = Nothing
, _uraRoleARN = Nothing
, _uraRoleAlias = pRoleAlias_
}
uraCredentialDurationSeconds :: Lens' UpdateRoleAlias (Maybe Natural)
uraCredentialDurationSeconds = lens _uraCredentialDurationSeconds (\ s a -> s{_uraCredentialDurationSeconds = a}) . mapping _Nat
uraRoleARN :: Lens' UpdateRoleAlias (Maybe Text)
uraRoleARN = lens _uraRoleARN (\ s a -> s{_uraRoleARN = a})
uraRoleAlias :: Lens' UpdateRoleAlias Text
uraRoleAlias = lens _uraRoleAlias (\ s a -> s{_uraRoleAlias = a})
instance AWSRequest UpdateRoleAlias where
type Rs UpdateRoleAlias = UpdateRoleAliasResponse
request = putJSON ioT
response
= receiveJSON
(\ s h x ->
UpdateRoleAliasResponse' <$>
(x .?> "roleAliasArn") <*> (x .?> "roleAlias") <*>
(pure (fromEnum s)))
instance Hashable UpdateRoleAlias where
instance NFData UpdateRoleAlias where
instance ToHeaders UpdateRoleAlias where
toHeaders = const mempty
instance ToJSON UpdateRoleAlias where
toJSON UpdateRoleAlias'{..}
= object
(catMaybes
[("credentialDurationSeconds" .=) <$>
_uraCredentialDurationSeconds,
("roleArn" .=) <$> _uraRoleARN])
instance ToPath UpdateRoleAlias where
toPath UpdateRoleAlias'{..}
= mconcat ["/role-aliases/", toBS _uraRoleAlias]
instance ToQuery UpdateRoleAlias where
toQuery = const mempty
data UpdateRoleAliasResponse = UpdateRoleAliasResponse'
{ _urarsRoleAliasARN :: !(Maybe Text)
, _urarsRoleAlias :: !(Maybe Text)
, _urarsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateRoleAliasResponse
:: Int
-> UpdateRoleAliasResponse
updateRoleAliasResponse pResponseStatus_ =
UpdateRoleAliasResponse'
{ _urarsRoleAliasARN = Nothing
, _urarsRoleAlias = Nothing
, _urarsResponseStatus = pResponseStatus_
}
urarsRoleAliasARN :: Lens' UpdateRoleAliasResponse (Maybe Text)
urarsRoleAliasARN = lens _urarsRoleAliasARN (\ s a -> s{_urarsRoleAliasARN = a})
urarsRoleAlias :: Lens' UpdateRoleAliasResponse (Maybe Text)
urarsRoleAlias = lens _urarsRoleAlias (\ s a -> s{_urarsRoleAlias = a})
urarsResponseStatus :: Lens' UpdateRoleAliasResponse Int
urarsResponseStatus = lens _urarsResponseStatus (\ s a -> s{_urarsResponseStatus = a})
instance NFData UpdateRoleAliasResponse where