{-# 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.NetworkFirewall.DeleteFirewallPolicy
(
DeleteFirewallPolicy (..),
newDeleteFirewallPolicy,
deleteFirewallPolicy_firewallPolicyArn,
deleteFirewallPolicy_firewallPolicyName,
DeleteFirewallPolicyResponse (..),
newDeleteFirewallPolicyResponse,
deleteFirewallPolicyResponse_httpStatus,
deleteFirewallPolicyResponse_firewallPolicyResponse,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.NetworkFirewall.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DeleteFirewallPolicy = DeleteFirewallPolicy'
{
DeleteFirewallPolicy -> Maybe Text
firewallPolicyArn :: Prelude.Maybe Prelude.Text,
DeleteFirewallPolicy -> Maybe Text
firewallPolicyName :: Prelude.Maybe Prelude.Text
}
deriving (DeleteFirewallPolicy -> DeleteFirewallPolicy -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteFirewallPolicy -> DeleteFirewallPolicy -> Bool
$c/= :: DeleteFirewallPolicy -> DeleteFirewallPolicy -> Bool
== :: DeleteFirewallPolicy -> DeleteFirewallPolicy -> Bool
$c== :: DeleteFirewallPolicy -> DeleteFirewallPolicy -> Bool
Prelude.Eq, ReadPrec [DeleteFirewallPolicy]
ReadPrec DeleteFirewallPolicy
Int -> ReadS DeleteFirewallPolicy
ReadS [DeleteFirewallPolicy]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteFirewallPolicy]
$creadListPrec :: ReadPrec [DeleteFirewallPolicy]
readPrec :: ReadPrec DeleteFirewallPolicy
$creadPrec :: ReadPrec DeleteFirewallPolicy
readList :: ReadS [DeleteFirewallPolicy]
$creadList :: ReadS [DeleteFirewallPolicy]
readsPrec :: Int -> ReadS DeleteFirewallPolicy
$creadsPrec :: Int -> ReadS DeleteFirewallPolicy
Prelude.Read, Int -> DeleteFirewallPolicy -> ShowS
[DeleteFirewallPolicy] -> ShowS
DeleteFirewallPolicy -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteFirewallPolicy] -> ShowS
$cshowList :: [DeleteFirewallPolicy] -> ShowS
show :: DeleteFirewallPolicy -> String
$cshow :: DeleteFirewallPolicy -> String
showsPrec :: Int -> DeleteFirewallPolicy -> ShowS
$cshowsPrec :: Int -> DeleteFirewallPolicy -> ShowS
Prelude.Show, forall x. Rep DeleteFirewallPolicy x -> DeleteFirewallPolicy
forall x. DeleteFirewallPolicy -> Rep DeleteFirewallPolicy x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteFirewallPolicy x -> DeleteFirewallPolicy
$cfrom :: forall x. DeleteFirewallPolicy -> Rep DeleteFirewallPolicy x
Prelude.Generic)
newDeleteFirewallPolicy ::
DeleteFirewallPolicy
newDeleteFirewallPolicy :: DeleteFirewallPolicy
newDeleteFirewallPolicy =
DeleteFirewallPolicy'
{ $sel:firewallPolicyArn:DeleteFirewallPolicy' :: Maybe Text
firewallPolicyArn =
forall a. Maybe a
Prelude.Nothing,
$sel:firewallPolicyName:DeleteFirewallPolicy' :: Maybe Text
firewallPolicyName = forall a. Maybe a
Prelude.Nothing
}
deleteFirewallPolicy_firewallPolicyArn :: Lens.Lens' DeleteFirewallPolicy (Prelude.Maybe Prelude.Text)
deleteFirewallPolicy_firewallPolicyArn :: Lens' DeleteFirewallPolicy (Maybe Text)
deleteFirewallPolicy_firewallPolicyArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteFirewallPolicy' {Maybe Text
firewallPolicyArn :: Maybe Text
$sel:firewallPolicyArn:DeleteFirewallPolicy' :: DeleteFirewallPolicy -> Maybe Text
firewallPolicyArn} -> Maybe Text
firewallPolicyArn) (\s :: DeleteFirewallPolicy
s@DeleteFirewallPolicy' {} Maybe Text
a -> DeleteFirewallPolicy
s {$sel:firewallPolicyArn:DeleteFirewallPolicy' :: Maybe Text
firewallPolicyArn = Maybe Text
a} :: DeleteFirewallPolicy)
deleteFirewallPolicy_firewallPolicyName :: Lens.Lens' DeleteFirewallPolicy (Prelude.Maybe Prelude.Text)
deleteFirewallPolicy_firewallPolicyName :: Lens' DeleteFirewallPolicy (Maybe Text)
deleteFirewallPolicy_firewallPolicyName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteFirewallPolicy' {Maybe Text
firewallPolicyName :: Maybe Text
$sel:firewallPolicyName:DeleteFirewallPolicy' :: DeleteFirewallPolicy -> Maybe Text
firewallPolicyName} -> Maybe Text
firewallPolicyName) (\s :: DeleteFirewallPolicy
s@DeleteFirewallPolicy' {} Maybe Text
a -> DeleteFirewallPolicy
s {$sel:firewallPolicyName:DeleteFirewallPolicy' :: Maybe Text
firewallPolicyName = Maybe Text
a} :: DeleteFirewallPolicy)
instance Core.AWSRequest DeleteFirewallPolicy where
type
AWSResponse DeleteFirewallPolicy =
DeleteFirewallPolicyResponse
request :: (Service -> Service)
-> DeleteFirewallPolicy -> Request DeleteFirewallPolicy
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 DeleteFirewallPolicy
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DeleteFirewallPolicy)))
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 ->
Int -> FirewallPolicyResponse -> DeleteFirewallPolicyResponse
DeleteFirewallPolicyResponse'
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))
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
"FirewallPolicyResponse")
)
instance Prelude.Hashable DeleteFirewallPolicy where
hashWithSalt :: Int -> DeleteFirewallPolicy -> Int
hashWithSalt Int
_salt DeleteFirewallPolicy' {Maybe Text
firewallPolicyName :: Maybe Text
firewallPolicyArn :: Maybe Text
$sel:firewallPolicyName:DeleteFirewallPolicy' :: DeleteFirewallPolicy -> Maybe Text
$sel:firewallPolicyArn:DeleteFirewallPolicy' :: DeleteFirewallPolicy -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
firewallPolicyArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
firewallPolicyName
instance Prelude.NFData DeleteFirewallPolicy where
rnf :: DeleteFirewallPolicy -> ()
rnf DeleteFirewallPolicy' {Maybe Text
firewallPolicyName :: Maybe Text
firewallPolicyArn :: Maybe Text
$sel:firewallPolicyName:DeleteFirewallPolicy' :: DeleteFirewallPolicy -> Maybe Text
$sel:firewallPolicyArn:DeleteFirewallPolicy' :: DeleteFirewallPolicy -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
firewallPolicyArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
firewallPolicyName
instance Data.ToHeaders DeleteFirewallPolicy where
toHeaders :: DeleteFirewallPolicy -> 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
"NetworkFirewall_20201112.DeleteFirewallPolicy" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DeleteFirewallPolicy where
toJSON :: DeleteFirewallPolicy -> Value
toJSON DeleteFirewallPolicy' {Maybe Text
firewallPolicyName :: Maybe Text
firewallPolicyArn :: Maybe Text
$sel:firewallPolicyName:DeleteFirewallPolicy' :: DeleteFirewallPolicy -> Maybe Text
$sel:firewallPolicyArn:DeleteFirewallPolicy' :: DeleteFirewallPolicy -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"FirewallPolicyArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
firewallPolicyArn,
(Key
"FirewallPolicyName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
firewallPolicyName
]
)
instance Data.ToPath DeleteFirewallPolicy where
toPath :: DeleteFirewallPolicy -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DeleteFirewallPolicy where
toQuery :: DeleteFirewallPolicy -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DeleteFirewallPolicyResponse = DeleteFirewallPolicyResponse'
{
DeleteFirewallPolicyResponse -> Int
httpStatus :: Prelude.Int,
DeleteFirewallPolicyResponse -> FirewallPolicyResponse
firewallPolicyResponse :: FirewallPolicyResponse
}
deriving (DeleteFirewallPolicyResponse
-> DeleteFirewallPolicyResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteFirewallPolicyResponse
-> DeleteFirewallPolicyResponse -> Bool
$c/= :: DeleteFirewallPolicyResponse
-> DeleteFirewallPolicyResponse -> Bool
== :: DeleteFirewallPolicyResponse
-> DeleteFirewallPolicyResponse -> Bool
$c== :: DeleteFirewallPolicyResponse
-> DeleteFirewallPolicyResponse -> Bool
Prelude.Eq, ReadPrec [DeleteFirewallPolicyResponse]
ReadPrec DeleteFirewallPolicyResponse
Int -> ReadS DeleteFirewallPolicyResponse
ReadS [DeleteFirewallPolicyResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteFirewallPolicyResponse]
$creadListPrec :: ReadPrec [DeleteFirewallPolicyResponse]
readPrec :: ReadPrec DeleteFirewallPolicyResponse
$creadPrec :: ReadPrec DeleteFirewallPolicyResponse
readList :: ReadS [DeleteFirewallPolicyResponse]
$creadList :: ReadS [DeleteFirewallPolicyResponse]
readsPrec :: Int -> ReadS DeleteFirewallPolicyResponse
$creadsPrec :: Int -> ReadS DeleteFirewallPolicyResponse
Prelude.Read, Int -> DeleteFirewallPolicyResponse -> ShowS
[DeleteFirewallPolicyResponse] -> ShowS
DeleteFirewallPolicyResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteFirewallPolicyResponse] -> ShowS
$cshowList :: [DeleteFirewallPolicyResponse] -> ShowS
show :: DeleteFirewallPolicyResponse -> String
$cshow :: DeleteFirewallPolicyResponse -> String
showsPrec :: Int -> DeleteFirewallPolicyResponse -> ShowS
$cshowsPrec :: Int -> DeleteFirewallPolicyResponse -> ShowS
Prelude.Show, forall x.
Rep DeleteFirewallPolicyResponse x -> DeleteFirewallPolicyResponse
forall x.
DeleteFirewallPolicyResponse -> Rep DeleteFirewallPolicyResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteFirewallPolicyResponse x -> DeleteFirewallPolicyResponse
$cfrom :: forall x.
DeleteFirewallPolicyResponse -> Rep DeleteFirewallPolicyResponse x
Prelude.Generic)
newDeleteFirewallPolicyResponse ::
Prelude.Int ->
FirewallPolicyResponse ->
DeleteFirewallPolicyResponse
newDeleteFirewallPolicyResponse :: Int -> FirewallPolicyResponse -> DeleteFirewallPolicyResponse
newDeleteFirewallPolicyResponse
Int
pHttpStatus_
FirewallPolicyResponse
pFirewallPolicyResponse_ =
DeleteFirewallPolicyResponse'
{ $sel:httpStatus:DeleteFirewallPolicyResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:firewallPolicyResponse:DeleteFirewallPolicyResponse' :: FirewallPolicyResponse
firewallPolicyResponse =
FirewallPolicyResponse
pFirewallPolicyResponse_
}
deleteFirewallPolicyResponse_httpStatus :: Lens.Lens' DeleteFirewallPolicyResponse Prelude.Int
deleteFirewallPolicyResponse_httpStatus :: Lens' DeleteFirewallPolicyResponse Int
deleteFirewallPolicyResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteFirewallPolicyResponse' {Int
httpStatus :: Int
$sel:httpStatus:DeleteFirewallPolicyResponse' :: DeleteFirewallPolicyResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DeleteFirewallPolicyResponse
s@DeleteFirewallPolicyResponse' {} Int
a -> DeleteFirewallPolicyResponse
s {$sel:httpStatus:DeleteFirewallPolicyResponse' :: Int
httpStatus = Int
a} :: DeleteFirewallPolicyResponse)
deleteFirewallPolicyResponse_firewallPolicyResponse :: Lens.Lens' DeleteFirewallPolicyResponse FirewallPolicyResponse
deleteFirewallPolicyResponse_firewallPolicyResponse :: Lens' DeleteFirewallPolicyResponse FirewallPolicyResponse
deleteFirewallPolicyResponse_firewallPolicyResponse = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteFirewallPolicyResponse' {FirewallPolicyResponse
firewallPolicyResponse :: FirewallPolicyResponse
$sel:firewallPolicyResponse:DeleteFirewallPolicyResponse' :: DeleteFirewallPolicyResponse -> FirewallPolicyResponse
firewallPolicyResponse} -> FirewallPolicyResponse
firewallPolicyResponse) (\s :: DeleteFirewallPolicyResponse
s@DeleteFirewallPolicyResponse' {} FirewallPolicyResponse
a -> DeleteFirewallPolicyResponse
s {$sel:firewallPolicyResponse:DeleteFirewallPolicyResponse' :: FirewallPolicyResponse
firewallPolicyResponse = FirewallPolicyResponse
a} :: DeleteFirewallPolicyResponse)
instance Prelude.NFData DeleteFirewallPolicyResponse where
rnf :: DeleteFirewallPolicyResponse -> ()
rnf DeleteFirewallPolicyResponse' {Int
FirewallPolicyResponse
firewallPolicyResponse :: FirewallPolicyResponse
httpStatus :: Int
$sel:firewallPolicyResponse:DeleteFirewallPolicyResponse' :: DeleteFirewallPolicyResponse -> FirewallPolicyResponse
$sel:httpStatus:DeleteFirewallPolicyResponse' :: DeleteFirewallPolicyResponse -> Int
..} =
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 FirewallPolicyResponse
firewallPolicyResponse