{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.CloudFront.CreateFieldLevelEncryptionConfig
(
CreateFieldLevelEncryptionConfig (..),
newCreateFieldLevelEncryptionConfig,
createFieldLevelEncryptionConfig_fieldLevelEncryptionConfig,
CreateFieldLevelEncryptionConfigResponse (..),
newCreateFieldLevelEncryptionConfigResponse,
createFieldLevelEncryptionConfigResponse_eTag,
createFieldLevelEncryptionConfigResponse_fieldLevelEncryption,
createFieldLevelEncryptionConfigResponse_location,
createFieldLevelEncryptionConfigResponse_httpStatus,
)
where
import Amazonka.CloudFront.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CreateFieldLevelEncryptionConfig = CreateFieldLevelEncryptionConfig'
{
CreateFieldLevelEncryptionConfig -> FieldLevelEncryptionConfig
fieldLevelEncryptionConfig :: FieldLevelEncryptionConfig
}
deriving (CreateFieldLevelEncryptionConfig
-> CreateFieldLevelEncryptionConfig -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateFieldLevelEncryptionConfig
-> CreateFieldLevelEncryptionConfig -> Bool
$c/= :: CreateFieldLevelEncryptionConfig
-> CreateFieldLevelEncryptionConfig -> Bool
== :: CreateFieldLevelEncryptionConfig
-> CreateFieldLevelEncryptionConfig -> Bool
$c== :: CreateFieldLevelEncryptionConfig
-> CreateFieldLevelEncryptionConfig -> Bool
Prelude.Eq, ReadPrec [CreateFieldLevelEncryptionConfig]
ReadPrec CreateFieldLevelEncryptionConfig
Int -> ReadS CreateFieldLevelEncryptionConfig
ReadS [CreateFieldLevelEncryptionConfig]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateFieldLevelEncryptionConfig]
$creadListPrec :: ReadPrec [CreateFieldLevelEncryptionConfig]
readPrec :: ReadPrec CreateFieldLevelEncryptionConfig
$creadPrec :: ReadPrec CreateFieldLevelEncryptionConfig
readList :: ReadS [CreateFieldLevelEncryptionConfig]
$creadList :: ReadS [CreateFieldLevelEncryptionConfig]
readsPrec :: Int -> ReadS CreateFieldLevelEncryptionConfig
$creadsPrec :: Int -> ReadS CreateFieldLevelEncryptionConfig
Prelude.Read, Int -> CreateFieldLevelEncryptionConfig -> ShowS
[CreateFieldLevelEncryptionConfig] -> ShowS
CreateFieldLevelEncryptionConfig -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateFieldLevelEncryptionConfig] -> ShowS
$cshowList :: [CreateFieldLevelEncryptionConfig] -> ShowS
show :: CreateFieldLevelEncryptionConfig -> String
$cshow :: CreateFieldLevelEncryptionConfig -> String
showsPrec :: Int -> CreateFieldLevelEncryptionConfig -> ShowS
$cshowsPrec :: Int -> CreateFieldLevelEncryptionConfig -> ShowS
Prelude.Show, forall x.
Rep CreateFieldLevelEncryptionConfig x
-> CreateFieldLevelEncryptionConfig
forall x.
CreateFieldLevelEncryptionConfig
-> Rep CreateFieldLevelEncryptionConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateFieldLevelEncryptionConfig x
-> CreateFieldLevelEncryptionConfig
$cfrom :: forall x.
CreateFieldLevelEncryptionConfig
-> Rep CreateFieldLevelEncryptionConfig x
Prelude.Generic)
newCreateFieldLevelEncryptionConfig ::
FieldLevelEncryptionConfig ->
CreateFieldLevelEncryptionConfig
newCreateFieldLevelEncryptionConfig :: FieldLevelEncryptionConfig -> CreateFieldLevelEncryptionConfig
newCreateFieldLevelEncryptionConfig
FieldLevelEncryptionConfig
pFieldLevelEncryptionConfig_ =
CreateFieldLevelEncryptionConfig'
{ $sel:fieldLevelEncryptionConfig:CreateFieldLevelEncryptionConfig' :: FieldLevelEncryptionConfig
fieldLevelEncryptionConfig =
FieldLevelEncryptionConfig
pFieldLevelEncryptionConfig_
}
createFieldLevelEncryptionConfig_fieldLevelEncryptionConfig :: Lens.Lens' CreateFieldLevelEncryptionConfig FieldLevelEncryptionConfig
createFieldLevelEncryptionConfig_fieldLevelEncryptionConfig :: Lens' CreateFieldLevelEncryptionConfig FieldLevelEncryptionConfig
createFieldLevelEncryptionConfig_fieldLevelEncryptionConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFieldLevelEncryptionConfig' {FieldLevelEncryptionConfig
fieldLevelEncryptionConfig :: FieldLevelEncryptionConfig
$sel:fieldLevelEncryptionConfig:CreateFieldLevelEncryptionConfig' :: CreateFieldLevelEncryptionConfig -> FieldLevelEncryptionConfig
fieldLevelEncryptionConfig} -> FieldLevelEncryptionConfig
fieldLevelEncryptionConfig) (\s :: CreateFieldLevelEncryptionConfig
s@CreateFieldLevelEncryptionConfig' {} FieldLevelEncryptionConfig
a -> CreateFieldLevelEncryptionConfig
s {$sel:fieldLevelEncryptionConfig:CreateFieldLevelEncryptionConfig' :: FieldLevelEncryptionConfig
fieldLevelEncryptionConfig = FieldLevelEncryptionConfig
a} :: CreateFieldLevelEncryptionConfig)
instance
Core.AWSRequest
CreateFieldLevelEncryptionConfig
where
type
AWSResponse CreateFieldLevelEncryptionConfig =
CreateFieldLevelEncryptionConfigResponse
request :: (Service -> Service)
-> CreateFieldLevelEncryptionConfig
-> Request CreateFieldLevelEncryptionConfig
request Service -> Service
overrides =
forall a. (ToRequest a, ToElement a) => Service -> a -> Request a
Request.postXML (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreateFieldLevelEncryptionConfig
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse CreateFieldLevelEncryptionConfig)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe Text
-> Maybe FieldLevelEncryption
-> Maybe Text
-> Int
-> CreateFieldLevelEncryptionConfigResponse
CreateFieldLevelEncryptionConfigResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (ResponseHeaders
h forall a.
FromText a =>
ResponseHeaders -> HeaderName -> Either String (Maybe a)
Data..#? HeaderName
"ETag")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall a. FromXML a => [Node] -> Either String a
Data.parseXML [Node]
x)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (ResponseHeaders
h forall a.
FromText a =>
ResponseHeaders -> HeaderName -> Either String (Maybe a)
Data..#? HeaderName
"Location")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance
Prelude.Hashable
CreateFieldLevelEncryptionConfig
where
hashWithSalt :: Int -> CreateFieldLevelEncryptionConfig -> Int
hashWithSalt
Int
_salt
CreateFieldLevelEncryptionConfig' {FieldLevelEncryptionConfig
fieldLevelEncryptionConfig :: FieldLevelEncryptionConfig
$sel:fieldLevelEncryptionConfig:CreateFieldLevelEncryptionConfig' :: CreateFieldLevelEncryptionConfig -> FieldLevelEncryptionConfig
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` FieldLevelEncryptionConfig
fieldLevelEncryptionConfig
instance
Prelude.NFData
CreateFieldLevelEncryptionConfig
where
rnf :: CreateFieldLevelEncryptionConfig -> ()
rnf CreateFieldLevelEncryptionConfig' {FieldLevelEncryptionConfig
fieldLevelEncryptionConfig :: FieldLevelEncryptionConfig
$sel:fieldLevelEncryptionConfig:CreateFieldLevelEncryptionConfig' :: CreateFieldLevelEncryptionConfig -> FieldLevelEncryptionConfig
..} =
forall a. NFData a => a -> ()
Prelude.rnf FieldLevelEncryptionConfig
fieldLevelEncryptionConfig
instance
Data.ToElement
CreateFieldLevelEncryptionConfig
where
toElement :: CreateFieldLevelEncryptionConfig -> Element
toElement CreateFieldLevelEncryptionConfig' {FieldLevelEncryptionConfig
fieldLevelEncryptionConfig :: FieldLevelEncryptionConfig
$sel:fieldLevelEncryptionConfig:CreateFieldLevelEncryptionConfig' :: CreateFieldLevelEncryptionConfig -> FieldLevelEncryptionConfig
..} =
forall a. ToXML a => Name -> a -> Element
Data.mkElement
Name
"{http://cloudfront.amazonaws.com/doc/2020-05-31/}FieldLevelEncryptionConfig"
FieldLevelEncryptionConfig
fieldLevelEncryptionConfig
instance
Data.ToHeaders
CreateFieldLevelEncryptionConfig
where
toHeaders :: CreateFieldLevelEncryptionConfig -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath CreateFieldLevelEncryptionConfig where
toPath :: CreateFieldLevelEncryptionConfig -> ByteString
toPath =
forall a b. a -> b -> a
Prelude.const ByteString
"/2020-05-31/field-level-encryption"
instance
Data.ToQuery
CreateFieldLevelEncryptionConfig
where
toQuery :: CreateFieldLevelEncryptionConfig -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateFieldLevelEncryptionConfigResponse = CreateFieldLevelEncryptionConfigResponse'
{
CreateFieldLevelEncryptionConfigResponse -> Maybe Text
eTag :: Prelude.Maybe Prelude.Text,
CreateFieldLevelEncryptionConfigResponse
-> Maybe FieldLevelEncryption
fieldLevelEncryption :: Prelude.Maybe FieldLevelEncryption,
CreateFieldLevelEncryptionConfigResponse -> Maybe Text
location :: Prelude.Maybe Prelude.Text,
CreateFieldLevelEncryptionConfigResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateFieldLevelEncryptionConfigResponse
-> CreateFieldLevelEncryptionConfigResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateFieldLevelEncryptionConfigResponse
-> CreateFieldLevelEncryptionConfigResponse -> Bool
$c/= :: CreateFieldLevelEncryptionConfigResponse
-> CreateFieldLevelEncryptionConfigResponse -> Bool
== :: CreateFieldLevelEncryptionConfigResponse
-> CreateFieldLevelEncryptionConfigResponse -> Bool
$c== :: CreateFieldLevelEncryptionConfigResponse
-> CreateFieldLevelEncryptionConfigResponse -> Bool
Prelude.Eq, ReadPrec [CreateFieldLevelEncryptionConfigResponse]
ReadPrec CreateFieldLevelEncryptionConfigResponse
Int -> ReadS CreateFieldLevelEncryptionConfigResponse
ReadS [CreateFieldLevelEncryptionConfigResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateFieldLevelEncryptionConfigResponse]
$creadListPrec :: ReadPrec [CreateFieldLevelEncryptionConfigResponse]
readPrec :: ReadPrec CreateFieldLevelEncryptionConfigResponse
$creadPrec :: ReadPrec CreateFieldLevelEncryptionConfigResponse
readList :: ReadS [CreateFieldLevelEncryptionConfigResponse]
$creadList :: ReadS [CreateFieldLevelEncryptionConfigResponse]
readsPrec :: Int -> ReadS CreateFieldLevelEncryptionConfigResponse
$creadsPrec :: Int -> ReadS CreateFieldLevelEncryptionConfigResponse
Prelude.Read, Int -> CreateFieldLevelEncryptionConfigResponse -> ShowS
[CreateFieldLevelEncryptionConfigResponse] -> ShowS
CreateFieldLevelEncryptionConfigResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateFieldLevelEncryptionConfigResponse] -> ShowS
$cshowList :: [CreateFieldLevelEncryptionConfigResponse] -> ShowS
show :: CreateFieldLevelEncryptionConfigResponse -> String
$cshow :: CreateFieldLevelEncryptionConfigResponse -> String
showsPrec :: Int -> CreateFieldLevelEncryptionConfigResponse -> ShowS
$cshowsPrec :: Int -> CreateFieldLevelEncryptionConfigResponse -> ShowS
Prelude.Show, forall x.
Rep CreateFieldLevelEncryptionConfigResponse x
-> CreateFieldLevelEncryptionConfigResponse
forall x.
CreateFieldLevelEncryptionConfigResponse
-> Rep CreateFieldLevelEncryptionConfigResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateFieldLevelEncryptionConfigResponse x
-> CreateFieldLevelEncryptionConfigResponse
$cfrom :: forall x.
CreateFieldLevelEncryptionConfigResponse
-> Rep CreateFieldLevelEncryptionConfigResponse x
Prelude.Generic)
newCreateFieldLevelEncryptionConfigResponse ::
Prelude.Int ->
CreateFieldLevelEncryptionConfigResponse
newCreateFieldLevelEncryptionConfigResponse :: Int -> CreateFieldLevelEncryptionConfigResponse
newCreateFieldLevelEncryptionConfigResponse
Int
pHttpStatus_ =
CreateFieldLevelEncryptionConfigResponse'
{ $sel:eTag:CreateFieldLevelEncryptionConfigResponse' :: Maybe Text
eTag =
forall a. Maybe a
Prelude.Nothing,
$sel:fieldLevelEncryption:CreateFieldLevelEncryptionConfigResponse' :: Maybe FieldLevelEncryption
fieldLevelEncryption =
forall a. Maybe a
Prelude.Nothing,
$sel:location:CreateFieldLevelEncryptionConfigResponse' :: Maybe Text
location = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateFieldLevelEncryptionConfigResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createFieldLevelEncryptionConfigResponse_eTag :: Lens.Lens' CreateFieldLevelEncryptionConfigResponse (Prelude.Maybe Prelude.Text)
createFieldLevelEncryptionConfigResponse_eTag :: Lens' CreateFieldLevelEncryptionConfigResponse (Maybe Text)
createFieldLevelEncryptionConfigResponse_eTag = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFieldLevelEncryptionConfigResponse' {Maybe Text
eTag :: Maybe Text
$sel:eTag:CreateFieldLevelEncryptionConfigResponse' :: CreateFieldLevelEncryptionConfigResponse -> Maybe Text
eTag} -> Maybe Text
eTag) (\s :: CreateFieldLevelEncryptionConfigResponse
s@CreateFieldLevelEncryptionConfigResponse' {} Maybe Text
a -> CreateFieldLevelEncryptionConfigResponse
s {$sel:eTag:CreateFieldLevelEncryptionConfigResponse' :: Maybe Text
eTag = Maybe Text
a} :: CreateFieldLevelEncryptionConfigResponse)
createFieldLevelEncryptionConfigResponse_fieldLevelEncryption :: Lens.Lens' CreateFieldLevelEncryptionConfigResponse (Prelude.Maybe FieldLevelEncryption)
createFieldLevelEncryptionConfigResponse_fieldLevelEncryption :: Lens'
CreateFieldLevelEncryptionConfigResponse
(Maybe FieldLevelEncryption)
createFieldLevelEncryptionConfigResponse_fieldLevelEncryption = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFieldLevelEncryptionConfigResponse' {Maybe FieldLevelEncryption
fieldLevelEncryption :: Maybe FieldLevelEncryption
$sel:fieldLevelEncryption:CreateFieldLevelEncryptionConfigResponse' :: CreateFieldLevelEncryptionConfigResponse
-> Maybe FieldLevelEncryption
fieldLevelEncryption} -> Maybe FieldLevelEncryption
fieldLevelEncryption) (\s :: CreateFieldLevelEncryptionConfigResponse
s@CreateFieldLevelEncryptionConfigResponse' {} Maybe FieldLevelEncryption
a -> CreateFieldLevelEncryptionConfigResponse
s {$sel:fieldLevelEncryption:CreateFieldLevelEncryptionConfigResponse' :: Maybe FieldLevelEncryption
fieldLevelEncryption = Maybe FieldLevelEncryption
a} :: CreateFieldLevelEncryptionConfigResponse)
createFieldLevelEncryptionConfigResponse_location :: Lens.Lens' CreateFieldLevelEncryptionConfigResponse (Prelude.Maybe Prelude.Text)
createFieldLevelEncryptionConfigResponse_location :: Lens' CreateFieldLevelEncryptionConfigResponse (Maybe Text)
createFieldLevelEncryptionConfigResponse_location = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFieldLevelEncryptionConfigResponse' {Maybe Text
location :: Maybe Text
$sel:location:CreateFieldLevelEncryptionConfigResponse' :: CreateFieldLevelEncryptionConfigResponse -> Maybe Text
location} -> Maybe Text
location) (\s :: CreateFieldLevelEncryptionConfigResponse
s@CreateFieldLevelEncryptionConfigResponse' {} Maybe Text
a -> CreateFieldLevelEncryptionConfigResponse
s {$sel:location:CreateFieldLevelEncryptionConfigResponse' :: Maybe Text
location = Maybe Text
a} :: CreateFieldLevelEncryptionConfigResponse)
createFieldLevelEncryptionConfigResponse_httpStatus :: Lens.Lens' CreateFieldLevelEncryptionConfigResponse Prelude.Int
createFieldLevelEncryptionConfigResponse_httpStatus :: Lens' CreateFieldLevelEncryptionConfigResponse Int
createFieldLevelEncryptionConfigResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFieldLevelEncryptionConfigResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateFieldLevelEncryptionConfigResponse' :: CreateFieldLevelEncryptionConfigResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateFieldLevelEncryptionConfigResponse
s@CreateFieldLevelEncryptionConfigResponse' {} Int
a -> CreateFieldLevelEncryptionConfigResponse
s {$sel:httpStatus:CreateFieldLevelEncryptionConfigResponse' :: Int
httpStatus = Int
a} :: CreateFieldLevelEncryptionConfigResponse)
instance
Prelude.NFData
CreateFieldLevelEncryptionConfigResponse
where
rnf :: CreateFieldLevelEncryptionConfigResponse -> ()
rnf CreateFieldLevelEncryptionConfigResponse' {Int
Maybe Text
Maybe FieldLevelEncryption
httpStatus :: Int
location :: Maybe Text
fieldLevelEncryption :: Maybe FieldLevelEncryption
eTag :: Maybe Text
$sel:httpStatus:CreateFieldLevelEncryptionConfigResponse' :: CreateFieldLevelEncryptionConfigResponse -> Int
$sel:location:CreateFieldLevelEncryptionConfigResponse' :: CreateFieldLevelEncryptionConfigResponse -> Maybe Text
$sel:fieldLevelEncryption:CreateFieldLevelEncryptionConfigResponse' :: CreateFieldLevelEncryptionConfigResponse
-> Maybe FieldLevelEncryption
$sel:eTag:CreateFieldLevelEncryptionConfigResponse' :: CreateFieldLevelEncryptionConfigResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
eTag
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FieldLevelEncryption
fieldLevelEncryption
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
location
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus