{-# 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.SetDefaultAuthorizer
(
setDefaultAuthorizer
, SetDefaultAuthorizer
, sdaAuthorizerName
, setDefaultAuthorizerResponse
, SetDefaultAuthorizerResponse
, sdarsAuthorizerName
, sdarsAuthorizerARN
, sdarsResponseStatus
) 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
newtype SetDefaultAuthorizer = SetDefaultAuthorizer'
{ _sdaAuthorizerName :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
setDefaultAuthorizer
:: Text
-> SetDefaultAuthorizer
setDefaultAuthorizer pAuthorizerName_ =
SetDefaultAuthorizer' {_sdaAuthorizerName = pAuthorizerName_}
sdaAuthorizerName :: Lens' SetDefaultAuthorizer Text
sdaAuthorizerName = lens _sdaAuthorizerName (\ s a -> s{_sdaAuthorizerName = a})
instance AWSRequest SetDefaultAuthorizer where
type Rs SetDefaultAuthorizer =
SetDefaultAuthorizerResponse
request = postJSON ioT
response
= receiveJSON
(\ s h x ->
SetDefaultAuthorizerResponse' <$>
(x .?> "authorizerName") <*> (x .?> "authorizerArn")
<*> (pure (fromEnum s)))
instance Hashable SetDefaultAuthorizer where
instance NFData SetDefaultAuthorizer where
instance ToHeaders SetDefaultAuthorizer where
toHeaders = const mempty
instance ToJSON SetDefaultAuthorizer where
toJSON SetDefaultAuthorizer'{..}
= object
(catMaybes
[Just ("authorizerName" .= _sdaAuthorizerName)])
instance ToPath SetDefaultAuthorizer where
toPath = const "/default-authorizer"
instance ToQuery SetDefaultAuthorizer where
toQuery = const mempty
data SetDefaultAuthorizerResponse = SetDefaultAuthorizerResponse'
{ _sdarsAuthorizerName :: !(Maybe Text)
, _sdarsAuthorizerARN :: !(Maybe Text)
, _sdarsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
setDefaultAuthorizerResponse
:: Int
-> SetDefaultAuthorizerResponse
setDefaultAuthorizerResponse pResponseStatus_ =
SetDefaultAuthorizerResponse'
{ _sdarsAuthorizerName = Nothing
, _sdarsAuthorizerARN = Nothing
, _sdarsResponseStatus = pResponseStatus_
}
sdarsAuthorizerName :: Lens' SetDefaultAuthorizerResponse (Maybe Text)
sdarsAuthorizerName = lens _sdarsAuthorizerName (\ s a -> s{_sdarsAuthorizerName = a})
sdarsAuthorizerARN :: Lens' SetDefaultAuthorizerResponse (Maybe Text)
sdarsAuthorizerARN = lens _sdarsAuthorizerARN (\ s a -> s{_sdarsAuthorizerARN = a})
sdarsResponseStatus :: Lens' SetDefaultAuthorizerResponse Int
sdarsResponseStatus = lens _sdarsResponseStatus (\ s a -> s{_sdarsResponseStatus = a})
instance NFData SetDefaultAuthorizerResponse where