{-# 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.UpdateInstanceAttribute
(
UpdateInstanceAttribute (..),
newUpdateInstanceAttribute,
updateInstanceAttribute_instanceId,
updateInstanceAttribute_attributeType,
updateInstanceAttribute_value,
UpdateInstanceAttributeResponse (..),
newUpdateInstanceAttributeResponse,
)
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 UpdateInstanceAttribute = UpdateInstanceAttribute'
{
UpdateInstanceAttribute -> Text
instanceId :: Prelude.Text,
UpdateInstanceAttribute -> InstanceAttributeType
attributeType :: InstanceAttributeType,
UpdateInstanceAttribute -> Text
value :: Prelude.Text
}
deriving (UpdateInstanceAttribute -> UpdateInstanceAttribute -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateInstanceAttribute -> UpdateInstanceAttribute -> Bool
$c/= :: UpdateInstanceAttribute -> UpdateInstanceAttribute -> Bool
== :: UpdateInstanceAttribute -> UpdateInstanceAttribute -> Bool
$c== :: UpdateInstanceAttribute -> UpdateInstanceAttribute -> Bool
Prelude.Eq, ReadPrec [UpdateInstanceAttribute]
ReadPrec UpdateInstanceAttribute
Int -> ReadS UpdateInstanceAttribute
ReadS [UpdateInstanceAttribute]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateInstanceAttribute]
$creadListPrec :: ReadPrec [UpdateInstanceAttribute]
readPrec :: ReadPrec UpdateInstanceAttribute
$creadPrec :: ReadPrec UpdateInstanceAttribute
readList :: ReadS [UpdateInstanceAttribute]
$creadList :: ReadS [UpdateInstanceAttribute]
readsPrec :: Int -> ReadS UpdateInstanceAttribute
$creadsPrec :: Int -> ReadS UpdateInstanceAttribute
Prelude.Read, Int -> UpdateInstanceAttribute -> ShowS
[UpdateInstanceAttribute] -> ShowS
UpdateInstanceAttribute -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateInstanceAttribute] -> ShowS
$cshowList :: [UpdateInstanceAttribute] -> ShowS
show :: UpdateInstanceAttribute -> String
$cshow :: UpdateInstanceAttribute -> String
showsPrec :: Int -> UpdateInstanceAttribute -> ShowS
$cshowsPrec :: Int -> UpdateInstanceAttribute -> ShowS
Prelude.Show, forall x. Rep UpdateInstanceAttribute x -> UpdateInstanceAttribute
forall x. UpdateInstanceAttribute -> Rep UpdateInstanceAttribute x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateInstanceAttribute x -> UpdateInstanceAttribute
$cfrom :: forall x. UpdateInstanceAttribute -> Rep UpdateInstanceAttribute x
Prelude.Generic)
newUpdateInstanceAttribute ::
Prelude.Text ->
InstanceAttributeType ->
Prelude.Text ->
UpdateInstanceAttribute
newUpdateInstanceAttribute :: Text -> InstanceAttributeType -> Text -> UpdateInstanceAttribute
newUpdateInstanceAttribute
Text
pInstanceId_
InstanceAttributeType
pAttributeType_
Text
pValue_ =
UpdateInstanceAttribute'
{ $sel:instanceId:UpdateInstanceAttribute' :: Text
instanceId = Text
pInstanceId_,
$sel:attributeType:UpdateInstanceAttribute' :: InstanceAttributeType
attributeType = InstanceAttributeType
pAttributeType_,
$sel:value:UpdateInstanceAttribute' :: Text
value = Text
pValue_
}
updateInstanceAttribute_instanceId :: Lens.Lens' UpdateInstanceAttribute Prelude.Text
updateInstanceAttribute_instanceId :: Lens' UpdateInstanceAttribute Text
updateInstanceAttribute_instanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateInstanceAttribute' {Text
instanceId :: Text
$sel:instanceId:UpdateInstanceAttribute' :: UpdateInstanceAttribute -> Text
instanceId} -> Text
instanceId) (\s :: UpdateInstanceAttribute
s@UpdateInstanceAttribute' {} Text
a -> UpdateInstanceAttribute
s {$sel:instanceId:UpdateInstanceAttribute' :: Text
instanceId = Text
a} :: UpdateInstanceAttribute)
updateInstanceAttribute_attributeType :: Lens.Lens' UpdateInstanceAttribute InstanceAttributeType
updateInstanceAttribute_attributeType :: Lens' UpdateInstanceAttribute InstanceAttributeType
updateInstanceAttribute_attributeType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateInstanceAttribute' {InstanceAttributeType
attributeType :: InstanceAttributeType
$sel:attributeType:UpdateInstanceAttribute' :: UpdateInstanceAttribute -> InstanceAttributeType
attributeType} -> InstanceAttributeType
attributeType) (\s :: UpdateInstanceAttribute
s@UpdateInstanceAttribute' {} InstanceAttributeType
a -> UpdateInstanceAttribute
s {$sel:attributeType:UpdateInstanceAttribute' :: InstanceAttributeType
attributeType = InstanceAttributeType
a} :: UpdateInstanceAttribute)
updateInstanceAttribute_value :: Lens.Lens' UpdateInstanceAttribute Prelude.Text
updateInstanceAttribute_value :: Lens' UpdateInstanceAttribute Text
updateInstanceAttribute_value = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateInstanceAttribute' {Text
value :: Text
$sel:value:UpdateInstanceAttribute' :: UpdateInstanceAttribute -> Text
value} -> Text
value) (\s :: UpdateInstanceAttribute
s@UpdateInstanceAttribute' {} Text
a -> UpdateInstanceAttribute
s {$sel:value:UpdateInstanceAttribute' :: Text
value = Text
a} :: UpdateInstanceAttribute)
instance Core.AWSRequest UpdateInstanceAttribute where
type
AWSResponse UpdateInstanceAttribute =
UpdateInstanceAttributeResponse
request :: (Service -> Service)
-> UpdateInstanceAttribute -> Request UpdateInstanceAttribute
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 UpdateInstanceAttribute
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateInstanceAttribute)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull
UpdateInstanceAttributeResponse
UpdateInstanceAttributeResponse'
instance Prelude.Hashable UpdateInstanceAttribute where
hashWithSalt :: Int -> UpdateInstanceAttribute -> Int
hashWithSalt Int
_salt UpdateInstanceAttribute' {Text
InstanceAttributeType
value :: Text
attributeType :: InstanceAttributeType
instanceId :: Text
$sel:value:UpdateInstanceAttribute' :: UpdateInstanceAttribute -> Text
$sel:attributeType:UpdateInstanceAttribute' :: UpdateInstanceAttribute -> InstanceAttributeType
$sel:instanceId:UpdateInstanceAttribute' :: UpdateInstanceAttribute -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
instanceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` InstanceAttributeType
attributeType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
value
instance Prelude.NFData UpdateInstanceAttribute where
rnf :: UpdateInstanceAttribute -> ()
rnf UpdateInstanceAttribute' {Text
InstanceAttributeType
value :: Text
attributeType :: InstanceAttributeType
instanceId :: Text
$sel:value:UpdateInstanceAttribute' :: UpdateInstanceAttribute -> Text
$sel:attributeType:UpdateInstanceAttribute' :: UpdateInstanceAttribute -> InstanceAttributeType
$sel:instanceId:UpdateInstanceAttribute' :: UpdateInstanceAttribute -> 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 InstanceAttributeType
attributeType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
value
instance Data.ToHeaders UpdateInstanceAttribute where
toHeaders :: UpdateInstanceAttribute -> [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 UpdateInstanceAttribute where
toJSON :: UpdateInstanceAttribute -> Value
toJSON UpdateInstanceAttribute' {Text
InstanceAttributeType
value :: Text
attributeType :: InstanceAttributeType
instanceId :: Text
$sel:value:UpdateInstanceAttribute' :: UpdateInstanceAttribute -> Text
$sel:attributeType:UpdateInstanceAttribute' :: UpdateInstanceAttribute -> InstanceAttributeType
$sel:instanceId:UpdateInstanceAttribute' :: UpdateInstanceAttribute -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"Value" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
value)]
)
instance Data.ToPath UpdateInstanceAttribute where
toPath :: UpdateInstanceAttribute -> ByteString
toPath UpdateInstanceAttribute' {Text
InstanceAttributeType
value :: Text
attributeType :: InstanceAttributeType
instanceId :: Text
$sel:value:UpdateInstanceAttribute' :: UpdateInstanceAttribute -> Text
$sel:attributeType:UpdateInstanceAttribute' :: UpdateInstanceAttribute -> InstanceAttributeType
$sel:instanceId:UpdateInstanceAttribute' :: UpdateInstanceAttribute -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/instance/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
instanceId,
ByteString
"/attribute/",
forall a. ToByteString a => a -> ByteString
Data.toBS InstanceAttributeType
attributeType
]
instance Data.ToQuery UpdateInstanceAttribute where
toQuery :: UpdateInstanceAttribute -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateInstanceAttributeResponse = UpdateInstanceAttributeResponse'
{
}
deriving (UpdateInstanceAttributeResponse
-> UpdateInstanceAttributeResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateInstanceAttributeResponse
-> UpdateInstanceAttributeResponse -> Bool
$c/= :: UpdateInstanceAttributeResponse
-> UpdateInstanceAttributeResponse -> Bool
== :: UpdateInstanceAttributeResponse
-> UpdateInstanceAttributeResponse -> Bool
$c== :: UpdateInstanceAttributeResponse
-> UpdateInstanceAttributeResponse -> Bool
Prelude.Eq, ReadPrec [UpdateInstanceAttributeResponse]
ReadPrec UpdateInstanceAttributeResponse
Int -> ReadS UpdateInstanceAttributeResponse
ReadS [UpdateInstanceAttributeResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateInstanceAttributeResponse]
$creadListPrec :: ReadPrec [UpdateInstanceAttributeResponse]
readPrec :: ReadPrec UpdateInstanceAttributeResponse
$creadPrec :: ReadPrec UpdateInstanceAttributeResponse
readList :: ReadS [UpdateInstanceAttributeResponse]
$creadList :: ReadS [UpdateInstanceAttributeResponse]
readsPrec :: Int -> ReadS UpdateInstanceAttributeResponse
$creadsPrec :: Int -> ReadS UpdateInstanceAttributeResponse
Prelude.Read, Int -> UpdateInstanceAttributeResponse -> ShowS
[UpdateInstanceAttributeResponse] -> ShowS
UpdateInstanceAttributeResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateInstanceAttributeResponse] -> ShowS
$cshowList :: [UpdateInstanceAttributeResponse] -> ShowS
show :: UpdateInstanceAttributeResponse -> String
$cshow :: UpdateInstanceAttributeResponse -> String
showsPrec :: Int -> UpdateInstanceAttributeResponse -> ShowS
$cshowsPrec :: Int -> UpdateInstanceAttributeResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateInstanceAttributeResponse x
-> UpdateInstanceAttributeResponse
forall x.
UpdateInstanceAttributeResponse
-> Rep UpdateInstanceAttributeResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateInstanceAttributeResponse x
-> UpdateInstanceAttributeResponse
$cfrom :: forall x.
UpdateInstanceAttributeResponse
-> Rep UpdateInstanceAttributeResponse x
Prelude.Generic)
newUpdateInstanceAttributeResponse ::
UpdateInstanceAttributeResponse
newUpdateInstanceAttributeResponse :: UpdateInstanceAttributeResponse
newUpdateInstanceAttributeResponse =
UpdateInstanceAttributeResponse
UpdateInstanceAttributeResponse'
instance
Prelude.NFData
UpdateInstanceAttributeResponse
where
rnf :: UpdateInstanceAttributeResponse -> ()
rnf UpdateInstanceAttributeResponse
_ = ()