{-# 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.NetworkManager.RestoreCoreNetworkPolicyVersion
(
RestoreCoreNetworkPolicyVersion (..),
newRestoreCoreNetworkPolicyVersion,
restoreCoreNetworkPolicyVersion_coreNetworkId,
restoreCoreNetworkPolicyVersion_policyVersionId,
RestoreCoreNetworkPolicyVersionResponse (..),
newRestoreCoreNetworkPolicyVersionResponse,
restoreCoreNetworkPolicyVersionResponse_coreNetworkPolicy,
restoreCoreNetworkPolicyVersionResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.NetworkManager.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data RestoreCoreNetworkPolicyVersion = RestoreCoreNetworkPolicyVersion'
{
RestoreCoreNetworkPolicyVersion -> Text
coreNetworkId :: Prelude.Text,
RestoreCoreNetworkPolicyVersion -> Int
policyVersionId :: Prelude.Int
}
deriving (RestoreCoreNetworkPolicyVersion
-> RestoreCoreNetworkPolicyVersion -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RestoreCoreNetworkPolicyVersion
-> RestoreCoreNetworkPolicyVersion -> Bool
$c/= :: RestoreCoreNetworkPolicyVersion
-> RestoreCoreNetworkPolicyVersion -> Bool
== :: RestoreCoreNetworkPolicyVersion
-> RestoreCoreNetworkPolicyVersion -> Bool
$c== :: RestoreCoreNetworkPolicyVersion
-> RestoreCoreNetworkPolicyVersion -> Bool
Prelude.Eq, ReadPrec [RestoreCoreNetworkPolicyVersion]
ReadPrec RestoreCoreNetworkPolicyVersion
Int -> ReadS RestoreCoreNetworkPolicyVersion
ReadS [RestoreCoreNetworkPolicyVersion]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RestoreCoreNetworkPolicyVersion]
$creadListPrec :: ReadPrec [RestoreCoreNetworkPolicyVersion]
readPrec :: ReadPrec RestoreCoreNetworkPolicyVersion
$creadPrec :: ReadPrec RestoreCoreNetworkPolicyVersion
readList :: ReadS [RestoreCoreNetworkPolicyVersion]
$creadList :: ReadS [RestoreCoreNetworkPolicyVersion]
readsPrec :: Int -> ReadS RestoreCoreNetworkPolicyVersion
$creadsPrec :: Int -> ReadS RestoreCoreNetworkPolicyVersion
Prelude.Read, Int -> RestoreCoreNetworkPolicyVersion -> ShowS
[RestoreCoreNetworkPolicyVersion] -> ShowS
RestoreCoreNetworkPolicyVersion -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RestoreCoreNetworkPolicyVersion] -> ShowS
$cshowList :: [RestoreCoreNetworkPolicyVersion] -> ShowS
show :: RestoreCoreNetworkPolicyVersion -> String
$cshow :: RestoreCoreNetworkPolicyVersion -> String
showsPrec :: Int -> RestoreCoreNetworkPolicyVersion -> ShowS
$cshowsPrec :: Int -> RestoreCoreNetworkPolicyVersion -> ShowS
Prelude.Show, forall x.
Rep RestoreCoreNetworkPolicyVersion x
-> RestoreCoreNetworkPolicyVersion
forall x.
RestoreCoreNetworkPolicyVersion
-> Rep RestoreCoreNetworkPolicyVersion x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RestoreCoreNetworkPolicyVersion x
-> RestoreCoreNetworkPolicyVersion
$cfrom :: forall x.
RestoreCoreNetworkPolicyVersion
-> Rep RestoreCoreNetworkPolicyVersion x
Prelude.Generic)
newRestoreCoreNetworkPolicyVersion ::
Prelude.Text ->
Prelude.Int ->
RestoreCoreNetworkPolicyVersion
newRestoreCoreNetworkPolicyVersion :: Text -> Int -> RestoreCoreNetworkPolicyVersion
newRestoreCoreNetworkPolicyVersion
Text
pCoreNetworkId_
Int
pPolicyVersionId_ =
RestoreCoreNetworkPolicyVersion'
{ $sel:coreNetworkId:RestoreCoreNetworkPolicyVersion' :: Text
coreNetworkId =
Text
pCoreNetworkId_,
$sel:policyVersionId:RestoreCoreNetworkPolicyVersion' :: Int
policyVersionId = Int
pPolicyVersionId_
}
restoreCoreNetworkPolicyVersion_coreNetworkId :: Lens.Lens' RestoreCoreNetworkPolicyVersion Prelude.Text
restoreCoreNetworkPolicyVersion_coreNetworkId :: Lens' RestoreCoreNetworkPolicyVersion Text
restoreCoreNetworkPolicyVersion_coreNetworkId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RestoreCoreNetworkPolicyVersion' {Text
coreNetworkId :: Text
$sel:coreNetworkId:RestoreCoreNetworkPolicyVersion' :: RestoreCoreNetworkPolicyVersion -> Text
coreNetworkId} -> Text
coreNetworkId) (\s :: RestoreCoreNetworkPolicyVersion
s@RestoreCoreNetworkPolicyVersion' {} Text
a -> RestoreCoreNetworkPolicyVersion
s {$sel:coreNetworkId:RestoreCoreNetworkPolicyVersion' :: Text
coreNetworkId = Text
a} :: RestoreCoreNetworkPolicyVersion)
restoreCoreNetworkPolicyVersion_policyVersionId :: Lens.Lens' RestoreCoreNetworkPolicyVersion Prelude.Int
restoreCoreNetworkPolicyVersion_policyVersionId :: Lens' RestoreCoreNetworkPolicyVersion Int
restoreCoreNetworkPolicyVersion_policyVersionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RestoreCoreNetworkPolicyVersion' {Int
policyVersionId :: Int
$sel:policyVersionId:RestoreCoreNetworkPolicyVersion' :: RestoreCoreNetworkPolicyVersion -> Int
policyVersionId} -> Int
policyVersionId) (\s :: RestoreCoreNetworkPolicyVersion
s@RestoreCoreNetworkPolicyVersion' {} Int
a -> RestoreCoreNetworkPolicyVersion
s {$sel:policyVersionId:RestoreCoreNetworkPolicyVersion' :: Int
policyVersionId = Int
a} :: RestoreCoreNetworkPolicyVersion)
instance
Core.AWSRequest
RestoreCoreNetworkPolicyVersion
where
type
AWSResponse RestoreCoreNetworkPolicyVersion =
RestoreCoreNetworkPolicyVersionResponse
request :: (Service -> Service)
-> RestoreCoreNetworkPolicyVersion
-> Request RestoreCoreNetworkPolicyVersion
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 RestoreCoreNetworkPolicyVersion
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse RestoreCoreNetworkPolicyVersion)))
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 CoreNetworkPolicy
-> Int -> RestoreCoreNetworkPolicyVersionResponse
RestoreCoreNetworkPolicyVersionResponse'
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
"CoreNetworkPolicy")
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
RestoreCoreNetworkPolicyVersion
where
hashWithSalt :: Int -> RestoreCoreNetworkPolicyVersion -> Int
hashWithSalt
Int
_salt
RestoreCoreNetworkPolicyVersion' {Int
Text
policyVersionId :: Int
coreNetworkId :: Text
$sel:policyVersionId:RestoreCoreNetworkPolicyVersion' :: RestoreCoreNetworkPolicyVersion -> Int
$sel:coreNetworkId:RestoreCoreNetworkPolicyVersion' :: RestoreCoreNetworkPolicyVersion -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
coreNetworkId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Int
policyVersionId
instance
Prelude.NFData
RestoreCoreNetworkPolicyVersion
where
rnf :: RestoreCoreNetworkPolicyVersion -> ()
rnf RestoreCoreNetworkPolicyVersion' {Int
Text
policyVersionId :: Int
coreNetworkId :: Text
$sel:policyVersionId:RestoreCoreNetworkPolicyVersion' :: RestoreCoreNetworkPolicyVersion -> Int
$sel:coreNetworkId:RestoreCoreNetworkPolicyVersion' :: RestoreCoreNetworkPolicyVersion -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
coreNetworkId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
policyVersionId
instance
Data.ToHeaders
RestoreCoreNetworkPolicyVersion
where
toHeaders :: RestoreCoreNetworkPolicyVersion -> 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 RestoreCoreNetworkPolicyVersion where
toJSON :: RestoreCoreNetworkPolicyVersion -> Value
toJSON = forall a b. a -> b -> a
Prelude.const (Object -> Value
Data.Object forall a. Monoid a => a
Prelude.mempty)
instance Data.ToPath RestoreCoreNetworkPolicyVersion where
toPath :: RestoreCoreNetworkPolicyVersion -> ByteString
toPath RestoreCoreNetworkPolicyVersion' {Int
Text
policyVersionId :: Int
coreNetworkId :: Text
$sel:policyVersionId:RestoreCoreNetworkPolicyVersion' :: RestoreCoreNetworkPolicyVersion -> Int
$sel:coreNetworkId:RestoreCoreNetworkPolicyVersion' :: RestoreCoreNetworkPolicyVersion -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/core-networks/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
coreNetworkId,
ByteString
"/core-network-policy-versions/",
forall a. ToByteString a => a -> ByteString
Data.toBS Int
policyVersionId,
ByteString
"/restore"
]
instance Data.ToQuery RestoreCoreNetworkPolicyVersion where
toQuery :: RestoreCoreNetworkPolicyVersion -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data RestoreCoreNetworkPolicyVersionResponse = RestoreCoreNetworkPolicyVersionResponse'
{
RestoreCoreNetworkPolicyVersionResponse -> Maybe CoreNetworkPolicy
coreNetworkPolicy :: Prelude.Maybe CoreNetworkPolicy,
RestoreCoreNetworkPolicyVersionResponse -> Int
httpStatus :: Prelude.Int
}
deriving (RestoreCoreNetworkPolicyVersionResponse
-> RestoreCoreNetworkPolicyVersionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RestoreCoreNetworkPolicyVersionResponse
-> RestoreCoreNetworkPolicyVersionResponse -> Bool
$c/= :: RestoreCoreNetworkPolicyVersionResponse
-> RestoreCoreNetworkPolicyVersionResponse -> Bool
== :: RestoreCoreNetworkPolicyVersionResponse
-> RestoreCoreNetworkPolicyVersionResponse -> Bool
$c== :: RestoreCoreNetworkPolicyVersionResponse
-> RestoreCoreNetworkPolicyVersionResponse -> Bool
Prelude.Eq, ReadPrec [RestoreCoreNetworkPolicyVersionResponse]
ReadPrec RestoreCoreNetworkPolicyVersionResponse
Int -> ReadS RestoreCoreNetworkPolicyVersionResponse
ReadS [RestoreCoreNetworkPolicyVersionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RestoreCoreNetworkPolicyVersionResponse]
$creadListPrec :: ReadPrec [RestoreCoreNetworkPolicyVersionResponse]
readPrec :: ReadPrec RestoreCoreNetworkPolicyVersionResponse
$creadPrec :: ReadPrec RestoreCoreNetworkPolicyVersionResponse
readList :: ReadS [RestoreCoreNetworkPolicyVersionResponse]
$creadList :: ReadS [RestoreCoreNetworkPolicyVersionResponse]
readsPrec :: Int -> ReadS RestoreCoreNetworkPolicyVersionResponse
$creadsPrec :: Int -> ReadS RestoreCoreNetworkPolicyVersionResponse
Prelude.Read, Int -> RestoreCoreNetworkPolicyVersionResponse -> ShowS
[RestoreCoreNetworkPolicyVersionResponse] -> ShowS
RestoreCoreNetworkPolicyVersionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RestoreCoreNetworkPolicyVersionResponse] -> ShowS
$cshowList :: [RestoreCoreNetworkPolicyVersionResponse] -> ShowS
show :: RestoreCoreNetworkPolicyVersionResponse -> String
$cshow :: RestoreCoreNetworkPolicyVersionResponse -> String
showsPrec :: Int -> RestoreCoreNetworkPolicyVersionResponse -> ShowS
$cshowsPrec :: Int -> RestoreCoreNetworkPolicyVersionResponse -> ShowS
Prelude.Show, forall x.
Rep RestoreCoreNetworkPolicyVersionResponse x
-> RestoreCoreNetworkPolicyVersionResponse
forall x.
RestoreCoreNetworkPolicyVersionResponse
-> Rep RestoreCoreNetworkPolicyVersionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RestoreCoreNetworkPolicyVersionResponse x
-> RestoreCoreNetworkPolicyVersionResponse
$cfrom :: forall x.
RestoreCoreNetworkPolicyVersionResponse
-> Rep RestoreCoreNetworkPolicyVersionResponse x
Prelude.Generic)
newRestoreCoreNetworkPolicyVersionResponse ::
Prelude.Int ->
RestoreCoreNetworkPolicyVersionResponse
newRestoreCoreNetworkPolicyVersionResponse :: Int -> RestoreCoreNetworkPolicyVersionResponse
newRestoreCoreNetworkPolicyVersionResponse
Int
pHttpStatus_ =
RestoreCoreNetworkPolicyVersionResponse'
{ $sel:coreNetworkPolicy:RestoreCoreNetworkPolicyVersionResponse' :: Maybe CoreNetworkPolicy
coreNetworkPolicy =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:RestoreCoreNetworkPolicyVersionResponse' :: Int
httpStatus = Int
pHttpStatus_
}
restoreCoreNetworkPolicyVersionResponse_coreNetworkPolicy :: Lens.Lens' RestoreCoreNetworkPolicyVersionResponse (Prelude.Maybe CoreNetworkPolicy)
restoreCoreNetworkPolicyVersionResponse_coreNetworkPolicy :: Lens'
RestoreCoreNetworkPolicyVersionResponse (Maybe CoreNetworkPolicy)
restoreCoreNetworkPolicyVersionResponse_coreNetworkPolicy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RestoreCoreNetworkPolicyVersionResponse' {Maybe CoreNetworkPolicy
coreNetworkPolicy :: Maybe CoreNetworkPolicy
$sel:coreNetworkPolicy:RestoreCoreNetworkPolicyVersionResponse' :: RestoreCoreNetworkPolicyVersionResponse -> Maybe CoreNetworkPolicy
coreNetworkPolicy} -> Maybe CoreNetworkPolicy
coreNetworkPolicy) (\s :: RestoreCoreNetworkPolicyVersionResponse
s@RestoreCoreNetworkPolicyVersionResponse' {} Maybe CoreNetworkPolicy
a -> RestoreCoreNetworkPolicyVersionResponse
s {$sel:coreNetworkPolicy:RestoreCoreNetworkPolicyVersionResponse' :: Maybe CoreNetworkPolicy
coreNetworkPolicy = Maybe CoreNetworkPolicy
a} :: RestoreCoreNetworkPolicyVersionResponse)
restoreCoreNetworkPolicyVersionResponse_httpStatus :: Lens.Lens' RestoreCoreNetworkPolicyVersionResponse Prelude.Int
restoreCoreNetworkPolicyVersionResponse_httpStatus :: Lens' RestoreCoreNetworkPolicyVersionResponse Int
restoreCoreNetworkPolicyVersionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RestoreCoreNetworkPolicyVersionResponse' {Int
httpStatus :: Int
$sel:httpStatus:RestoreCoreNetworkPolicyVersionResponse' :: RestoreCoreNetworkPolicyVersionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: RestoreCoreNetworkPolicyVersionResponse
s@RestoreCoreNetworkPolicyVersionResponse' {} Int
a -> RestoreCoreNetworkPolicyVersionResponse
s {$sel:httpStatus:RestoreCoreNetworkPolicyVersionResponse' :: Int
httpStatus = Int
a} :: RestoreCoreNetworkPolicyVersionResponse)
instance
Prelude.NFData
RestoreCoreNetworkPolicyVersionResponse
where
rnf :: RestoreCoreNetworkPolicyVersionResponse -> ()
rnf RestoreCoreNetworkPolicyVersionResponse' {Int
Maybe CoreNetworkPolicy
httpStatus :: Int
coreNetworkPolicy :: Maybe CoreNetworkPolicy
$sel:httpStatus:RestoreCoreNetworkPolicyVersionResponse' :: RestoreCoreNetworkPolicyVersionResponse -> Int
$sel:coreNetworkPolicy:RestoreCoreNetworkPolicyVersionResponse' :: RestoreCoreNetworkPolicyVersionResponse -> Maybe CoreNetworkPolicy
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe CoreNetworkPolicy
coreNetworkPolicy
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus