{-# 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.UpdateHoursOfOperation
(
UpdateHoursOfOperation (..),
newUpdateHoursOfOperation,
updateHoursOfOperation_config,
updateHoursOfOperation_description,
updateHoursOfOperation_name,
updateHoursOfOperation_timeZone,
updateHoursOfOperation_instanceId,
updateHoursOfOperation_hoursOfOperationId,
UpdateHoursOfOperationResponse (..),
newUpdateHoursOfOperationResponse,
)
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 UpdateHoursOfOperation = UpdateHoursOfOperation'
{
UpdateHoursOfOperation -> Maybe [HoursOfOperationConfig]
config :: Prelude.Maybe [HoursOfOperationConfig],
UpdateHoursOfOperation -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
UpdateHoursOfOperation -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
UpdateHoursOfOperation -> Maybe Text
timeZone :: Prelude.Maybe Prelude.Text,
UpdateHoursOfOperation -> Text
instanceId :: Prelude.Text,
UpdateHoursOfOperation -> Text
hoursOfOperationId :: Prelude.Text
}
deriving (UpdateHoursOfOperation -> UpdateHoursOfOperation -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateHoursOfOperation -> UpdateHoursOfOperation -> Bool
$c/= :: UpdateHoursOfOperation -> UpdateHoursOfOperation -> Bool
== :: UpdateHoursOfOperation -> UpdateHoursOfOperation -> Bool
$c== :: UpdateHoursOfOperation -> UpdateHoursOfOperation -> Bool
Prelude.Eq, ReadPrec [UpdateHoursOfOperation]
ReadPrec UpdateHoursOfOperation
Int -> ReadS UpdateHoursOfOperation
ReadS [UpdateHoursOfOperation]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateHoursOfOperation]
$creadListPrec :: ReadPrec [UpdateHoursOfOperation]
readPrec :: ReadPrec UpdateHoursOfOperation
$creadPrec :: ReadPrec UpdateHoursOfOperation
readList :: ReadS [UpdateHoursOfOperation]
$creadList :: ReadS [UpdateHoursOfOperation]
readsPrec :: Int -> ReadS UpdateHoursOfOperation
$creadsPrec :: Int -> ReadS UpdateHoursOfOperation
Prelude.Read, Int -> UpdateHoursOfOperation -> ShowS
[UpdateHoursOfOperation] -> ShowS
UpdateHoursOfOperation -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateHoursOfOperation] -> ShowS
$cshowList :: [UpdateHoursOfOperation] -> ShowS
show :: UpdateHoursOfOperation -> String
$cshow :: UpdateHoursOfOperation -> String
showsPrec :: Int -> UpdateHoursOfOperation -> ShowS
$cshowsPrec :: Int -> UpdateHoursOfOperation -> ShowS
Prelude.Show, forall x. Rep UpdateHoursOfOperation x -> UpdateHoursOfOperation
forall x. UpdateHoursOfOperation -> Rep UpdateHoursOfOperation x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateHoursOfOperation x -> UpdateHoursOfOperation
$cfrom :: forall x. UpdateHoursOfOperation -> Rep UpdateHoursOfOperation x
Prelude.Generic)
newUpdateHoursOfOperation ::
Prelude.Text ->
Prelude.Text ->
UpdateHoursOfOperation
newUpdateHoursOfOperation :: Text -> Text -> UpdateHoursOfOperation
newUpdateHoursOfOperation
Text
pInstanceId_
Text
pHoursOfOperationId_ =
UpdateHoursOfOperation'
{ $sel:config:UpdateHoursOfOperation' :: Maybe [HoursOfOperationConfig]
config = forall a. Maybe a
Prelude.Nothing,
$sel:description:UpdateHoursOfOperation' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:name:UpdateHoursOfOperation' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:timeZone:UpdateHoursOfOperation' :: Maybe Text
timeZone = forall a. Maybe a
Prelude.Nothing,
$sel:instanceId:UpdateHoursOfOperation' :: Text
instanceId = Text
pInstanceId_,
$sel:hoursOfOperationId:UpdateHoursOfOperation' :: Text
hoursOfOperationId = Text
pHoursOfOperationId_
}
updateHoursOfOperation_config :: Lens.Lens' UpdateHoursOfOperation (Prelude.Maybe [HoursOfOperationConfig])
updateHoursOfOperation_config :: Lens' UpdateHoursOfOperation (Maybe [HoursOfOperationConfig])
updateHoursOfOperation_config = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateHoursOfOperation' {Maybe [HoursOfOperationConfig]
config :: Maybe [HoursOfOperationConfig]
$sel:config:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe [HoursOfOperationConfig]
config} -> Maybe [HoursOfOperationConfig]
config) (\s :: UpdateHoursOfOperation
s@UpdateHoursOfOperation' {} Maybe [HoursOfOperationConfig]
a -> UpdateHoursOfOperation
s {$sel:config:UpdateHoursOfOperation' :: Maybe [HoursOfOperationConfig]
config = Maybe [HoursOfOperationConfig]
a} :: UpdateHoursOfOperation) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
updateHoursOfOperation_description :: Lens.Lens' UpdateHoursOfOperation (Prelude.Maybe Prelude.Text)
updateHoursOfOperation_description :: Lens' UpdateHoursOfOperation (Maybe Text)
updateHoursOfOperation_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateHoursOfOperation' {Maybe Text
description :: Maybe Text
$sel:description:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe Text
description} -> Maybe Text
description) (\s :: UpdateHoursOfOperation
s@UpdateHoursOfOperation' {} Maybe Text
a -> UpdateHoursOfOperation
s {$sel:description:UpdateHoursOfOperation' :: Maybe Text
description = Maybe Text
a} :: UpdateHoursOfOperation)
updateHoursOfOperation_name :: Lens.Lens' UpdateHoursOfOperation (Prelude.Maybe Prelude.Text)
updateHoursOfOperation_name :: Lens' UpdateHoursOfOperation (Maybe Text)
updateHoursOfOperation_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateHoursOfOperation' {Maybe Text
name :: Maybe Text
$sel:name:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe Text
name} -> Maybe Text
name) (\s :: UpdateHoursOfOperation
s@UpdateHoursOfOperation' {} Maybe Text
a -> UpdateHoursOfOperation
s {$sel:name:UpdateHoursOfOperation' :: Maybe Text
name = Maybe Text
a} :: UpdateHoursOfOperation)
updateHoursOfOperation_timeZone :: Lens.Lens' UpdateHoursOfOperation (Prelude.Maybe Prelude.Text)
updateHoursOfOperation_timeZone :: Lens' UpdateHoursOfOperation (Maybe Text)
updateHoursOfOperation_timeZone = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateHoursOfOperation' {Maybe Text
timeZone :: Maybe Text
$sel:timeZone:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe Text
timeZone} -> Maybe Text
timeZone) (\s :: UpdateHoursOfOperation
s@UpdateHoursOfOperation' {} Maybe Text
a -> UpdateHoursOfOperation
s {$sel:timeZone:UpdateHoursOfOperation' :: Maybe Text
timeZone = Maybe Text
a} :: UpdateHoursOfOperation)
updateHoursOfOperation_instanceId :: Lens.Lens' UpdateHoursOfOperation Prelude.Text
updateHoursOfOperation_instanceId :: Lens' UpdateHoursOfOperation Text
updateHoursOfOperation_instanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateHoursOfOperation' {Text
instanceId :: Text
$sel:instanceId:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Text
instanceId} -> Text
instanceId) (\s :: UpdateHoursOfOperation
s@UpdateHoursOfOperation' {} Text
a -> UpdateHoursOfOperation
s {$sel:instanceId:UpdateHoursOfOperation' :: Text
instanceId = Text
a} :: UpdateHoursOfOperation)
updateHoursOfOperation_hoursOfOperationId :: Lens.Lens' UpdateHoursOfOperation Prelude.Text
updateHoursOfOperation_hoursOfOperationId :: Lens' UpdateHoursOfOperation Text
updateHoursOfOperation_hoursOfOperationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateHoursOfOperation' {Text
hoursOfOperationId :: Text
$sel:hoursOfOperationId:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Text
hoursOfOperationId} -> Text
hoursOfOperationId) (\s :: UpdateHoursOfOperation
s@UpdateHoursOfOperation' {} Text
a -> UpdateHoursOfOperation
s {$sel:hoursOfOperationId:UpdateHoursOfOperation' :: Text
hoursOfOperationId = Text
a} :: UpdateHoursOfOperation)
instance Core.AWSRequest UpdateHoursOfOperation where
type
AWSResponse UpdateHoursOfOperation =
UpdateHoursOfOperationResponse
request :: (Service -> Service)
-> UpdateHoursOfOperation -> Request UpdateHoursOfOperation
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 UpdateHoursOfOperation
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateHoursOfOperation)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull
UpdateHoursOfOperationResponse
UpdateHoursOfOperationResponse'
instance Prelude.Hashable UpdateHoursOfOperation where
hashWithSalt :: Int -> UpdateHoursOfOperation -> Int
hashWithSalt Int
_salt UpdateHoursOfOperation' {Maybe [HoursOfOperationConfig]
Maybe Text
Text
hoursOfOperationId :: Text
instanceId :: Text
timeZone :: Maybe Text
name :: Maybe Text
description :: Maybe Text
config :: Maybe [HoursOfOperationConfig]
$sel:hoursOfOperationId:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Text
$sel:instanceId:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Text
$sel:timeZone:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe Text
$sel:name:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe Text
$sel:description:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe Text
$sel:config:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe [HoursOfOperationConfig]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [HoursOfOperationConfig]
config
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` Maybe Text
timeZone
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
instanceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
hoursOfOperationId
instance Prelude.NFData UpdateHoursOfOperation where
rnf :: UpdateHoursOfOperation -> ()
rnf UpdateHoursOfOperation' {Maybe [HoursOfOperationConfig]
Maybe Text
Text
hoursOfOperationId :: Text
instanceId :: Text
timeZone :: Maybe Text
name :: Maybe Text
description :: Maybe Text
config :: Maybe [HoursOfOperationConfig]
$sel:hoursOfOperationId:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Text
$sel:instanceId:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Text
$sel:timeZone:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe Text
$sel:name:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe Text
$sel:description:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe Text
$sel:config:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe [HoursOfOperationConfig]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [HoursOfOperationConfig]
config
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 Maybe Text
timeZone
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
hoursOfOperationId
instance Data.ToHeaders UpdateHoursOfOperation where
toHeaders :: UpdateHoursOfOperation -> [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 UpdateHoursOfOperation where
toJSON :: UpdateHoursOfOperation -> Value
toJSON UpdateHoursOfOperation' {Maybe [HoursOfOperationConfig]
Maybe Text
Text
hoursOfOperationId :: Text
instanceId :: Text
timeZone :: Maybe Text
name :: Maybe Text
description :: Maybe Text
config :: Maybe [HoursOfOperationConfig]
$sel:hoursOfOperationId:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Text
$sel:instanceId:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Text
$sel:timeZone:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe Text
$sel:name:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe Text
$sel:description:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe Text
$sel:config:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe [HoursOfOperationConfig]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Config" 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 [HoursOfOperationConfig]
config,
(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,
(Key
"TimeZone" 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
timeZone
]
)
instance Data.ToPath UpdateHoursOfOperation where
toPath :: UpdateHoursOfOperation -> ByteString
toPath UpdateHoursOfOperation' {Maybe [HoursOfOperationConfig]
Maybe Text
Text
hoursOfOperationId :: Text
instanceId :: Text
timeZone :: Maybe Text
name :: Maybe Text
description :: Maybe Text
config :: Maybe [HoursOfOperationConfig]
$sel:hoursOfOperationId:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Text
$sel:instanceId:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Text
$sel:timeZone:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe Text
$sel:name:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe Text
$sel:description:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe Text
$sel:config:UpdateHoursOfOperation' :: UpdateHoursOfOperation -> Maybe [HoursOfOperationConfig]
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/hours-of-operations/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
instanceId,
ByteString
"/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
hoursOfOperationId
]
instance Data.ToQuery UpdateHoursOfOperation where
toQuery :: UpdateHoursOfOperation -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateHoursOfOperationResponse = UpdateHoursOfOperationResponse'
{
}
deriving (UpdateHoursOfOperationResponse
-> UpdateHoursOfOperationResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateHoursOfOperationResponse
-> UpdateHoursOfOperationResponse -> Bool
$c/= :: UpdateHoursOfOperationResponse
-> UpdateHoursOfOperationResponse -> Bool
== :: UpdateHoursOfOperationResponse
-> UpdateHoursOfOperationResponse -> Bool
$c== :: UpdateHoursOfOperationResponse
-> UpdateHoursOfOperationResponse -> Bool
Prelude.Eq, ReadPrec [UpdateHoursOfOperationResponse]
ReadPrec UpdateHoursOfOperationResponse
Int -> ReadS UpdateHoursOfOperationResponse
ReadS [UpdateHoursOfOperationResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateHoursOfOperationResponse]
$creadListPrec :: ReadPrec [UpdateHoursOfOperationResponse]
readPrec :: ReadPrec UpdateHoursOfOperationResponse
$creadPrec :: ReadPrec UpdateHoursOfOperationResponse
readList :: ReadS [UpdateHoursOfOperationResponse]
$creadList :: ReadS [UpdateHoursOfOperationResponse]
readsPrec :: Int -> ReadS UpdateHoursOfOperationResponse
$creadsPrec :: Int -> ReadS UpdateHoursOfOperationResponse
Prelude.Read, Int -> UpdateHoursOfOperationResponse -> ShowS
[UpdateHoursOfOperationResponse] -> ShowS
UpdateHoursOfOperationResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateHoursOfOperationResponse] -> ShowS
$cshowList :: [UpdateHoursOfOperationResponse] -> ShowS
show :: UpdateHoursOfOperationResponse -> String
$cshow :: UpdateHoursOfOperationResponse -> String
showsPrec :: Int -> UpdateHoursOfOperationResponse -> ShowS
$cshowsPrec :: Int -> UpdateHoursOfOperationResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateHoursOfOperationResponse x
-> UpdateHoursOfOperationResponse
forall x.
UpdateHoursOfOperationResponse
-> Rep UpdateHoursOfOperationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateHoursOfOperationResponse x
-> UpdateHoursOfOperationResponse
$cfrom :: forall x.
UpdateHoursOfOperationResponse
-> Rep UpdateHoursOfOperationResponse x
Prelude.Generic)
newUpdateHoursOfOperationResponse ::
UpdateHoursOfOperationResponse
newUpdateHoursOfOperationResponse :: UpdateHoursOfOperationResponse
newUpdateHoursOfOperationResponse =
UpdateHoursOfOperationResponse
UpdateHoursOfOperationResponse'
instance
Prelude.NFData
UpdateHoursOfOperationResponse
where
rnf :: UpdateHoursOfOperationResponse -> ()
rnf UpdateHoursOfOperationResponse
_ = ()