{-# 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.CreateFieldLevelEncryptionProfile
(
CreateFieldLevelEncryptionProfile (..),
newCreateFieldLevelEncryptionProfile,
createFieldLevelEncryptionProfile_fieldLevelEncryptionProfileConfig,
CreateFieldLevelEncryptionProfileResponse (..),
newCreateFieldLevelEncryptionProfileResponse,
createFieldLevelEncryptionProfileResponse_eTag,
createFieldLevelEncryptionProfileResponse_fieldLevelEncryptionProfile,
createFieldLevelEncryptionProfileResponse_location,
createFieldLevelEncryptionProfileResponse_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 CreateFieldLevelEncryptionProfile = CreateFieldLevelEncryptionProfile'
{
CreateFieldLevelEncryptionProfile
-> FieldLevelEncryptionProfileConfig
fieldLevelEncryptionProfileConfig :: FieldLevelEncryptionProfileConfig
}
deriving (CreateFieldLevelEncryptionProfile
-> CreateFieldLevelEncryptionProfile -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateFieldLevelEncryptionProfile
-> CreateFieldLevelEncryptionProfile -> Bool
$c/= :: CreateFieldLevelEncryptionProfile
-> CreateFieldLevelEncryptionProfile -> Bool
== :: CreateFieldLevelEncryptionProfile
-> CreateFieldLevelEncryptionProfile -> Bool
$c== :: CreateFieldLevelEncryptionProfile
-> CreateFieldLevelEncryptionProfile -> Bool
Prelude.Eq, ReadPrec [CreateFieldLevelEncryptionProfile]
ReadPrec CreateFieldLevelEncryptionProfile
Int -> ReadS CreateFieldLevelEncryptionProfile
ReadS [CreateFieldLevelEncryptionProfile]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateFieldLevelEncryptionProfile]
$creadListPrec :: ReadPrec [CreateFieldLevelEncryptionProfile]
readPrec :: ReadPrec CreateFieldLevelEncryptionProfile
$creadPrec :: ReadPrec CreateFieldLevelEncryptionProfile
readList :: ReadS [CreateFieldLevelEncryptionProfile]
$creadList :: ReadS [CreateFieldLevelEncryptionProfile]
readsPrec :: Int -> ReadS CreateFieldLevelEncryptionProfile
$creadsPrec :: Int -> ReadS CreateFieldLevelEncryptionProfile
Prelude.Read, Int -> CreateFieldLevelEncryptionProfile -> ShowS
[CreateFieldLevelEncryptionProfile] -> ShowS
CreateFieldLevelEncryptionProfile -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateFieldLevelEncryptionProfile] -> ShowS
$cshowList :: [CreateFieldLevelEncryptionProfile] -> ShowS
show :: CreateFieldLevelEncryptionProfile -> String
$cshow :: CreateFieldLevelEncryptionProfile -> String
showsPrec :: Int -> CreateFieldLevelEncryptionProfile -> ShowS
$cshowsPrec :: Int -> CreateFieldLevelEncryptionProfile -> ShowS
Prelude.Show, forall x.
Rep CreateFieldLevelEncryptionProfile x
-> CreateFieldLevelEncryptionProfile
forall x.
CreateFieldLevelEncryptionProfile
-> Rep CreateFieldLevelEncryptionProfile x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateFieldLevelEncryptionProfile x
-> CreateFieldLevelEncryptionProfile
$cfrom :: forall x.
CreateFieldLevelEncryptionProfile
-> Rep CreateFieldLevelEncryptionProfile x
Prelude.Generic)
newCreateFieldLevelEncryptionProfile ::
FieldLevelEncryptionProfileConfig ->
CreateFieldLevelEncryptionProfile
newCreateFieldLevelEncryptionProfile :: FieldLevelEncryptionProfileConfig
-> CreateFieldLevelEncryptionProfile
newCreateFieldLevelEncryptionProfile
FieldLevelEncryptionProfileConfig
pFieldLevelEncryptionProfileConfig_ =
CreateFieldLevelEncryptionProfile'
{ $sel:fieldLevelEncryptionProfileConfig:CreateFieldLevelEncryptionProfile' :: FieldLevelEncryptionProfileConfig
fieldLevelEncryptionProfileConfig =
FieldLevelEncryptionProfileConfig
pFieldLevelEncryptionProfileConfig_
}
createFieldLevelEncryptionProfile_fieldLevelEncryptionProfileConfig :: Lens.Lens' CreateFieldLevelEncryptionProfile FieldLevelEncryptionProfileConfig
createFieldLevelEncryptionProfile_fieldLevelEncryptionProfileConfig :: Lens'
CreateFieldLevelEncryptionProfile FieldLevelEncryptionProfileConfig
createFieldLevelEncryptionProfile_fieldLevelEncryptionProfileConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFieldLevelEncryptionProfile' {FieldLevelEncryptionProfileConfig
fieldLevelEncryptionProfileConfig :: FieldLevelEncryptionProfileConfig
$sel:fieldLevelEncryptionProfileConfig:CreateFieldLevelEncryptionProfile' :: CreateFieldLevelEncryptionProfile
-> FieldLevelEncryptionProfileConfig
fieldLevelEncryptionProfileConfig} -> FieldLevelEncryptionProfileConfig
fieldLevelEncryptionProfileConfig) (\s :: CreateFieldLevelEncryptionProfile
s@CreateFieldLevelEncryptionProfile' {} FieldLevelEncryptionProfileConfig
a -> CreateFieldLevelEncryptionProfile
s {$sel:fieldLevelEncryptionProfileConfig:CreateFieldLevelEncryptionProfile' :: FieldLevelEncryptionProfileConfig
fieldLevelEncryptionProfileConfig = FieldLevelEncryptionProfileConfig
a} :: CreateFieldLevelEncryptionProfile)
instance
Core.AWSRequest
CreateFieldLevelEncryptionProfile
where
type
AWSResponse CreateFieldLevelEncryptionProfile =
CreateFieldLevelEncryptionProfileResponse
request :: (Service -> Service)
-> CreateFieldLevelEncryptionProfile
-> Request CreateFieldLevelEncryptionProfile
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 CreateFieldLevelEncryptionProfile
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse CreateFieldLevelEncryptionProfile)))
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 FieldLevelEncryptionProfile
-> Maybe Text
-> Int
-> CreateFieldLevelEncryptionProfileResponse
CreateFieldLevelEncryptionProfileResponse'
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
CreateFieldLevelEncryptionProfile
where
hashWithSalt :: Int -> CreateFieldLevelEncryptionProfile -> Int
hashWithSalt
Int
_salt
CreateFieldLevelEncryptionProfile' {FieldLevelEncryptionProfileConfig
fieldLevelEncryptionProfileConfig :: FieldLevelEncryptionProfileConfig
$sel:fieldLevelEncryptionProfileConfig:CreateFieldLevelEncryptionProfile' :: CreateFieldLevelEncryptionProfile
-> FieldLevelEncryptionProfileConfig
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` FieldLevelEncryptionProfileConfig
fieldLevelEncryptionProfileConfig
instance
Prelude.NFData
CreateFieldLevelEncryptionProfile
where
rnf :: CreateFieldLevelEncryptionProfile -> ()
rnf CreateFieldLevelEncryptionProfile' {FieldLevelEncryptionProfileConfig
fieldLevelEncryptionProfileConfig :: FieldLevelEncryptionProfileConfig
$sel:fieldLevelEncryptionProfileConfig:CreateFieldLevelEncryptionProfile' :: CreateFieldLevelEncryptionProfile
-> FieldLevelEncryptionProfileConfig
..} =
forall a. NFData a => a -> ()
Prelude.rnf FieldLevelEncryptionProfileConfig
fieldLevelEncryptionProfileConfig
instance
Data.ToElement
CreateFieldLevelEncryptionProfile
where
toElement :: CreateFieldLevelEncryptionProfile -> Element
toElement CreateFieldLevelEncryptionProfile' {FieldLevelEncryptionProfileConfig
fieldLevelEncryptionProfileConfig :: FieldLevelEncryptionProfileConfig
$sel:fieldLevelEncryptionProfileConfig:CreateFieldLevelEncryptionProfile' :: CreateFieldLevelEncryptionProfile
-> FieldLevelEncryptionProfileConfig
..} =
forall a. ToXML a => Name -> a -> Element
Data.mkElement
Name
"{http://cloudfront.amazonaws.com/doc/2020-05-31/}FieldLevelEncryptionProfileConfig"
FieldLevelEncryptionProfileConfig
fieldLevelEncryptionProfileConfig
instance
Data.ToHeaders
CreateFieldLevelEncryptionProfile
where
toHeaders :: CreateFieldLevelEncryptionProfile -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance
Data.ToPath
CreateFieldLevelEncryptionProfile
where
toPath :: CreateFieldLevelEncryptionProfile -> ByteString
toPath =
forall a b. a -> b -> a
Prelude.const
ByteString
"/2020-05-31/field-level-encryption-profile"
instance
Data.ToQuery
CreateFieldLevelEncryptionProfile
where
toQuery :: CreateFieldLevelEncryptionProfile -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateFieldLevelEncryptionProfileResponse = CreateFieldLevelEncryptionProfileResponse'
{
CreateFieldLevelEncryptionProfileResponse -> Maybe Text
eTag :: Prelude.Maybe Prelude.Text,
CreateFieldLevelEncryptionProfileResponse
-> Maybe FieldLevelEncryptionProfile
fieldLevelEncryptionProfile :: Prelude.Maybe FieldLevelEncryptionProfile,
CreateFieldLevelEncryptionProfileResponse -> Maybe Text
location :: Prelude.Maybe Prelude.Text,
CreateFieldLevelEncryptionProfileResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateFieldLevelEncryptionProfileResponse
-> CreateFieldLevelEncryptionProfileResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateFieldLevelEncryptionProfileResponse
-> CreateFieldLevelEncryptionProfileResponse -> Bool
$c/= :: CreateFieldLevelEncryptionProfileResponse
-> CreateFieldLevelEncryptionProfileResponse -> Bool
== :: CreateFieldLevelEncryptionProfileResponse
-> CreateFieldLevelEncryptionProfileResponse -> Bool
$c== :: CreateFieldLevelEncryptionProfileResponse
-> CreateFieldLevelEncryptionProfileResponse -> Bool
Prelude.Eq, ReadPrec [CreateFieldLevelEncryptionProfileResponse]
ReadPrec CreateFieldLevelEncryptionProfileResponse
Int -> ReadS CreateFieldLevelEncryptionProfileResponse
ReadS [CreateFieldLevelEncryptionProfileResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateFieldLevelEncryptionProfileResponse]
$creadListPrec :: ReadPrec [CreateFieldLevelEncryptionProfileResponse]
readPrec :: ReadPrec CreateFieldLevelEncryptionProfileResponse
$creadPrec :: ReadPrec CreateFieldLevelEncryptionProfileResponse
readList :: ReadS [CreateFieldLevelEncryptionProfileResponse]
$creadList :: ReadS [CreateFieldLevelEncryptionProfileResponse]
readsPrec :: Int -> ReadS CreateFieldLevelEncryptionProfileResponse
$creadsPrec :: Int -> ReadS CreateFieldLevelEncryptionProfileResponse
Prelude.Read, Int -> CreateFieldLevelEncryptionProfileResponse -> ShowS
[CreateFieldLevelEncryptionProfileResponse] -> ShowS
CreateFieldLevelEncryptionProfileResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateFieldLevelEncryptionProfileResponse] -> ShowS
$cshowList :: [CreateFieldLevelEncryptionProfileResponse] -> ShowS
show :: CreateFieldLevelEncryptionProfileResponse -> String
$cshow :: CreateFieldLevelEncryptionProfileResponse -> String
showsPrec :: Int -> CreateFieldLevelEncryptionProfileResponse -> ShowS
$cshowsPrec :: Int -> CreateFieldLevelEncryptionProfileResponse -> ShowS
Prelude.Show, forall x.
Rep CreateFieldLevelEncryptionProfileResponse x
-> CreateFieldLevelEncryptionProfileResponse
forall x.
CreateFieldLevelEncryptionProfileResponse
-> Rep CreateFieldLevelEncryptionProfileResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateFieldLevelEncryptionProfileResponse x
-> CreateFieldLevelEncryptionProfileResponse
$cfrom :: forall x.
CreateFieldLevelEncryptionProfileResponse
-> Rep CreateFieldLevelEncryptionProfileResponse x
Prelude.Generic)
newCreateFieldLevelEncryptionProfileResponse ::
Prelude.Int ->
CreateFieldLevelEncryptionProfileResponse
newCreateFieldLevelEncryptionProfileResponse :: Int -> CreateFieldLevelEncryptionProfileResponse
newCreateFieldLevelEncryptionProfileResponse
Int
pHttpStatus_ =
CreateFieldLevelEncryptionProfileResponse'
{ $sel:eTag:CreateFieldLevelEncryptionProfileResponse' :: Maybe Text
eTag =
forall a. Maybe a
Prelude.Nothing,
$sel:fieldLevelEncryptionProfile:CreateFieldLevelEncryptionProfileResponse' :: Maybe FieldLevelEncryptionProfile
fieldLevelEncryptionProfile =
forall a. Maybe a
Prelude.Nothing,
$sel:location:CreateFieldLevelEncryptionProfileResponse' :: Maybe Text
location = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateFieldLevelEncryptionProfileResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createFieldLevelEncryptionProfileResponse_eTag :: Lens.Lens' CreateFieldLevelEncryptionProfileResponse (Prelude.Maybe Prelude.Text)
createFieldLevelEncryptionProfileResponse_eTag :: Lens' CreateFieldLevelEncryptionProfileResponse (Maybe Text)
createFieldLevelEncryptionProfileResponse_eTag = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFieldLevelEncryptionProfileResponse' {Maybe Text
eTag :: Maybe Text
$sel:eTag:CreateFieldLevelEncryptionProfileResponse' :: CreateFieldLevelEncryptionProfileResponse -> Maybe Text
eTag} -> Maybe Text
eTag) (\s :: CreateFieldLevelEncryptionProfileResponse
s@CreateFieldLevelEncryptionProfileResponse' {} Maybe Text
a -> CreateFieldLevelEncryptionProfileResponse
s {$sel:eTag:CreateFieldLevelEncryptionProfileResponse' :: Maybe Text
eTag = Maybe Text
a} :: CreateFieldLevelEncryptionProfileResponse)
createFieldLevelEncryptionProfileResponse_fieldLevelEncryptionProfile :: Lens.Lens' CreateFieldLevelEncryptionProfileResponse (Prelude.Maybe FieldLevelEncryptionProfile)
createFieldLevelEncryptionProfileResponse_fieldLevelEncryptionProfile :: Lens'
CreateFieldLevelEncryptionProfileResponse
(Maybe FieldLevelEncryptionProfile)
createFieldLevelEncryptionProfileResponse_fieldLevelEncryptionProfile = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFieldLevelEncryptionProfileResponse' {Maybe FieldLevelEncryptionProfile
fieldLevelEncryptionProfile :: Maybe FieldLevelEncryptionProfile
$sel:fieldLevelEncryptionProfile:CreateFieldLevelEncryptionProfileResponse' :: CreateFieldLevelEncryptionProfileResponse
-> Maybe FieldLevelEncryptionProfile
fieldLevelEncryptionProfile} -> Maybe FieldLevelEncryptionProfile
fieldLevelEncryptionProfile) (\s :: CreateFieldLevelEncryptionProfileResponse
s@CreateFieldLevelEncryptionProfileResponse' {} Maybe FieldLevelEncryptionProfile
a -> CreateFieldLevelEncryptionProfileResponse
s {$sel:fieldLevelEncryptionProfile:CreateFieldLevelEncryptionProfileResponse' :: Maybe FieldLevelEncryptionProfile
fieldLevelEncryptionProfile = Maybe FieldLevelEncryptionProfile
a} :: CreateFieldLevelEncryptionProfileResponse)
createFieldLevelEncryptionProfileResponse_location :: Lens.Lens' CreateFieldLevelEncryptionProfileResponse (Prelude.Maybe Prelude.Text)
createFieldLevelEncryptionProfileResponse_location :: Lens' CreateFieldLevelEncryptionProfileResponse (Maybe Text)
createFieldLevelEncryptionProfileResponse_location = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFieldLevelEncryptionProfileResponse' {Maybe Text
location :: Maybe Text
$sel:location:CreateFieldLevelEncryptionProfileResponse' :: CreateFieldLevelEncryptionProfileResponse -> Maybe Text
location} -> Maybe Text
location) (\s :: CreateFieldLevelEncryptionProfileResponse
s@CreateFieldLevelEncryptionProfileResponse' {} Maybe Text
a -> CreateFieldLevelEncryptionProfileResponse
s {$sel:location:CreateFieldLevelEncryptionProfileResponse' :: Maybe Text
location = Maybe Text
a} :: CreateFieldLevelEncryptionProfileResponse)
createFieldLevelEncryptionProfileResponse_httpStatus :: Lens.Lens' CreateFieldLevelEncryptionProfileResponse Prelude.Int
createFieldLevelEncryptionProfileResponse_httpStatus :: Lens' CreateFieldLevelEncryptionProfileResponse Int
createFieldLevelEncryptionProfileResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateFieldLevelEncryptionProfileResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateFieldLevelEncryptionProfileResponse' :: CreateFieldLevelEncryptionProfileResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateFieldLevelEncryptionProfileResponse
s@CreateFieldLevelEncryptionProfileResponse' {} Int
a -> CreateFieldLevelEncryptionProfileResponse
s {$sel:httpStatus:CreateFieldLevelEncryptionProfileResponse' :: Int
httpStatus = Int
a} :: CreateFieldLevelEncryptionProfileResponse)
instance
Prelude.NFData
CreateFieldLevelEncryptionProfileResponse
where
rnf :: CreateFieldLevelEncryptionProfileResponse -> ()
rnf CreateFieldLevelEncryptionProfileResponse' {Int
Maybe Text
Maybe FieldLevelEncryptionProfile
httpStatus :: Int
location :: Maybe Text
fieldLevelEncryptionProfile :: Maybe FieldLevelEncryptionProfile
eTag :: Maybe Text
$sel:httpStatus:CreateFieldLevelEncryptionProfileResponse' :: CreateFieldLevelEncryptionProfileResponse -> Int
$sel:location:CreateFieldLevelEncryptionProfileResponse' :: CreateFieldLevelEncryptionProfileResponse -> Maybe Text
$sel:fieldLevelEncryptionProfile:CreateFieldLevelEncryptionProfileResponse' :: CreateFieldLevelEncryptionProfileResponse
-> Maybe FieldLevelEncryptionProfile
$sel:eTag:CreateFieldLevelEncryptionProfileResponse' :: CreateFieldLevelEncryptionProfileResponse -> 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 FieldLevelEncryptionProfile
fieldLevelEncryptionProfile
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