{-# 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.StorageGateway.StartAvailabilityMonitorTest
(
StartAvailabilityMonitorTest (..),
newStartAvailabilityMonitorTest,
startAvailabilityMonitorTest_gatewayARN,
StartAvailabilityMonitorTestResponse (..),
newStartAvailabilityMonitorTestResponse,
startAvailabilityMonitorTestResponse_gatewayARN,
startAvailabilityMonitorTestResponse_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.StorageGateway.Types
data StartAvailabilityMonitorTest = StartAvailabilityMonitorTest'
{ StartAvailabilityMonitorTest -> Text
gatewayARN :: Prelude.Text
}
deriving (StartAvailabilityMonitorTest
-> StartAvailabilityMonitorTest -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartAvailabilityMonitorTest
-> StartAvailabilityMonitorTest -> Bool
$c/= :: StartAvailabilityMonitorTest
-> StartAvailabilityMonitorTest -> Bool
== :: StartAvailabilityMonitorTest
-> StartAvailabilityMonitorTest -> Bool
$c== :: StartAvailabilityMonitorTest
-> StartAvailabilityMonitorTest -> Bool
Prelude.Eq, ReadPrec [StartAvailabilityMonitorTest]
ReadPrec StartAvailabilityMonitorTest
Int -> ReadS StartAvailabilityMonitorTest
ReadS [StartAvailabilityMonitorTest]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartAvailabilityMonitorTest]
$creadListPrec :: ReadPrec [StartAvailabilityMonitorTest]
readPrec :: ReadPrec StartAvailabilityMonitorTest
$creadPrec :: ReadPrec StartAvailabilityMonitorTest
readList :: ReadS [StartAvailabilityMonitorTest]
$creadList :: ReadS [StartAvailabilityMonitorTest]
readsPrec :: Int -> ReadS StartAvailabilityMonitorTest
$creadsPrec :: Int -> ReadS StartAvailabilityMonitorTest
Prelude.Read, Int -> StartAvailabilityMonitorTest -> ShowS
[StartAvailabilityMonitorTest] -> ShowS
StartAvailabilityMonitorTest -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartAvailabilityMonitorTest] -> ShowS
$cshowList :: [StartAvailabilityMonitorTest] -> ShowS
show :: StartAvailabilityMonitorTest -> String
$cshow :: StartAvailabilityMonitorTest -> String
showsPrec :: Int -> StartAvailabilityMonitorTest -> ShowS
$cshowsPrec :: Int -> StartAvailabilityMonitorTest -> ShowS
Prelude.Show, forall x.
Rep StartAvailabilityMonitorTest x -> StartAvailabilityMonitorTest
forall x.
StartAvailabilityMonitorTest -> Rep StartAvailabilityMonitorTest x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartAvailabilityMonitorTest x -> StartAvailabilityMonitorTest
$cfrom :: forall x.
StartAvailabilityMonitorTest -> Rep StartAvailabilityMonitorTest x
Prelude.Generic)
newStartAvailabilityMonitorTest ::
Prelude.Text ->
StartAvailabilityMonitorTest
newStartAvailabilityMonitorTest :: Text -> StartAvailabilityMonitorTest
newStartAvailabilityMonitorTest Text
pGatewayARN_ =
StartAvailabilityMonitorTest'
{ $sel:gatewayARN:StartAvailabilityMonitorTest' :: Text
gatewayARN =
Text
pGatewayARN_
}
startAvailabilityMonitorTest_gatewayARN :: Lens.Lens' StartAvailabilityMonitorTest Prelude.Text
startAvailabilityMonitorTest_gatewayARN :: Lens' StartAvailabilityMonitorTest Text
startAvailabilityMonitorTest_gatewayARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartAvailabilityMonitorTest' {Text
gatewayARN :: Text
$sel:gatewayARN:StartAvailabilityMonitorTest' :: StartAvailabilityMonitorTest -> Text
gatewayARN} -> Text
gatewayARN) (\s :: StartAvailabilityMonitorTest
s@StartAvailabilityMonitorTest' {} Text
a -> StartAvailabilityMonitorTest
s {$sel:gatewayARN:StartAvailabilityMonitorTest' :: Text
gatewayARN = Text
a} :: StartAvailabilityMonitorTest)
instance Core.AWSRequest StartAvailabilityMonitorTest where
type
AWSResponse StartAvailabilityMonitorTest =
StartAvailabilityMonitorTestResponse
request :: (Service -> Service)
-> StartAvailabilityMonitorTest
-> Request StartAvailabilityMonitorTest
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 StartAvailabilityMonitorTest
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse StartAvailabilityMonitorTest)))
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 Text -> Int -> StartAvailabilityMonitorTestResponse
StartAvailabilityMonitorTestResponse'
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
"GatewayARN")
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
StartAvailabilityMonitorTest
where
hashWithSalt :: Int -> StartAvailabilityMonitorTest -> Int
hashWithSalt Int
_salt StartAvailabilityMonitorTest' {Text
gatewayARN :: Text
$sel:gatewayARN:StartAvailabilityMonitorTest' :: StartAvailabilityMonitorTest -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
gatewayARN
instance Prelude.NFData StartAvailabilityMonitorTest where
rnf :: StartAvailabilityMonitorTest -> ()
rnf StartAvailabilityMonitorTest' {Text
gatewayARN :: Text
$sel:gatewayARN:StartAvailabilityMonitorTest' :: StartAvailabilityMonitorTest -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
gatewayARN
instance Data.ToHeaders StartAvailabilityMonitorTest where
toHeaders :: StartAvailabilityMonitorTest -> 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
"StorageGateway_20130630.StartAvailabilityMonitorTest" ::
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 StartAvailabilityMonitorTest where
toJSON :: StartAvailabilityMonitorTest -> Value
toJSON StartAvailabilityMonitorTest' {Text
gatewayARN :: Text
$sel:gatewayARN:StartAvailabilityMonitorTest' :: StartAvailabilityMonitorTest -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"GatewayARN" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
gatewayARN)]
)
instance Data.ToPath StartAvailabilityMonitorTest where
toPath :: StartAvailabilityMonitorTest -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery StartAvailabilityMonitorTest where
toQuery :: StartAvailabilityMonitorTest -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data StartAvailabilityMonitorTestResponse = StartAvailabilityMonitorTestResponse'
{ StartAvailabilityMonitorTestResponse -> Maybe Text
gatewayARN :: Prelude.Maybe Prelude.Text,
StartAvailabilityMonitorTestResponse -> Int
httpStatus :: Prelude.Int
}
deriving (StartAvailabilityMonitorTestResponse
-> StartAvailabilityMonitorTestResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartAvailabilityMonitorTestResponse
-> StartAvailabilityMonitorTestResponse -> Bool
$c/= :: StartAvailabilityMonitorTestResponse
-> StartAvailabilityMonitorTestResponse -> Bool
== :: StartAvailabilityMonitorTestResponse
-> StartAvailabilityMonitorTestResponse -> Bool
$c== :: StartAvailabilityMonitorTestResponse
-> StartAvailabilityMonitorTestResponse -> Bool
Prelude.Eq, ReadPrec [StartAvailabilityMonitorTestResponse]
ReadPrec StartAvailabilityMonitorTestResponse
Int -> ReadS StartAvailabilityMonitorTestResponse
ReadS [StartAvailabilityMonitorTestResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartAvailabilityMonitorTestResponse]
$creadListPrec :: ReadPrec [StartAvailabilityMonitorTestResponse]
readPrec :: ReadPrec StartAvailabilityMonitorTestResponse
$creadPrec :: ReadPrec StartAvailabilityMonitorTestResponse
readList :: ReadS [StartAvailabilityMonitorTestResponse]
$creadList :: ReadS [StartAvailabilityMonitorTestResponse]
readsPrec :: Int -> ReadS StartAvailabilityMonitorTestResponse
$creadsPrec :: Int -> ReadS StartAvailabilityMonitorTestResponse
Prelude.Read, Int -> StartAvailabilityMonitorTestResponse -> ShowS
[StartAvailabilityMonitorTestResponse] -> ShowS
StartAvailabilityMonitorTestResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartAvailabilityMonitorTestResponse] -> ShowS
$cshowList :: [StartAvailabilityMonitorTestResponse] -> ShowS
show :: StartAvailabilityMonitorTestResponse -> String
$cshow :: StartAvailabilityMonitorTestResponse -> String
showsPrec :: Int -> StartAvailabilityMonitorTestResponse -> ShowS
$cshowsPrec :: Int -> StartAvailabilityMonitorTestResponse -> ShowS
Prelude.Show, forall x.
Rep StartAvailabilityMonitorTestResponse x
-> StartAvailabilityMonitorTestResponse
forall x.
StartAvailabilityMonitorTestResponse
-> Rep StartAvailabilityMonitorTestResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartAvailabilityMonitorTestResponse x
-> StartAvailabilityMonitorTestResponse
$cfrom :: forall x.
StartAvailabilityMonitorTestResponse
-> Rep StartAvailabilityMonitorTestResponse x
Prelude.Generic)
newStartAvailabilityMonitorTestResponse ::
Prelude.Int ->
StartAvailabilityMonitorTestResponse
newStartAvailabilityMonitorTestResponse :: Int -> StartAvailabilityMonitorTestResponse
newStartAvailabilityMonitorTestResponse Int
pHttpStatus_ =
StartAvailabilityMonitorTestResponse'
{ $sel:gatewayARN:StartAvailabilityMonitorTestResponse' :: Maybe Text
gatewayARN =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:StartAvailabilityMonitorTestResponse' :: Int
httpStatus = Int
pHttpStatus_
}
startAvailabilityMonitorTestResponse_gatewayARN :: Lens.Lens' StartAvailabilityMonitorTestResponse (Prelude.Maybe Prelude.Text)
startAvailabilityMonitorTestResponse_gatewayARN :: Lens' StartAvailabilityMonitorTestResponse (Maybe Text)
startAvailabilityMonitorTestResponse_gatewayARN = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartAvailabilityMonitorTestResponse' {Maybe Text
gatewayARN :: Maybe Text
$sel:gatewayARN:StartAvailabilityMonitorTestResponse' :: StartAvailabilityMonitorTestResponse -> Maybe Text
gatewayARN} -> Maybe Text
gatewayARN) (\s :: StartAvailabilityMonitorTestResponse
s@StartAvailabilityMonitorTestResponse' {} Maybe Text
a -> StartAvailabilityMonitorTestResponse
s {$sel:gatewayARN:StartAvailabilityMonitorTestResponse' :: Maybe Text
gatewayARN = Maybe Text
a} :: StartAvailabilityMonitorTestResponse)
startAvailabilityMonitorTestResponse_httpStatus :: Lens.Lens' StartAvailabilityMonitorTestResponse Prelude.Int
startAvailabilityMonitorTestResponse_httpStatus :: Lens' StartAvailabilityMonitorTestResponse Int
startAvailabilityMonitorTestResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartAvailabilityMonitorTestResponse' {Int
httpStatus :: Int
$sel:httpStatus:StartAvailabilityMonitorTestResponse' :: StartAvailabilityMonitorTestResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: StartAvailabilityMonitorTestResponse
s@StartAvailabilityMonitorTestResponse' {} Int
a -> StartAvailabilityMonitorTestResponse
s {$sel:httpStatus:StartAvailabilityMonitorTestResponse' :: Int
httpStatus = Int
a} :: StartAvailabilityMonitorTestResponse)
instance
Prelude.NFData
StartAvailabilityMonitorTestResponse
where
rnf :: StartAvailabilityMonitorTestResponse -> ()
rnf StartAvailabilityMonitorTestResponse' {Int
Maybe Text
httpStatus :: Int
gatewayARN :: Maybe Text
$sel:httpStatus:StartAvailabilityMonitorTestResponse' :: StartAvailabilityMonitorTestResponse -> Int
$sel:gatewayARN:StartAvailabilityMonitorTestResponse' :: StartAvailabilityMonitorTestResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
gatewayARN
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus