{-# 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.ConnectCases.UpdateField
(
UpdateField (..),
newUpdateField,
updateField_description,
updateField_name,
updateField_domainId,
updateField_fieldId,
UpdateFieldResponse (..),
newUpdateFieldResponse,
updateFieldResponse_httpStatus,
)
where
import Amazonka.ConnectCases.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 UpdateField = UpdateField'
{
UpdateField -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
UpdateField -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
UpdateField -> Text
domainId :: Prelude.Text,
UpdateField -> Text
fieldId :: Prelude.Text
}
deriving (UpdateField -> UpdateField -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateField -> UpdateField -> Bool
$c/= :: UpdateField -> UpdateField -> Bool
== :: UpdateField -> UpdateField -> Bool
$c== :: UpdateField -> UpdateField -> Bool
Prelude.Eq, ReadPrec [UpdateField]
ReadPrec UpdateField
Int -> ReadS UpdateField
ReadS [UpdateField]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateField]
$creadListPrec :: ReadPrec [UpdateField]
readPrec :: ReadPrec UpdateField
$creadPrec :: ReadPrec UpdateField
readList :: ReadS [UpdateField]
$creadList :: ReadS [UpdateField]
readsPrec :: Int -> ReadS UpdateField
$creadsPrec :: Int -> ReadS UpdateField
Prelude.Read, Int -> UpdateField -> ShowS
[UpdateField] -> ShowS
UpdateField -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateField] -> ShowS
$cshowList :: [UpdateField] -> ShowS
show :: UpdateField -> String
$cshow :: UpdateField -> String
showsPrec :: Int -> UpdateField -> ShowS
$cshowsPrec :: Int -> UpdateField -> ShowS
Prelude.Show, forall x. Rep UpdateField x -> UpdateField
forall x. UpdateField -> Rep UpdateField x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateField x -> UpdateField
$cfrom :: forall x. UpdateField -> Rep UpdateField x
Prelude.Generic)
newUpdateField ::
Prelude.Text ->
Prelude.Text ->
UpdateField
newUpdateField :: Text -> Text -> UpdateField
newUpdateField Text
pDomainId_ Text
pFieldId_ =
UpdateField'
{ $sel:description:UpdateField' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:name:UpdateField' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:domainId:UpdateField' :: Text
domainId = Text
pDomainId_,
$sel:fieldId:UpdateField' :: Text
fieldId = Text
pFieldId_
}
updateField_description :: Lens.Lens' UpdateField (Prelude.Maybe Prelude.Text)
updateField_description :: Lens' UpdateField (Maybe Text)
updateField_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateField' {Maybe Text
description :: Maybe Text
$sel:description:UpdateField' :: UpdateField -> Maybe Text
description} -> Maybe Text
description) (\s :: UpdateField
s@UpdateField' {} Maybe Text
a -> UpdateField
s {$sel:description:UpdateField' :: Maybe Text
description = Maybe Text
a} :: UpdateField)
updateField_name :: Lens.Lens' UpdateField (Prelude.Maybe Prelude.Text)
updateField_name :: Lens' UpdateField (Maybe Text)
updateField_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateField' {Maybe Text
name :: Maybe Text
$sel:name:UpdateField' :: UpdateField -> Maybe Text
name} -> Maybe Text
name) (\s :: UpdateField
s@UpdateField' {} Maybe Text
a -> UpdateField
s {$sel:name:UpdateField' :: Maybe Text
name = Maybe Text
a} :: UpdateField)
updateField_domainId :: Lens.Lens' UpdateField Prelude.Text
updateField_domainId :: Lens' UpdateField Text
updateField_domainId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateField' {Text
domainId :: Text
$sel:domainId:UpdateField' :: UpdateField -> Text
domainId} -> Text
domainId) (\s :: UpdateField
s@UpdateField' {} Text
a -> UpdateField
s {$sel:domainId:UpdateField' :: Text
domainId = Text
a} :: UpdateField)
updateField_fieldId :: Lens.Lens' UpdateField Prelude.Text
updateField_fieldId :: Lens' UpdateField Text
updateField_fieldId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateField' {Text
fieldId :: Text
$sel:fieldId:UpdateField' :: UpdateField -> Text
fieldId} -> Text
fieldId) (\s :: UpdateField
s@UpdateField' {} Text
a -> UpdateField
s {$sel:fieldId:UpdateField' :: Text
fieldId = Text
a} :: UpdateField)
instance Core.AWSRequest UpdateField where
type AWSResponse UpdateField = UpdateFieldResponse
request :: (Service -> Service) -> UpdateField -> Request UpdateField
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 UpdateField
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse UpdateField)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> UpdateFieldResponse
UpdateFieldResponse'
forall (f :: * -> *) a b. Functor 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 UpdateField where
hashWithSalt :: Int -> UpdateField -> Int
hashWithSalt Int
_salt UpdateField' {Maybe Text
Text
fieldId :: Text
domainId :: Text
name :: Maybe Text
description :: Maybe Text
$sel:fieldId:UpdateField' :: UpdateField -> Text
$sel:domainId:UpdateField' :: UpdateField -> Text
$sel:name:UpdateField' :: UpdateField -> Maybe Text
$sel:description:UpdateField' :: UpdateField -> Maybe Text
..} =
Int
_salt
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
domainId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
fieldId
instance Prelude.NFData UpdateField where
rnf :: UpdateField -> ()
rnf UpdateField' {Maybe Text
Text
fieldId :: Text
domainId :: Text
name :: Maybe Text
description :: Maybe Text
$sel:fieldId:UpdateField' :: UpdateField -> Text
$sel:domainId:UpdateField' :: UpdateField -> Text
$sel:name:UpdateField' :: UpdateField -> Maybe Text
$sel:description:UpdateField' :: UpdateField -> Maybe Text
..} =
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
domainId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
fieldId
instance Data.ToHeaders UpdateField where
toHeaders :: UpdateField -> 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 UpdateField where
toJSON :: UpdateField -> Value
toJSON UpdateField' {Maybe Text
Text
fieldId :: Text
domainId :: Text
name :: Maybe Text
description :: Maybe Text
$sel:fieldId:UpdateField' :: UpdateField -> Text
$sel:domainId:UpdateField' :: UpdateField -> Text
$sel:name:UpdateField' :: UpdateField -> Maybe Text
$sel:description:UpdateField' :: UpdateField -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (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 UpdateField where
toPath :: UpdateField -> ByteString
toPath UpdateField' {Maybe Text
Text
fieldId :: Text
domainId :: Text
name :: Maybe Text
description :: Maybe Text
$sel:fieldId:UpdateField' :: UpdateField -> Text
$sel:domainId:UpdateField' :: UpdateField -> Text
$sel:name:UpdateField' :: UpdateField -> Maybe Text
$sel:description:UpdateField' :: UpdateField -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/domains/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
domainId,
ByteString
"/fields/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
fieldId
]
instance Data.ToQuery UpdateField where
toQuery :: UpdateField -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateFieldResponse = UpdateFieldResponse'
{
UpdateFieldResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateFieldResponse -> UpdateFieldResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateFieldResponse -> UpdateFieldResponse -> Bool
$c/= :: UpdateFieldResponse -> UpdateFieldResponse -> Bool
== :: UpdateFieldResponse -> UpdateFieldResponse -> Bool
$c== :: UpdateFieldResponse -> UpdateFieldResponse -> Bool
Prelude.Eq, ReadPrec [UpdateFieldResponse]
ReadPrec UpdateFieldResponse
Int -> ReadS UpdateFieldResponse
ReadS [UpdateFieldResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateFieldResponse]
$creadListPrec :: ReadPrec [UpdateFieldResponse]
readPrec :: ReadPrec UpdateFieldResponse
$creadPrec :: ReadPrec UpdateFieldResponse
readList :: ReadS [UpdateFieldResponse]
$creadList :: ReadS [UpdateFieldResponse]
readsPrec :: Int -> ReadS UpdateFieldResponse
$creadsPrec :: Int -> ReadS UpdateFieldResponse
Prelude.Read, Int -> UpdateFieldResponse -> ShowS
[UpdateFieldResponse] -> ShowS
UpdateFieldResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateFieldResponse] -> ShowS
$cshowList :: [UpdateFieldResponse] -> ShowS
show :: UpdateFieldResponse -> String
$cshow :: UpdateFieldResponse -> String
showsPrec :: Int -> UpdateFieldResponse -> ShowS
$cshowsPrec :: Int -> UpdateFieldResponse -> ShowS
Prelude.Show, forall x. Rep UpdateFieldResponse x -> UpdateFieldResponse
forall x. UpdateFieldResponse -> Rep UpdateFieldResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateFieldResponse x -> UpdateFieldResponse
$cfrom :: forall x. UpdateFieldResponse -> Rep UpdateFieldResponse x
Prelude.Generic)
newUpdateFieldResponse ::
Prelude.Int ->
UpdateFieldResponse
newUpdateFieldResponse :: Int -> UpdateFieldResponse
newUpdateFieldResponse Int
pHttpStatus_ =
UpdateFieldResponse' {$sel:httpStatus:UpdateFieldResponse' :: Int
httpStatus = Int
pHttpStatus_}
updateFieldResponse_httpStatus :: Lens.Lens' UpdateFieldResponse Prelude.Int
updateFieldResponse_httpStatus :: Lens' UpdateFieldResponse Int
updateFieldResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateFieldResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateFieldResponse' :: UpdateFieldResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateFieldResponse
s@UpdateFieldResponse' {} Int
a -> UpdateFieldResponse
s {$sel:httpStatus:UpdateFieldResponse' :: Int
httpStatus = Int
a} :: UpdateFieldResponse)
instance Prelude.NFData UpdateFieldResponse where
rnf :: UpdateFieldResponse -> ()
rnf UpdateFieldResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateFieldResponse' :: UpdateFieldResponse -> Int
..} = forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus