{-# 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.UpdateContactFlowMetadata
(
UpdateContactFlowMetadata (..),
newUpdateContactFlowMetadata,
updateContactFlowMetadata_contactFlowState,
updateContactFlowMetadata_description,
updateContactFlowMetadata_name,
updateContactFlowMetadata_instanceId,
updateContactFlowMetadata_contactFlowId,
UpdateContactFlowMetadataResponse (..),
newUpdateContactFlowMetadataResponse,
)
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 UpdateContactFlowMetadata = UpdateContactFlowMetadata'
{
UpdateContactFlowMetadata -> Maybe ContactFlowState
contactFlowState :: Prelude.Maybe ContactFlowState,
UpdateContactFlowMetadata -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
UpdateContactFlowMetadata -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
UpdateContactFlowMetadata -> Text
instanceId :: Prelude.Text,
UpdateContactFlowMetadata -> Text
contactFlowId :: Prelude.Text
}
deriving (UpdateContactFlowMetadata -> UpdateContactFlowMetadata -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateContactFlowMetadata -> UpdateContactFlowMetadata -> Bool
$c/= :: UpdateContactFlowMetadata -> UpdateContactFlowMetadata -> Bool
== :: UpdateContactFlowMetadata -> UpdateContactFlowMetadata -> Bool
$c== :: UpdateContactFlowMetadata -> UpdateContactFlowMetadata -> Bool
Prelude.Eq, ReadPrec [UpdateContactFlowMetadata]
ReadPrec UpdateContactFlowMetadata
Int -> ReadS UpdateContactFlowMetadata
ReadS [UpdateContactFlowMetadata]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateContactFlowMetadata]
$creadListPrec :: ReadPrec [UpdateContactFlowMetadata]
readPrec :: ReadPrec UpdateContactFlowMetadata
$creadPrec :: ReadPrec UpdateContactFlowMetadata
readList :: ReadS [UpdateContactFlowMetadata]
$creadList :: ReadS [UpdateContactFlowMetadata]
readsPrec :: Int -> ReadS UpdateContactFlowMetadata
$creadsPrec :: Int -> ReadS UpdateContactFlowMetadata
Prelude.Read, Int -> UpdateContactFlowMetadata -> ShowS
[UpdateContactFlowMetadata] -> ShowS
UpdateContactFlowMetadata -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateContactFlowMetadata] -> ShowS
$cshowList :: [UpdateContactFlowMetadata] -> ShowS
show :: UpdateContactFlowMetadata -> String
$cshow :: UpdateContactFlowMetadata -> String
showsPrec :: Int -> UpdateContactFlowMetadata -> ShowS
$cshowsPrec :: Int -> UpdateContactFlowMetadata -> ShowS
Prelude.Show, forall x.
Rep UpdateContactFlowMetadata x -> UpdateContactFlowMetadata
forall x.
UpdateContactFlowMetadata -> Rep UpdateContactFlowMetadata x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateContactFlowMetadata x -> UpdateContactFlowMetadata
$cfrom :: forall x.
UpdateContactFlowMetadata -> Rep UpdateContactFlowMetadata x
Prelude.Generic)
newUpdateContactFlowMetadata ::
Prelude.Text ->
Prelude.Text ->
UpdateContactFlowMetadata
newUpdateContactFlowMetadata :: Text -> Text -> UpdateContactFlowMetadata
newUpdateContactFlowMetadata
Text
pInstanceId_
Text
pContactFlowId_ =
UpdateContactFlowMetadata'
{ $sel:contactFlowState:UpdateContactFlowMetadata' :: Maybe ContactFlowState
contactFlowState =
forall a. Maybe a
Prelude.Nothing,
$sel:description:UpdateContactFlowMetadata' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:name:UpdateContactFlowMetadata' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:instanceId:UpdateContactFlowMetadata' :: Text
instanceId = Text
pInstanceId_,
$sel:contactFlowId:UpdateContactFlowMetadata' :: Text
contactFlowId = Text
pContactFlowId_
}
updateContactFlowMetadata_contactFlowState :: Lens.Lens' UpdateContactFlowMetadata (Prelude.Maybe ContactFlowState)
updateContactFlowMetadata_contactFlowState :: Lens' UpdateContactFlowMetadata (Maybe ContactFlowState)
updateContactFlowMetadata_contactFlowState = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateContactFlowMetadata' {Maybe ContactFlowState
contactFlowState :: Maybe ContactFlowState
$sel:contactFlowState:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Maybe ContactFlowState
contactFlowState} -> Maybe ContactFlowState
contactFlowState) (\s :: UpdateContactFlowMetadata
s@UpdateContactFlowMetadata' {} Maybe ContactFlowState
a -> UpdateContactFlowMetadata
s {$sel:contactFlowState:UpdateContactFlowMetadata' :: Maybe ContactFlowState
contactFlowState = Maybe ContactFlowState
a} :: UpdateContactFlowMetadata)
updateContactFlowMetadata_description :: Lens.Lens' UpdateContactFlowMetadata (Prelude.Maybe Prelude.Text)
updateContactFlowMetadata_description :: Lens' UpdateContactFlowMetadata (Maybe Text)
updateContactFlowMetadata_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateContactFlowMetadata' {Maybe Text
description :: Maybe Text
$sel:description:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Maybe Text
description} -> Maybe Text
description) (\s :: UpdateContactFlowMetadata
s@UpdateContactFlowMetadata' {} Maybe Text
a -> UpdateContactFlowMetadata
s {$sel:description:UpdateContactFlowMetadata' :: Maybe Text
description = Maybe Text
a} :: UpdateContactFlowMetadata)
updateContactFlowMetadata_name :: Lens.Lens' UpdateContactFlowMetadata (Prelude.Maybe Prelude.Text)
updateContactFlowMetadata_name :: Lens' UpdateContactFlowMetadata (Maybe Text)
updateContactFlowMetadata_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateContactFlowMetadata' {Maybe Text
name :: Maybe Text
$sel:name:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Maybe Text
name} -> Maybe Text
name) (\s :: UpdateContactFlowMetadata
s@UpdateContactFlowMetadata' {} Maybe Text
a -> UpdateContactFlowMetadata
s {$sel:name:UpdateContactFlowMetadata' :: Maybe Text
name = Maybe Text
a} :: UpdateContactFlowMetadata)
updateContactFlowMetadata_instanceId :: Lens.Lens' UpdateContactFlowMetadata Prelude.Text
updateContactFlowMetadata_instanceId :: Lens' UpdateContactFlowMetadata Text
updateContactFlowMetadata_instanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateContactFlowMetadata' {Text
instanceId :: Text
$sel:instanceId:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Text
instanceId} -> Text
instanceId) (\s :: UpdateContactFlowMetadata
s@UpdateContactFlowMetadata' {} Text
a -> UpdateContactFlowMetadata
s {$sel:instanceId:UpdateContactFlowMetadata' :: Text
instanceId = Text
a} :: UpdateContactFlowMetadata)
updateContactFlowMetadata_contactFlowId :: Lens.Lens' UpdateContactFlowMetadata Prelude.Text
updateContactFlowMetadata_contactFlowId :: Lens' UpdateContactFlowMetadata Text
updateContactFlowMetadata_contactFlowId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateContactFlowMetadata' {Text
contactFlowId :: Text
$sel:contactFlowId:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Text
contactFlowId} -> Text
contactFlowId) (\s :: UpdateContactFlowMetadata
s@UpdateContactFlowMetadata' {} Text
a -> UpdateContactFlowMetadata
s {$sel:contactFlowId:UpdateContactFlowMetadata' :: Text
contactFlowId = Text
a} :: UpdateContactFlowMetadata)
instance Core.AWSRequest UpdateContactFlowMetadata where
type
AWSResponse UpdateContactFlowMetadata =
UpdateContactFlowMetadataResponse
request :: (Service -> Service)
-> UpdateContactFlowMetadata -> Request UpdateContactFlowMetadata
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 UpdateContactFlowMetadata
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateContactFlowMetadata)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull
UpdateContactFlowMetadataResponse
UpdateContactFlowMetadataResponse'
instance Prelude.Hashable UpdateContactFlowMetadata where
hashWithSalt :: Int -> UpdateContactFlowMetadata -> Int
hashWithSalt Int
_salt UpdateContactFlowMetadata' {Maybe Text
Maybe ContactFlowState
Text
contactFlowId :: Text
instanceId :: Text
name :: Maybe Text
description :: Maybe Text
contactFlowState :: Maybe ContactFlowState
$sel:contactFlowId:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Text
$sel:instanceId:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Text
$sel:name:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Maybe Text
$sel:description:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Maybe Text
$sel:contactFlowState:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Maybe ContactFlowState
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ContactFlowState
contactFlowState
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
instanceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
contactFlowId
instance Prelude.NFData UpdateContactFlowMetadata where
rnf :: UpdateContactFlowMetadata -> ()
rnf UpdateContactFlowMetadata' {Maybe Text
Maybe ContactFlowState
Text
contactFlowId :: Text
instanceId :: Text
name :: Maybe Text
description :: Maybe Text
contactFlowState :: Maybe ContactFlowState
$sel:contactFlowId:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Text
$sel:instanceId:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Text
$sel:name:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Maybe Text
$sel:description:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Maybe Text
$sel:contactFlowState:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Maybe ContactFlowState
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ContactFlowState
contactFlowState
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` 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
contactFlowId
instance Data.ToHeaders UpdateContactFlowMetadata where
toHeaders :: UpdateContactFlowMetadata -> [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 UpdateContactFlowMetadata where
toJSON :: UpdateContactFlowMetadata -> Value
toJSON UpdateContactFlowMetadata' {Maybe Text
Maybe ContactFlowState
Text
contactFlowId :: Text
instanceId :: Text
name :: Maybe Text
description :: Maybe Text
contactFlowState :: Maybe ContactFlowState
$sel:contactFlowId:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Text
$sel:instanceId:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Text
$sel:name:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Maybe Text
$sel:description:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Maybe Text
$sel:contactFlowState:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Maybe ContactFlowState
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ContactFlowState" 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 ContactFlowState
contactFlowState,
(Key
"Description" 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
description,
(Key
"Name" 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
name
]
)
instance Data.ToPath UpdateContactFlowMetadata where
toPath :: UpdateContactFlowMetadata -> ByteString
toPath UpdateContactFlowMetadata' {Maybe Text
Maybe ContactFlowState
Text
contactFlowId :: Text
instanceId :: Text
name :: Maybe Text
description :: Maybe Text
contactFlowState :: Maybe ContactFlowState
$sel:contactFlowId:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Text
$sel:instanceId:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Text
$sel:name:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Maybe Text
$sel:description:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Maybe Text
$sel:contactFlowState:UpdateContactFlowMetadata' :: UpdateContactFlowMetadata -> Maybe ContactFlowState
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/contact-flows/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
instanceId,
ByteString
"/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
contactFlowId,
ByteString
"/metadata"
]
instance Data.ToQuery UpdateContactFlowMetadata where
toQuery :: UpdateContactFlowMetadata -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateContactFlowMetadataResponse = UpdateContactFlowMetadataResponse'
{
}
deriving (UpdateContactFlowMetadataResponse
-> UpdateContactFlowMetadataResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateContactFlowMetadataResponse
-> UpdateContactFlowMetadataResponse -> Bool
$c/= :: UpdateContactFlowMetadataResponse
-> UpdateContactFlowMetadataResponse -> Bool
== :: UpdateContactFlowMetadataResponse
-> UpdateContactFlowMetadataResponse -> Bool
$c== :: UpdateContactFlowMetadataResponse
-> UpdateContactFlowMetadataResponse -> Bool
Prelude.Eq, ReadPrec [UpdateContactFlowMetadataResponse]
ReadPrec UpdateContactFlowMetadataResponse
Int -> ReadS UpdateContactFlowMetadataResponse
ReadS [UpdateContactFlowMetadataResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateContactFlowMetadataResponse]
$creadListPrec :: ReadPrec [UpdateContactFlowMetadataResponse]
readPrec :: ReadPrec UpdateContactFlowMetadataResponse
$creadPrec :: ReadPrec UpdateContactFlowMetadataResponse
readList :: ReadS [UpdateContactFlowMetadataResponse]
$creadList :: ReadS [UpdateContactFlowMetadataResponse]
readsPrec :: Int -> ReadS UpdateContactFlowMetadataResponse
$creadsPrec :: Int -> ReadS UpdateContactFlowMetadataResponse
Prelude.Read, Int -> UpdateContactFlowMetadataResponse -> ShowS
[UpdateContactFlowMetadataResponse] -> ShowS
UpdateContactFlowMetadataResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateContactFlowMetadataResponse] -> ShowS
$cshowList :: [UpdateContactFlowMetadataResponse] -> ShowS
show :: UpdateContactFlowMetadataResponse -> String
$cshow :: UpdateContactFlowMetadataResponse -> String
showsPrec :: Int -> UpdateContactFlowMetadataResponse -> ShowS
$cshowsPrec :: Int -> UpdateContactFlowMetadataResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateContactFlowMetadataResponse x
-> UpdateContactFlowMetadataResponse
forall x.
UpdateContactFlowMetadataResponse
-> Rep UpdateContactFlowMetadataResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateContactFlowMetadataResponse x
-> UpdateContactFlowMetadataResponse
$cfrom :: forall x.
UpdateContactFlowMetadataResponse
-> Rep UpdateContactFlowMetadataResponse x
Prelude.Generic)
newUpdateContactFlowMetadataResponse ::
UpdateContactFlowMetadataResponse
newUpdateContactFlowMetadataResponse :: UpdateContactFlowMetadataResponse
newUpdateContactFlowMetadataResponse =
UpdateContactFlowMetadataResponse
UpdateContactFlowMetadataResponse'
instance
Prelude.NFData
UpdateContactFlowMetadataResponse
where
rnf :: UpdateContactFlowMetadataResponse -> ()
rnf UpdateContactFlowMetadataResponse
_ = ()