{-# 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.SSMIncidents.UpdateRelatedItems
(
UpdateRelatedItems (..),
newUpdateRelatedItems,
updateRelatedItems_clientToken,
updateRelatedItems_incidentRecordArn,
updateRelatedItems_relatedItemsUpdate,
UpdateRelatedItemsResponse (..),
newUpdateRelatedItemsResponse,
updateRelatedItemsResponse_httpStatus,
)
where
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
import Amazonka.SSMIncidents.Types
data UpdateRelatedItems = UpdateRelatedItems'
{
UpdateRelatedItems -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
UpdateRelatedItems -> Text
incidentRecordArn :: Prelude.Text,
UpdateRelatedItems -> RelatedItemsUpdate
relatedItemsUpdate :: RelatedItemsUpdate
}
deriving (UpdateRelatedItems -> UpdateRelatedItems -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateRelatedItems -> UpdateRelatedItems -> Bool
$c/= :: UpdateRelatedItems -> UpdateRelatedItems -> Bool
== :: UpdateRelatedItems -> UpdateRelatedItems -> Bool
$c== :: UpdateRelatedItems -> UpdateRelatedItems -> Bool
Prelude.Eq, ReadPrec [UpdateRelatedItems]
ReadPrec UpdateRelatedItems
Int -> ReadS UpdateRelatedItems
ReadS [UpdateRelatedItems]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateRelatedItems]
$creadListPrec :: ReadPrec [UpdateRelatedItems]
readPrec :: ReadPrec UpdateRelatedItems
$creadPrec :: ReadPrec UpdateRelatedItems
readList :: ReadS [UpdateRelatedItems]
$creadList :: ReadS [UpdateRelatedItems]
readsPrec :: Int -> ReadS UpdateRelatedItems
$creadsPrec :: Int -> ReadS UpdateRelatedItems
Prelude.Read, Int -> UpdateRelatedItems -> ShowS
[UpdateRelatedItems] -> ShowS
UpdateRelatedItems -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateRelatedItems] -> ShowS
$cshowList :: [UpdateRelatedItems] -> ShowS
show :: UpdateRelatedItems -> String
$cshow :: UpdateRelatedItems -> String
showsPrec :: Int -> UpdateRelatedItems -> ShowS
$cshowsPrec :: Int -> UpdateRelatedItems -> ShowS
Prelude.Show, forall x. Rep UpdateRelatedItems x -> UpdateRelatedItems
forall x. UpdateRelatedItems -> Rep UpdateRelatedItems x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateRelatedItems x -> UpdateRelatedItems
$cfrom :: forall x. UpdateRelatedItems -> Rep UpdateRelatedItems x
Prelude.Generic)
newUpdateRelatedItems ::
Prelude.Text ->
RelatedItemsUpdate ->
UpdateRelatedItems
newUpdateRelatedItems :: Text -> RelatedItemsUpdate -> UpdateRelatedItems
newUpdateRelatedItems
Text
pIncidentRecordArn_
RelatedItemsUpdate
pRelatedItemsUpdate_ =
UpdateRelatedItems'
{ $sel:clientToken:UpdateRelatedItems' :: Maybe Text
clientToken = forall a. Maybe a
Prelude.Nothing,
$sel:incidentRecordArn:UpdateRelatedItems' :: Text
incidentRecordArn = Text
pIncidentRecordArn_,
$sel:relatedItemsUpdate:UpdateRelatedItems' :: RelatedItemsUpdate
relatedItemsUpdate = RelatedItemsUpdate
pRelatedItemsUpdate_
}
updateRelatedItems_clientToken :: Lens.Lens' UpdateRelatedItems (Prelude.Maybe Prelude.Text)
updateRelatedItems_clientToken :: Lens' UpdateRelatedItems (Maybe Text)
updateRelatedItems_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRelatedItems' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:UpdateRelatedItems' :: UpdateRelatedItems -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: UpdateRelatedItems
s@UpdateRelatedItems' {} Maybe Text
a -> UpdateRelatedItems
s {$sel:clientToken:UpdateRelatedItems' :: Maybe Text
clientToken = Maybe Text
a} :: UpdateRelatedItems)
updateRelatedItems_incidentRecordArn :: Lens.Lens' UpdateRelatedItems Prelude.Text
updateRelatedItems_incidentRecordArn :: Lens' UpdateRelatedItems Text
updateRelatedItems_incidentRecordArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRelatedItems' {Text
incidentRecordArn :: Text
$sel:incidentRecordArn:UpdateRelatedItems' :: UpdateRelatedItems -> Text
incidentRecordArn} -> Text
incidentRecordArn) (\s :: UpdateRelatedItems
s@UpdateRelatedItems' {} Text
a -> UpdateRelatedItems
s {$sel:incidentRecordArn:UpdateRelatedItems' :: Text
incidentRecordArn = Text
a} :: UpdateRelatedItems)
updateRelatedItems_relatedItemsUpdate :: Lens.Lens' UpdateRelatedItems RelatedItemsUpdate
updateRelatedItems_relatedItemsUpdate :: Lens' UpdateRelatedItems RelatedItemsUpdate
updateRelatedItems_relatedItemsUpdate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRelatedItems' {RelatedItemsUpdate
relatedItemsUpdate :: RelatedItemsUpdate
$sel:relatedItemsUpdate:UpdateRelatedItems' :: UpdateRelatedItems -> RelatedItemsUpdate
relatedItemsUpdate} -> RelatedItemsUpdate
relatedItemsUpdate) (\s :: UpdateRelatedItems
s@UpdateRelatedItems' {} RelatedItemsUpdate
a -> UpdateRelatedItems
s {$sel:relatedItemsUpdate:UpdateRelatedItems' :: RelatedItemsUpdate
relatedItemsUpdate = RelatedItemsUpdate
a} :: UpdateRelatedItems)
instance Core.AWSRequest UpdateRelatedItems where
type
AWSResponse UpdateRelatedItems =
UpdateRelatedItemsResponse
request :: (Service -> Service)
-> UpdateRelatedItems -> Request UpdateRelatedItems
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 UpdateRelatedItems
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateRelatedItems)))
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 -> UpdateRelatedItemsResponse
UpdateRelatedItemsResponse'
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 UpdateRelatedItems where
hashWithSalt :: Int -> UpdateRelatedItems -> Int
hashWithSalt Int
_salt UpdateRelatedItems' {Maybe Text
Text
RelatedItemsUpdate
relatedItemsUpdate :: RelatedItemsUpdate
incidentRecordArn :: Text
clientToken :: Maybe Text
$sel:relatedItemsUpdate:UpdateRelatedItems' :: UpdateRelatedItems -> RelatedItemsUpdate
$sel:incidentRecordArn:UpdateRelatedItems' :: UpdateRelatedItems -> Text
$sel:clientToken:UpdateRelatedItems' :: UpdateRelatedItems -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
incidentRecordArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` RelatedItemsUpdate
relatedItemsUpdate
instance Prelude.NFData UpdateRelatedItems where
rnf :: UpdateRelatedItems -> ()
rnf UpdateRelatedItems' {Maybe Text
Text
RelatedItemsUpdate
relatedItemsUpdate :: RelatedItemsUpdate
incidentRecordArn :: Text
clientToken :: Maybe Text
$sel:relatedItemsUpdate:UpdateRelatedItems' :: UpdateRelatedItems -> RelatedItemsUpdate
$sel:incidentRecordArn:UpdateRelatedItems' :: UpdateRelatedItems -> Text
$sel:clientToken:UpdateRelatedItems' :: UpdateRelatedItems -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
incidentRecordArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf RelatedItemsUpdate
relatedItemsUpdate
instance Data.ToHeaders UpdateRelatedItems where
toHeaders :: UpdateRelatedItems -> 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 UpdateRelatedItems where
toJSON :: UpdateRelatedItems -> Value
toJSON UpdateRelatedItems' {Maybe Text
Text
RelatedItemsUpdate
relatedItemsUpdate :: RelatedItemsUpdate
incidentRecordArn :: Text
clientToken :: Maybe Text
$sel:relatedItemsUpdate:UpdateRelatedItems' :: UpdateRelatedItems -> RelatedItemsUpdate
$sel:incidentRecordArn:UpdateRelatedItems' :: UpdateRelatedItems -> Text
$sel:clientToken:UpdateRelatedItems' :: UpdateRelatedItems -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"clientToken" 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
clientToken,
forall a. a -> Maybe a
Prelude.Just
(Key
"incidentRecordArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
incidentRecordArn),
forall a. a -> Maybe a
Prelude.Just
(Key
"relatedItemsUpdate" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= RelatedItemsUpdate
relatedItemsUpdate)
]
)
instance Data.ToPath UpdateRelatedItems where
toPath :: UpdateRelatedItems -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/updateRelatedItems"
instance Data.ToQuery UpdateRelatedItems where
toQuery :: UpdateRelatedItems -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateRelatedItemsResponse = UpdateRelatedItemsResponse'
{
UpdateRelatedItemsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateRelatedItemsResponse -> UpdateRelatedItemsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateRelatedItemsResponse -> UpdateRelatedItemsResponse -> Bool
$c/= :: UpdateRelatedItemsResponse -> UpdateRelatedItemsResponse -> Bool
== :: UpdateRelatedItemsResponse -> UpdateRelatedItemsResponse -> Bool
$c== :: UpdateRelatedItemsResponse -> UpdateRelatedItemsResponse -> Bool
Prelude.Eq, ReadPrec [UpdateRelatedItemsResponse]
ReadPrec UpdateRelatedItemsResponse
Int -> ReadS UpdateRelatedItemsResponse
ReadS [UpdateRelatedItemsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateRelatedItemsResponse]
$creadListPrec :: ReadPrec [UpdateRelatedItemsResponse]
readPrec :: ReadPrec UpdateRelatedItemsResponse
$creadPrec :: ReadPrec UpdateRelatedItemsResponse
readList :: ReadS [UpdateRelatedItemsResponse]
$creadList :: ReadS [UpdateRelatedItemsResponse]
readsPrec :: Int -> ReadS UpdateRelatedItemsResponse
$creadsPrec :: Int -> ReadS UpdateRelatedItemsResponse
Prelude.Read, Int -> UpdateRelatedItemsResponse -> ShowS
[UpdateRelatedItemsResponse] -> ShowS
UpdateRelatedItemsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateRelatedItemsResponse] -> ShowS
$cshowList :: [UpdateRelatedItemsResponse] -> ShowS
show :: UpdateRelatedItemsResponse -> String
$cshow :: UpdateRelatedItemsResponse -> String
showsPrec :: Int -> UpdateRelatedItemsResponse -> ShowS
$cshowsPrec :: Int -> UpdateRelatedItemsResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateRelatedItemsResponse x -> UpdateRelatedItemsResponse
forall x.
UpdateRelatedItemsResponse -> Rep UpdateRelatedItemsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateRelatedItemsResponse x -> UpdateRelatedItemsResponse
$cfrom :: forall x.
UpdateRelatedItemsResponse -> Rep UpdateRelatedItemsResponse x
Prelude.Generic)
newUpdateRelatedItemsResponse ::
Prelude.Int ->
UpdateRelatedItemsResponse
newUpdateRelatedItemsResponse :: Int -> UpdateRelatedItemsResponse
newUpdateRelatedItemsResponse Int
pHttpStatus_ =
UpdateRelatedItemsResponse'
{ $sel:httpStatus:UpdateRelatedItemsResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
updateRelatedItemsResponse_httpStatus :: Lens.Lens' UpdateRelatedItemsResponse Prelude.Int
updateRelatedItemsResponse_httpStatus :: Lens' UpdateRelatedItemsResponse Int
updateRelatedItemsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRelatedItemsResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateRelatedItemsResponse' :: UpdateRelatedItemsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateRelatedItemsResponse
s@UpdateRelatedItemsResponse' {} Int
a -> UpdateRelatedItemsResponse
s {$sel:httpStatus:UpdateRelatedItemsResponse' :: Int
httpStatus = Int
a} :: UpdateRelatedItemsResponse)
instance Prelude.NFData UpdateRelatedItemsResponse where
rnf :: UpdateRelatedItemsResponse -> ()
rnf UpdateRelatedItemsResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateRelatedItemsResponse' :: UpdateRelatedItemsResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus