{-# 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.DescribeRoleAlias
(
describeRoleAlias
, DescribeRoleAlias
, draRoleAlias
, describeRoleAliasResponse
, DescribeRoleAliasResponse
, drarsRoleAliasDescription
, drarsResponseStatus
) 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 DescribeRoleAlias = DescribeRoleAlias'
{ _draRoleAlias :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeRoleAlias
:: Text
-> DescribeRoleAlias
describeRoleAlias pRoleAlias_ = DescribeRoleAlias' {_draRoleAlias = pRoleAlias_}
draRoleAlias :: Lens' DescribeRoleAlias Text
draRoleAlias = lens _draRoleAlias (\ s a -> s{_draRoleAlias = a})
instance AWSRequest DescribeRoleAlias where
type Rs DescribeRoleAlias = DescribeRoleAliasResponse
request = get ioT
response
= receiveJSON
(\ s h x ->
DescribeRoleAliasResponse' <$>
(x .?> "roleAliasDescription") <*>
(pure (fromEnum s)))
instance Hashable DescribeRoleAlias where
instance NFData DescribeRoleAlias where
instance ToHeaders DescribeRoleAlias where
toHeaders = const mempty
instance ToPath DescribeRoleAlias where
toPath DescribeRoleAlias'{..}
= mconcat ["/role-aliases/", toBS _draRoleAlias]
instance ToQuery DescribeRoleAlias where
toQuery = const mempty
data DescribeRoleAliasResponse = DescribeRoleAliasResponse'
{ _drarsRoleAliasDescription :: !(Maybe RoleAliasDescription)
, _drarsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeRoleAliasResponse
:: Int
-> DescribeRoleAliasResponse
describeRoleAliasResponse pResponseStatus_ =
DescribeRoleAliasResponse'
{ _drarsRoleAliasDescription = Nothing
, _drarsResponseStatus = pResponseStatus_
}
drarsRoleAliasDescription :: Lens' DescribeRoleAliasResponse (Maybe RoleAliasDescription)
drarsRoleAliasDescription = lens _drarsRoleAliasDescription (\ s a -> s{_drarsRoleAliasDescription = a})
drarsResponseStatus :: Lens' DescribeRoleAliasResponse Int
drarsResponseStatus = lens _drarsResponseStatus (\ s a -> s{_drarsResponseStatus = a})
instance NFData DescribeRoleAliasResponse where