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