{-# 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.WAF.ListSizeConstraintSets
(
ListSizeConstraintSets (..),
newListSizeConstraintSets,
listSizeConstraintSets_limit,
listSizeConstraintSets_nextMarker,
ListSizeConstraintSetsResponse (..),
newListSizeConstraintSetsResponse,
listSizeConstraintSetsResponse_nextMarker,
listSizeConstraintSetsResponse_sizeConstraintSets,
listSizeConstraintSetsResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.WAF.Types
data ListSizeConstraintSets = ListSizeConstraintSets'
{
ListSizeConstraintSets -> Maybe Natural
limit :: Prelude.Maybe Prelude.Natural,
ListSizeConstraintSets -> Maybe Text
nextMarker :: Prelude.Maybe Prelude.Text
}
deriving (ListSizeConstraintSets -> ListSizeConstraintSets -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListSizeConstraintSets -> ListSizeConstraintSets -> Bool
$c/= :: ListSizeConstraintSets -> ListSizeConstraintSets -> Bool
== :: ListSizeConstraintSets -> ListSizeConstraintSets -> Bool
$c== :: ListSizeConstraintSets -> ListSizeConstraintSets -> Bool
Prelude.Eq, ReadPrec [ListSizeConstraintSets]
ReadPrec ListSizeConstraintSets
Int -> ReadS ListSizeConstraintSets
ReadS [ListSizeConstraintSets]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListSizeConstraintSets]
$creadListPrec :: ReadPrec [ListSizeConstraintSets]
readPrec :: ReadPrec ListSizeConstraintSets
$creadPrec :: ReadPrec ListSizeConstraintSets
readList :: ReadS [ListSizeConstraintSets]
$creadList :: ReadS [ListSizeConstraintSets]
readsPrec :: Int -> ReadS ListSizeConstraintSets
$creadsPrec :: Int -> ReadS ListSizeConstraintSets
Prelude.Read, Int -> ListSizeConstraintSets -> ShowS
[ListSizeConstraintSets] -> ShowS
ListSizeConstraintSets -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListSizeConstraintSets] -> ShowS
$cshowList :: [ListSizeConstraintSets] -> ShowS
show :: ListSizeConstraintSets -> String
$cshow :: ListSizeConstraintSets -> String
showsPrec :: Int -> ListSizeConstraintSets -> ShowS
$cshowsPrec :: Int -> ListSizeConstraintSets -> ShowS
Prelude.Show, forall x. Rep ListSizeConstraintSets x -> ListSizeConstraintSets
forall x. ListSizeConstraintSets -> Rep ListSizeConstraintSets x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListSizeConstraintSets x -> ListSizeConstraintSets
$cfrom :: forall x. ListSizeConstraintSets -> Rep ListSizeConstraintSets x
Prelude.Generic)
newListSizeConstraintSets ::
ListSizeConstraintSets
newListSizeConstraintSets :: ListSizeConstraintSets
newListSizeConstraintSets =
ListSizeConstraintSets'
{ $sel:limit:ListSizeConstraintSets' :: Maybe Natural
limit = forall a. Maybe a
Prelude.Nothing,
$sel:nextMarker:ListSizeConstraintSets' :: Maybe Text
nextMarker = forall a. Maybe a
Prelude.Nothing
}
listSizeConstraintSets_limit :: Lens.Lens' ListSizeConstraintSets (Prelude.Maybe Prelude.Natural)
listSizeConstraintSets_limit :: Lens' ListSizeConstraintSets (Maybe Natural)
listSizeConstraintSets_limit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSizeConstraintSets' {Maybe Natural
limit :: Maybe Natural
$sel:limit:ListSizeConstraintSets' :: ListSizeConstraintSets -> Maybe Natural
limit} -> Maybe Natural
limit) (\s :: ListSizeConstraintSets
s@ListSizeConstraintSets' {} Maybe Natural
a -> ListSizeConstraintSets
s {$sel:limit:ListSizeConstraintSets' :: Maybe Natural
limit = Maybe Natural
a} :: ListSizeConstraintSets)
listSizeConstraintSets_nextMarker :: Lens.Lens' ListSizeConstraintSets (Prelude.Maybe Prelude.Text)
listSizeConstraintSets_nextMarker :: Lens' ListSizeConstraintSets (Maybe Text)
listSizeConstraintSets_nextMarker = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSizeConstraintSets' {Maybe Text
nextMarker :: Maybe Text
$sel:nextMarker:ListSizeConstraintSets' :: ListSizeConstraintSets -> Maybe Text
nextMarker} -> Maybe Text
nextMarker) (\s :: ListSizeConstraintSets
s@ListSizeConstraintSets' {} Maybe Text
a -> ListSizeConstraintSets
s {$sel:nextMarker:ListSizeConstraintSets' :: Maybe Text
nextMarker = Maybe Text
a} :: ListSizeConstraintSets)
instance Core.AWSPager ListSizeConstraintSets where
page :: ListSizeConstraintSets
-> AWSResponse ListSizeConstraintSets
-> Maybe ListSizeConstraintSets
page ListSizeConstraintSets
rq AWSResponse ListSizeConstraintSets
rs
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse ListSizeConstraintSets
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListSizeConstraintSetsResponse (Maybe Text)
listSizeConstraintSetsResponse_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 ListSizeConstraintSets
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens'
ListSizeConstraintSetsResponse (Maybe [SizeConstraintSetSummary])
listSizeConstraintSetsResponse_sizeConstraintSets
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.$ ListSizeConstraintSets
rq
forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListSizeConstraintSets (Maybe Text)
listSizeConstraintSets_nextMarker
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListSizeConstraintSets
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListSizeConstraintSetsResponse (Maybe Text)
listSizeConstraintSetsResponse_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 ListSizeConstraintSets where
type
AWSResponse ListSizeConstraintSets =
ListSizeConstraintSetsResponse
request :: (Service -> Service)
-> ListSizeConstraintSets -> Request ListSizeConstraintSets
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 ListSizeConstraintSets
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ListSizeConstraintSets)))
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 Text
-> Maybe [SizeConstraintSetSummary]
-> Int
-> ListSizeConstraintSetsResponse
ListSizeConstraintSetsResponse'
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
"NextMarker")
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
"SizeConstraintSets"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
)
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 ListSizeConstraintSets where
hashWithSalt :: Int -> ListSizeConstraintSets -> Int
hashWithSalt Int
_salt ListSizeConstraintSets' {Maybe Natural
Maybe Text
nextMarker :: Maybe Text
limit :: Maybe Natural
$sel:nextMarker:ListSizeConstraintSets' :: ListSizeConstraintSets -> Maybe Text
$sel:limit:ListSizeConstraintSets' :: ListSizeConstraintSets -> Maybe Natural
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
limit
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextMarker
instance Prelude.NFData ListSizeConstraintSets where
rnf :: ListSizeConstraintSets -> ()
rnf ListSizeConstraintSets' {Maybe Natural
Maybe Text
nextMarker :: Maybe Text
limit :: Maybe Natural
$sel:nextMarker:ListSizeConstraintSets' :: ListSizeConstraintSets -> Maybe Text
$sel:limit:ListSizeConstraintSets' :: ListSizeConstraintSets -> Maybe Natural
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
limit
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextMarker
instance Data.ToHeaders ListSizeConstraintSets where
toHeaders :: ListSizeConstraintSets -> 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
"AWSWAF_20150824.ListSizeConstraintSets" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON ListSizeConstraintSets where
toJSON :: ListSizeConstraintSets -> Value
toJSON ListSizeConstraintSets' {Maybe Natural
Maybe Text
nextMarker :: Maybe Text
limit :: Maybe Natural
$sel:nextMarker:ListSizeConstraintSets' :: ListSizeConstraintSets -> Maybe Text
$sel:limit:ListSizeConstraintSets' :: ListSizeConstraintSets -> Maybe Natural
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Limit" 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 Natural
limit,
(Key
"NextMarker" 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
nextMarker
]
)
instance Data.ToPath ListSizeConstraintSets where
toPath :: ListSizeConstraintSets -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ListSizeConstraintSets where
toQuery :: ListSizeConstraintSets -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data ListSizeConstraintSetsResponse = ListSizeConstraintSetsResponse'
{
ListSizeConstraintSetsResponse -> Maybe Text
nextMarker :: Prelude.Maybe Prelude.Text,
ListSizeConstraintSetsResponse -> Maybe [SizeConstraintSetSummary]
sizeConstraintSets :: Prelude.Maybe [SizeConstraintSetSummary],
ListSizeConstraintSetsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ListSizeConstraintSetsResponse
-> ListSizeConstraintSetsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListSizeConstraintSetsResponse
-> ListSizeConstraintSetsResponse -> Bool
$c/= :: ListSizeConstraintSetsResponse
-> ListSizeConstraintSetsResponse -> Bool
== :: ListSizeConstraintSetsResponse
-> ListSizeConstraintSetsResponse -> Bool
$c== :: ListSizeConstraintSetsResponse
-> ListSizeConstraintSetsResponse -> Bool
Prelude.Eq, ReadPrec [ListSizeConstraintSetsResponse]
ReadPrec ListSizeConstraintSetsResponse
Int -> ReadS ListSizeConstraintSetsResponse
ReadS [ListSizeConstraintSetsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListSizeConstraintSetsResponse]
$creadListPrec :: ReadPrec [ListSizeConstraintSetsResponse]
readPrec :: ReadPrec ListSizeConstraintSetsResponse
$creadPrec :: ReadPrec ListSizeConstraintSetsResponse
readList :: ReadS [ListSizeConstraintSetsResponse]
$creadList :: ReadS [ListSizeConstraintSetsResponse]
readsPrec :: Int -> ReadS ListSizeConstraintSetsResponse
$creadsPrec :: Int -> ReadS ListSizeConstraintSetsResponse
Prelude.Read, Int -> ListSizeConstraintSetsResponse -> ShowS
[ListSizeConstraintSetsResponse] -> ShowS
ListSizeConstraintSetsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListSizeConstraintSetsResponse] -> ShowS
$cshowList :: [ListSizeConstraintSetsResponse] -> ShowS
show :: ListSizeConstraintSetsResponse -> String
$cshow :: ListSizeConstraintSetsResponse -> String
showsPrec :: Int -> ListSizeConstraintSetsResponse -> ShowS
$cshowsPrec :: Int -> ListSizeConstraintSetsResponse -> ShowS
Prelude.Show, forall x.
Rep ListSizeConstraintSetsResponse x
-> ListSizeConstraintSetsResponse
forall x.
ListSizeConstraintSetsResponse
-> Rep ListSizeConstraintSetsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListSizeConstraintSetsResponse x
-> ListSizeConstraintSetsResponse
$cfrom :: forall x.
ListSizeConstraintSetsResponse
-> Rep ListSizeConstraintSetsResponse x
Prelude.Generic)
newListSizeConstraintSetsResponse ::
Prelude.Int ->
ListSizeConstraintSetsResponse
newListSizeConstraintSetsResponse :: Int -> ListSizeConstraintSetsResponse
newListSizeConstraintSetsResponse Int
pHttpStatus_ =
ListSizeConstraintSetsResponse'
{ $sel:nextMarker:ListSizeConstraintSetsResponse' :: Maybe Text
nextMarker =
forall a. Maybe a
Prelude.Nothing,
$sel:sizeConstraintSets:ListSizeConstraintSetsResponse' :: Maybe [SizeConstraintSetSummary]
sizeConstraintSets = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ListSizeConstraintSetsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
listSizeConstraintSetsResponse_nextMarker :: Lens.Lens' ListSizeConstraintSetsResponse (Prelude.Maybe Prelude.Text)
listSizeConstraintSetsResponse_nextMarker :: Lens' ListSizeConstraintSetsResponse (Maybe Text)
listSizeConstraintSetsResponse_nextMarker = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSizeConstraintSetsResponse' {Maybe Text
nextMarker :: Maybe Text
$sel:nextMarker:ListSizeConstraintSetsResponse' :: ListSizeConstraintSetsResponse -> Maybe Text
nextMarker} -> Maybe Text
nextMarker) (\s :: ListSizeConstraintSetsResponse
s@ListSizeConstraintSetsResponse' {} Maybe Text
a -> ListSizeConstraintSetsResponse
s {$sel:nextMarker:ListSizeConstraintSetsResponse' :: Maybe Text
nextMarker = Maybe Text
a} :: ListSizeConstraintSetsResponse)
listSizeConstraintSetsResponse_sizeConstraintSets :: Lens.Lens' ListSizeConstraintSetsResponse (Prelude.Maybe [SizeConstraintSetSummary])
listSizeConstraintSetsResponse_sizeConstraintSets :: Lens'
ListSizeConstraintSetsResponse (Maybe [SizeConstraintSetSummary])
listSizeConstraintSetsResponse_sizeConstraintSets = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSizeConstraintSetsResponse' {Maybe [SizeConstraintSetSummary]
sizeConstraintSets :: Maybe [SizeConstraintSetSummary]
$sel:sizeConstraintSets:ListSizeConstraintSetsResponse' :: ListSizeConstraintSetsResponse -> Maybe [SizeConstraintSetSummary]
sizeConstraintSets} -> Maybe [SizeConstraintSetSummary]
sizeConstraintSets) (\s :: ListSizeConstraintSetsResponse
s@ListSizeConstraintSetsResponse' {} Maybe [SizeConstraintSetSummary]
a -> ListSizeConstraintSetsResponse
s {$sel:sizeConstraintSets:ListSizeConstraintSetsResponse' :: Maybe [SizeConstraintSetSummary]
sizeConstraintSets = Maybe [SizeConstraintSetSummary]
a} :: ListSizeConstraintSetsResponse) 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
listSizeConstraintSetsResponse_httpStatus :: Lens.Lens' ListSizeConstraintSetsResponse Prelude.Int
listSizeConstraintSetsResponse_httpStatus :: Lens' ListSizeConstraintSetsResponse Int
listSizeConstraintSetsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListSizeConstraintSetsResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListSizeConstraintSetsResponse' :: ListSizeConstraintSetsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListSizeConstraintSetsResponse
s@ListSizeConstraintSetsResponse' {} Int
a -> ListSizeConstraintSetsResponse
s {$sel:httpStatus:ListSizeConstraintSetsResponse' :: Int
httpStatus = Int
a} :: ListSizeConstraintSetsResponse)
instance
Prelude.NFData
ListSizeConstraintSetsResponse
where
rnf :: ListSizeConstraintSetsResponse -> ()
rnf ListSizeConstraintSetsResponse' {Int
Maybe [SizeConstraintSetSummary]
Maybe Text
httpStatus :: Int
sizeConstraintSets :: Maybe [SizeConstraintSetSummary]
nextMarker :: Maybe Text
$sel:httpStatus:ListSizeConstraintSetsResponse' :: ListSizeConstraintSetsResponse -> Int
$sel:sizeConstraintSets:ListSizeConstraintSetsResponse' :: ListSizeConstraintSetsResponse -> Maybe [SizeConstraintSetSummary]
$sel:nextMarker:ListSizeConstraintSetsResponse' :: ListSizeConstraintSetsResponse -> 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 [SizeConstraintSetSummary]
sizeConstraintSets
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus