{-# 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.CloudFront.UpdateFieldLevelEncryptionProfile
(
updateFieldLevelEncryptionProfile
, UpdateFieldLevelEncryptionProfile
, uflepIfMatch
, uflepFieldLevelEncryptionProfileConfig
, uflepId
, updateFieldLevelEncryptionProfileResponse
, UpdateFieldLevelEncryptionProfileResponse
, ufleprsETag
, ufleprsFieldLevelEncryptionProfile
, ufleprsResponseStatus
) where
import Network.AWS.CloudFront.Types
import Network.AWS.CloudFront.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateFieldLevelEncryptionProfile = UpdateFieldLevelEncryptionProfile'
{ _uflepIfMatch :: !(Maybe Text)
, _uflepFieldLevelEncryptionProfileConfig :: !FieldLevelEncryptionProfileConfig
, _uflepId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateFieldLevelEncryptionProfile
:: FieldLevelEncryptionProfileConfig
-> Text
-> UpdateFieldLevelEncryptionProfile
updateFieldLevelEncryptionProfile pFieldLevelEncryptionProfileConfig_ pId_ =
UpdateFieldLevelEncryptionProfile'
{ _uflepIfMatch = Nothing
, _uflepFieldLevelEncryptionProfileConfig =
pFieldLevelEncryptionProfileConfig_
, _uflepId = pId_
}
uflepIfMatch :: Lens' UpdateFieldLevelEncryptionProfile (Maybe Text)
uflepIfMatch = lens _uflepIfMatch (\ s a -> s{_uflepIfMatch = a})
uflepFieldLevelEncryptionProfileConfig :: Lens' UpdateFieldLevelEncryptionProfile FieldLevelEncryptionProfileConfig
uflepFieldLevelEncryptionProfileConfig = lens _uflepFieldLevelEncryptionProfileConfig (\ s a -> s{_uflepFieldLevelEncryptionProfileConfig = a})
uflepId :: Lens' UpdateFieldLevelEncryptionProfile Text
uflepId = lens _uflepId (\ s a -> s{_uflepId = a})
instance AWSRequest UpdateFieldLevelEncryptionProfile
where
type Rs UpdateFieldLevelEncryptionProfile =
UpdateFieldLevelEncryptionProfileResponse
request = putXML cloudFront
response
= receiveXML
(\ s h x ->
UpdateFieldLevelEncryptionProfileResponse' <$>
(h .#? "ETag") <*> (parseXML x) <*>
(pure (fromEnum s)))
instance Hashable UpdateFieldLevelEncryptionProfile
where
instance NFData UpdateFieldLevelEncryptionProfile
where
instance ToElement UpdateFieldLevelEncryptionProfile
where
toElement
= mkElement
"{http://cloudfront.amazonaws.com/doc/2017-10-30/}FieldLevelEncryptionProfileConfig"
.
_uflepFieldLevelEncryptionProfileConfig
instance ToHeaders UpdateFieldLevelEncryptionProfile
where
toHeaders UpdateFieldLevelEncryptionProfile'{..}
= mconcat ["If-Match" =# _uflepIfMatch]
instance ToPath UpdateFieldLevelEncryptionProfile
where
toPath UpdateFieldLevelEncryptionProfile'{..}
= mconcat
["/2017-10-30/field-level-encryption-profile/",
toBS _uflepId, "/config"]
instance ToQuery UpdateFieldLevelEncryptionProfile
where
toQuery = const mempty
data UpdateFieldLevelEncryptionProfileResponse = UpdateFieldLevelEncryptionProfileResponse'
{ _ufleprsETag :: !(Maybe Text)
, _ufleprsFieldLevelEncryptionProfile :: !(Maybe FieldLevelEncryptionProfile)
, _ufleprsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateFieldLevelEncryptionProfileResponse
:: Int
-> UpdateFieldLevelEncryptionProfileResponse
updateFieldLevelEncryptionProfileResponse pResponseStatus_ =
UpdateFieldLevelEncryptionProfileResponse'
{ _ufleprsETag = Nothing
, _ufleprsFieldLevelEncryptionProfile = Nothing
, _ufleprsResponseStatus = pResponseStatus_
}
ufleprsETag :: Lens' UpdateFieldLevelEncryptionProfileResponse (Maybe Text)
ufleprsETag = lens _ufleprsETag (\ s a -> s{_ufleprsETag = a})
ufleprsFieldLevelEncryptionProfile :: Lens' UpdateFieldLevelEncryptionProfileResponse (Maybe FieldLevelEncryptionProfile)
ufleprsFieldLevelEncryptionProfile = lens _ufleprsFieldLevelEncryptionProfile (\ s a -> s{_ufleprsFieldLevelEncryptionProfile = a})
ufleprsResponseStatus :: Lens' UpdateFieldLevelEncryptionProfileResponse Int
ufleprsResponseStatus = lens _ufleprsResponseStatus (\ s a -> s{_ufleprsResponseStatus = a})
instance NFData
UpdateFieldLevelEncryptionProfileResponse
where