{-# 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.ELBV2.DescribeRules
(
DescribeRules (..),
newDescribeRules,
describeRules_listenerArn,
describeRules_marker,
describeRules_pageSize,
describeRules_ruleArns,
DescribeRulesResponse (..),
newDescribeRulesResponse,
describeRulesResponse_nextMarker,
describeRulesResponse_rules,
describeRulesResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.ELBV2.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeRules = DescribeRules'
{
DescribeRules -> Maybe Text
listenerArn :: Prelude.Maybe Prelude.Text,
DescribeRules -> Maybe Text
marker :: Prelude.Maybe Prelude.Text,
DescribeRules -> Maybe Natural
pageSize :: Prelude.Maybe Prelude.Natural,
DescribeRules -> Maybe [Text]
ruleArns :: Prelude.Maybe [Prelude.Text]
}
deriving (DescribeRules -> DescribeRules -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeRules -> DescribeRules -> Bool
$c/= :: DescribeRules -> DescribeRules -> Bool
== :: DescribeRules -> DescribeRules -> Bool
$c== :: DescribeRules -> DescribeRules -> Bool
Prelude.Eq, ReadPrec [DescribeRules]
ReadPrec DescribeRules
Int -> ReadS DescribeRules
ReadS [DescribeRules]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeRules]
$creadListPrec :: ReadPrec [DescribeRules]
readPrec :: ReadPrec DescribeRules
$creadPrec :: ReadPrec DescribeRules
readList :: ReadS [DescribeRules]
$creadList :: ReadS [DescribeRules]
readsPrec :: Int -> ReadS DescribeRules
$creadsPrec :: Int -> ReadS DescribeRules
Prelude.Read, Int -> DescribeRules -> ShowS
[DescribeRules] -> ShowS
DescribeRules -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeRules] -> ShowS
$cshowList :: [DescribeRules] -> ShowS
show :: DescribeRules -> String
$cshow :: DescribeRules -> String
showsPrec :: Int -> DescribeRules -> ShowS
$cshowsPrec :: Int -> DescribeRules -> ShowS
Prelude.Show, forall x. Rep DescribeRules x -> DescribeRules
forall x. DescribeRules -> Rep DescribeRules x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeRules x -> DescribeRules
$cfrom :: forall x. DescribeRules -> Rep DescribeRules x
Prelude.Generic)
newDescribeRules ::
DescribeRules
newDescribeRules :: DescribeRules
newDescribeRules =
DescribeRules'
{ $sel:listenerArn:DescribeRules' :: Maybe Text
listenerArn = forall a. Maybe a
Prelude.Nothing,
$sel:marker:DescribeRules' :: Maybe Text
marker = forall a. Maybe a
Prelude.Nothing,
$sel:pageSize:DescribeRules' :: Maybe Natural
pageSize = forall a. Maybe a
Prelude.Nothing,
$sel:ruleArns:DescribeRules' :: Maybe [Text]
ruleArns = forall a. Maybe a
Prelude.Nothing
}
describeRules_listenerArn :: Lens.Lens' DescribeRules (Prelude.Maybe Prelude.Text)
describeRules_listenerArn :: Lens' DescribeRules (Maybe Text)
describeRules_listenerArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeRules' {Maybe Text
listenerArn :: Maybe Text
$sel:listenerArn:DescribeRules' :: DescribeRules -> Maybe Text
listenerArn} -> Maybe Text
listenerArn) (\s :: DescribeRules
s@DescribeRules' {} Maybe Text
a -> DescribeRules
s {$sel:listenerArn:DescribeRules' :: Maybe Text
listenerArn = Maybe Text
a} :: DescribeRules)
describeRules_marker :: Lens.Lens' DescribeRules (Prelude.Maybe Prelude.Text)
describeRules_marker :: Lens' DescribeRules (Maybe Text)
describeRules_marker = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeRules' {Maybe Text
marker :: Maybe Text
$sel:marker:DescribeRules' :: DescribeRules -> Maybe Text
marker} -> Maybe Text
marker) (\s :: DescribeRules
s@DescribeRules' {} Maybe Text
a -> DescribeRules
s {$sel:marker:DescribeRules' :: Maybe Text
marker = Maybe Text
a} :: DescribeRules)
describeRules_pageSize :: Lens.Lens' DescribeRules (Prelude.Maybe Prelude.Natural)
describeRules_pageSize :: Lens' DescribeRules (Maybe Natural)
describeRules_pageSize = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeRules' {Maybe Natural
pageSize :: Maybe Natural
$sel:pageSize:DescribeRules' :: DescribeRules -> Maybe Natural
pageSize} -> Maybe Natural
pageSize) (\s :: DescribeRules
s@DescribeRules' {} Maybe Natural
a -> DescribeRules
s {$sel:pageSize:DescribeRules' :: Maybe Natural
pageSize = Maybe Natural
a} :: DescribeRules)
describeRules_ruleArns :: Lens.Lens' DescribeRules (Prelude.Maybe [Prelude.Text])
describeRules_ruleArns :: Lens' DescribeRules (Maybe [Text])
describeRules_ruleArns = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeRules' {Maybe [Text]
ruleArns :: Maybe [Text]
$sel:ruleArns:DescribeRules' :: DescribeRules -> Maybe [Text]
ruleArns} -> Maybe [Text]
ruleArns) (\s :: DescribeRules
s@DescribeRules' {} Maybe [Text]
a -> DescribeRules
s {$sel:ruleArns:DescribeRules' :: Maybe [Text]
ruleArns = Maybe [Text]
a} :: DescribeRules) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSPager DescribeRules where
page :: DescribeRules -> AWSResponse DescribeRules -> Maybe DescribeRules
page DescribeRules
rq AWSResponse DescribeRules
rs
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse DescribeRules
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeRulesResponse (Maybe Text)
describeRulesResponse_nextMarker
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
) =
forall a. Maybe a
Prelude.Nothing
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse DescribeRules
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeRulesResponse (Maybe [Rule])
describeRulesResponse_rules
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
) =
forall a. Maybe a
Prelude.Nothing
| Bool
Prelude.otherwise =
forall a. a -> Maybe a
Prelude.Just
forall a b. (a -> b) -> a -> b
Prelude.$ DescribeRules
rq
forall a b. a -> (a -> b) -> b
Prelude.& Lens' DescribeRules (Maybe Text)
describeRules_marker
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse DescribeRules
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeRulesResponse (Maybe Text)
describeRulesResponse_nextMarker
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
instance Core.AWSRequest DescribeRules where
type
AWSResponse DescribeRules =
DescribeRulesResponse
request :: (Service -> Service) -> DescribeRules -> Request DescribeRules
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeRules
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeRules)))
response =
forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
-> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
Text
"DescribeRulesResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe Text -> Maybe [Rule] -> Int -> DescribeRulesResponse
DescribeRulesResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"NextMarker")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Rules"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"member")
)
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 DescribeRules where
hashWithSalt :: Int -> DescribeRules -> Int
hashWithSalt Int
_salt DescribeRules' {Maybe Natural
Maybe [Text]
Maybe Text
ruleArns :: Maybe [Text]
pageSize :: Maybe Natural
marker :: Maybe Text
listenerArn :: Maybe Text
$sel:ruleArns:DescribeRules' :: DescribeRules -> Maybe [Text]
$sel:pageSize:DescribeRules' :: DescribeRules -> Maybe Natural
$sel:marker:DescribeRules' :: DescribeRules -> Maybe Text
$sel:listenerArn:DescribeRules' :: DescribeRules -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
listenerArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
marker
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
pageSize
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
ruleArns
instance Prelude.NFData DescribeRules where
rnf :: DescribeRules -> ()
rnf DescribeRules' {Maybe Natural
Maybe [Text]
Maybe Text
ruleArns :: Maybe [Text]
pageSize :: Maybe Natural
marker :: Maybe Text
listenerArn :: Maybe Text
$sel:ruleArns:DescribeRules' :: DescribeRules -> Maybe [Text]
$sel:pageSize:DescribeRules' :: DescribeRules -> Maybe Natural
$sel:marker:DescribeRules' :: DescribeRules -> Maybe Text
$sel:listenerArn:DescribeRules' :: DescribeRules -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
listenerArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
marker
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
pageSize
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
ruleArns
instance Data.ToHeaders DescribeRules where
toHeaders :: DescribeRules -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DescribeRules where
toPath :: DescribeRules -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeRules where
toQuery :: DescribeRules -> QueryString
toQuery DescribeRules' {Maybe Natural
Maybe [Text]
Maybe Text
ruleArns :: Maybe [Text]
pageSize :: Maybe Natural
marker :: Maybe Text
listenerArn :: Maybe Text
$sel:ruleArns:DescribeRules' :: DescribeRules -> Maybe [Text]
$sel:pageSize:DescribeRules' :: DescribeRules -> Maybe Natural
$sel:marker:DescribeRules' :: DescribeRules -> Maybe Text
$sel:listenerArn:DescribeRules' :: DescribeRules -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"DescribeRules" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2015-12-01" :: Prelude.ByteString),
ByteString
"ListenerArn" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
listenerArn,
ByteString
"Marker" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
marker,
ByteString
"PageSize" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Natural
pageSize,
ByteString
"RuleArns"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a. ToQuery a => a -> QueryString
Data.toQuery
(forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"member" forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
ruleArns)
]
data DescribeRulesResponse = DescribeRulesResponse'
{
DescribeRulesResponse -> Maybe Text
nextMarker :: Prelude.Maybe Prelude.Text,
DescribeRulesResponse -> Maybe [Rule]
rules :: Prelude.Maybe [Rule],
DescribeRulesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeRulesResponse -> DescribeRulesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeRulesResponse -> DescribeRulesResponse -> Bool
$c/= :: DescribeRulesResponse -> DescribeRulesResponse -> Bool
== :: DescribeRulesResponse -> DescribeRulesResponse -> Bool
$c== :: DescribeRulesResponse -> DescribeRulesResponse -> Bool
Prelude.Eq, ReadPrec [DescribeRulesResponse]
ReadPrec DescribeRulesResponse
Int -> ReadS DescribeRulesResponse
ReadS [DescribeRulesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeRulesResponse]
$creadListPrec :: ReadPrec [DescribeRulesResponse]
readPrec :: ReadPrec DescribeRulesResponse
$creadPrec :: ReadPrec DescribeRulesResponse
readList :: ReadS [DescribeRulesResponse]
$creadList :: ReadS [DescribeRulesResponse]
readsPrec :: Int -> ReadS DescribeRulesResponse
$creadsPrec :: Int -> ReadS DescribeRulesResponse
Prelude.Read, Int -> DescribeRulesResponse -> ShowS
[DescribeRulesResponse] -> ShowS
DescribeRulesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeRulesResponse] -> ShowS
$cshowList :: [DescribeRulesResponse] -> ShowS
show :: DescribeRulesResponse -> String
$cshow :: DescribeRulesResponse -> String
showsPrec :: Int -> DescribeRulesResponse -> ShowS
$cshowsPrec :: Int -> DescribeRulesResponse -> ShowS
Prelude.Show, forall x. Rep DescribeRulesResponse x -> DescribeRulesResponse
forall x. DescribeRulesResponse -> Rep DescribeRulesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeRulesResponse x -> DescribeRulesResponse
$cfrom :: forall x. DescribeRulesResponse -> Rep DescribeRulesResponse x
Prelude.Generic)
newDescribeRulesResponse ::
Prelude.Int ->
DescribeRulesResponse
newDescribeRulesResponse :: Int -> DescribeRulesResponse
newDescribeRulesResponse Int
pHttpStatus_ =
DescribeRulesResponse'
{ $sel:nextMarker:DescribeRulesResponse' :: Maybe Text
nextMarker =
forall a. Maybe a
Prelude.Nothing,
$sel:rules:DescribeRulesResponse' :: Maybe [Rule]
rules = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeRulesResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeRulesResponse_nextMarker :: Lens.Lens' DescribeRulesResponse (Prelude.Maybe Prelude.Text)
describeRulesResponse_nextMarker :: Lens' DescribeRulesResponse (Maybe Text)
describeRulesResponse_nextMarker = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeRulesResponse' {Maybe Text
nextMarker :: Maybe Text
$sel:nextMarker:DescribeRulesResponse' :: DescribeRulesResponse -> Maybe Text
nextMarker} -> Maybe Text
nextMarker) (\s :: DescribeRulesResponse
s@DescribeRulesResponse' {} Maybe Text
a -> DescribeRulesResponse
s {$sel:nextMarker:DescribeRulesResponse' :: Maybe Text
nextMarker = Maybe Text
a} :: DescribeRulesResponse)
describeRulesResponse_rules :: Lens.Lens' DescribeRulesResponse (Prelude.Maybe [Rule])
describeRulesResponse_rules :: Lens' DescribeRulesResponse (Maybe [Rule])
describeRulesResponse_rules = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeRulesResponse' {Maybe [Rule]
rules :: Maybe [Rule]
$sel:rules:DescribeRulesResponse' :: DescribeRulesResponse -> Maybe [Rule]
rules} -> Maybe [Rule]
rules) (\s :: DescribeRulesResponse
s@DescribeRulesResponse' {} Maybe [Rule]
a -> DescribeRulesResponse
s {$sel:rules:DescribeRulesResponse' :: Maybe [Rule]
rules = Maybe [Rule]
a} :: DescribeRulesResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
describeRulesResponse_httpStatus :: Lens.Lens' DescribeRulesResponse Prelude.Int
describeRulesResponse_httpStatus :: Lens' DescribeRulesResponse Int
describeRulesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeRulesResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeRulesResponse' :: DescribeRulesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeRulesResponse
s@DescribeRulesResponse' {} Int
a -> DescribeRulesResponse
s {$sel:httpStatus:DescribeRulesResponse' :: Int
httpStatus = Int
a} :: DescribeRulesResponse)
instance Prelude.NFData DescribeRulesResponse where
rnf :: DescribeRulesResponse -> ()
rnf DescribeRulesResponse' {Int
Maybe [Rule]
Maybe Text
httpStatus :: Int
rules :: Maybe [Rule]
nextMarker :: Maybe Text
$sel:httpStatus:DescribeRulesResponse' :: DescribeRulesResponse -> Int
$sel:rules:DescribeRulesResponse' :: DescribeRulesResponse -> Maybe [Rule]
$sel:nextMarker:DescribeRulesResponse' :: DescribeRulesResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextMarker
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Rule]
rules
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus