{-# 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.MGN.RemoveTemplateAction
(
RemoveTemplateAction (..),
newRemoveTemplateAction,
removeTemplateAction_actionID,
removeTemplateAction_launchConfigurationTemplateID,
RemoveTemplateActionResponse (..),
newRemoveTemplateActionResponse,
removeTemplateActionResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MGN.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data RemoveTemplateAction = RemoveTemplateAction'
{
RemoveTemplateAction -> Text
actionID :: Prelude.Text,
RemoveTemplateAction -> Text
launchConfigurationTemplateID :: Prelude.Text
}
deriving (RemoveTemplateAction -> RemoveTemplateAction -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RemoveTemplateAction -> RemoveTemplateAction -> Bool
$c/= :: RemoveTemplateAction -> RemoveTemplateAction -> Bool
== :: RemoveTemplateAction -> RemoveTemplateAction -> Bool
$c== :: RemoveTemplateAction -> RemoveTemplateAction -> Bool
Prelude.Eq, ReadPrec [RemoveTemplateAction]
ReadPrec RemoveTemplateAction
Int -> ReadS RemoveTemplateAction
ReadS [RemoveTemplateAction]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RemoveTemplateAction]
$creadListPrec :: ReadPrec [RemoveTemplateAction]
readPrec :: ReadPrec RemoveTemplateAction
$creadPrec :: ReadPrec RemoveTemplateAction
readList :: ReadS [RemoveTemplateAction]
$creadList :: ReadS [RemoveTemplateAction]
readsPrec :: Int -> ReadS RemoveTemplateAction
$creadsPrec :: Int -> ReadS RemoveTemplateAction
Prelude.Read, Int -> RemoveTemplateAction -> ShowS
[RemoveTemplateAction] -> ShowS
RemoveTemplateAction -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RemoveTemplateAction] -> ShowS
$cshowList :: [RemoveTemplateAction] -> ShowS
show :: RemoveTemplateAction -> String
$cshow :: RemoveTemplateAction -> String
showsPrec :: Int -> RemoveTemplateAction -> ShowS
$cshowsPrec :: Int -> RemoveTemplateAction -> ShowS
Prelude.Show, forall x. Rep RemoveTemplateAction x -> RemoveTemplateAction
forall x. RemoveTemplateAction -> Rep RemoveTemplateAction x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep RemoveTemplateAction x -> RemoveTemplateAction
$cfrom :: forall x. RemoveTemplateAction -> Rep RemoveTemplateAction x
Prelude.Generic)
newRemoveTemplateAction ::
Prelude.Text ->
Prelude.Text ->
RemoveTemplateAction
newRemoveTemplateAction :: Text -> Text -> RemoveTemplateAction
newRemoveTemplateAction
Text
pActionID_
Text
pLaunchConfigurationTemplateID_ =
RemoveTemplateAction'
{ $sel:actionID:RemoveTemplateAction' :: Text
actionID = Text
pActionID_,
$sel:launchConfigurationTemplateID:RemoveTemplateAction' :: Text
launchConfigurationTemplateID =
Text
pLaunchConfigurationTemplateID_
}
removeTemplateAction_actionID :: Lens.Lens' RemoveTemplateAction Prelude.Text
removeTemplateAction_actionID :: Lens' RemoveTemplateAction Text
removeTemplateAction_actionID = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemoveTemplateAction' {Text
actionID :: Text
$sel:actionID:RemoveTemplateAction' :: RemoveTemplateAction -> Text
actionID} -> Text
actionID) (\s :: RemoveTemplateAction
s@RemoveTemplateAction' {} Text
a -> RemoveTemplateAction
s {$sel:actionID:RemoveTemplateAction' :: Text
actionID = Text
a} :: RemoveTemplateAction)
removeTemplateAction_launchConfigurationTemplateID :: Lens.Lens' RemoveTemplateAction Prelude.Text
removeTemplateAction_launchConfigurationTemplateID :: Lens' RemoveTemplateAction Text
removeTemplateAction_launchConfigurationTemplateID = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemoveTemplateAction' {Text
launchConfigurationTemplateID :: Text
$sel:launchConfigurationTemplateID:RemoveTemplateAction' :: RemoveTemplateAction -> Text
launchConfigurationTemplateID} -> Text
launchConfigurationTemplateID) (\s :: RemoveTemplateAction
s@RemoveTemplateAction' {} Text
a -> RemoveTemplateAction
s {$sel:launchConfigurationTemplateID:RemoveTemplateAction' :: Text
launchConfigurationTemplateID = Text
a} :: RemoveTemplateAction)
instance Core.AWSRequest RemoveTemplateAction where
type
AWSResponse RemoveTemplateAction =
RemoveTemplateActionResponse
request :: (Service -> Service)
-> RemoveTemplateAction -> Request RemoveTemplateAction
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 RemoveTemplateAction
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse RemoveTemplateAction)))
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 -> RemoveTemplateActionResponse
RemoveTemplateActionResponse'
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 RemoveTemplateAction where
hashWithSalt :: Int -> RemoveTemplateAction -> Int
hashWithSalt Int
_salt RemoveTemplateAction' {Text
launchConfigurationTemplateID :: Text
actionID :: Text
$sel:launchConfigurationTemplateID:RemoveTemplateAction' :: RemoveTemplateAction -> Text
$sel:actionID:RemoveTemplateAction' :: RemoveTemplateAction -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
actionID
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
launchConfigurationTemplateID
instance Prelude.NFData RemoveTemplateAction where
rnf :: RemoveTemplateAction -> ()
rnf RemoveTemplateAction' {Text
launchConfigurationTemplateID :: Text
actionID :: Text
$sel:launchConfigurationTemplateID:RemoveTemplateAction' :: RemoveTemplateAction -> Text
$sel:actionID:RemoveTemplateAction' :: RemoveTemplateAction -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
actionID
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
launchConfigurationTemplateID
instance Data.ToHeaders RemoveTemplateAction where
toHeaders :: RemoveTemplateAction -> 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 RemoveTemplateAction where
toJSON :: RemoveTemplateAction -> Value
toJSON RemoveTemplateAction' {Text
launchConfigurationTemplateID :: Text
actionID :: Text
$sel:launchConfigurationTemplateID:RemoveTemplateAction' :: RemoveTemplateAction -> Text
$sel:actionID:RemoveTemplateAction' :: RemoveTemplateAction -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"actionID" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
actionID),
forall a. a -> Maybe a
Prelude.Just
( Key
"launchConfigurationTemplateID"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
launchConfigurationTemplateID
)
]
)
instance Data.ToPath RemoveTemplateAction where
toPath :: RemoveTemplateAction -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/RemoveTemplateAction"
instance Data.ToQuery RemoveTemplateAction where
toQuery :: RemoveTemplateAction -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data RemoveTemplateActionResponse = RemoveTemplateActionResponse'
{
RemoveTemplateActionResponse -> Int
httpStatus :: Prelude.Int
}
deriving (RemoveTemplateActionResponse
-> RemoveTemplateActionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RemoveTemplateActionResponse
-> RemoveTemplateActionResponse -> Bool
$c/= :: RemoveTemplateActionResponse
-> RemoveTemplateActionResponse -> Bool
== :: RemoveTemplateActionResponse
-> RemoveTemplateActionResponse -> Bool
$c== :: RemoveTemplateActionResponse
-> RemoveTemplateActionResponse -> Bool
Prelude.Eq, ReadPrec [RemoveTemplateActionResponse]
ReadPrec RemoveTemplateActionResponse
Int -> ReadS RemoveTemplateActionResponse
ReadS [RemoveTemplateActionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RemoveTemplateActionResponse]
$creadListPrec :: ReadPrec [RemoveTemplateActionResponse]
readPrec :: ReadPrec RemoveTemplateActionResponse
$creadPrec :: ReadPrec RemoveTemplateActionResponse
readList :: ReadS [RemoveTemplateActionResponse]
$creadList :: ReadS [RemoveTemplateActionResponse]
readsPrec :: Int -> ReadS RemoveTemplateActionResponse
$creadsPrec :: Int -> ReadS RemoveTemplateActionResponse
Prelude.Read, Int -> RemoveTemplateActionResponse -> ShowS
[RemoveTemplateActionResponse] -> ShowS
RemoveTemplateActionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RemoveTemplateActionResponse] -> ShowS
$cshowList :: [RemoveTemplateActionResponse] -> ShowS
show :: RemoveTemplateActionResponse -> String
$cshow :: RemoveTemplateActionResponse -> String
showsPrec :: Int -> RemoveTemplateActionResponse -> ShowS
$cshowsPrec :: Int -> RemoveTemplateActionResponse -> ShowS
Prelude.Show, forall x.
Rep RemoveTemplateActionResponse x -> RemoveTemplateActionResponse
forall x.
RemoveTemplateActionResponse -> Rep RemoveTemplateActionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RemoveTemplateActionResponse x -> RemoveTemplateActionResponse
$cfrom :: forall x.
RemoveTemplateActionResponse -> Rep RemoveTemplateActionResponse x
Prelude.Generic)
newRemoveTemplateActionResponse ::
Prelude.Int ->
RemoveTemplateActionResponse
newRemoveTemplateActionResponse :: Int -> RemoveTemplateActionResponse
newRemoveTemplateActionResponse Int
pHttpStatus_ =
RemoveTemplateActionResponse'
{ $sel:httpStatus:RemoveTemplateActionResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
removeTemplateActionResponse_httpStatus :: Lens.Lens' RemoveTemplateActionResponse Prelude.Int
removeTemplateActionResponse_httpStatus :: Lens' RemoveTemplateActionResponse Int
removeTemplateActionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemoveTemplateActionResponse' {Int
httpStatus :: Int
$sel:httpStatus:RemoveTemplateActionResponse' :: RemoveTemplateActionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: RemoveTemplateActionResponse
s@RemoveTemplateActionResponse' {} Int
a -> RemoveTemplateActionResponse
s {$sel:httpStatus:RemoveTemplateActionResponse' :: Int
httpStatus = Int
a} :: RemoveTemplateActionResponse)
instance Prelude.NFData RemoveTemplateActionResponse where
rnf :: RemoveTemplateActionResponse -> ()
rnf RemoveTemplateActionResponse' {Int
httpStatus :: Int
$sel:httpStatus:RemoveTemplateActionResponse' :: RemoveTemplateActionResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus