amazonka-cognito-idp-1.4.5: gen/Network/AWS/CognitoIdentityProvider/AdminUpdateDeviceStatus.hs
{-# 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 #-}
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- |
-- Module : Network.AWS.CognitoIdentityProvider.AdminUpdateDeviceStatus
-- Copyright : (c) 2013-2016 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates the device status as an administrator.
--
--
module Network.AWS.CognitoIdentityProvider.AdminUpdateDeviceStatus
(
-- * Creating a Request
adminUpdateDeviceStatus
, AdminUpdateDeviceStatus
-- * Request Lenses
, audsDeviceRememberedStatus
, audsUserPoolId
, audsUsername
, audsDeviceKey
-- * Destructuring the Response
, adminUpdateDeviceStatusResponse
, AdminUpdateDeviceStatusResponse
-- * Response Lenses
, audsrsResponseStatus
) where
import Network.AWS.CognitoIdentityProvider.Types
import Network.AWS.CognitoIdentityProvider.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
-- | The request to update the device status, as an administrator.
--
--
--
-- /See:/ 'adminUpdateDeviceStatus' smart constructor.
data AdminUpdateDeviceStatus = AdminUpdateDeviceStatus'
{ _audsDeviceRememberedStatus :: !(Maybe DeviceRememberedStatusType)
, _audsUserPoolId :: !Text
, _audsUsername :: !(Sensitive Text)
, _audsDeviceKey :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'AdminUpdateDeviceStatus' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'audsDeviceRememberedStatus' - The status indicating whether a device has been remembered or not.
--
-- * 'audsUserPoolId' - The user pool ID>
--
-- * 'audsUsername' - The user name.
--
-- * 'audsDeviceKey' - The device key.
adminUpdateDeviceStatus
:: Text -- ^ 'audsUserPoolId'
-> Text -- ^ 'audsUsername'
-> Text -- ^ 'audsDeviceKey'
-> AdminUpdateDeviceStatus
adminUpdateDeviceStatus pUserPoolId_ pUsername_ pDeviceKey_ =
AdminUpdateDeviceStatus'
{ _audsDeviceRememberedStatus = Nothing
, _audsUserPoolId = pUserPoolId_
, _audsUsername = _Sensitive # pUsername_
, _audsDeviceKey = pDeviceKey_
}
-- | The status indicating whether a device has been remembered or not.
audsDeviceRememberedStatus :: Lens' AdminUpdateDeviceStatus (Maybe DeviceRememberedStatusType)
audsDeviceRememberedStatus = lens _audsDeviceRememberedStatus (\ s a -> s{_audsDeviceRememberedStatus = a});
-- | The user pool ID>
audsUserPoolId :: Lens' AdminUpdateDeviceStatus Text
audsUserPoolId = lens _audsUserPoolId (\ s a -> s{_audsUserPoolId = a});
-- | The user name.
audsUsername :: Lens' AdminUpdateDeviceStatus Text
audsUsername = lens _audsUsername (\ s a -> s{_audsUsername = a}) . _Sensitive;
-- | The device key.
audsDeviceKey :: Lens' AdminUpdateDeviceStatus Text
audsDeviceKey = lens _audsDeviceKey (\ s a -> s{_audsDeviceKey = a});
instance AWSRequest AdminUpdateDeviceStatus where
type Rs AdminUpdateDeviceStatus =
AdminUpdateDeviceStatusResponse
request = postJSON cognitoIdentityProvider
response
= receiveEmpty
(\ s h x ->
AdminUpdateDeviceStatusResponse' <$>
(pure (fromEnum s)))
instance Hashable AdminUpdateDeviceStatus
instance NFData AdminUpdateDeviceStatus
instance ToHeaders AdminUpdateDeviceStatus where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSCognitoIdentityProviderService.AdminUpdateDeviceStatus"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON AdminUpdateDeviceStatus where
toJSON AdminUpdateDeviceStatus'{..}
= object
(catMaybes
[("DeviceRememberedStatus" .=) <$>
_audsDeviceRememberedStatus,
Just ("UserPoolId" .= _audsUserPoolId),
Just ("Username" .= _audsUsername),
Just ("DeviceKey" .= _audsDeviceKey)])
instance ToPath AdminUpdateDeviceStatus where
toPath = const "/"
instance ToQuery AdminUpdateDeviceStatus where
toQuery = const mempty
-- | The status response from the request to update the device, as an administrator.
--
--
--
-- /See:/ 'adminUpdateDeviceStatusResponse' smart constructor.
newtype AdminUpdateDeviceStatusResponse = AdminUpdateDeviceStatusResponse'
{ _audsrsResponseStatus :: Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'AdminUpdateDeviceStatusResponse' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'audsrsResponseStatus' - -- | The response status code.
adminUpdateDeviceStatusResponse
:: Int -- ^ 'audsrsResponseStatus'
-> AdminUpdateDeviceStatusResponse
adminUpdateDeviceStatusResponse pResponseStatus_ =
AdminUpdateDeviceStatusResponse'
{ _audsrsResponseStatus = pResponseStatus_
}
-- | -- | The response status code.
audsrsResponseStatus :: Lens' AdminUpdateDeviceStatusResponse Int
audsrsResponseStatus = lens _audsrsResponseStatus (\ s a -> s{_audsrsResponseStatus = a});
instance NFData AdminUpdateDeviceStatusResponse