{-# 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.StorageGateway.SetLocalConsolePassword -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Sets the password for your VM local console. When you log in to the -- local console for the first time, you log in to the VM with the default -- credentials. We recommend that you set a new password. You don\'t need -- to know the default password to set a new password. module Network.AWS.StorageGateway.SetLocalConsolePassword ( -- * Creating a Request setLocalConsolePassword , SetLocalConsolePassword -- * Request Lenses , slcpGatewayARN , slcpLocalConsolePassword -- * Destructuring the Response , setLocalConsolePasswordResponse , SetLocalConsolePasswordResponse -- * Response Lenses , slcprsGatewayARN , slcprsResponseStatus ) where import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response import Network.AWS.StorageGateway.Types import Network.AWS.StorageGateway.Types.Product -- | SetLocalConsolePasswordInput -- -- /See:/ 'setLocalConsolePassword' smart constructor. data SetLocalConsolePassword = SetLocalConsolePassword' { _slcpGatewayARN :: !Text , _slcpLocalConsolePassword :: !(Sensitive Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'SetLocalConsolePassword' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'slcpGatewayARN' -- -- * 'slcpLocalConsolePassword' setLocalConsolePassword :: Text -- ^ 'slcpGatewayARN' -> Text -- ^ 'slcpLocalConsolePassword' -> SetLocalConsolePassword setLocalConsolePassword pGatewayARN_ pLocalConsolePassword_ = SetLocalConsolePassword' { _slcpGatewayARN = pGatewayARN_ , _slcpLocalConsolePassword = _Sensitive # pLocalConsolePassword_ } -- | Undocumented member. slcpGatewayARN :: Lens' SetLocalConsolePassword Text slcpGatewayARN = lens _slcpGatewayARN (\ s a -> s{_slcpGatewayARN = a}); -- | The password you want to set for your VM local console. slcpLocalConsolePassword :: Lens' SetLocalConsolePassword Text slcpLocalConsolePassword = lens _slcpLocalConsolePassword (\ s a -> s{_slcpLocalConsolePassword = a}) . _Sensitive; instance AWSRequest SetLocalConsolePassword where type Rs SetLocalConsolePassword = SetLocalConsolePasswordResponse request = postJSON storageGateway response = receiveJSON (\ s h x -> SetLocalConsolePasswordResponse' <$> (x .?> "GatewayARN") <*> (pure (fromEnum s))) instance Hashable SetLocalConsolePassword instance NFData SetLocalConsolePassword instance ToHeaders SetLocalConsolePassword where toHeaders = const (mconcat ["X-Amz-Target" =# ("StorageGateway_20130630.SetLocalConsolePassword" :: ByteString), "Content-Type" =# ("application/x-amz-json-1.1" :: ByteString)]) instance ToJSON SetLocalConsolePassword where toJSON SetLocalConsolePassword'{..} = object (catMaybes [Just ("GatewayARN" .= _slcpGatewayARN), Just ("LocalConsolePassword" .= _slcpLocalConsolePassword)]) instance ToPath SetLocalConsolePassword where toPath = const "/" instance ToQuery SetLocalConsolePassword where toQuery = const mempty -- | /See:/ 'setLocalConsolePasswordResponse' smart constructor. data SetLocalConsolePasswordResponse = SetLocalConsolePasswordResponse' { _slcprsGatewayARN :: !(Maybe Text) , _slcprsResponseStatus :: !Int } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'SetLocalConsolePasswordResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'slcprsGatewayARN' -- -- * 'slcprsResponseStatus' setLocalConsolePasswordResponse :: Int -- ^ 'slcprsResponseStatus' -> SetLocalConsolePasswordResponse setLocalConsolePasswordResponse pResponseStatus_ = SetLocalConsolePasswordResponse' { _slcprsGatewayARN = Nothing , _slcprsResponseStatus = pResponseStatus_ } -- | Undocumented member. slcprsGatewayARN :: Lens' SetLocalConsolePasswordResponse (Maybe Text) slcprsGatewayARN = lens _slcprsGatewayARN (\ s a -> s{_slcprsGatewayARN = a}); -- | The response status code. slcprsResponseStatus :: Lens' SetLocalConsolePasswordResponse Int slcprsResponseStatus = lens _slcprsResponseStatus (\ s a -> s{_slcprsResponseStatus = a}); instance NFData SetLocalConsolePasswordResponse