{-# 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.SSM.UpdateAssociationStatus
(
UpdateAssociationStatus (..),
newUpdateAssociationStatus,
updateAssociationStatus_name,
updateAssociationStatus_instanceId,
updateAssociationStatus_associationStatus,
UpdateAssociationStatusResponse (..),
newUpdateAssociationStatusResponse,
updateAssociationStatusResponse_associationDescription,
updateAssociationStatusResponse_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.SSM.Types
data UpdateAssociationStatus = UpdateAssociationStatus'
{
UpdateAssociationStatus -> Text
name :: Prelude.Text,
UpdateAssociationStatus -> Text
instanceId :: Prelude.Text,
UpdateAssociationStatus -> AssociationStatus
associationStatus :: AssociationStatus
}
deriving (UpdateAssociationStatus -> UpdateAssociationStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateAssociationStatus -> UpdateAssociationStatus -> Bool
$c/= :: UpdateAssociationStatus -> UpdateAssociationStatus -> Bool
== :: UpdateAssociationStatus -> UpdateAssociationStatus -> Bool
$c== :: UpdateAssociationStatus -> UpdateAssociationStatus -> Bool
Prelude.Eq, ReadPrec [UpdateAssociationStatus]
ReadPrec UpdateAssociationStatus
Int -> ReadS UpdateAssociationStatus
ReadS [UpdateAssociationStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateAssociationStatus]
$creadListPrec :: ReadPrec [UpdateAssociationStatus]
readPrec :: ReadPrec UpdateAssociationStatus
$creadPrec :: ReadPrec UpdateAssociationStatus
readList :: ReadS [UpdateAssociationStatus]
$creadList :: ReadS [UpdateAssociationStatus]
readsPrec :: Int -> ReadS UpdateAssociationStatus
$creadsPrec :: Int -> ReadS UpdateAssociationStatus
Prelude.Read, Int -> UpdateAssociationStatus -> ShowS
[UpdateAssociationStatus] -> ShowS
UpdateAssociationStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateAssociationStatus] -> ShowS
$cshowList :: [UpdateAssociationStatus] -> ShowS
show :: UpdateAssociationStatus -> String
$cshow :: UpdateAssociationStatus -> String
showsPrec :: Int -> UpdateAssociationStatus -> ShowS
$cshowsPrec :: Int -> UpdateAssociationStatus -> ShowS
Prelude.Show, forall x. Rep UpdateAssociationStatus x -> UpdateAssociationStatus
forall x. UpdateAssociationStatus -> Rep UpdateAssociationStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateAssociationStatus x -> UpdateAssociationStatus
$cfrom :: forall x. UpdateAssociationStatus -> Rep UpdateAssociationStatus x
Prelude.Generic)
newUpdateAssociationStatus ::
Prelude.Text ->
Prelude.Text ->
AssociationStatus ->
UpdateAssociationStatus
newUpdateAssociationStatus :: Text -> Text -> AssociationStatus -> UpdateAssociationStatus
newUpdateAssociationStatus
Text
pName_
Text
pInstanceId_
AssociationStatus
pAssociationStatus_ =
UpdateAssociationStatus'
{ $sel:name:UpdateAssociationStatus' :: Text
name = Text
pName_,
$sel:instanceId:UpdateAssociationStatus' :: Text
instanceId = Text
pInstanceId_,
$sel:associationStatus:UpdateAssociationStatus' :: AssociationStatus
associationStatus = AssociationStatus
pAssociationStatus_
}
updateAssociationStatus_name :: Lens.Lens' UpdateAssociationStatus Prelude.Text
updateAssociationStatus_name :: Lens' UpdateAssociationStatus Text
updateAssociationStatus_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssociationStatus' {Text
name :: Text
$sel:name:UpdateAssociationStatus' :: UpdateAssociationStatus -> Text
name} -> Text
name) (\s :: UpdateAssociationStatus
s@UpdateAssociationStatus' {} Text
a -> UpdateAssociationStatus
s {$sel:name:UpdateAssociationStatus' :: Text
name = Text
a} :: UpdateAssociationStatus)
updateAssociationStatus_instanceId :: Lens.Lens' UpdateAssociationStatus Prelude.Text
updateAssociationStatus_instanceId :: Lens' UpdateAssociationStatus Text
updateAssociationStatus_instanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssociationStatus' {Text
instanceId :: Text
$sel:instanceId:UpdateAssociationStatus' :: UpdateAssociationStatus -> Text
instanceId} -> Text
instanceId) (\s :: UpdateAssociationStatus
s@UpdateAssociationStatus' {} Text
a -> UpdateAssociationStatus
s {$sel:instanceId:UpdateAssociationStatus' :: Text
instanceId = Text
a} :: UpdateAssociationStatus)
updateAssociationStatus_associationStatus :: Lens.Lens' UpdateAssociationStatus AssociationStatus
updateAssociationStatus_associationStatus :: Lens' UpdateAssociationStatus AssociationStatus
updateAssociationStatus_associationStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssociationStatus' {AssociationStatus
associationStatus :: AssociationStatus
$sel:associationStatus:UpdateAssociationStatus' :: UpdateAssociationStatus -> AssociationStatus
associationStatus} -> AssociationStatus
associationStatus) (\s :: UpdateAssociationStatus
s@UpdateAssociationStatus' {} AssociationStatus
a -> UpdateAssociationStatus
s {$sel:associationStatus:UpdateAssociationStatus' :: AssociationStatus
associationStatus = AssociationStatus
a} :: UpdateAssociationStatus)
instance Core.AWSRequest UpdateAssociationStatus where
type
AWSResponse UpdateAssociationStatus =
UpdateAssociationStatusResponse
request :: (Service -> Service)
-> UpdateAssociationStatus -> Request UpdateAssociationStatus
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 UpdateAssociationStatus
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateAssociationStatus)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe AssociationDescription
-> Int -> UpdateAssociationStatusResponse
UpdateAssociationStatusResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"AssociationDescription")
forall (f :: * -> *) a b. Applicative f => 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 UpdateAssociationStatus where
hashWithSalt :: Int -> UpdateAssociationStatus -> Int
hashWithSalt Int
_salt UpdateAssociationStatus' {Text
AssociationStatus
associationStatus :: AssociationStatus
instanceId :: Text
name :: Text
$sel:associationStatus:UpdateAssociationStatus' :: UpdateAssociationStatus -> AssociationStatus
$sel:instanceId:UpdateAssociationStatus' :: UpdateAssociationStatus -> Text
$sel:name:UpdateAssociationStatus' :: UpdateAssociationStatus -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
instanceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` AssociationStatus
associationStatus
instance Prelude.NFData UpdateAssociationStatus where
rnf :: UpdateAssociationStatus -> ()
rnf UpdateAssociationStatus' {Text
AssociationStatus
associationStatus :: AssociationStatus
instanceId :: Text
name :: Text
$sel:associationStatus:UpdateAssociationStatus' :: UpdateAssociationStatus -> AssociationStatus
$sel:instanceId:UpdateAssociationStatus' :: UpdateAssociationStatus -> Text
$sel:name:UpdateAssociationStatus' :: UpdateAssociationStatus -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf 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 AssociationStatus
associationStatus
instance Data.ToHeaders UpdateAssociationStatus where
toHeaders :: UpdateAssociationStatus -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AmazonSSM.UpdateAssociationStatus" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON UpdateAssociationStatus where
toJSON :: UpdateAssociationStatus -> Value
toJSON UpdateAssociationStatus' {Text
AssociationStatus
associationStatus :: AssociationStatus
instanceId :: Text
name :: Text
$sel:associationStatus:UpdateAssociationStatus' :: UpdateAssociationStatus -> AssociationStatus
$sel:instanceId:UpdateAssociationStatus' :: UpdateAssociationStatus -> Text
$sel:name:UpdateAssociationStatus' :: UpdateAssociationStatus -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"Name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name),
forall a. a -> Maybe a
Prelude.Just (Key
"InstanceId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
instanceId),
forall a. a -> Maybe a
Prelude.Just
(Key
"AssociationStatus" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= AssociationStatus
associationStatus)
]
)
instance Data.ToPath UpdateAssociationStatus where
toPath :: UpdateAssociationStatus -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateAssociationStatus where
toQuery :: UpdateAssociationStatus -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateAssociationStatusResponse = UpdateAssociationStatusResponse'
{
UpdateAssociationStatusResponse -> Maybe AssociationDescription
associationDescription :: Prelude.Maybe AssociationDescription,
UpdateAssociationStatusResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateAssociationStatusResponse
-> UpdateAssociationStatusResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateAssociationStatusResponse
-> UpdateAssociationStatusResponse -> Bool
$c/= :: UpdateAssociationStatusResponse
-> UpdateAssociationStatusResponse -> Bool
== :: UpdateAssociationStatusResponse
-> UpdateAssociationStatusResponse -> Bool
$c== :: UpdateAssociationStatusResponse
-> UpdateAssociationStatusResponse -> Bool
Prelude.Eq, Int -> UpdateAssociationStatusResponse -> ShowS
[UpdateAssociationStatusResponse] -> ShowS
UpdateAssociationStatusResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateAssociationStatusResponse] -> ShowS
$cshowList :: [UpdateAssociationStatusResponse] -> ShowS
show :: UpdateAssociationStatusResponse -> String
$cshow :: UpdateAssociationStatusResponse -> String
showsPrec :: Int -> UpdateAssociationStatusResponse -> ShowS
$cshowsPrec :: Int -> UpdateAssociationStatusResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateAssociationStatusResponse x
-> UpdateAssociationStatusResponse
forall x.
UpdateAssociationStatusResponse
-> Rep UpdateAssociationStatusResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateAssociationStatusResponse x
-> UpdateAssociationStatusResponse
$cfrom :: forall x.
UpdateAssociationStatusResponse
-> Rep UpdateAssociationStatusResponse x
Prelude.Generic)
newUpdateAssociationStatusResponse ::
Prelude.Int ->
UpdateAssociationStatusResponse
newUpdateAssociationStatusResponse :: Int -> UpdateAssociationStatusResponse
newUpdateAssociationStatusResponse Int
pHttpStatus_ =
UpdateAssociationStatusResponse'
{ $sel:associationDescription:UpdateAssociationStatusResponse' :: Maybe AssociationDescription
associationDescription =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateAssociationStatusResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateAssociationStatusResponse_associationDescription :: Lens.Lens' UpdateAssociationStatusResponse (Prelude.Maybe AssociationDescription)
updateAssociationStatusResponse_associationDescription :: Lens'
UpdateAssociationStatusResponse (Maybe AssociationDescription)
updateAssociationStatusResponse_associationDescription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssociationStatusResponse' {Maybe AssociationDescription
associationDescription :: Maybe AssociationDescription
$sel:associationDescription:UpdateAssociationStatusResponse' :: UpdateAssociationStatusResponse -> Maybe AssociationDescription
associationDescription} -> Maybe AssociationDescription
associationDescription) (\s :: UpdateAssociationStatusResponse
s@UpdateAssociationStatusResponse' {} Maybe AssociationDescription
a -> UpdateAssociationStatusResponse
s {$sel:associationDescription:UpdateAssociationStatusResponse' :: Maybe AssociationDescription
associationDescription = Maybe AssociationDescription
a} :: UpdateAssociationStatusResponse)
updateAssociationStatusResponse_httpStatus :: Lens.Lens' UpdateAssociationStatusResponse Prelude.Int
updateAssociationStatusResponse_httpStatus :: Lens' UpdateAssociationStatusResponse Int
updateAssociationStatusResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssociationStatusResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateAssociationStatusResponse' :: UpdateAssociationStatusResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateAssociationStatusResponse
s@UpdateAssociationStatusResponse' {} Int
a -> UpdateAssociationStatusResponse
s {$sel:httpStatus:UpdateAssociationStatusResponse' :: Int
httpStatus = Int
a} :: UpdateAssociationStatusResponse)
instance
Prelude.NFData
UpdateAssociationStatusResponse
where
rnf :: UpdateAssociationStatusResponse -> ()
rnf UpdateAssociationStatusResponse' {Int
Maybe AssociationDescription
httpStatus :: Int
associationDescription :: Maybe AssociationDescription
$sel:httpStatus:UpdateAssociationStatusResponse' :: UpdateAssociationStatusResponse -> Int
$sel:associationDescription:UpdateAssociationStatusResponse' :: UpdateAssociationStatusResponse -> Maybe AssociationDescription
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe AssociationDescription
associationDescription
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus