{-# 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.EC2.EnableSerialConsoleAccess
(
EnableSerialConsoleAccess (..),
newEnableSerialConsoleAccess,
enableSerialConsoleAccess_dryRun,
EnableSerialConsoleAccessResponse (..),
newEnableSerialConsoleAccessResponse,
enableSerialConsoleAccessResponse_serialConsoleAccessEnabled,
enableSerialConsoleAccessResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EC2.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data EnableSerialConsoleAccess = EnableSerialConsoleAccess'
{
EnableSerialConsoleAccess -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool
}
deriving (EnableSerialConsoleAccess -> EnableSerialConsoleAccess -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EnableSerialConsoleAccess -> EnableSerialConsoleAccess -> Bool
$c/= :: EnableSerialConsoleAccess -> EnableSerialConsoleAccess -> Bool
== :: EnableSerialConsoleAccess -> EnableSerialConsoleAccess -> Bool
$c== :: EnableSerialConsoleAccess -> EnableSerialConsoleAccess -> Bool
Prelude.Eq, ReadPrec [EnableSerialConsoleAccess]
ReadPrec EnableSerialConsoleAccess
Int -> ReadS EnableSerialConsoleAccess
ReadS [EnableSerialConsoleAccess]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [EnableSerialConsoleAccess]
$creadListPrec :: ReadPrec [EnableSerialConsoleAccess]
readPrec :: ReadPrec EnableSerialConsoleAccess
$creadPrec :: ReadPrec EnableSerialConsoleAccess
readList :: ReadS [EnableSerialConsoleAccess]
$creadList :: ReadS [EnableSerialConsoleAccess]
readsPrec :: Int -> ReadS EnableSerialConsoleAccess
$creadsPrec :: Int -> ReadS EnableSerialConsoleAccess
Prelude.Read, Int -> EnableSerialConsoleAccess -> ShowS
[EnableSerialConsoleAccess] -> ShowS
EnableSerialConsoleAccess -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EnableSerialConsoleAccess] -> ShowS
$cshowList :: [EnableSerialConsoleAccess] -> ShowS
show :: EnableSerialConsoleAccess -> String
$cshow :: EnableSerialConsoleAccess -> String
showsPrec :: Int -> EnableSerialConsoleAccess -> ShowS
$cshowsPrec :: Int -> EnableSerialConsoleAccess -> ShowS
Prelude.Show, forall x.
Rep EnableSerialConsoleAccess x -> EnableSerialConsoleAccess
forall x.
EnableSerialConsoleAccess -> Rep EnableSerialConsoleAccess x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep EnableSerialConsoleAccess x -> EnableSerialConsoleAccess
$cfrom :: forall x.
EnableSerialConsoleAccess -> Rep EnableSerialConsoleAccess x
Prelude.Generic)
newEnableSerialConsoleAccess ::
EnableSerialConsoleAccess
newEnableSerialConsoleAccess :: EnableSerialConsoleAccess
newEnableSerialConsoleAccess =
EnableSerialConsoleAccess'
{ $sel:dryRun:EnableSerialConsoleAccess' :: Maybe Bool
dryRun =
forall a. Maybe a
Prelude.Nothing
}
enableSerialConsoleAccess_dryRun :: Lens.Lens' EnableSerialConsoleAccess (Prelude.Maybe Prelude.Bool)
enableSerialConsoleAccess_dryRun :: Lens' EnableSerialConsoleAccess (Maybe Bool)
enableSerialConsoleAccess_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnableSerialConsoleAccess' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:EnableSerialConsoleAccess' :: EnableSerialConsoleAccess -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: EnableSerialConsoleAccess
s@EnableSerialConsoleAccess' {} Maybe Bool
a -> EnableSerialConsoleAccess
s {$sel:dryRun:EnableSerialConsoleAccess' :: Maybe Bool
dryRun = Maybe Bool
a} :: EnableSerialConsoleAccess)
instance Core.AWSRequest EnableSerialConsoleAccess where
type
AWSResponse EnableSerialConsoleAccess =
EnableSerialConsoleAccessResponse
request :: (Service -> Service)
-> EnableSerialConsoleAccess -> Request EnableSerialConsoleAccess
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy EnableSerialConsoleAccess
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse EnableSerialConsoleAccess)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe Bool -> Int -> EnableSerialConsoleAccessResponse
EnableSerialConsoleAccessResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"serialConsoleAccessEnabled")
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 EnableSerialConsoleAccess where
hashWithSalt :: Int -> EnableSerialConsoleAccess -> Int
hashWithSalt Int
_salt EnableSerialConsoleAccess' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:EnableSerialConsoleAccess' :: EnableSerialConsoleAccess -> Maybe Bool
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
instance Prelude.NFData EnableSerialConsoleAccess where
rnf :: EnableSerialConsoleAccess -> ()
rnf EnableSerialConsoleAccess' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:EnableSerialConsoleAccess' :: EnableSerialConsoleAccess -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
dryRun
instance Data.ToHeaders EnableSerialConsoleAccess where
toHeaders :: EnableSerialConsoleAccess -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath EnableSerialConsoleAccess where
toPath :: EnableSerialConsoleAccess -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery EnableSerialConsoleAccess where
toQuery :: EnableSerialConsoleAccess -> QueryString
toQuery EnableSerialConsoleAccess' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:EnableSerialConsoleAccess' :: EnableSerialConsoleAccess -> Maybe Bool
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"EnableSerialConsoleAccess" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun
]
data EnableSerialConsoleAccessResponse = EnableSerialConsoleAccessResponse'
{
EnableSerialConsoleAccessResponse -> Maybe Bool
serialConsoleAccessEnabled :: Prelude.Maybe Prelude.Bool,
EnableSerialConsoleAccessResponse -> Int
httpStatus :: Prelude.Int
}
deriving (EnableSerialConsoleAccessResponse
-> EnableSerialConsoleAccessResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EnableSerialConsoleAccessResponse
-> EnableSerialConsoleAccessResponse -> Bool
$c/= :: EnableSerialConsoleAccessResponse
-> EnableSerialConsoleAccessResponse -> Bool
== :: EnableSerialConsoleAccessResponse
-> EnableSerialConsoleAccessResponse -> Bool
$c== :: EnableSerialConsoleAccessResponse
-> EnableSerialConsoleAccessResponse -> Bool
Prelude.Eq, ReadPrec [EnableSerialConsoleAccessResponse]
ReadPrec EnableSerialConsoleAccessResponse
Int -> ReadS EnableSerialConsoleAccessResponse
ReadS [EnableSerialConsoleAccessResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [EnableSerialConsoleAccessResponse]
$creadListPrec :: ReadPrec [EnableSerialConsoleAccessResponse]
readPrec :: ReadPrec EnableSerialConsoleAccessResponse
$creadPrec :: ReadPrec EnableSerialConsoleAccessResponse
readList :: ReadS [EnableSerialConsoleAccessResponse]
$creadList :: ReadS [EnableSerialConsoleAccessResponse]
readsPrec :: Int -> ReadS EnableSerialConsoleAccessResponse
$creadsPrec :: Int -> ReadS EnableSerialConsoleAccessResponse
Prelude.Read, Int -> EnableSerialConsoleAccessResponse -> ShowS
[EnableSerialConsoleAccessResponse] -> ShowS
EnableSerialConsoleAccessResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EnableSerialConsoleAccessResponse] -> ShowS
$cshowList :: [EnableSerialConsoleAccessResponse] -> ShowS
show :: EnableSerialConsoleAccessResponse -> String
$cshow :: EnableSerialConsoleAccessResponse -> String
showsPrec :: Int -> EnableSerialConsoleAccessResponse -> ShowS
$cshowsPrec :: Int -> EnableSerialConsoleAccessResponse -> ShowS
Prelude.Show, forall x.
Rep EnableSerialConsoleAccessResponse x
-> EnableSerialConsoleAccessResponse
forall x.
EnableSerialConsoleAccessResponse
-> Rep EnableSerialConsoleAccessResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep EnableSerialConsoleAccessResponse x
-> EnableSerialConsoleAccessResponse
$cfrom :: forall x.
EnableSerialConsoleAccessResponse
-> Rep EnableSerialConsoleAccessResponse x
Prelude.Generic)
newEnableSerialConsoleAccessResponse ::
Prelude.Int ->
EnableSerialConsoleAccessResponse
newEnableSerialConsoleAccessResponse :: Int -> EnableSerialConsoleAccessResponse
newEnableSerialConsoleAccessResponse Int
pHttpStatus_ =
EnableSerialConsoleAccessResponse'
{ $sel:serialConsoleAccessEnabled:EnableSerialConsoleAccessResponse' :: Maybe Bool
serialConsoleAccessEnabled =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:EnableSerialConsoleAccessResponse' :: Int
httpStatus = Int
pHttpStatus_
}
enableSerialConsoleAccessResponse_serialConsoleAccessEnabled :: Lens.Lens' EnableSerialConsoleAccessResponse (Prelude.Maybe Prelude.Bool)
enableSerialConsoleAccessResponse_serialConsoleAccessEnabled :: Lens' EnableSerialConsoleAccessResponse (Maybe Bool)
enableSerialConsoleAccessResponse_serialConsoleAccessEnabled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnableSerialConsoleAccessResponse' {Maybe Bool
serialConsoleAccessEnabled :: Maybe Bool
$sel:serialConsoleAccessEnabled:EnableSerialConsoleAccessResponse' :: EnableSerialConsoleAccessResponse -> Maybe Bool
serialConsoleAccessEnabled} -> Maybe Bool
serialConsoleAccessEnabled) (\s :: EnableSerialConsoleAccessResponse
s@EnableSerialConsoleAccessResponse' {} Maybe Bool
a -> EnableSerialConsoleAccessResponse
s {$sel:serialConsoleAccessEnabled:EnableSerialConsoleAccessResponse' :: Maybe Bool
serialConsoleAccessEnabled = Maybe Bool
a} :: EnableSerialConsoleAccessResponse)
enableSerialConsoleAccessResponse_httpStatus :: Lens.Lens' EnableSerialConsoleAccessResponse Prelude.Int
enableSerialConsoleAccessResponse_httpStatus :: Lens' EnableSerialConsoleAccessResponse Int
enableSerialConsoleAccessResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\EnableSerialConsoleAccessResponse' {Int
httpStatus :: Int
$sel:httpStatus:EnableSerialConsoleAccessResponse' :: EnableSerialConsoleAccessResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: EnableSerialConsoleAccessResponse
s@EnableSerialConsoleAccessResponse' {} Int
a -> EnableSerialConsoleAccessResponse
s {$sel:httpStatus:EnableSerialConsoleAccessResponse' :: Int
httpStatus = Int
a} :: EnableSerialConsoleAccessResponse)
instance
Prelude.NFData
EnableSerialConsoleAccessResponse
where
rnf :: EnableSerialConsoleAccessResponse -> ()
rnf EnableSerialConsoleAccessResponse' {Int
Maybe Bool
httpStatus :: Int
serialConsoleAccessEnabled :: Maybe Bool
$sel:httpStatus:EnableSerialConsoleAccessResponse' :: EnableSerialConsoleAccessResponse -> Int
$sel:serialConsoleAccessEnabled:EnableSerialConsoleAccessResponse' :: EnableSerialConsoleAccessResponse -> Maybe Bool
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
serialConsoleAccessEnabled
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus