{-# 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.StorageGateway.UpdateNFSFileShare
(
updateNFSFileShare
, UpdateNFSFileShare
, unfsfsKMSKey
, unfsfsObjectACL
, unfsfsKMSEncrypted
, unfsfsDefaultStorageClass
, unfsfsSquash
, unfsfsRequesterPays
, unfsfsNFSFileShareDefaults
, unfsfsClientList
, unfsfsGuessMIMETypeEnabled
, unfsfsReadOnly
, unfsfsFileShareARN
, updateNFSFileShareResponse
, UpdateNFSFileShareResponse
, unfsfsrsFileShareARN
, unfsfsrsResponseStatus
) 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
data UpdateNFSFileShare = UpdateNFSFileShare'
{ _unfsfsKMSKey :: !(Maybe Text)
, _unfsfsObjectACL :: !(Maybe ObjectACL)
, _unfsfsKMSEncrypted :: !(Maybe Bool)
, _unfsfsDefaultStorageClass :: !(Maybe Text)
, _unfsfsSquash :: !(Maybe Text)
, _unfsfsRequesterPays :: !(Maybe Bool)
, _unfsfsNFSFileShareDefaults :: !(Maybe NFSFileShareDefaults)
, _unfsfsClientList :: !(Maybe (List1 Text))
, _unfsfsGuessMIMETypeEnabled :: !(Maybe Bool)
, _unfsfsReadOnly :: !(Maybe Bool)
, _unfsfsFileShareARN :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateNFSFileShare
:: Text
-> UpdateNFSFileShare
updateNFSFileShare pFileShareARN_ =
UpdateNFSFileShare'
{ _unfsfsKMSKey = Nothing
, _unfsfsObjectACL = Nothing
, _unfsfsKMSEncrypted = Nothing
, _unfsfsDefaultStorageClass = Nothing
, _unfsfsSquash = Nothing
, _unfsfsRequesterPays = Nothing
, _unfsfsNFSFileShareDefaults = Nothing
, _unfsfsClientList = Nothing
, _unfsfsGuessMIMETypeEnabled = Nothing
, _unfsfsReadOnly = Nothing
, _unfsfsFileShareARN = pFileShareARN_
}
unfsfsKMSKey :: Lens' UpdateNFSFileShare (Maybe Text)
unfsfsKMSKey = lens _unfsfsKMSKey (\ s a -> s{_unfsfsKMSKey = a})
unfsfsObjectACL :: Lens' UpdateNFSFileShare (Maybe ObjectACL)
unfsfsObjectACL = lens _unfsfsObjectACL (\ s a -> s{_unfsfsObjectACL = a})
unfsfsKMSEncrypted :: Lens' UpdateNFSFileShare (Maybe Bool)
unfsfsKMSEncrypted = lens _unfsfsKMSEncrypted (\ s a -> s{_unfsfsKMSEncrypted = a})
unfsfsDefaultStorageClass :: Lens' UpdateNFSFileShare (Maybe Text)
unfsfsDefaultStorageClass = lens _unfsfsDefaultStorageClass (\ s a -> s{_unfsfsDefaultStorageClass = a})
unfsfsSquash :: Lens' UpdateNFSFileShare (Maybe Text)
unfsfsSquash = lens _unfsfsSquash (\ s a -> s{_unfsfsSquash = a})
unfsfsRequesterPays :: Lens' UpdateNFSFileShare (Maybe Bool)
unfsfsRequesterPays = lens _unfsfsRequesterPays (\ s a -> s{_unfsfsRequesterPays = a})
unfsfsNFSFileShareDefaults :: Lens' UpdateNFSFileShare (Maybe NFSFileShareDefaults)
unfsfsNFSFileShareDefaults = lens _unfsfsNFSFileShareDefaults (\ s a -> s{_unfsfsNFSFileShareDefaults = a})
unfsfsClientList :: Lens' UpdateNFSFileShare (Maybe (NonEmpty Text))
unfsfsClientList = lens _unfsfsClientList (\ s a -> s{_unfsfsClientList = a}) . mapping _List1
unfsfsGuessMIMETypeEnabled :: Lens' UpdateNFSFileShare (Maybe Bool)
unfsfsGuessMIMETypeEnabled = lens _unfsfsGuessMIMETypeEnabled (\ s a -> s{_unfsfsGuessMIMETypeEnabled = a})
unfsfsReadOnly :: Lens' UpdateNFSFileShare (Maybe Bool)
unfsfsReadOnly = lens _unfsfsReadOnly (\ s a -> s{_unfsfsReadOnly = a})
unfsfsFileShareARN :: Lens' UpdateNFSFileShare Text
unfsfsFileShareARN = lens _unfsfsFileShareARN (\ s a -> s{_unfsfsFileShareARN = a})
instance AWSRequest UpdateNFSFileShare where
type Rs UpdateNFSFileShare =
UpdateNFSFileShareResponse
request = postJSON storageGateway
response
= receiveJSON
(\ s h x ->
UpdateNFSFileShareResponse' <$>
(x .?> "FileShareARN") <*> (pure (fromEnum s)))
instance Hashable UpdateNFSFileShare where
instance NFData UpdateNFSFileShare where
instance ToHeaders UpdateNFSFileShare where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("StorageGateway_20130630.UpdateNFSFileShare" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateNFSFileShare where
toJSON UpdateNFSFileShare'{..}
= object
(catMaybes
[("KMSKey" .=) <$> _unfsfsKMSKey,
("ObjectACL" .=) <$> _unfsfsObjectACL,
("KMSEncrypted" .=) <$> _unfsfsKMSEncrypted,
("DefaultStorageClass" .=) <$>
_unfsfsDefaultStorageClass,
("Squash" .=) <$> _unfsfsSquash,
("RequesterPays" .=) <$> _unfsfsRequesterPays,
("NFSFileShareDefaults" .=) <$>
_unfsfsNFSFileShareDefaults,
("ClientList" .=) <$> _unfsfsClientList,
("GuessMIMETypeEnabled" .=) <$>
_unfsfsGuessMIMETypeEnabled,
("ReadOnly" .=) <$> _unfsfsReadOnly,
Just ("FileShareARN" .= _unfsfsFileShareARN)])
instance ToPath UpdateNFSFileShare where
toPath = const "/"
instance ToQuery UpdateNFSFileShare where
toQuery = const mempty
data UpdateNFSFileShareResponse = UpdateNFSFileShareResponse'
{ _unfsfsrsFileShareARN :: !(Maybe Text)
, _unfsfsrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateNFSFileShareResponse
:: Int
-> UpdateNFSFileShareResponse
updateNFSFileShareResponse pResponseStatus_ =
UpdateNFSFileShareResponse'
{ _unfsfsrsFileShareARN = Nothing
, _unfsfsrsResponseStatus = pResponseStatus_
}
unfsfsrsFileShareARN :: Lens' UpdateNFSFileShareResponse (Maybe Text)
unfsfsrsFileShareARN = lens _unfsfsrsFileShareARN (\ s a -> s{_unfsfsrsFileShareARN = a})
unfsfsrsResponseStatus :: Lens' UpdateNFSFileShareResponse Int
unfsfsrsResponseStatus = lens _unfsfsrsResponseStatus (\ s a -> s{_unfsfsrsResponseStatus = a})
instance NFData UpdateNFSFileShareResponse where