{-# 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.DrS.GetFailbackReplicationConfiguration
(
GetFailbackReplicationConfiguration (..),
newGetFailbackReplicationConfiguration,
getFailbackReplicationConfiguration_recoveryInstanceID,
GetFailbackReplicationConfigurationResponse (..),
newGetFailbackReplicationConfigurationResponse,
getFailbackReplicationConfigurationResponse_bandwidthThrottling,
getFailbackReplicationConfigurationResponse_name,
getFailbackReplicationConfigurationResponse_usePrivateIP,
getFailbackReplicationConfigurationResponse_httpStatus,
getFailbackReplicationConfigurationResponse_recoveryInstanceID,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DrS.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetFailbackReplicationConfiguration = GetFailbackReplicationConfiguration'
{
GetFailbackReplicationConfiguration -> Text
recoveryInstanceID :: Prelude.Text
}
deriving (GetFailbackReplicationConfiguration
-> GetFailbackReplicationConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetFailbackReplicationConfiguration
-> GetFailbackReplicationConfiguration -> Bool
$c/= :: GetFailbackReplicationConfiguration
-> GetFailbackReplicationConfiguration -> Bool
== :: GetFailbackReplicationConfiguration
-> GetFailbackReplicationConfiguration -> Bool
$c== :: GetFailbackReplicationConfiguration
-> GetFailbackReplicationConfiguration -> Bool
Prelude.Eq, ReadPrec [GetFailbackReplicationConfiguration]
ReadPrec GetFailbackReplicationConfiguration
Int -> ReadS GetFailbackReplicationConfiguration
ReadS [GetFailbackReplicationConfiguration]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetFailbackReplicationConfiguration]
$creadListPrec :: ReadPrec [GetFailbackReplicationConfiguration]
readPrec :: ReadPrec GetFailbackReplicationConfiguration
$creadPrec :: ReadPrec GetFailbackReplicationConfiguration
readList :: ReadS [GetFailbackReplicationConfiguration]
$creadList :: ReadS [GetFailbackReplicationConfiguration]
readsPrec :: Int -> ReadS GetFailbackReplicationConfiguration
$creadsPrec :: Int -> ReadS GetFailbackReplicationConfiguration
Prelude.Read, Int -> GetFailbackReplicationConfiguration -> ShowS
[GetFailbackReplicationConfiguration] -> ShowS
GetFailbackReplicationConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetFailbackReplicationConfiguration] -> ShowS
$cshowList :: [GetFailbackReplicationConfiguration] -> ShowS
show :: GetFailbackReplicationConfiguration -> String
$cshow :: GetFailbackReplicationConfiguration -> String
showsPrec :: Int -> GetFailbackReplicationConfiguration -> ShowS
$cshowsPrec :: Int -> GetFailbackReplicationConfiguration -> ShowS
Prelude.Show, forall x.
Rep GetFailbackReplicationConfiguration x
-> GetFailbackReplicationConfiguration
forall x.
GetFailbackReplicationConfiguration
-> Rep GetFailbackReplicationConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetFailbackReplicationConfiguration x
-> GetFailbackReplicationConfiguration
$cfrom :: forall x.
GetFailbackReplicationConfiguration
-> Rep GetFailbackReplicationConfiguration x
Prelude.Generic)
newGetFailbackReplicationConfiguration ::
Prelude.Text ->
GetFailbackReplicationConfiguration
newGetFailbackReplicationConfiguration :: Text -> GetFailbackReplicationConfiguration
newGetFailbackReplicationConfiguration
Text
pRecoveryInstanceID_ =
GetFailbackReplicationConfiguration'
{ $sel:recoveryInstanceID:GetFailbackReplicationConfiguration' :: Text
recoveryInstanceID =
Text
pRecoveryInstanceID_
}
getFailbackReplicationConfiguration_recoveryInstanceID :: Lens.Lens' GetFailbackReplicationConfiguration Prelude.Text
getFailbackReplicationConfiguration_recoveryInstanceID :: Lens' GetFailbackReplicationConfiguration Text
getFailbackReplicationConfiguration_recoveryInstanceID = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetFailbackReplicationConfiguration' {Text
recoveryInstanceID :: Text
$sel:recoveryInstanceID:GetFailbackReplicationConfiguration' :: GetFailbackReplicationConfiguration -> Text
recoveryInstanceID} -> Text
recoveryInstanceID) (\s :: GetFailbackReplicationConfiguration
s@GetFailbackReplicationConfiguration' {} Text
a -> GetFailbackReplicationConfiguration
s {$sel:recoveryInstanceID:GetFailbackReplicationConfiguration' :: Text
recoveryInstanceID = Text
a} :: GetFailbackReplicationConfiguration)
instance
Core.AWSRequest
GetFailbackReplicationConfiguration
where
type
AWSResponse GetFailbackReplicationConfiguration =
GetFailbackReplicationConfigurationResponse
request :: (Service -> Service)
-> GetFailbackReplicationConfiguration
-> Request GetFailbackReplicationConfiguration
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 GetFailbackReplicationConfiguration
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse GetFailbackReplicationConfiguration)))
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 Natural
-> Maybe Text
-> Maybe Bool
-> Int
-> Text
-> GetFailbackReplicationConfigurationResponse
GetFailbackReplicationConfigurationResponse'
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
"bandwidthThrottling")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"name")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"usePrivateIP")
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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"recoveryInstanceID")
)
instance
Prelude.Hashable
GetFailbackReplicationConfiguration
where
hashWithSalt :: Int -> GetFailbackReplicationConfiguration -> Int
hashWithSalt
Int
_salt
GetFailbackReplicationConfiguration' {Text
recoveryInstanceID :: Text
$sel:recoveryInstanceID:GetFailbackReplicationConfiguration' :: GetFailbackReplicationConfiguration -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
recoveryInstanceID
instance
Prelude.NFData
GetFailbackReplicationConfiguration
where
rnf :: GetFailbackReplicationConfiguration -> ()
rnf GetFailbackReplicationConfiguration' {Text
recoveryInstanceID :: Text
$sel:recoveryInstanceID:GetFailbackReplicationConfiguration' :: GetFailbackReplicationConfiguration -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
recoveryInstanceID
instance
Data.ToHeaders
GetFailbackReplicationConfiguration
where
toHeaders :: GetFailbackReplicationConfiguration -> 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
GetFailbackReplicationConfiguration
where
toJSON :: GetFailbackReplicationConfiguration -> Value
toJSON GetFailbackReplicationConfiguration' {Text
recoveryInstanceID :: Text
$sel:recoveryInstanceID:GetFailbackReplicationConfiguration' :: GetFailbackReplicationConfiguration -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"recoveryInstanceID" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
recoveryInstanceID)
]
)
instance
Data.ToPath
GetFailbackReplicationConfiguration
where
toPath :: GetFailbackReplicationConfiguration -> ByteString
toPath =
forall a b. a -> b -> a
Prelude.const
ByteString
"/GetFailbackReplicationConfiguration"
instance
Data.ToQuery
GetFailbackReplicationConfiguration
where
toQuery :: GetFailbackReplicationConfiguration -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetFailbackReplicationConfigurationResponse = GetFailbackReplicationConfigurationResponse'
{
GetFailbackReplicationConfigurationResponse -> Maybe Natural
bandwidthThrottling :: Prelude.Maybe Prelude.Natural,
GetFailbackReplicationConfigurationResponse -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
GetFailbackReplicationConfigurationResponse -> Maybe Bool
usePrivateIP :: Prelude.Maybe Prelude.Bool,
GetFailbackReplicationConfigurationResponse -> Int
httpStatus :: Prelude.Int,
GetFailbackReplicationConfigurationResponse -> Text
recoveryInstanceID :: Prelude.Text
}
deriving (GetFailbackReplicationConfigurationResponse
-> GetFailbackReplicationConfigurationResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetFailbackReplicationConfigurationResponse
-> GetFailbackReplicationConfigurationResponse -> Bool
$c/= :: GetFailbackReplicationConfigurationResponse
-> GetFailbackReplicationConfigurationResponse -> Bool
== :: GetFailbackReplicationConfigurationResponse
-> GetFailbackReplicationConfigurationResponse -> Bool
$c== :: GetFailbackReplicationConfigurationResponse
-> GetFailbackReplicationConfigurationResponse -> Bool
Prelude.Eq, ReadPrec [GetFailbackReplicationConfigurationResponse]
ReadPrec GetFailbackReplicationConfigurationResponse
Int -> ReadS GetFailbackReplicationConfigurationResponse
ReadS [GetFailbackReplicationConfigurationResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetFailbackReplicationConfigurationResponse]
$creadListPrec :: ReadPrec [GetFailbackReplicationConfigurationResponse]
readPrec :: ReadPrec GetFailbackReplicationConfigurationResponse
$creadPrec :: ReadPrec GetFailbackReplicationConfigurationResponse
readList :: ReadS [GetFailbackReplicationConfigurationResponse]
$creadList :: ReadS [GetFailbackReplicationConfigurationResponse]
readsPrec :: Int -> ReadS GetFailbackReplicationConfigurationResponse
$creadsPrec :: Int -> ReadS GetFailbackReplicationConfigurationResponse
Prelude.Read, Int -> GetFailbackReplicationConfigurationResponse -> ShowS
[GetFailbackReplicationConfigurationResponse] -> ShowS
GetFailbackReplicationConfigurationResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetFailbackReplicationConfigurationResponse] -> ShowS
$cshowList :: [GetFailbackReplicationConfigurationResponse] -> ShowS
show :: GetFailbackReplicationConfigurationResponse -> String
$cshow :: GetFailbackReplicationConfigurationResponse -> String
showsPrec :: Int -> GetFailbackReplicationConfigurationResponse -> ShowS
$cshowsPrec :: Int -> GetFailbackReplicationConfigurationResponse -> ShowS
Prelude.Show, forall x.
Rep GetFailbackReplicationConfigurationResponse x
-> GetFailbackReplicationConfigurationResponse
forall x.
GetFailbackReplicationConfigurationResponse
-> Rep GetFailbackReplicationConfigurationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetFailbackReplicationConfigurationResponse x
-> GetFailbackReplicationConfigurationResponse
$cfrom :: forall x.
GetFailbackReplicationConfigurationResponse
-> Rep GetFailbackReplicationConfigurationResponse x
Prelude.Generic)
newGetFailbackReplicationConfigurationResponse ::
Prelude.Int ->
Prelude.Text ->
GetFailbackReplicationConfigurationResponse
newGetFailbackReplicationConfigurationResponse :: Int -> Text -> GetFailbackReplicationConfigurationResponse
newGetFailbackReplicationConfigurationResponse
Int
pHttpStatus_
Text
pRecoveryInstanceID_ =
GetFailbackReplicationConfigurationResponse'
{ $sel:bandwidthThrottling:GetFailbackReplicationConfigurationResponse' :: Maybe Natural
bandwidthThrottling =
forall a. Maybe a
Prelude.Nothing,
$sel:name:GetFailbackReplicationConfigurationResponse' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
$sel:usePrivateIP:GetFailbackReplicationConfigurationResponse' :: Maybe Bool
usePrivateIP = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetFailbackReplicationConfigurationResponse' :: Int
httpStatus = Int
pHttpStatus_,
$sel:recoveryInstanceID:GetFailbackReplicationConfigurationResponse' :: Text
recoveryInstanceID =
Text
pRecoveryInstanceID_
}
getFailbackReplicationConfigurationResponse_bandwidthThrottling :: Lens.Lens' GetFailbackReplicationConfigurationResponse (Prelude.Maybe Prelude.Natural)
getFailbackReplicationConfigurationResponse_bandwidthThrottling :: Lens' GetFailbackReplicationConfigurationResponse (Maybe Natural)
getFailbackReplicationConfigurationResponse_bandwidthThrottling = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetFailbackReplicationConfigurationResponse' {Maybe Natural
bandwidthThrottling :: Maybe Natural
$sel:bandwidthThrottling:GetFailbackReplicationConfigurationResponse' :: GetFailbackReplicationConfigurationResponse -> Maybe Natural
bandwidthThrottling} -> Maybe Natural
bandwidthThrottling) (\s :: GetFailbackReplicationConfigurationResponse
s@GetFailbackReplicationConfigurationResponse' {} Maybe Natural
a -> GetFailbackReplicationConfigurationResponse
s {$sel:bandwidthThrottling:GetFailbackReplicationConfigurationResponse' :: Maybe Natural
bandwidthThrottling = Maybe Natural
a} :: GetFailbackReplicationConfigurationResponse)
getFailbackReplicationConfigurationResponse_name :: Lens.Lens' GetFailbackReplicationConfigurationResponse (Prelude.Maybe Prelude.Text)
getFailbackReplicationConfigurationResponse_name :: Lens' GetFailbackReplicationConfigurationResponse (Maybe Text)
getFailbackReplicationConfigurationResponse_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetFailbackReplicationConfigurationResponse' {Maybe Text
name :: Maybe Text
$sel:name:GetFailbackReplicationConfigurationResponse' :: GetFailbackReplicationConfigurationResponse -> Maybe Text
name} -> Maybe Text
name) (\s :: GetFailbackReplicationConfigurationResponse
s@GetFailbackReplicationConfigurationResponse' {} Maybe Text
a -> GetFailbackReplicationConfigurationResponse
s {$sel:name:GetFailbackReplicationConfigurationResponse' :: Maybe Text
name = Maybe Text
a} :: GetFailbackReplicationConfigurationResponse)
getFailbackReplicationConfigurationResponse_usePrivateIP :: Lens.Lens' GetFailbackReplicationConfigurationResponse (Prelude.Maybe Prelude.Bool)
getFailbackReplicationConfigurationResponse_usePrivateIP :: Lens' GetFailbackReplicationConfigurationResponse (Maybe Bool)
getFailbackReplicationConfigurationResponse_usePrivateIP = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetFailbackReplicationConfigurationResponse' {Maybe Bool
usePrivateIP :: Maybe Bool
$sel:usePrivateIP:GetFailbackReplicationConfigurationResponse' :: GetFailbackReplicationConfigurationResponse -> Maybe Bool
usePrivateIP} -> Maybe Bool
usePrivateIP) (\s :: GetFailbackReplicationConfigurationResponse
s@GetFailbackReplicationConfigurationResponse' {} Maybe Bool
a -> GetFailbackReplicationConfigurationResponse
s {$sel:usePrivateIP:GetFailbackReplicationConfigurationResponse' :: Maybe Bool
usePrivateIP = Maybe Bool
a} :: GetFailbackReplicationConfigurationResponse)
getFailbackReplicationConfigurationResponse_httpStatus :: Lens.Lens' GetFailbackReplicationConfigurationResponse Prelude.Int
getFailbackReplicationConfigurationResponse_httpStatus :: Lens' GetFailbackReplicationConfigurationResponse Int
getFailbackReplicationConfigurationResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetFailbackReplicationConfigurationResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetFailbackReplicationConfigurationResponse' :: GetFailbackReplicationConfigurationResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetFailbackReplicationConfigurationResponse
s@GetFailbackReplicationConfigurationResponse' {} Int
a -> GetFailbackReplicationConfigurationResponse
s {$sel:httpStatus:GetFailbackReplicationConfigurationResponse' :: Int
httpStatus = Int
a} :: GetFailbackReplicationConfigurationResponse)
getFailbackReplicationConfigurationResponse_recoveryInstanceID :: Lens.Lens' GetFailbackReplicationConfigurationResponse Prelude.Text
getFailbackReplicationConfigurationResponse_recoveryInstanceID :: Lens' GetFailbackReplicationConfigurationResponse Text
getFailbackReplicationConfigurationResponse_recoveryInstanceID = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetFailbackReplicationConfigurationResponse' {Text
recoveryInstanceID :: Text
$sel:recoveryInstanceID:GetFailbackReplicationConfigurationResponse' :: GetFailbackReplicationConfigurationResponse -> Text
recoveryInstanceID} -> Text
recoveryInstanceID) (\s :: GetFailbackReplicationConfigurationResponse
s@GetFailbackReplicationConfigurationResponse' {} Text
a -> GetFailbackReplicationConfigurationResponse
s {$sel:recoveryInstanceID:GetFailbackReplicationConfigurationResponse' :: Text
recoveryInstanceID = Text
a} :: GetFailbackReplicationConfigurationResponse)
instance
Prelude.NFData
GetFailbackReplicationConfigurationResponse
where
rnf :: GetFailbackReplicationConfigurationResponse -> ()
rnf GetFailbackReplicationConfigurationResponse' {Int
Maybe Bool
Maybe Natural
Maybe Text
Text
recoveryInstanceID :: Text
httpStatus :: Int
usePrivateIP :: Maybe Bool
name :: Maybe Text
bandwidthThrottling :: Maybe Natural
$sel:recoveryInstanceID:GetFailbackReplicationConfigurationResponse' :: GetFailbackReplicationConfigurationResponse -> Text
$sel:httpStatus:GetFailbackReplicationConfigurationResponse' :: GetFailbackReplicationConfigurationResponse -> Int
$sel:usePrivateIP:GetFailbackReplicationConfigurationResponse' :: GetFailbackReplicationConfigurationResponse -> Maybe Bool
$sel:name:GetFailbackReplicationConfigurationResponse' :: GetFailbackReplicationConfigurationResponse -> Maybe Text
$sel:bandwidthThrottling:GetFailbackReplicationConfigurationResponse' :: GetFailbackReplicationConfigurationResponse -> Maybe Natural
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
bandwidthThrottling
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
usePrivateIP
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
recoveryInstanceID