{-# 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.KMS.ReEncrypt
(
ReEncrypt (..),
newReEncrypt,
reEncrypt_destinationEncryptionAlgorithm,
reEncrypt_destinationEncryptionContext,
reEncrypt_grantTokens,
reEncrypt_sourceEncryptionAlgorithm,
reEncrypt_sourceEncryptionContext,
reEncrypt_sourceKeyId,
reEncrypt_ciphertextBlob,
reEncrypt_destinationKeyId,
ReEncryptResponse (..),
newReEncryptResponse,
reEncryptResponse_ciphertextBlob,
reEncryptResponse_destinationEncryptionAlgorithm,
reEncryptResponse_keyId,
reEncryptResponse_sourceEncryptionAlgorithm,
reEncryptResponse_sourceKeyId,
reEncryptResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.KMS.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data ReEncrypt = ReEncrypt'
{
ReEncrypt -> Maybe EncryptionAlgorithmSpec
destinationEncryptionAlgorithm :: Prelude.Maybe EncryptionAlgorithmSpec,
ReEncrypt -> Maybe (HashMap Text Text)
destinationEncryptionContext :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
ReEncrypt -> Maybe [Text]
grantTokens :: Prelude.Maybe [Prelude.Text],
ReEncrypt -> Maybe EncryptionAlgorithmSpec
sourceEncryptionAlgorithm :: Prelude.Maybe EncryptionAlgorithmSpec,
ReEncrypt -> Maybe (HashMap Text Text)
sourceEncryptionContext :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
ReEncrypt -> Maybe Text
sourceKeyId :: Prelude.Maybe Prelude.Text,
ReEncrypt -> Base64
ciphertextBlob :: Data.Base64,
ReEncrypt -> Text
destinationKeyId :: Prelude.Text
}
deriving (ReEncrypt -> ReEncrypt -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ReEncrypt -> ReEncrypt -> Bool
$c/= :: ReEncrypt -> ReEncrypt -> Bool
== :: ReEncrypt -> ReEncrypt -> Bool
$c== :: ReEncrypt -> ReEncrypt -> Bool
Prelude.Eq, ReadPrec [ReEncrypt]
ReadPrec ReEncrypt
Int -> ReadS ReEncrypt
ReadS [ReEncrypt]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ReEncrypt]
$creadListPrec :: ReadPrec [ReEncrypt]
readPrec :: ReadPrec ReEncrypt
$creadPrec :: ReadPrec ReEncrypt
readList :: ReadS [ReEncrypt]
$creadList :: ReadS [ReEncrypt]
readsPrec :: Int -> ReadS ReEncrypt
$creadsPrec :: Int -> ReadS ReEncrypt
Prelude.Read, Int -> ReEncrypt -> ShowS
[ReEncrypt] -> ShowS
ReEncrypt -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ReEncrypt] -> ShowS
$cshowList :: [ReEncrypt] -> ShowS
show :: ReEncrypt -> String
$cshow :: ReEncrypt -> String
showsPrec :: Int -> ReEncrypt -> ShowS
$cshowsPrec :: Int -> ReEncrypt -> ShowS
Prelude.Show, forall x. Rep ReEncrypt x -> ReEncrypt
forall x. ReEncrypt -> Rep ReEncrypt x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ReEncrypt x -> ReEncrypt
$cfrom :: forall x. ReEncrypt -> Rep ReEncrypt x
Prelude.Generic)
newReEncrypt ::
Prelude.ByteString ->
Prelude.Text ->
ReEncrypt
newReEncrypt :: ByteString -> Text -> ReEncrypt
newReEncrypt ByteString
pCiphertextBlob_ Text
pDestinationKeyId_ =
ReEncrypt'
{ $sel:destinationEncryptionAlgorithm:ReEncrypt' :: Maybe EncryptionAlgorithmSpec
destinationEncryptionAlgorithm =
forall a. Maybe a
Prelude.Nothing,
$sel:destinationEncryptionContext:ReEncrypt' :: Maybe (HashMap Text Text)
destinationEncryptionContext = forall a. Maybe a
Prelude.Nothing,
$sel:grantTokens:ReEncrypt' :: Maybe [Text]
grantTokens = forall a. Maybe a
Prelude.Nothing,
$sel:sourceEncryptionAlgorithm:ReEncrypt' :: Maybe EncryptionAlgorithmSpec
sourceEncryptionAlgorithm = forall a. Maybe a
Prelude.Nothing,
$sel:sourceEncryptionContext:ReEncrypt' :: Maybe (HashMap Text Text)
sourceEncryptionContext = forall a. Maybe a
Prelude.Nothing,
$sel:sourceKeyId:ReEncrypt' :: Maybe Text
sourceKeyId = forall a. Maybe a
Prelude.Nothing,
$sel:ciphertextBlob:ReEncrypt' :: Base64
ciphertextBlob =
Iso' Base64 ByteString
Data._Base64 forall t b. AReview t b -> b -> t
Lens.# ByteString
pCiphertextBlob_,
$sel:destinationKeyId:ReEncrypt' :: Text
destinationKeyId = Text
pDestinationKeyId_
}
reEncrypt_destinationEncryptionAlgorithm :: Lens.Lens' ReEncrypt (Prelude.Maybe EncryptionAlgorithmSpec)
reEncrypt_destinationEncryptionAlgorithm :: Lens' ReEncrypt (Maybe EncryptionAlgorithmSpec)
reEncrypt_destinationEncryptionAlgorithm = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReEncrypt' {Maybe EncryptionAlgorithmSpec
destinationEncryptionAlgorithm :: Maybe EncryptionAlgorithmSpec
$sel:destinationEncryptionAlgorithm:ReEncrypt' :: ReEncrypt -> Maybe EncryptionAlgorithmSpec
destinationEncryptionAlgorithm} -> Maybe EncryptionAlgorithmSpec
destinationEncryptionAlgorithm) (\s :: ReEncrypt
s@ReEncrypt' {} Maybe EncryptionAlgorithmSpec
a -> ReEncrypt
s {$sel:destinationEncryptionAlgorithm:ReEncrypt' :: Maybe EncryptionAlgorithmSpec
destinationEncryptionAlgorithm = Maybe EncryptionAlgorithmSpec
a} :: ReEncrypt)
reEncrypt_destinationEncryptionContext :: Lens.Lens' ReEncrypt (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
reEncrypt_destinationEncryptionContext :: Lens' ReEncrypt (Maybe (HashMap Text Text))
reEncrypt_destinationEncryptionContext = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReEncrypt' {Maybe (HashMap Text Text)
destinationEncryptionContext :: Maybe (HashMap Text Text)
$sel:destinationEncryptionContext:ReEncrypt' :: ReEncrypt -> Maybe (HashMap Text Text)
destinationEncryptionContext} -> Maybe (HashMap Text Text)
destinationEncryptionContext) (\s :: ReEncrypt
s@ReEncrypt' {} Maybe (HashMap Text Text)
a -> ReEncrypt
s {$sel:destinationEncryptionContext:ReEncrypt' :: Maybe (HashMap Text Text)
destinationEncryptionContext = Maybe (HashMap Text Text)
a} :: ReEncrypt) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
reEncrypt_grantTokens :: Lens.Lens' ReEncrypt (Prelude.Maybe [Prelude.Text])
reEncrypt_grantTokens :: Lens' ReEncrypt (Maybe [Text])
reEncrypt_grantTokens = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReEncrypt' {Maybe [Text]
grantTokens :: Maybe [Text]
$sel:grantTokens:ReEncrypt' :: ReEncrypt -> Maybe [Text]
grantTokens} -> Maybe [Text]
grantTokens) (\s :: ReEncrypt
s@ReEncrypt' {} Maybe [Text]
a -> ReEncrypt
s {$sel:grantTokens:ReEncrypt' :: Maybe [Text]
grantTokens = Maybe [Text]
a} :: ReEncrypt) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
reEncrypt_sourceEncryptionAlgorithm :: Lens.Lens' ReEncrypt (Prelude.Maybe EncryptionAlgorithmSpec)
reEncrypt_sourceEncryptionAlgorithm :: Lens' ReEncrypt (Maybe EncryptionAlgorithmSpec)
reEncrypt_sourceEncryptionAlgorithm = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReEncrypt' {Maybe EncryptionAlgorithmSpec
sourceEncryptionAlgorithm :: Maybe EncryptionAlgorithmSpec
$sel:sourceEncryptionAlgorithm:ReEncrypt' :: ReEncrypt -> Maybe EncryptionAlgorithmSpec
sourceEncryptionAlgorithm} -> Maybe EncryptionAlgorithmSpec
sourceEncryptionAlgorithm) (\s :: ReEncrypt
s@ReEncrypt' {} Maybe EncryptionAlgorithmSpec
a -> ReEncrypt
s {$sel:sourceEncryptionAlgorithm:ReEncrypt' :: Maybe EncryptionAlgorithmSpec
sourceEncryptionAlgorithm = Maybe EncryptionAlgorithmSpec
a} :: ReEncrypt)
reEncrypt_sourceEncryptionContext :: Lens.Lens' ReEncrypt (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
reEncrypt_sourceEncryptionContext :: Lens' ReEncrypt (Maybe (HashMap Text Text))
reEncrypt_sourceEncryptionContext = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReEncrypt' {Maybe (HashMap Text Text)
sourceEncryptionContext :: Maybe (HashMap Text Text)
$sel:sourceEncryptionContext:ReEncrypt' :: ReEncrypt -> Maybe (HashMap Text Text)
sourceEncryptionContext} -> Maybe (HashMap Text Text)
sourceEncryptionContext) (\s :: ReEncrypt
s@ReEncrypt' {} Maybe (HashMap Text Text)
a -> ReEncrypt
s {$sel:sourceEncryptionContext:ReEncrypt' :: Maybe (HashMap Text Text)
sourceEncryptionContext = Maybe (HashMap Text Text)
a} :: ReEncrypt) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
reEncrypt_sourceKeyId :: Lens.Lens' ReEncrypt (Prelude.Maybe Prelude.Text)
reEncrypt_sourceKeyId :: Lens' ReEncrypt (Maybe Text)
reEncrypt_sourceKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReEncrypt' {Maybe Text
sourceKeyId :: Maybe Text
$sel:sourceKeyId:ReEncrypt' :: ReEncrypt -> Maybe Text
sourceKeyId} -> Maybe Text
sourceKeyId) (\s :: ReEncrypt
s@ReEncrypt' {} Maybe Text
a -> ReEncrypt
s {$sel:sourceKeyId:ReEncrypt' :: Maybe Text
sourceKeyId = Maybe Text
a} :: ReEncrypt)
reEncrypt_ciphertextBlob :: Lens.Lens' ReEncrypt Prelude.ByteString
reEncrypt_ciphertextBlob :: Lens' ReEncrypt ByteString
reEncrypt_ciphertextBlob = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReEncrypt' {Base64
ciphertextBlob :: Base64
$sel:ciphertextBlob:ReEncrypt' :: ReEncrypt -> Base64
ciphertextBlob} -> Base64
ciphertextBlob) (\s :: ReEncrypt
s@ReEncrypt' {} Base64
a -> ReEncrypt
s {$sel:ciphertextBlob:ReEncrypt' :: Base64
ciphertextBlob = Base64
a} :: ReEncrypt) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Iso' Base64 ByteString
Data._Base64
reEncrypt_destinationKeyId :: Lens.Lens' ReEncrypt Prelude.Text
reEncrypt_destinationKeyId :: Lens' ReEncrypt Text
reEncrypt_destinationKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReEncrypt' {Text
destinationKeyId :: Text
$sel:destinationKeyId:ReEncrypt' :: ReEncrypt -> Text
destinationKeyId} -> Text
destinationKeyId) (\s :: ReEncrypt
s@ReEncrypt' {} Text
a -> ReEncrypt
s {$sel:destinationKeyId:ReEncrypt' :: Text
destinationKeyId = Text
a} :: ReEncrypt)
instance Core.AWSRequest ReEncrypt where
type AWSResponse ReEncrypt = ReEncryptResponse
request :: (Service -> Service) -> ReEncrypt -> Request ReEncrypt
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ReEncrypt
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse ReEncrypt)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe Base64
-> Maybe EncryptionAlgorithmSpec
-> Maybe Text
-> Maybe EncryptionAlgorithmSpec
-> Maybe Text
-> Int
-> ReEncryptResponse
ReEncryptResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"CiphertextBlob")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"DestinationEncryptionAlgorithm")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"KeyId")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SourceEncryptionAlgorithm")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SourceKeyId")
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 ReEncrypt where
hashWithSalt :: Int -> ReEncrypt -> Int
hashWithSalt Int
_salt ReEncrypt' {Maybe [Text]
Maybe Text
Maybe (HashMap Text Text)
Maybe EncryptionAlgorithmSpec
Text
Base64
destinationKeyId :: Text
ciphertextBlob :: Base64
sourceKeyId :: Maybe Text
sourceEncryptionContext :: Maybe (HashMap Text Text)
sourceEncryptionAlgorithm :: Maybe EncryptionAlgorithmSpec
grantTokens :: Maybe [Text]
destinationEncryptionContext :: Maybe (HashMap Text Text)
destinationEncryptionAlgorithm :: Maybe EncryptionAlgorithmSpec
$sel:destinationKeyId:ReEncrypt' :: ReEncrypt -> Text
$sel:ciphertextBlob:ReEncrypt' :: ReEncrypt -> Base64
$sel:sourceKeyId:ReEncrypt' :: ReEncrypt -> Maybe Text
$sel:sourceEncryptionContext:ReEncrypt' :: ReEncrypt -> Maybe (HashMap Text Text)
$sel:sourceEncryptionAlgorithm:ReEncrypt' :: ReEncrypt -> Maybe EncryptionAlgorithmSpec
$sel:grantTokens:ReEncrypt' :: ReEncrypt -> Maybe [Text]
$sel:destinationEncryptionContext:ReEncrypt' :: ReEncrypt -> Maybe (HashMap Text Text)
$sel:destinationEncryptionAlgorithm:ReEncrypt' :: ReEncrypt -> Maybe EncryptionAlgorithmSpec
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EncryptionAlgorithmSpec
destinationEncryptionAlgorithm
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
destinationEncryptionContext
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
grantTokens
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EncryptionAlgorithmSpec
sourceEncryptionAlgorithm
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
sourceEncryptionContext
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
sourceKeyId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Base64
ciphertextBlob
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
destinationKeyId
instance Prelude.NFData ReEncrypt where
rnf :: ReEncrypt -> ()
rnf ReEncrypt' {Maybe [Text]
Maybe Text
Maybe (HashMap Text Text)
Maybe EncryptionAlgorithmSpec
Text
Base64
destinationKeyId :: Text
ciphertextBlob :: Base64
sourceKeyId :: Maybe Text
sourceEncryptionContext :: Maybe (HashMap Text Text)
sourceEncryptionAlgorithm :: Maybe EncryptionAlgorithmSpec
grantTokens :: Maybe [Text]
destinationEncryptionContext :: Maybe (HashMap Text Text)
destinationEncryptionAlgorithm :: Maybe EncryptionAlgorithmSpec
$sel:destinationKeyId:ReEncrypt' :: ReEncrypt -> Text
$sel:ciphertextBlob:ReEncrypt' :: ReEncrypt -> Base64
$sel:sourceKeyId:ReEncrypt' :: ReEncrypt -> Maybe Text
$sel:sourceEncryptionContext:ReEncrypt' :: ReEncrypt -> Maybe (HashMap Text Text)
$sel:sourceEncryptionAlgorithm:ReEncrypt' :: ReEncrypt -> Maybe EncryptionAlgorithmSpec
$sel:grantTokens:ReEncrypt' :: ReEncrypt -> Maybe [Text]
$sel:destinationEncryptionContext:ReEncrypt' :: ReEncrypt -> Maybe (HashMap Text Text)
$sel:destinationEncryptionAlgorithm:ReEncrypt' :: ReEncrypt -> Maybe EncryptionAlgorithmSpec
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe EncryptionAlgorithmSpec
destinationEncryptionAlgorithm
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
destinationEncryptionContext
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
grantTokens
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EncryptionAlgorithmSpec
sourceEncryptionAlgorithm
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
sourceEncryptionContext
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sourceKeyId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Base64
ciphertextBlob
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
destinationKeyId
instance Data.ToHeaders ReEncrypt where
toHeaders :: ReEncrypt -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# (ByteString
"TrentService.ReEncrypt" :: Prelude.ByteString),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON ReEncrypt where
toJSON :: ReEncrypt -> Value
toJSON ReEncrypt' {Maybe [Text]
Maybe Text
Maybe (HashMap Text Text)
Maybe EncryptionAlgorithmSpec
Text
Base64
destinationKeyId :: Text
ciphertextBlob :: Base64
sourceKeyId :: Maybe Text
sourceEncryptionContext :: Maybe (HashMap Text Text)
sourceEncryptionAlgorithm :: Maybe EncryptionAlgorithmSpec
grantTokens :: Maybe [Text]
destinationEncryptionContext :: Maybe (HashMap Text Text)
destinationEncryptionAlgorithm :: Maybe EncryptionAlgorithmSpec
$sel:destinationKeyId:ReEncrypt' :: ReEncrypt -> Text
$sel:ciphertextBlob:ReEncrypt' :: ReEncrypt -> Base64
$sel:sourceKeyId:ReEncrypt' :: ReEncrypt -> Maybe Text
$sel:sourceEncryptionContext:ReEncrypt' :: ReEncrypt -> Maybe (HashMap Text Text)
$sel:sourceEncryptionAlgorithm:ReEncrypt' :: ReEncrypt -> Maybe EncryptionAlgorithmSpec
$sel:grantTokens:ReEncrypt' :: ReEncrypt -> Maybe [Text]
$sel:destinationEncryptionContext:ReEncrypt' :: ReEncrypt -> Maybe (HashMap Text Text)
$sel:destinationEncryptionAlgorithm:ReEncrypt' :: ReEncrypt -> Maybe EncryptionAlgorithmSpec
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"DestinationEncryptionAlgorithm" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EncryptionAlgorithmSpec
destinationEncryptionAlgorithm,
(Key
"DestinationEncryptionContext" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text Text)
destinationEncryptionContext,
(Key
"GrantTokens" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
grantTokens,
(Key
"SourceEncryptionAlgorithm" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EncryptionAlgorithmSpec
sourceEncryptionAlgorithm,
(Key
"SourceEncryptionContext" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text Text)
sourceEncryptionContext,
(Key
"SourceKeyId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
sourceKeyId,
forall a. a -> Maybe a
Prelude.Just
(Key
"CiphertextBlob" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Base64
ciphertextBlob),
forall a. a -> Maybe a
Prelude.Just
(Key
"DestinationKeyId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
destinationKeyId)
]
)
instance Data.ToPath ReEncrypt where
toPath :: ReEncrypt -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ReEncrypt where
toQuery :: ReEncrypt -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data ReEncryptResponse = ReEncryptResponse'
{
ReEncryptResponse -> Maybe Base64
ciphertextBlob :: Prelude.Maybe Data.Base64,
ReEncryptResponse -> Maybe EncryptionAlgorithmSpec
destinationEncryptionAlgorithm :: Prelude.Maybe EncryptionAlgorithmSpec,
ReEncryptResponse -> Maybe Text
keyId :: Prelude.Maybe Prelude.Text,
ReEncryptResponse -> Maybe EncryptionAlgorithmSpec
sourceEncryptionAlgorithm :: Prelude.Maybe EncryptionAlgorithmSpec,
ReEncryptResponse -> Maybe Text
sourceKeyId :: Prelude.Maybe Prelude.Text,
ReEncryptResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ReEncryptResponse -> ReEncryptResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ReEncryptResponse -> ReEncryptResponse -> Bool
$c/= :: ReEncryptResponse -> ReEncryptResponse -> Bool
== :: ReEncryptResponse -> ReEncryptResponse -> Bool
$c== :: ReEncryptResponse -> ReEncryptResponse -> Bool
Prelude.Eq, ReadPrec [ReEncryptResponse]
ReadPrec ReEncryptResponse
Int -> ReadS ReEncryptResponse
ReadS [ReEncryptResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ReEncryptResponse]
$creadListPrec :: ReadPrec [ReEncryptResponse]
readPrec :: ReadPrec ReEncryptResponse
$creadPrec :: ReadPrec ReEncryptResponse
readList :: ReadS [ReEncryptResponse]
$creadList :: ReadS [ReEncryptResponse]
readsPrec :: Int -> ReadS ReEncryptResponse
$creadsPrec :: Int -> ReadS ReEncryptResponse
Prelude.Read, Int -> ReEncryptResponse -> ShowS
[ReEncryptResponse] -> ShowS
ReEncryptResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ReEncryptResponse] -> ShowS
$cshowList :: [ReEncryptResponse] -> ShowS
show :: ReEncryptResponse -> String
$cshow :: ReEncryptResponse -> String
showsPrec :: Int -> ReEncryptResponse -> ShowS
$cshowsPrec :: Int -> ReEncryptResponse -> ShowS
Prelude.Show, forall x. Rep ReEncryptResponse x -> ReEncryptResponse
forall x. ReEncryptResponse -> Rep ReEncryptResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ReEncryptResponse x -> ReEncryptResponse
$cfrom :: forall x. ReEncryptResponse -> Rep ReEncryptResponse x
Prelude.Generic)
newReEncryptResponse ::
Prelude.Int ->
ReEncryptResponse
newReEncryptResponse :: Int -> ReEncryptResponse
newReEncryptResponse Int
pHttpStatus_ =
ReEncryptResponse'
{ $sel:ciphertextBlob:ReEncryptResponse' :: Maybe Base64
ciphertextBlob =
forall a. Maybe a
Prelude.Nothing,
$sel:destinationEncryptionAlgorithm:ReEncryptResponse' :: Maybe EncryptionAlgorithmSpec
destinationEncryptionAlgorithm = forall a. Maybe a
Prelude.Nothing,
$sel:keyId:ReEncryptResponse' :: Maybe Text
keyId = forall a. Maybe a
Prelude.Nothing,
$sel:sourceEncryptionAlgorithm:ReEncryptResponse' :: Maybe EncryptionAlgorithmSpec
sourceEncryptionAlgorithm = forall a. Maybe a
Prelude.Nothing,
$sel:sourceKeyId:ReEncryptResponse' :: Maybe Text
sourceKeyId = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ReEncryptResponse' :: Int
httpStatus = Int
pHttpStatus_
}
reEncryptResponse_ciphertextBlob :: Lens.Lens' ReEncryptResponse (Prelude.Maybe Prelude.ByteString)
reEncryptResponse_ciphertextBlob :: Lens' ReEncryptResponse (Maybe ByteString)
reEncryptResponse_ciphertextBlob = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReEncryptResponse' {Maybe Base64
ciphertextBlob :: Maybe Base64
$sel:ciphertextBlob:ReEncryptResponse' :: ReEncryptResponse -> Maybe Base64
ciphertextBlob} -> Maybe Base64
ciphertextBlob) (\s :: ReEncryptResponse
s@ReEncryptResponse' {} Maybe Base64
a -> ReEncryptResponse
s {$sel:ciphertextBlob:ReEncryptResponse' :: Maybe Base64
ciphertextBlob = Maybe Base64
a} :: ReEncryptResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping Iso' Base64 ByteString
Data._Base64
reEncryptResponse_destinationEncryptionAlgorithm :: Lens.Lens' ReEncryptResponse (Prelude.Maybe EncryptionAlgorithmSpec)
reEncryptResponse_destinationEncryptionAlgorithm :: Lens' ReEncryptResponse (Maybe EncryptionAlgorithmSpec)
reEncryptResponse_destinationEncryptionAlgorithm = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReEncryptResponse' {Maybe EncryptionAlgorithmSpec
destinationEncryptionAlgorithm :: Maybe EncryptionAlgorithmSpec
$sel:destinationEncryptionAlgorithm:ReEncryptResponse' :: ReEncryptResponse -> Maybe EncryptionAlgorithmSpec
destinationEncryptionAlgorithm} -> Maybe EncryptionAlgorithmSpec
destinationEncryptionAlgorithm) (\s :: ReEncryptResponse
s@ReEncryptResponse' {} Maybe EncryptionAlgorithmSpec
a -> ReEncryptResponse
s {$sel:destinationEncryptionAlgorithm:ReEncryptResponse' :: Maybe EncryptionAlgorithmSpec
destinationEncryptionAlgorithm = Maybe EncryptionAlgorithmSpec
a} :: ReEncryptResponse)
reEncryptResponse_keyId :: Lens.Lens' ReEncryptResponse (Prelude.Maybe Prelude.Text)
reEncryptResponse_keyId :: Lens' ReEncryptResponse (Maybe Text)
reEncryptResponse_keyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReEncryptResponse' {Maybe Text
keyId :: Maybe Text
$sel:keyId:ReEncryptResponse' :: ReEncryptResponse -> Maybe Text
keyId} -> Maybe Text
keyId) (\s :: ReEncryptResponse
s@ReEncryptResponse' {} Maybe Text
a -> ReEncryptResponse
s {$sel:keyId:ReEncryptResponse' :: Maybe Text
keyId = Maybe Text
a} :: ReEncryptResponse)
reEncryptResponse_sourceEncryptionAlgorithm :: Lens.Lens' ReEncryptResponse (Prelude.Maybe EncryptionAlgorithmSpec)
reEncryptResponse_sourceEncryptionAlgorithm :: Lens' ReEncryptResponse (Maybe EncryptionAlgorithmSpec)
reEncryptResponse_sourceEncryptionAlgorithm = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReEncryptResponse' {Maybe EncryptionAlgorithmSpec
sourceEncryptionAlgorithm :: Maybe EncryptionAlgorithmSpec
$sel:sourceEncryptionAlgorithm:ReEncryptResponse' :: ReEncryptResponse -> Maybe EncryptionAlgorithmSpec
sourceEncryptionAlgorithm} -> Maybe EncryptionAlgorithmSpec
sourceEncryptionAlgorithm) (\s :: ReEncryptResponse
s@ReEncryptResponse' {} Maybe EncryptionAlgorithmSpec
a -> ReEncryptResponse
s {$sel:sourceEncryptionAlgorithm:ReEncryptResponse' :: Maybe EncryptionAlgorithmSpec
sourceEncryptionAlgorithm = Maybe EncryptionAlgorithmSpec
a} :: ReEncryptResponse)
reEncryptResponse_sourceKeyId :: Lens.Lens' ReEncryptResponse (Prelude.Maybe Prelude.Text)
reEncryptResponse_sourceKeyId :: Lens' ReEncryptResponse (Maybe Text)
reEncryptResponse_sourceKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReEncryptResponse' {Maybe Text
sourceKeyId :: Maybe Text
$sel:sourceKeyId:ReEncryptResponse' :: ReEncryptResponse -> Maybe Text
sourceKeyId} -> Maybe Text
sourceKeyId) (\s :: ReEncryptResponse
s@ReEncryptResponse' {} Maybe Text
a -> ReEncryptResponse
s {$sel:sourceKeyId:ReEncryptResponse' :: Maybe Text
sourceKeyId = Maybe Text
a} :: ReEncryptResponse)
reEncryptResponse_httpStatus :: Lens.Lens' ReEncryptResponse Prelude.Int
reEncryptResponse_httpStatus :: Lens' ReEncryptResponse Int
reEncryptResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ReEncryptResponse' {Int
httpStatus :: Int
$sel:httpStatus:ReEncryptResponse' :: ReEncryptResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ReEncryptResponse
s@ReEncryptResponse' {} Int
a -> ReEncryptResponse
s {$sel:httpStatus:ReEncryptResponse' :: Int
httpStatus = Int
a} :: ReEncryptResponse)
instance Prelude.NFData ReEncryptResponse where
rnf :: ReEncryptResponse -> ()
rnf ReEncryptResponse' {Int
Maybe Text
Maybe Base64
Maybe EncryptionAlgorithmSpec
httpStatus :: Int
sourceKeyId :: Maybe Text
sourceEncryptionAlgorithm :: Maybe EncryptionAlgorithmSpec
keyId :: Maybe Text
destinationEncryptionAlgorithm :: Maybe EncryptionAlgorithmSpec
ciphertextBlob :: Maybe Base64
$sel:httpStatus:ReEncryptResponse' :: ReEncryptResponse -> Int
$sel:sourceKeyId:ReEncryptResponse' :: ReEncryptResponse -> Maybe Text
$sel:sourceEncryptionAlgorithm:ReEncryptResponse' :: ReEncryptResponse -> Maybe EncryptionAlgorithmSpec
$sel:keyId:ReEncryptResponse' :: ReEncryptResponse -> Maybe Text
$sel:destinationEncryptionAlgorithm:ReEncryptResponse' :: ReEncryptResponse -> Maybe EncryptionAlgorithmSpec
$sel:ciphertextBlob:ReEncryptResponse' :: ReEncryptResponse -> Maybe Base64
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Base64
ciphertextBlob
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EncryptionAlgorithmSpec
destinationEncryptionAlgorithm
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
keyId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EncryptionAlgorithmSpec
sourceEncryptionAlgorithm
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sourceKeyId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus