{-# 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.Kafka.UpdateBrokerStorage
(
UpdateBrokerStorage (..),
newUpdateBrokerStorage,
updateBrokerStorage_clusterArn,
updateBrokerStorage_targetBrokerEBSVolumeInfo,
updateBrokerStorage_currentVersion,
UpdateBrokerStorageResponse (..),
newUpdateBrokerStorageResponse,
updateBrokerStorageResponse_clusterArn,
updateBrokerStorageResponse_clusterOperationArn,
updateBrokerStorageResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Kafka.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data UpdateBrokerStorage = UpdateBrokerStorage'
{
UpdateBrokerStorage -> Text
clusterArn :: Prelude.Text,
UpdateBrokerStorage -> [BrokerEBSVolumeInfo]
targetBrokerEBSVolumeInfo :: [BrokerEBSVolumeInfo],
UpdateBrokerStorage -> Text
currentVersion :: Prelude.Text
}
deriving (UpdateBrokerStorage -> UpdateBrokerStorage -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateBrokerStorage -> UpdateBrokerStorage -> Bool
$c/= :: UpdateBrokerStorage -> UpdateBrokerStorage -> Bool
== :: UpdateBrokerStorage -> UpdateBrokerStorage -> Bool
$c== :: UpdateBrokerStorage -> UpdateBrokerStorage -> Bool
Prelude.Eq, ReadPrec [UpdateBrokerStorage]
ReadPrec UpdateBrokerStorage
Int -> ReadS UpdateBrokerStorage
ReadS [UpdateBrokerStorage]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateBrokerStorage]
$creadListPrec :: ReadPrec [UpdateBrokerStorage]
readPrec :: ReadPrec UpdateBrokerStorage
$creadPrec :: ReadPrec UpdateBrokerStorage
readList :: ReadS [UpdateBrokerStorage]
$creadList :: ReadS [UpdateBrokerStorage]
readsPrec :: Int -> ReadS UpdateBrokerStorage
$creadsPrec :: Int -> ReadS UpdateBrokerStorage
Prelude.Read, Int -> UpdateBrokerStorage -> ShowS
[UpdateBrokerStorage] -> ShowS
UpdateBrokerStorage -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateBrokerStorage] -> ShowS
$cshowList :: [UpdateBrokerStorage] -> ShowS
show :: UpdateBrokerStorage -> String
$cshow :: UpdateBrokerStorage -> String
showsPrec :: Int -> UpdateBrokerStorage -> ShowS
$cshowsPrec :: Int -> UpdateBrokerStorage -> ShowS
Prelude.Show, forall x. Rep UpdateBrokerStorage x -> UpdateBrokerStorage
forall x. UpdateBrokerStorage -> Rep UpdateBrokerStorage x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateBrokerStorage x -> UpdateBrokerStorage
$cfrom :: forall x. UpdateBrokerStorage -> Rep UpdateBrokerStorage x
Prelude.Generic)
newUpdateBrokerStorage ::
Prelude.Text ->
Prelude.Text ->
UpdateBrokerStorage
newUpdateBrokerStorage :: Text -> Text -> UpdateBrokerStorage
newUpdateBrokerStorage Text
pClusterArn_ Text
pCurrentVersion_ =
UpdateBrokerStorage'
{ $sel:clusterArn:UpdateBrokerStorage' :: Text
clusterArn = Text
pClusterArn_,
$sel:targetBrokerEBSVolumeInfo:UpdateBrokerStorage' :: [BrokerEBSVolumeInfo]
targetBrokerEBSVolumeInfo = forall a. Monoid a => a
Prelude.mempty,
$sel:currentVersion:UpdateBrokerStorage' :: Text
currentVersion = Text
pCurrentVersion_
}
updateBrokerStorage_clusterArn :: Lens.Lens' UpdateBrokerStorage Prelude.Text
updateBrokerStorage_clusterArn :: Lens' UpdateBrokerStorage Text
updateBrokerStorage_clusterArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBrokerStorage' {Text
clusterArn :: Text
$sel:clusterArn:UpdateBrokerStorage' :: UpdateBrokerStorage -> Text
clusterArn} -> Text
clusterArn) (\s :: UpdateBrokerStorage
s@UpdateBrokerStorage' {} Text
a -> UpdateBrokerStorage
s {$sel:clusterArn:UpdateBrokerStorage' :: Text
clusterArn = Text
a} :: UpdateBrokerStorage)
updateBrokerStorage_targetBrokerEBSVolumeInfo :: Lens.Lens' UpdateBrokerStorage [BrokerEBSVolumeInfo]
updateBrokerStorage_targetBrokerEBSVolumeInfo :: Lens' UpdateBrokerStorage [BrokerEBSVolumeInfo]
updateBrokerStorage_targetBrokerEBSVolumeInfo = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBrokerStorage' {[BrokerEBSVolumeInfo]
targetBrokerEBSVolumeInfo :: [BrokerEBSVolumeInfo]
$sel:targetBrokerEBSVolumeInfo:UpdateBrokerStorage' :: UpdateBrokerStorage -> [BrokerEBSVolumeInfo]
targetBrokerEBSVolumeInfo} -> [BrokerEBSVolumeInfo]
targetBrokerEBSVolumeInfo) (\s :: UpdateBrokerStorage
s@UpdateBrokerStorage' {} [BrokerEBSVolumeInfo]
a -> UpdateBrokerStorage
s {$sel:targetBrokerEBSVolumeInfo:UpdateBrokerStorage' :: [BrokerEBSVolumeInfo]
targetBrokerEBSVolumeInfo = [BrokerEBSVolumeInfo]
a} :: UpdateBrokerStorage) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
updateBrokerStorage_currentVersion :: Lens.Lens' UpdateBrokerStorage Prelude.Text
updateBrokerStorage_currentVersion :: Lens' UpdateBrokerStorage Text
updateBrokerStorage_currentVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBrokerStorage' {Text
currentVersion :: Text
$sel:currentVersion:UpdateBrokerStorage' :: UpdateBrokerStorage -> Text
currentVersion} -> Text
currentVersion) (\s :: UpdateBrokerStorage
s@UpdateBrokerStorage' {} Text
a -> UpdateBrokerStorage
s {$sel:currentVersion:UpdateBrokerStorage' :: Text
currentVersion = Text
a} :: UpdateBrokerStorage)
instance Core.AWSRequest UpdateBrokerStorage where
type
AWSResponse UpdateBrokerStorage =
UpdateBrokerStorageResponse
request :: (Service -> Service)
-> UpdateBrokerStorage -> Request UpdateBrokerStorage
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateBrokerStorage
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateBrokerStorage)))
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 Text -> Maybe Text -> Int -> UpdateBrokerStorageResponse
UpdateBrokerStorageResponse'
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
"clusterArn")
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
"clusterOperationArn")
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 UpdateBrokerStorage where
hashWithSalt :: Int -> UpdateBrokerStorage -> Int
hashWithSalt Int
_salt UpdateBrokerStorage' {[BrokerEBSVolumeInfo]
Text
currentVersion :: Text
targetBrokerEBSVolumeInfo :: [BrokerEBSVolumeInfo]
clusterArn :: Text
$sel:currentVersion:UpdateBrokerStorage' :: UpdateBrokerStorage -> Text
$sel:targetBrokerEBSVolumeInfo:UpdateBrokerStorage' :: UpdateBrokerStorage -> [BrokerEBSVolumeInfo]
$sel:clusterArn:UpdateBrokerStorage' :: UpdateBrokerStorage -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
clusterArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [BrokerEBSVolumeInfo]
targetBrokerEBSVolumeInfo
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
currentVersion
instance Prelude.NFData UpdateBrokerStorage where
rnf :: UpdateBrokerStorage -> ()
rnf UpdateBrokerStorage' {[BrokerEBSVolumeInfo]
Text
currentVersion :: Text
targetBrokerEBSVolumeInfo :: [BrokerEBSVolumeInfo]
clusterArn :: Text
$sel:currentVersion:UpdateBrokerStorage' :: UpdateBrokerStorage -> Text
$sel:targetBrokerEBSVolumeInfo:UpdateBrokerStorage' :: UpdateBrokerStorage -> [BrokerEBSVolumeInfo]
$sel:clusterArn:UpdateBrokerStorage' :: UpdateBrokerStorage -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
clusterArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [BrokerEBSVolumeInfo]
targetBrokerEBSVolumeInfo
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
currentVersion
instance Data.ToHeaders UpdateBrokerStorage where
toHeaders :: UpdateBrokerStorage -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON UpdateBrokerStorage where
toJSON :: UpdateBrokerStorage -> Value
toJSON UpdateBrokerStorage' {[BrokerEBSVolumeInfo]
Text
currentVersion :: Text
targetBrokerEBSVolumeInfo :: [BrokerEBSVolumeInfo]
clusterArn :: Text
$sel:currentVersion:UpdateBrokerStorage' :: UpdateBrokerStorage -> Text
$sel:targetBrokerEBSVolumeInfo:UpdateBrokerStorage' :: UpdateBrokerStorage -> [BrokerEBSVolumeInfo]
$sel:clusterArn:UpdateBrokerStorage' :: UpdateBrokerStorage -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
( Key
"targetBrokerEBSVolumeInfo"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [BrokerEBSVolumeInfo]
targetBrokerEBSVolumeInfo
),
forall a. a -> Maybe a
Prelude.Just
(Key
"currentVersion" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
currentVersion)
]
)
instance Data.ToPath UpdateBrokerStorage where
toPath :: UpdateBrokerStorage -> ByteString
toPath UpdateBrokerStorage' {[BrokerEBSVolumeInfo]
Text
currentVersion :: Text
targetBrokerEBSVolumeInfo :: [BrokerEBSVolumeInfo]
clusterArn :: Text
$sel:currentVersion:UpdateBrokerStorage' :: UpdateBrokerStorage -> Text
$sel:targetBrokerEBSVolumeInfo:UpdateBrokerStorage' :: UpdateBrokerStorage -> [BrokerEBSVolumeInfo]
$sel:clusterArn:UpdateBrokerStorage' :: UpdateBrokerStorage -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/v1/clusters/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
clusterArn,
ByteString
"/nodes/storage"
]
instance Data.ToQuery UpdateBrokerStorage where
toQuery :: UpdateBrokerStorage -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateBrokerStorageResponse = UpdateBrokerStorageResponse'
{
UpdateBrokerStorageResponse -> Maybe Text
clusterArn :: Prelude.Maybe Prelude.Text,
UpdateBrokerStorageResponse -> Maybe Text
clusterOperationArn :: Prelude.Maybe Prelude.Text,
UpdateBrokerStorageResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateBrokerStorageResponse -> UpdateBrokerStorageResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateBrokerStorageResponse -> UpdateBrokerStorageResponse -> Bool
$c/= :: UpdateBrokerStorageResponse -> UpdateBrokerStorageResponse -> Bool
== :: UpdateBrokerStorageResponse -> UpdateBrokerStorageResponse -> Bool
$c== :: UpdateBrokerStorageResponse -> UpdateBrokerStorageResponse -> Bool
Prelude.Eq, ReadPrec [UpdateBrokerStorageResponse]
ReadPrec UpdateBrokerStorageResponse
Int -> ReadS UpdateBrokerStorageResponse
ReadS [UpdateBrokerStorageResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateBrokerStorageResponse]
$creadListPrec :: ReadPrec [UpdateBrokerStorageResponse]
readPrec :: ReadPrec UpdateBrokerStorageResponse
$creadPrec :: ReadPrec UpdateBrokerStorageResponse
readList :: ReadS [UpdateBrokerStorageResponse]
$creadList :: ReadS [UpdateBrokerStorageResponse]
readsPrec :: Int -> ReadS UpdateBrokerStorageResponse
$creadsPrec :: Int -> ReadS UpdateBrokerStorageResponse
Prelude.Read, Int -> UpdateBrokerStorageResponse -> ShowS
[UpdateBrokerStorageResponse] -> ShowS
UpdateBrokerStorageResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateBrokerStorageResponse] -> ShowS
$cshowList :: [UpdateBrokerStorageResponse] -> ShowS
show :: UpdateBrokerStorageResponse -> String
$cshow :: UpdateBrokerStorageResponse -> String
showsPrec :: Int -> UpdateBrokerStorageResponse -> ShowS
$cshowsPrec :: Int -> UpdateBrokerStorageResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateBrokerStorageResponse x -> UpdateBrokerStorageResponse
forall x.
UpdateBrokerStorageResponse -> Rep UpdateBrokerStorageResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateBrokerStorageResponse x -> UpdateBrokerStorageResponse
$cfrom :: forall x.
UpdateBrokerStorageResponse -> Rep UpdateBrokerStorageResponse x
Prelude.Generic)
newUpdateBrokerStorageResponse ::
Prelude.Int ->
UpdateBrokerStorageResponse
newUpdateBrokerStorageResponse :: Int -> UpdateBrokerStorageResponse
newUpdateBrokerStorageResponse Int
pHttpStatus_ =
UpdateBrokerStorageResponse'
{ $sel:clusterArn:UpdateBrokerStorageResponse' :: Maybe Text
clusterArn =
forall a. Maybe a
Prelude.Nothing,
$sel:clusterOperationArn:UpdateBrokerStorageResponse' :: Maybe Text
clusterOperationArn = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateBrokerStorageResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateBrokerStorageResponse_clusterArn :: Lens.Lens' UpdateBrokerStorageResponse (Prelude.Maybe Prelude.Text)
updateBrokerStorageResponse_clusterArn :: Lens' UpdateBrokerStorageResponse (Maybe Text)
updateBrokerStorageResponse_clusterArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBrokerStorageResponse' {Maybe Text
clusterArn :: Maybe Text
$sel:clusterArn:UpdateBrokerStorageResponse' :: UpdateBrokerStorageResponse -> Maybe Text
clusterArn} -> Maybe Text
clusterArn) (\s :: UpdateBrokerStorageResponse
s@UpdateBrokerStorageResponse' {} Maybe Text
a -> UpdateBrokerStorageResponse
s {$sel:clusterArn:UpdateBrokerStorageResponse' :: Maybe Text
clusterArn = Maybe Text
a} :: UpdateBrokerStorageResponse)
updateBrokerStorageResponse_clusterOperationArn :: Lens.Lens' UpdateBrokerStorageResponse (Prelude.Maybe Prelude.Text)
updateBrokerStorageResponse_clusterOperationArn :: Lens' UpdateBrokerStorageResponse (Maybe Text)
updateBrokerStorageResponse_clusterOperationArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBrokerStorageResponse' {Maybe Text
clusterOperationArn :: Maybe Text
$sel:clusterOperationArn:UpdateBrokerStorageResponse' :: UpdateBrokerStorageResponse -> Maybe Text
clusterOperationArn} -> Maybe Text
clusterOperationArn) (\s :: UpdateBrokerStorageResponse
s@UpdateBrokerStorageResponse' {} Maybe Text
a -> UpdateBrokerStorageResponse
s {$sel:clusterOperationArn:UpdateBrokerStorageResponse' :: Maybe Text
clusterOperationArn = Maybe Text
a} :: UpdateBrokerStorageResponse)
updateBrokerStorageResponse_httpStatus :: Lens.Lens' UpdateBrokerStorageResponse Prelude.Int
updateBrokerStorageResponse_httpStatus :: Lens' UpdateBrokerStorageResponse Int
updateBrokerStorageResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBrokerStorageResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateBrokerStorageResponse' :: UpdateBrokerStorageResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateBrokerStorageResponse
s@UpdateBrokerStorageResponse' {} Int
a -> UpdateBrokerStorageResponse
s {$sel:httpStatus:UpdateBrokerStorageResponse' :: Int
httpStatus = Int
a} :: UpdateBrokerStorageResponse)
instance Prelude.NFData UpdateBrokerStorageResponse where
rnf :: UpdateBrokerStorageResponse -> ()
rnf UpdateBrokerStorageResponse' {Int
Maybe Text
httpStatus :: Int
clusterOperationArn :: Maybe Text
clusterArn :: Maybe Text
$sel:httpStatus:UpdateBrokerStorageResponse' :: UpdateBrokerStorageResponse -> Int
$sel:clusterOperationArn:UpdateBrokerStorageResponse' :: UpdateBrokerStorageResponse -> Maybe Text
$sel:clusterArn:UpdateBrokerStorageResponse' :: UpdateBrokerStorageResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clusterArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clusterOperationArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus