{-# 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.DescribeFirewall
(
DescribeFirewall (..),
newDescribeFirewall,
describeFirewall_firewallArn,
describeFirewall_firewallName,
DescribeFirewallResponse (..),
newDescribeFirewallResponse,
describeFirewallResponse_firewall,
describeFirewallResponse_firewallStatus,
describeFirewallResponse_updateToken,
describeFirewallResponse_httpStatus,
)
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 DescribeFirewall = DescribeFirewall'
{
DescribeFirewall -> Maybe Text
firewallArn :: Prelude.Maybe Prelude.Text,
DescribeFirewall -> Maybe Text
firewallName :: Prelude.Maybe Prelude.Text
}
deriving (DescribeFirewall -> DescribeFirewall -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeFirewall -> DescribeFirewall -> Bool
$c/= :: DescribeFirewall -> DescribeFirewall -> Bool
== :: DescribeFirewall -> DescribeFirewall -> Bool
$c== :: DescribeFirewall -> DescribeFirewall -> Bool
Prelude.Eq, ReadPrec [DescribeFirewall]
ReadPrec DescribeFirewall
Int -> ReadS DescribeFirewall
ReadS [DescribeFirewall]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeFirewall]
$creadListPrec :: ReadPrec [DescribeFirewall]
readPrec :: ReadPrec DescribeFirewall
$creadPrec :: ReadPrec DescribeFirewall
readList :: ReadS [DescribeFirewall]
$creadList :: ReadS [DescribeFirewall]
readsPrec :: Int -> ReadS DescribeFirewall
$creadsPrec :: Int -> ReadS DescribeFirewall
Prelude.Read, Int -> DescribeFirewall -> ShowS
[DescribeFirewall] -> ShowS
DescribeFirewall -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeFirewall] -> ShowS
$cshowList :: [DescribeFirewall] -> ShowS
show :: DescribeFirewall -> String
$cshow :: DescribeFirewall -> String
showsPrec :: Int -> DescribeFirewall -> ShowS
$cshowsPrec :: Int -> DescribeFirewall -> ShowS
Prelude.Show, forall x. Rep DescribeFirewall x -> DescribeFirewall
forall x. DescribeFirewall -> Rep DescribeFirewall x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeFirewall x -> DescribeFirewall
$cfrom :: forall x. DescribeFirewall -> Rep DescribeFirewall x
Prelude.Generic)
newDescribeFirewall ::
DescribeFirewall
newDescribeFirewall :: DescribeFirewall
newDescribeFirewall =
DescribeFirewall'
{ $sel:firewallArn:DescribeFirewall' :: Maybe Text
firewallArn = forall a. Maybe a
Prelude.Nothing,
$sel:firewallName:DescribeFirewall' :: Maybe Text
firewallName = forall a. Maybe a
Prelude.Nothing
}
describeFirewall_firewallArn :: Lens.Lens' DescribeFirewall (Prelude.Maybe Prelude.Text)
describeFirewall_firewallArn :: Lens' DescribeFirewall (Maybe Text)
describeFirewall_firewallArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFirewall' {Maybe Text
firewallArn :: Maybe Text
$sel:firewallArn:DescribeFirewall' :: DescribeFirewall -> Maybe Text
firewallArn} -> Maybe Text
firewallArn) (\s :: DescribeFirewall
s@DescribeFirewall' {} Maybe Text
a -> DescribeFirewall
s {$sel:firewallArn:DescribeFirewall' :: Maybe Text
firewallArn = Maybe Text
a} :: DescribeFirewall)
describeFirewall_firewallName :: Lens.Lens' DescribeFirewall (Prelude.Maybe Prelude.Text)
describeFirewall_firewallName :: Lens' DescribeFirewall (Maybe Text)
describeFirewall_firewallName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFirewall' {Maybe Text
firewallName :: Maybe Text
$sel:firewallName:DescribeFirewall' :: DescribeFirewall -> Maybe Text
firewallName} -> Maybe Text
firewallName) (\s :: DescribeFirewall
s@DescribeFirewall' {} Maybe Text
a -> DescribeFirewall
s {$sel:firewallName:DescribeFirewall' :: Maybe Text
firewallName = Maybe Text
a} :: DescribeFirewall)
instance Core.AWSRequest DescribeFirewall where
type
AWSResponse DescribeFirewall =
DescribeFirewallResponse
request :: (Service -> Service)
-> DescribeFirewall -> Request DescribeFirewall
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 DescribeFirewall
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeFirewall)))
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 Firewall
-> Maybe FirewallStatus
-> Maybe Text
-> Int
-> DescribeFirewallResponse
DescribeFirewallResponse'
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
"Firewall")
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
"FirewallStatus")
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
"UpdateToken")
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 DescribeFirewall where
hashWithSalt :: Int -> DescribeFirewall -> Int
hashWithSalt Int
_salt DescribeFirewall' {Maybe Text
firewallName :: Maybe Text
firewallArn :: Maybe Text
$sel:firewallName:DescribeFirewall' :: DescribeFirewall -> Maybe Text
$sel:firewallArn:DescribeFirewall' :: DescribeFirewall -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
firewallArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
firewallName
instance Prelude.NFData DescribeFirewall where
rnf :: DescribeFirewall -> ()
rnf DescribeFirewall' {Maybe Text
firewallName :: Maybe Text
firewallArn :: Maybe Text
$sel:firewallName:DescribeFirewall' :: DescribeFirewall -> Maybe Text
$sel:firewallArn:DescribeFirewall' :: DescribeFirewall -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
firewallArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
firewallName
instance Data.ToHeaders DescribeFirewall where
toHeaders :: DescribeFirewall -> 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.DescribeFirewall" ::
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 DescribeFirewall where
toJSON :: DescribeFirewall -> Value
toJSON DescribeFirewall' {Maybe Text
firewallName :: Maybe Text
firewallArn :: Maybe Text
$sel:firewallName:DescribeFirewall' :: DescribeFirewall -> Maybe Text
$sel:firewallArn:DescribeFirewall' :: DescribeFirewall -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"FirewallArn" 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
firewallArn,
(Key
"FirewallName" 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
firewallName
]
)
instance Data.ToPath DescribeFirewall where
toPath :: DescribeFirewall -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeFirewall where
toQuery :: DescribeFirewall -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeFirewallResponse = DescribeFirewallResponse'
{
DescribeFirewallResponse -> Maybe Firewall
firewall :: Prelude.Maybe Firewall,
DescribeFirewallResponse -> Maybe FirewallStatus
firewallStatus :: Prelude.Maybe FirewallStatus,
DescribeFirewallResponse -> Maybe Text
updateToken :: Prelude.Maybe Prelude.Text,
DescribeFirewallResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeFirewallResponse -> DescribeFirewallResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeFirewallResponse -> DescribeFirewallResponse -> Bool
$c/= :: DescribeFirewallResponse -> DescribeFirewallResponse -> Bool
== :: DescribeFirewallResponse -> DescribeFirewallResponse -> Bool
$c== :: DescribeFirewallResponse -> DescribeFirewallResponse -> Bool
Prelude.Eq, ReadPrec [DescribeFirewallResponse]
ReadPrec DescribeFirewallResponse
Int -> ReadS DescribeFirewallResponse
ReadS [DescribeFirewallResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeFirewallResponse]
$creadListPrec :: ReadPrec [DescribeFirewallResponse]
readPrec :: ReadPrec DescribeFirewallResponse
$creadPrec :: ReadPrec DescribeFirewallResponse
readList :: ReadS [DescribeFirewallResponse]
$creadList :: ReadS [DescribeFirewallResponse]
readsPrec :: Int -> ReadS DescribeFirewallResponse
$creadsPrec :: Int -> ReadS DescribeFirewallResponse
Prelude.Read, Int -> DescribeFirewallResponse -> ShowS
[DescribeFirewallResponse] -> ShowS
DescribeFirewallResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeFirewallResponse] -> ShowS
$cshowList :: [DescribeFirewallResponse] -> ShowS
show :: DescribeFirewallResponse -> String
$cshow :: DescribeFirewallResponse -> String
showsPrec :: Int -> DescribeFirewallResponse -> ShowS
$cshowsPrec :: Int -> DescribeFirewallResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeFirewallResponse x -> DescribeFirewallResponse
forall x.
DescribeFirewallResponse -> Rep DescribeFirewallResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeFirewallResponse x -> DescribeFirewallResponse
$cfrom :: forall x.
DescribeFirewallResponse -> Rep DescribeFirewallResponse x
Prelude.Generic)
newDescribeFirewallResponse ::
Prelude.Int ->
DescribeFirewallResponse
newDescribeFirewallResponse :: Int -> DescribeFirewallResponse
newDescribeFirewallResponse Int
pHttpStatus_ =
DescribeFirewallResponse'
{ $sel:firewall:DescribeFirewallResponse' :: Maybe Firewall
firewall =
forall a. Maybe a
Prelude.Nothing,
$sel:firewallStatus:DescribeFirewallResponse' :: Maybe FirewallStatus
firewallStatus = forall a. Maybe a
Prelude.Nothing,
$sel:updateToken:DescribeFirewallResponse' :: Maybe Text
updateToken = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeFirewallResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeFirewallResponse_firewall :: Lens.Lens' DescribeFirewallResponse (Prelude.Maybe Firewall)
describeFirewallResponse_firewall :: Lens' DescribeFirewallResponse (Maybe Firewall)
describeFirewallResponse_firewall = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFirewallResponse' {Maybe Firewall
firewall :: Maybe Firewall
$sel:firewall:DescribeFirewallResponse' :: DescribeFirewallResponse -> Maybe Firewall
firewall} -> Maybe Firewall
firewall) (\s :: DescribeFirewallResponse
s@DescribeFirewallResponse' {} Maybe Firewall
a -> DescribeFirewallResponse
s {$sel:firewall:DescribeFirewallResponse' :: Maybe Firewall
firewall = Maybe Firewall
a} :: DescribeFirewallResponse)
describeFirewallResponse_firewallStatus :: Lens.Lens' DescribeFirewallResponse (Prelude.Maybe FirewallStatus)
describeFirewallResponse_firewallStatus :: Lens' DescribeFirewallResponse (Maybe FirewallStatus)
describeFirewallResponse_firewallStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFirewallResponse' {Maybe FirewallStatus
firewallStatus :: Maybe FirewallStatus
$sel:firewallStatus:DescribeFirewallResponse' :: DescribeFirewallResponse -> Maybe FirewallStatus
firewallStatus} -> Maybe FirewallStatus
firewallStatus) (\s :: DescribeFirewallResponse
s@DescribeFirewallResponse' {} Maybe FirewallStatus
a -> DescribeFirewallResponse
s {$sel:firewallStatus:DescribeFirewallResponse' :: Maybe FirewallStatus
firewallStatus = Maybe FirewallStatus
a} :: DescribeFirewallResponse)
describeFirewallResponse_updateToken :: Lens.Lens' DescribeFirewallResponse (Prelude.Maybe Prelude.Text)
describeFirewallResponse_updateToken :: Lens' DescribeFirewallResponse (Maybe Text)
describeFirewallResponse_updateToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFirewallResponse' {Maybe Text
updateToken :: Maybe Text
$sel:updateToken:DescribeFirewallResponse' :: DescribeFirewallResponse -> Maybe Text
updateToken} -> Maybe Text
updateToken) (\s :: DescribeFirewallResponse
s@DescribeFirewallResponse' {} Maybe Text
a -> DescribeFirewallResponse
s {$sel:updateToken:DescribeFirewallResponse' :: Maybe Text
updateToken = Maybe Text
a} :: DescribeFirewallResponse)
describeFirewallResponse_httpStatus :: Lens.Lens' DescribeFirewallResponse Prelude.Int
describeFirewallResponse_httpStatus :: Lens' DescribeFirewallResponse Int
describeFirewallResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFirewallResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeFirewallResponse' :: DescribeFirewallResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeFirewallResponse
s@DescribeFirewallResponse' {} Int
a -> DescribeFirewallResponse
s {$sel:httpStatus:DescribeFirewallResponse' :: Int
httpStatus = Int
a} :: DescribeFirewallResponse)
instance Prelude.NFData DescribeFirewallResponse where
rnf :: DescribeFirewallResponse -> ()
rnf DescribeFirewallResponse' {Int
Maybe Text
Maybe FirewallStatus
Maybe Firewall
httpStatus :: Int
updateToken :: Maybe Text
firewallStatus :: Maybe FirewallStatus
firewall :: Maybe Firewall
$sel:httpStatus:DescribeFirewallResponse' :: DescribeFirewallResponse -> Int
$sel:updateToken:DescribeFirewallResponse' :: DescribeFirewallResponse -> Maybe Text
$sel:firewallStatus:DescribeFirewallResponse' :: DescribeFirewallResponse -> Maybe FirewallStatus
$sel:firewall:DescribeFirewallResponse' :: DescribeFirewallResponse -> Maybe Firewall
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Firewall
firewall
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FirewallStatus
firewallStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
updateToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus