{-# 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.Connect.UpdateInstanceStorageConfig
(
UpdateInstanceStorageConfig (..),
newUpdateInstanceStorageConfig,
updateInstanceStorageConfig_instanceId,
updateInstanceStorageConfig_associationId,
updateInstanceStorageConfig_resourceType,
updateInstanceStorageConfig_storageConfig,
UpdateInstanceStorageConfigResponse (..),
newUpdateInstanceStorageConfigResponse,
)
where
import Amazonka.Connect.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 UpdateInstanceStorageConfig = UpdateInstanceStorageConfig'
{
UpdateInstanceStorageConfig -> Text
instanceId :: Prelude.Text,
UpdateInstanceStorageConfig -> Text
associationId :: Prelude.Text,
UpdateInstanceStorageConfig -> InstanceStorageResourceType
resourceType :: InstanceStorageResourceType,
UpdateInstanceStorageConfig -> InstanceStorageConfig
storageConfig :: InstanceStorageConfig
}
deriving (UpdateInstanceStorageConfig -> UpdateInstanceStorageConfig -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateInstanceStorageConfig -> UpdateInstanceStorageConfig -> Bool
$c/= :: UpdateInstanceStorageConfig -> UpdateInstanceStorageConfig -> Bool
== :: UpdateInstanceStorageConfig -> UpdateInstanceStorageConfig -> Bool
$c== :: UpdateInstanceStorageConfig -> UpdateInstanceStorageConfig -> Bool
Prelude.Eq, ReadPrec [UpdateInstanceStorageConfig]
ReadPrec UpdateInstanceStorageConfig
Int -> ReadS UpdateInstanceStorageConfig
ReadS [UpdateInstanceStorageConfig]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateInstanceStorageConfig]
$creadListPrec :: ReadPrec [UpdateInstanceStorageConfig]
readPrec :: ReadPrec UpdateInstanceStorageConfig
$creadPrec :: ReadPrec UpdateInstanceStorageConfig
readList :: ReadS [UpdateInstanceStorageConfig]
$creadList :: ReadS [UpdateInstanceStorageConfig]
readsPrec :: Int -> ReadS UpdateInstanceStorageConfig
$creadsPrec :: Int -> ReadS UpdateInstanceStorageConfig
Prelude.Read, Int -> UpdateInstanceStorageConfig -> ShowS
[UpdateInstanceStorageConfig] -> ShowS
UpdateInstanceStorageConfig -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateInstanceStorageConfig] -> ShowS
$cshowList :: [UpdateInstanceStorageConfig] -> ShowS
show :: UpdateInstanceStorageConfig -> String
$cshow :: UpdateInstanceStorageConfig -> String
showsPrec :: Int -> UpdateInstanceStorageConfig -> ShowS
$cshowsPrec :: Int -> UpdateInstanceStorageConfig -> ShowS
Prelude.Show, forall x.
Rep UpdateInstanceStorageConfig x -> UpdateInstanceStorageConfig
forall x.
UpdateInstanceStorageConfig -> Rep UpdateInstanceStorageConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateInstanceStorageConfig x -> UpdateInstanceStorageConfig
$cfrom :: forall x.
UpdateInstanceStorageConfig -> Rep UpdateInstanceStorageConfig x
Prelude.Generic)
newUpdateInstanceStorageConfig ::
Prelude.Text ->
Prelude.Text ->
InstanceStorageResourceType ->
InstanceStorageConfig ->
UpdateInstanceStorageConfig
newUpdateInstanceStorageConfig :: Text
-> Text
-> InstanceStorageResourceType
-> InstanceStorageConfig
-> UpdateInstanceStorageConfig
newUpdateInstanceStorageConfig
Text
pInstanceId_
Text
pAssociationId_
InstanceStorageResourceType
pResourceType_
InstanceStorageConfig
pStorageConfig_ =
UpdateInstanceStorageConfig'
{ $sel:instanceId:UpdateInstanceStorageConfig' :: Text
instanceId =
Text
pInstanceId_,
$sel:associationId:UpdateInstanceStorageConfig' :: Text
associationId = Text
pAssociationId_,
$sel:resourceType:UpdateInstanceStorageConfig' :: InstanceStorageResourceType
resourceType = InstanceStorageResourceType
pResourceType_,
$sel:storageConfig:UpdateInstanceStorageConfig' :: InstanceStorageConfig
storageConfig = InstanceStorageConfig
pStorageConfig_
}
updateInstanceStorageConfig_instanceId :: Lens.Lens' UpdateInstanceStorageConfig Prelude.Text
updateInstanceStorageConfig_instanceId :: Lens' UpdateInstanceStorageConfig Text
updateInstanceStorageConfig_instanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateInstanceStorageConfig' {Text
instanceId :: Text
$sel:instanceId:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> Text
instanceId} -> Text
instanceId) (\s :: UpdateInstanceStorageConfig
s@UpdateInstanceStorageConfig' {} Text
a -> UpdateInstanceStorageConfig
s {$sel:instanceId:UpdateInstanceStorageConfig' :: Text
instanceId = Text
a} :: UpdateInstanceStorageConfig)
updateInstanceStorageConfig_associationId :: Lens.Lens' UpdateInstanceStorageConfig Prelude.Text
updateInstanceStorageConfig_associationId :: Lens' UpdateInstanceStorageConfig Text
updateInstanceStorageConfig_associationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateInstanceStorageConfig' {Text
associationId :: Text
$sel:associationId:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> Text
associationId} -> Text
associationId) (\s :: UpdateInstanceStorageConfig
s@UpdateInstanceStorageConfig' {} Text
a -> UpdateInstanceStorageConfig
s {$sel:associationId:UpdateInstanceStorageConfig' :: Text
associationId = Text
a} :: UpdateInstanceStorageConfig)
updateInstanceStorageConfig_resourceType :: Lens.Lens' UpdateInstanceStorageConfig InstanceStorageResourceType
updateInstanceStorageConfig_resourceType :: Lens' UpdateInstanceStorageConfig InstanceStorageResourceType
updateInstanceStorageConfig_resourceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateInstanceStorageConfig' {InstanceStorageResourceType
resourceType :: InstanceStorageResourceType
$sel:resourceType:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> InstanceStorageResourceType
resourceType} -> InstanceStorageResourceType
resourceType) (\s :: UpdateInstanceStorageConfig
s@UpdateInstanceStorageConfig' {} InstanceStorageResourceType
a -> UpdateInstanceStorageConfig
s {$sel:resourceType:UpdateInstanceStorageConfig' :: InstanceStorageResourceType
resourceType = InstanceStorageResourceType
a} :: UpdateInstanceStorageConfig)
updateInstanceStorageConfig_storageConfig :: Lens.Lens' UpdateInstanceStorageConfig InstanceStorageConfig
updateInstanceStorageConfig_storageConfig :: Lens' UpdateInstanceStorageConfig InstanceStorageConfig
updateInstanceStorageConfig_storageConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateInstanceStorageConfig' {InstanceStorageConfig
storageConfig :: InstanceStorageConfig
$sel:storageConfig:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> InstanceStorageConfig
storageConfig} -> InstanceStorageConfig
storageConfig) (\s :: UpdateInstanceStorageConfig
s@UpdateInstanceStorageConfig' {} InstanceStorageConfig
a -> UpdateInstanceStorageConfig
s {$sel:storageConfig:UpdateInstanceStorageConfig' :: InstanceStorageConfig
storageConfig = InstanceStorageConfig
a} :: UpdateInstanceStorageConfig)
instance Core.AWSRequest UpdateInstanceStorageConfig where
type
AWSResponse UpdateInstanceStorageConfig =
UpdateInstanceStorageConfigResponse
request :: (Service -> Service)
-> UpdateInstanceStorageConfig
-> Request UpdateInstanceStorageConfig
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 UpdateInstanceStorageConfig
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateInstanceStorageConfig)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull
UpdateInstanceStorageConfigResponse
UpdateInstanceStorageConfigResponse'
instance Prelude.Hashable UpdateInstanceStorageConfig where
hashWithSalt :: Int -> UpdateInstanceStorageConfig -> Int
hashWithSalt Int
_salt UpdateInstanceStorageConfig' {Text
InstanceStorageResourceType
InstanceStorageConfig
storageConfig :: InstanceStorageConfig
resourceType :: InstanceStorageResourceType
associationId :: Text
instanceId :: Text
$sel:storageConfig:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> InstanceStorageConfig
$sel:resourceType:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> InstanceStorageResourceType
$sel:associationId:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> Text
$sel:instanceId:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
instanceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
associationId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` InstanceStorageResourceType
resourceType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` InstanceStorageConfig
storageConfig
instance Prelude.NFData UpdateInstanceStorageConfig where
rnf :: UpdateInstanceStorageConfig -> ()
rnf UpdateInstanceStorageConfig' {Text
InstanceStorageResourceType
InstanceStorageConfig
storageConfig :: InstanceStorageConfig
resourceType :: InstanceStorageResourceType
associationId :: Text
instanceId :: Text
$sel:storageConfig:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> InstanceStorageConfig
$sel:resourceType:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> InstanceStorageResourceType
$sel:associationId:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> Text
$sel:instanceId:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
instanceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
associationId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf InstanceStorageResourceType
resourceType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf InstanceStorageConfig
storageConfig
instance Data.ToHeaders UpdateInstanceStorageConfig where
toHeaders :: UpdateInstanceStorageConfig -> [Header]
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 -> [Header]
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON UpdateInstanceStorageConfig where
toJSON :: UpdateInstanceStorageConfig -> Value
toJSON UpdateInstanceStorageConfig' {Text
InstanceStorageResourceType
InstanceStorageConfig
storageConfig :: InstanceStorageConfig
resourceType :: InstanceStorageResourceType
associationId :: Text
instanceId :: Text
$sel:storageConfig:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> InstanceStorageConfig
$sel:resourceType:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> InstanceStorageResourceType
$sel:associationId:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> Text
$sel:instanceId:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"StorageConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= InstanceStorageConfig
storageConfig)
]
)
instance Data.ToPath UpdateInstanceStorageConfig where
toPath :: UpdateInstanceStorageConfig -> ByteString
toPath UpdateInstanceStorageConfig' {Text
InstanceStorageResourceType
InstanceStorageConfig
storageConfig :: InstanceStorageConfig
resourceType :: InstanceStorageResourceType
associationId :: Text
instanceId :: Text
$sel:storageConfig:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> InstanceStorageConfig
$sel:resourceType:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> InstanceStorageResourceType
$sel:associationId:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> Text
$sel:instanceId:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/instance/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
instanceId,
ByteString
"/storage-config/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
associationId
]
instance Data.ToQuery UpdateInstanceStorageConfig where
toQuery :: UpdateInstanceStorageConfig -> QueryString
toQuery UpdateInstanceStorageConfig' {Text
InstanceStorageResourceType
InstanceStorageConfig
storageConfig :: InstanceStorageConfig
resourceType :: InstanceStorageResourceType
associationId :: Text
instanceId :: Text
$sel:storageConfig:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> InstanceStorageConfig
$sel:resourceType:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> InstanceStorageResourceType
$sel:associationId:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> Text
$sel:instanceId:UpdateInstanceStorageConfig' :: UpdateInstanceStorageConfig -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"resourceType" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: InstanceStorageResourceType
resourceType]
data UpdateInstanceStorageConfigResponse = UpdateInstanceStorageConfigResponse'
{
}
deriving (UpdateInstanceStorageConfigResponse
-> UpdateInstanceStorageConfigResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateInstanceStorageConfigResponse
-> UpdateInstanceStorageConfigResponse -> Bool
$c/= :: UpdateInstanceStorageConfigResponse
-> UpdateInstanceStorageConfigResponse -> Bool
== :: UpdateInstanceStorageConfigResponse
-> UpdateInstanceStorageConfigResponse -> Bool
$c== :: UpdateInstanceStorageConfigResponse
-> UpdateInstanceStorageConfigResponse -> Bool
Prelude.Eq, ReadPrec [UpdateInstanceStorageConfigResponse]
ReadPrec UpdateInstanceStorageConfigResponse
Int -> ReadS UpdateInstanceStorageConfigResponse
ReadS [UpdateInstanceStorageConfigResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateInstanceStorageConfigResponse]
$creadListPrec :: ReadPrec [UpdateInstanceStorageConfigResponse]
readPrec :: ReadPrec UpdateInstanceStorageConfigResponse
$creadPrec :: ReadPrec UpdateInstanceStorageConfigResponse
readList :: ReadS [UpdateInstanceStorageConfigResponse]
$creadList :: ReadS [UpdateInstanceStorageConfigResponse]
readsPrec :: Int -> ReadS UpdateInstanceStorageConfigResponse
$creadsPrec :: Int -> ReadS UpdateInstanceStorageConfigResponse
Prelude.Read, Int -> UpdateInstanceStorageConfigResponse -> ShowS
[UpdateInstanceStorageConfigResponse] -> ShowS
UpdateInstanceStorageConfigResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateInstanceStorageConfigResponse] -> ShowS
$cshowList :: [UpdateInstanceStorageConfigResponse] -> ShowS
show :: UpdateInstanceStorageConfigResponse -> String
$cshow :: UpdateInstanceStorageConfigResponse -> String
showsPrec :: Int -> UpdateInstanceStorageConfigResponse -> ShowS
$cshowsPrec :: Int -> UpdateInstanceStorageConfigResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateInstanceStorageConfigResponse x
-> UpdateInstanceStorageConfigResponse
forall x.
UpdateInstanceStorageConfigResponse
-> Rep UpdateInstanceStorageConfigResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateInstanceStorageConfigResponse x
-> UpdateInstanceStorageConfigResponse
$cfrom :: forall x.
UpdateInstanceStorageConfigResponse
-> Rep UpdateInstanceStorageConfigResponse x
Prelude.Generic)
newUpdateInstanceStorageConfigResponse ::
UpdateInstanceStorageConfigResponse
newUpdateInstanceStorageConfigResponse :: UpdateInstanceStorageConfigResponse
newUpdateInstanceStorageConfigResponse =
UpdateInstanceStorageConfigResponse
UpdateInstanceStorageConfigResponse'
instance
Prelude.NFData
UpdateInstanceStorageConfigResponse
where
rnf :: UpdateInstanceStorageConfigResponse -> ()
rnf UpdateInstanceStorageConfigResponse
_ = ()