{-# 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.Firehose.StartDeliveryStreamEncryption
(
StartDeliveryStreamEncryption (..),
newStartDeliveryStreamEncryption,
startDeliveryStreamEncryption_deliveryStreamEncryptionConfigurationInput,
startDeliveryStreamEncryption_deliveryStreamName,
StartDeliveryStreamEncryptionResponse (..),
newStartDeliveryStreamEncryptionResponse,
startDeliveryStreamEncryptionResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Firehose.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data StartDeliveryStreamEncryption = StartDeliveryStreamEncryption'
{
StartDeliveryStreamEncryption
-> Maybe DeliveryStreamEncryptionConfigurationInput
deliveryStreamEncryptionConfigurationInput :: Prelude.Maybe DeliveryStreamEncryptionConfigurationInput,
StartDeliveryStreamEncryption -> Text
deliveryStreamName :: Prelude.Text
}
deriving (StartDeliveryStreamEncryption
-> StartDeliveryStreamEncryption -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartDeliveryStreamEncryption
-> StartDeliveryStreamEncryption -> Bool
$c/= :: StartDeliveryStreamEncryption
-> StartDeliveryStreamEncryption -> Bool
== :: StartDeliveryStreamEncryption
-> StartDeliveryStreamEncryption -> Bool
$c== :: StartDeliveryStreamEncryption
-> StartDeliveryStreamEncryption -> Bool
Prelude.Eq, ReadPrec [StartDeliveryStreamEncryption]
ReadPrec StartDeliveryStreamEncryption
Int -> ReadS StartDeliveryStreamEncryption
ReadS [StartDeliveryStreamEncryption]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartDeliveryStreamEncryption]
$creadListPrec :: ReadPrec [StartDeliveryStreamEncryption]
readPrec :: ReadPrec StartDeliveryStreamEncryption
$creadPrec :: ReadPrec StartDeliveryStreamEncryption
readList :: ReadS [StartDeliveryStreamEncryption]
$creadList :: ReadS [StartDeliveryStreamEncryption]
readsPrec :: Int -> ReadS StartDeliveryStreamEncryption
$creadsPrec :: Int -> ReadS StartDeliveryStreamEncryption
Prelude.Read, Int -> StartDeliveryStreamEncryption -> ShowS
[StartDeliveryStreamEncryption] -> ShowS
StartDeliveryStreamEncryption -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartDeliveryStreamEncryption] -> ShowS
$cshowList :: [StartDeliveryStreamEncryption] -> ShowS
show :: StartDeliveryStreamEncryption -> String
$cshow :: StartDeliveryStreamEncryption -> String
showsPrec :: Int -> StartDeliveryStreamEncryption -> ShowS
$cshowsPrec :: Int -> StartDeliveryStreamEncryption -> ShowS
Prelude.Show, forall x.
Rep StartDeliveryStreamEncryption x
-> StartDeliveryStreamEncryption
forall x.
StartDeliveryStreamEncryption
-> Rep StartDeliveryStreamEncryption x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartDeliveryStreamEncryption x
-> StartDeliveryStreamEncryption
$cfrom :: forall x.
StartDeliveryStreamEncryption
-> Rep StartDeliveryStreamEncryption x
Prelude.Generic)
newStartDeliveryStreamEncryption ::
Prelude.Text ->
StartDeliveryStreamEncryption
newStartDeliveryStreamEncryption :: Text -> StartDeliveryStreamEncryption
newStartDeliveryStreamEncryption Text
pDeliveryStreamName_ =
StartDeliveryStreamEncryption'
{ $sel:deliveryStreamEncryptionConfigurationInput:StartDeliveryStreamEncryption' :: Maybe DeliveryStreamEncryptionConfigurationInput
deliveryStreamEncryptionConfigurationInput =
forall a. Maybe a
Prelude.Nothing,
$sel:deliveryStreamName:StartDeliveryStreamEncryption' :: Text
deliveryStreamName = Text
pDeliveryStreamName_
}
startDeliveryStreamEncryption_deliveryStreamEncryptionConfigurationInput :: Lens.Lens' StartDeliveryStreamEncryption (Prelude.Maybe DeliveryStreamEncryptionConfigurationInput)
startDeliveryStreamEncryption_deliveryStreamEncryptionConfigurationInput :: Lens'
StartDeliveryStreamEncryption
(Maybe DeliveryStreamEncryptionConfigurationInput)
startDeliveryStreamEncryption_deliveryStreamEncryptionConfigurationInput = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartDeliveryStreamEncryption' {Maybe DeliveryStreamEncryptionConfigurationInput
deliveryStreamEncryptionConfigurationInput :: Maybe DeliveryStreamEncryptionConfigurationInput
$sel:deliveryStreamEncryptionConfigurationInput:StartDeliveryStreamEncryption' :: StartDeliveryStreamEncryption
-> Maybe DeliveryStreamEncryptionConfigurationInput
deliveryStreamEncryptionConfigurationInput} -> Maybe DeliveryStreamEncryptionConfigurationInput
deliveryStreamEncryptionConfigurationInput) (\s :: StartDeliveryStreamEncryption
s@StartDeliveryStreamEncryption' {} Maybe DeliveryStreamEncryptionConfigurationInput
a -> StartDeliveryStreamEncryption
s {$sel:deliveryStreamEncryptionConfigurationInput:StartDeliveryStreamEncryption' :: Maybe DeliveryStreamEncryptionConfigurationInput
deliveryStreamEncryptionConfigurationInput = Maybe DeliveryStreamEncryptionConfigurationInput
a} :: StartDeliveryStreamEncryption)
startDeliveryStreamEncryption_deliveryStreamName :: Lens.Lens' StartDeliveryStreamEncryption Prelude.Text
startDeliveryStreamEncryption_deliveryStreamName :: Lens' StartDeliveryStreamEncryption Text
startDeliveryStreamEncryption_deliveryStreamName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartDeliveryStreamEncryption' {Text
deliveryStreamName :: Text
$sel:deliveryStreamName:StartDeliveryStreamEncryption' :: StartDeliveryStreamEncryption -> Text
deliveryStreamName} -> Text
deliveryStreamName) (\s :: StartDeliveryStreamEncryption
s@StartDeliveryStreamEncryption' {} Text
a -> StartDeliveryStreamEncryption
s {$sel:deliveryStreamName:StartDeliveryStreamEncryption' :: Text
deliveryStreamName = Text
a} :: StartDeliveryStreamEncryption)
instance
Core.AWSRequest
StartDeliveryStreamEncryption
where
type
AWSResponse StartDeliveryStreamEncryption =
StartDeliveryStreamEncryptionResponse
request :: (Service -> Service)
-> StartDeliveryStreamEncryption
-> Request StartDeliveryStreamEncryption
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 StartDeliveryStreamEncryption
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse StartDeliveryStreamEncryption)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> StartDeliveryStreamEncryptionResponse
StartDeliveryStreamEncryptionResponse'
forall (f :: * -> *) a b. Functor 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
StartDeliveryStreamEncryption
where
hashWithSalt :: Int -> StartDeliveryStreamEncryption -> Int
hashWithSalt Int
_salt StartDeliveryStreamEncryption' {Maybe DeliveryStreamEncryptionConfigurationInput
Text
deliveryStreamName :: Text
deliveryStreamEncryptionConfigurationInput :: Maybe DeliveryStreamEncryptionConfigurationInput
$sel:deliveryStreamName:StartDeliveryStreamEncryption' :: StartDeliveryStreamEncryption -> Text
$sel:deliveryStreamEncryptionConfigurationInput:StartDeliveryStreamEncryption' :: StartDeliveryStreamEncryption
-> Maybe DeliveryStreamEncryptionConfigurationInput
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DeliveryStreamEncryptionConfigurationInput
deliveryStreamEncryptionConfigurationInput
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
deliveryStreamName
instance Prelude.NFData StartDeliveryStreamEncryption where
rnf :: StartDeliveryStreamEncryption -> ()
rnf StartDeliveryStreamEncryption' {Maybe DeliveryStreamEncryptionConfigurationInput
Text
deliveryStreamName :: Text
deliveryStreamEncryptionConfigurationInput :: Maybe DeliveryStreamEncryptionConfigurationInput
$sel:deliveryStreamName:StartDeliveryStreamEncryption' :: StartDeliveryStreamEncryption -> Text
$sel:deliveryStreamEncryptionConfigurationInput:StartDeliveryStreamEncryption' :: StartDeliveryStreamEncryption
-> Maybe DeliveryStreamEncryptionConfigurationInput
..} =
forall a. NFData a => a -> ()
Prelude.rnf
Maybe DeliveryStreamEncryptionConfigurationInput
deliveryStreamEncryptionConfigurationInput
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
deliveryStreamName
instance Data.ToHeaders StartDeliveryStreamEncryption where
toHeaders :: StartDeliveryStreamEncryption -> 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
"Firehose_20150804.StartDeliveryStreamEncryption" ::
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 StartDeliveryStreamEncryption where
toJSON :: StartDeliveryStreamEncryption -> Value
toJSON StartDeliveryStreamEncryption' {Maybe DeliveryStreamEncryptionConfigurationInput
Text
deliveryStreamName :: Text
deliveryStreamEncryptionConfigurationInput :: Maybe DeliveryStreamEncryptionConfigurationInput
$sel:deliveryStreamName:StartDeliveryStreamEncryption' :: StartDeliveryStreamEncryption -> Text
$sel:deliveryStreamEncryptionConfigurationInput:StartDeliveryStreamEncryption' :: StartDeliveryStreamEncryption
-> Maybe DeliveryStreamEncryptionConfigurationInput
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ ( Key
"DeliveryStreamEncryptionConfigurationInput"
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 DeliveryStreamEncryptionConfigurationInput
deliveryStreamEncryptionConfigurationInput,
forall a. a -> Maybe a
Prelude.Just
(Key
"DeliveryStreamName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
deliveryStreamName)
]
)
instance Data.ToPath StartDeliveryStreamEncryption where
toPath :: StartDeliveryStreamEncryption -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery StartDeliveryStreamEncryption where
toQuery :: StartDeliveryStreamEncryption -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data StartDeliveryStreamEncryptionResponse = StartDeliveryStreamEncryptionResponse'
{
StartDeliveryStreamEncryptionResponse -> Int
httpStatus :: Prelude.Int
}
deriving (StartDeliveryStreamEncryptionResponse
-> StartDeliveryStreamEncryptionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartDeliveryStreamEncryptionResponse
-> StartDeliveryStreamEncryptionResponse -> Bool
$c/= :: StartDeliveryStreamEncryptionResponse
-> StartDeliveryStreamEncryptionResponse -> Bool
== :: StartDeliveryStreamEncryptionResponse
-> StartDeliveryStreamEncryptionResponse -> Bool
$c== :: StartDeliveryStreamEncryptionResponse
-> StartDeliveryStreamEncryptionResponse -> Bool
Prelude.Eq, ReadPrec [StartDeliveryStreamEncryptionResponse]
ReadPrec StartDeliveryStreamEncryptionResponse
Int -> ReadS StartDeliveryStreamEncryptionResponse
ReadS [StartDeliveryStreamEncryptionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartDeliveryStreamEncryptionResponse]
$creadListPrec :: ReadPrec [StartDeliveryStreamEncryptionResponse]
readPrec :: ReadPrec StartDeliveryStreamEncryptionResponse
$creadPrec :: ReadPrec StartDeliveryStreamEncryptionResponse
readList :: ReadS [StartDeliveryStreamEncryptionResponse]
$creadList :: ReadS [StartDeliveryStreamEncryptionResponse]
readsPrec :: Int -> ReadS StartDeliveryStreamEncryptionResponse
$creadsPrec :: Int -> ReadS StartDeliveryStreamEncryptionResponse
Prelude.Read, Int -> StartDeliveryStreamEncryptionResponse -> ShowS
[StartDeliveryStreamEncryptionResponse] -> ShowS
StartDeliveryStreamEncryptionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartDeliveryStreamEncryptionResponse] -> ShowS
$cshowList :: [StartDeliveryStreamEncryptionResponse] -> ShowS
show :: StartDeliveryStreamEncryptionResponse -> String
$cshow :: StartDeliveryStreamEncryptionResponse -> String
showsPrec :: Int -> StartDeliveryStreamEncryptionResponse -> ShowS
$cshowsPrec :: Int -> StartDeliveryStreamEncryptionResponse -> ShowS
Prelude.Show, forall x.
Rep StartDeliveryStreamEncryptionResponse x
-> StartDeliveryStreamEncryptionResponse
forall x.
StartDeliveryStreamEncryptionResponse
-> Rep StartDeliveryStreamEncryptionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartDeliveryStreamEncryptionResponse x
-> StartDeliveryStreamEncryptionResponse
$cfrom :: forall x.
StartDeliveryStreamEncryptionResponse
-> Rep StartDeliveryStreamEncryptionResponse x
Prelude.Generic)
newStartDeliveryStreamEncryptionResponse ::
Prelude.Int ->
StartDeliveryStreamEncryptionResponse
newStartDeliveryStreamEncryptionResponse :: Int -> StartDeliveryStreamEncryptionResponse
newStartDeliveryStreamEncryptionResponse Int
pHttpStatus_ =
StartDeliveryStreamEncryptionResponse'
{ $sel:httpStatus:StartDeliveryStreamEncryptionResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
startDeliveryStreamEncryptionResponse_httpStatus :: Lens.Lens' StartDeliveryStreamEncryptionResponse Prelude.Int
startDeliveryStreamEncryptionResponse_httpStatus :: Lens' StartDeliveryStreamEncryptionResponse Int
startDeliveryStreamEncryptionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartDeliveryStreamEncryptionResponse' {Int
httpStatus :: Int
$sel:httpStatus:StartDeliveryStreamEncryptionResponse' :: StartDeliveryStreamEncryptionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: StartDeliveryStreamEncryptionResponse
s@StartDeliveryStreamEncryptionResponse' {} Int
a -> StartDeliveryStreamEncryptionResponse
s {$sel:httpStatus:StartDeliveryStreamEncryptionResponse' :: Int
httpStatus = Int
a} :: StartDeliveryStreamEncryptionResponse)
instance
Prelude.NFData
StartDeliveryStreamEncryptionResponse
where
rnf :: StartDeliveryStreamEncryptionResponse -> ()
rnf StartDeliveryStreamEncryptionResponse' {Int
httpStatus :: Int
$sel:httpStatus:StartDeliveryStreamEncryptionResponse' :: StartDeliveryStreamEncryptionResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus