{-# 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.Route53Resolver.ListResolverRules
(
ListResolverRules (..),
newListResolverRules,
listResolverRules_filters,
listResolverRules_maxResults,
listResolverRules_nextToken,
ListResolverRulesResponse (..),
newListResolverRulesResponse,
listResolverRulesResponse_maxResults,
listResolverRulesResponse_nextToken,
listResolverRulesResponse_resolverRules,
listResolverRulesResponse_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.Route53Resolver.Types
data ListResolverRules = ListResolverRules'
{
ListResolverRules -> Maybe [Filter]
filters :: Prelude.Maybe [Filter],
ListResolverRules -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
ListResolverRules -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text
}
deriving (ListResolverRules -> ListResolverRules -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListResolverRules -> ListResolverRules -> Bool
$c/= :: ListResolverRules -> ListResolverRules -> Bool
== :: ListResolverRules -> ListResolverRules -> Bool
$c== :: ListResolverRules -> ListResolverRules -> Bool
Prelude.Eq, ReadPrec [ListResolverRules]
ReadPrec ListResolverRules
Int -> ReadS ListResolverRules
ReadS [ListResolverRules]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListResolverRules]
$creadListPrec :: ReadPrec [ListResolverRules]
readPrec :: ReadPrec ListResolverRules
$creadPrec :: ReadPrec ListResolverRules
readList :: ReadS [ListResolverRules]
$creadList :: ReadS [ListResolverRules]
readsPrec :: Int -> ReadS ListResolverRules
$creadsPrec :: Int -> ReadS ListResolverRules
Prelude.Read, Int -> ListResolverRules -> ShowS
[ListResolverRules] -> ShowS
ListResolverRules -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListResolverRules] -> ShowS
$cshowList :: [ListResolverRules] -> ShowS
show :: ListResolverRules -> String
$cshow :: ListResolverRules -> String
showsPrec :: Int -> ListResolverRules -> ShowS
$cshowsPrec :: Int -> ListResolverRules -> ShowS
Prelude.Show, forall x. Rep ListResolverRules x -> ListResolverRules
forall x. ListResolverRules -> Rep ListResolverRules x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListResolverRules x -> ListResolverRules
$cfrom :: forall x. ListResolverRules -> Rep ListResolverRules x
Prelude.Generic)
newListResolverRules ::
ListResolverRules
newListResolverRules :: ListResolverRules
newListResolverRules =
ListResolverRules'
{ $sel:filters:ListResolverRules' :: Maybe [Filter]
filters = forall a. Maybe a
Prelude.Nothing,
$sel:maxResults:ListResolverRules' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:ListResolverRules' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing
}
listResolverRules_filters :: Lens.Lens' ListResolverRules (Prelude.Maybe [Filter])
listResolverRules_filters :: Lens' ListResolverRules (Maybe [Filter])
listResolverRules_filters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListResolverRules' {Maybe [Filter]
filters :: Maybe [Filter]
$sel:filters:ListResolverRules' :: ListResolverRules -> Maybe [Filter]
filters} -> Maybe [Filter]
filters) (\s :: ListResolverRules
s@ListResolverRules' {} Maybe [Filter]
a -> ListResolverRules
s {$sel:filters:ListResolverRules' :: Maybe [Filter]
filters = Maybe [Filter]
a} :: ListResolverRules) 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
listResolverRules_maxResults :: Lens.Lens' ListResolverRules (Prelude.Maybe Prelude.Natural)
listResolverRules_maxResults :: Lens' ListResolverRules (Maybe Natural)
listResolverRules_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListResolverRules' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListResolverRules' :: ListResolverRules -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListResolverRules
s@ListResolverRules' {} Maybe Natural
a -> ListResolverRules
s {$sel:maxResults:ListResolverRules' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListResolverRules)
listResolverRules_nextToken :: Lens.Lens' ListResolverRules (Prelude.Maybe Prelude.Text)
listResolverRules_nextToken :: Lens' ListResolverRules (Maybe Text)
listResolverRules_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListResolverRules' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListResolverRules' :: ListResolverRules -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListResolverRules
s@ListResolverRules' {} Maybe Text
a -> ListResolverRules
s {$sel:nextToken:ListResolverRules' :: Maybe Text
nextToken = Maybe Text
a} :: ListResolverRules)
instance Core.AWSPager ListResolverRules where
page :: ListResolverRules
-> AWSResponse ListResolverRules -> Maybe ListResolverRules
page ListResolverRules
rq AWSResponse ListResolverRules
rs
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse ListResolverRules
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListResolverRulesResponse (Maybe Text)
listResolverRulesResponse_nextToken
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 ListResolverRules
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListResolverRulesResponse (Maybe [ResolverRule])
listResolverRulesResponse_resolverRules
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.$ ListResolverRules
rq
forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListResolverRules (Maybe Text)
listResolverRules_nextToken
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListResolverRules
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListResolverRulesResponse (Maybe Text)
listResolverRulesResponse_nextToken
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 ListResolverRules where
type
AWSResponse ListResolverRules =
ListResolverRulesResponse
request :: (Service -> Service)
-> ListResolverRules -> Request ListResolverRules
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 ListResolverRules
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ListResolverRules)))
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 Natural
-> Maybe Text
-> Maybe [ResolverRule]
-> Int
-> ListResolverRulesResponse
ListResolverRulesResponse'
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
"MaxResults")
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
"NextToken")
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
"ResolverRules" 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 ListResolverRules where
hashWithSalt :: Int -> ListResolverRules -> Int
hashWithSalt Int
_salt ListResolverRules' {Maybe Natural
Maybe [Filter]
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
filters :: Maybe [Filter]
$sel:nextToken:ListResolverRules' :: ListResolverRules -> Maybe Text
$sel:maxResults:ListResolverRules' :: ListResolverRules -> Maybe Natural
$sel:filters:ListResolverRules' :: ListResolverRules -> Maybe [Filter]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Filter]
filters
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
instance Prelude.NFData ListResolverRules where
rnf :: ListResolverRules -> ()
rnf ListResolverRules' {Maybe Natural
Maybe [Filter]
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
filters :: Maybe [Filter]
$sel:nextToken:ListResolverRules' :: ListResolverRules -> Maybe Text
$sel:maxResults:ListResolverRules' :: ListResolverRules -> Maybe Natural
$sel:filters:ListResolverRules' :: ListResolverRules -> Maybe [Filter]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Filter]
filters
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
instance Data.ToHeaders ListResolverRules where
toHeaders :: ListResolverRules -> 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
"Route53Resolver.ListResolverRules" ::
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 ListResolverRules where
toJSON :: ListResolverRules -> Value
toJSON ListResolverRules' {Maybe Natural
Maybe [Filter]
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
filters :: Maybe [Filter]
$sel:nextToken:ListResolverRules' :: ListResolverRules -> Maybe Text
$sel:maxResults:ListResolverRules' :: ListResolverRules -> Maybe Natural
$sel:filters:ListResolverRules' :: ListResolverRules -> Maybe [Filter]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Filters" 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 [Filter]
filters,
(Key
"MaxResults" 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
maxResults,
(Key
"NextToken" 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
nextToken
]
)
instance Data.ToPath ListResolverRules where
toPath :: ListResolverRules -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ListResolverRules where
toQuery :: ListResolverRules -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data ListResolverRulesResponse = ListResolverRulesResponse'
{
ListResolverRulesResponse -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
ListResolverRulesResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListResolverRulesResponse -> Maybe [ResolverRule]
resolverRules :: Prelude.Maybe [ResolverRule],
ListResolverRulesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ListResolverRulesResponse -> ListResolverRulesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListResolverRulesResponse -> ListResolverRulesResponse -> Bool
$c/= :: ListResolverRulesResponse -> ListResolverRulesResponse -> Bool
== :: ListResolverRulesResponse -> ListResolverRulesResponse -> Bool
$c== :: ListResolverRulesResponse -> ListResolverRulesResponse -> Bool
Prelude.Eq, ReadPrec [ListResolverRulesResponse]
ReadPrec ListResolverRulesResponse
Int -> ReadS ListResolverRulesResponse
ReadS [ListResolverRulesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListResolverRulesResponse]
$creadListPrec :: ReadPrec [ListResolverRulesResponse]
readPrec :: ReadPrec ListResolverRulesResponse
$creadPrec :: ReadPrec ListResolverRulesResponse
readList :: ReadS [ListResolverRulesResponse]
$creadList :: ReadS [ListResolverRulesResponse]
readsPrec :: Int -> ReadS ListResolverRulesResponse
$creadsPrec :: Int -> ReadS ListResolverRulesResponse
Prelude.Read, Int -> ListResolverRulesResponse -> ShowS
[ListResolverRulesResponse] -> ShowS
ListResolverRulesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListResolverRulesResponse] -> ShowS
$cshowList :: [ListResolverRulesResponse] -> ShowS
show :: ListResolverRulesResponse -> String
$cshow :: ListResolverRulesResponse -> String
showsPrec :: Int -> ListResolverRulesResponse -> ShowS
$cshowsPrec :: Int -> ListResolverRulesResponse -> ShowS
Prelude.Show, forall x.
Rep ListResolverRulesResponse x -> ListResolverRulesResponse
forall x.
ListResolverRulesResponse -> Rep ListResolverRulesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListResolverRulesResponse x -> ListResolverRulesResponse
$cfrom :: forall x.
ListResolverRulesResponse -> Rep ListResolverRulesResponse x
Prelude.Generic)
newListResolverRulesResponse ::
Prelude.Int ->
ListResolverRulesResponse
newListResolverRulesResponse :: Int -> ListResolverRulesResponse
newListResolverRulesResponse Int
pHttpStatus_ =
ListResolverRulesResponse'
{ $sel:maxResults:ListResolverRulesResponse' :: Maybe Natural
maxResults =
forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:ListResolverRulesResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:resolverRules:ListResolverRulesResponse' :: Maybe [ResolverRule]
resolverRules = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ListResolverRulesResponse' :: Int
httpStatus = Int
pHttpStatus_
}
listResolverRulesResponse_maxResults :: Lens.Lens' ListResolverRulesResponse (Prelude.Maybe Prelude.Natural)
listResolverRulesResponse_maxResults :: Lens' ListResolverRulesResponse (Maybe Natural)
listResolverRulesResponse_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListResolverRulesResponse' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListResolverRulesResponse' :: ListResolverRulesResponse -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListResolverRulesResponse
s@ListResolverRulesResponse' {} Maybe Natural
a -> ListResolverRulesResponse
s {$sel:maxResults:ListResolverRulesResponse' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListResolverRulesResponse)
listResolverRulesResponse_nextToken :: Lens.Lens' ListResolverRulesResponse (Prelude.Maybe Prelude.Text)
listResolverRulesResponse_nextToken :: Lens' ListResolverRulesResponse (Maybe Text)
listResolverRulesResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListResolverRulesResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListResolverRulesResponse' :: ListResolverRulesResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListResolverRulesResponse
s@ListResolverRulesResponse' {} Maybe Text
a -> ListResolverRulesResponse
s {$sel:nextToken:ListResolverRulesResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListResolverRulesResponse)
listResolverRulesResponse_resolverRules :: Lens.Lens' ListResolverRulesResponse (Prelude.Maybe [ResolverRule])
listResolverRulesResponse_resolverRules :: Lens' ListResolverRulesResponse (Maybe [ResolverRule])
listResolverRulesResponse_resolverRules = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListResolverRulesResponse' {Maybe [ResolverRule]
resolverRules :: Maybe [ResolverRule]
$sel:resolverRules:ListResolverRulesResponse' :: ListResolverRulesResponse -> Maybe [ResolverRule]
resolverRules} -> Maybe [ResolverRule]
resolverRules) (\s :: ListResolverRulesResponse
s@ListResolverRulesResponse' {} Maybe [ResolverRule]
a -> ListResolverRulesResponse
s {$sel:resolverRules:ListResolverRulesResponse' :: Maybe [ResolverRule]
resolverRules = Maybe [ResolverRule]
a} :: ListResolverRulesResponse) 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
listResolverRulesResponse_httpStatus :: Lens.Lens' ListResolverRulesResponse Prelude.Int
listResolverRulesResponse_httpStatus :: Lens' ListResolverRulesResponse Int
listResolverRulesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListResolverRulesResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListResolverRulesResponse' :: ListResolverRulesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListResolverRulesResponse
s@ListResolverRulesResponse' {} Int
a -> ListResolverRulesResponse
s {$sel:httpStatus:ListResolverRulesResponse' :: Int
httpStatus = Int
a} :: ListResolverRulesResponse)
instance Prelude.NFData ListResolverRulesResponse where
rnf :: ListResolverRulesResponse -> ()
rnf ListResolverRulesResponse' {Int
Maybe Natural
Maybe [ResolverRule]
Maybe Text
httpStatus :: Int
resolverRules :: Maybe [ResolverRule]
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:httpStatus:ListResolverRulesResponse' :: ListResolverRulesResponse -> Int
$sel:resolverRules:ListResolverRulesResponse' :: ListResolverRulesResponse -> Maybe [ResolverRule]
$sel:nextToken:ListResolverRulesResponse' :: ListResolverRulesResponse -> Maybe Text
$sel:maxResults:ListResolverRulesResponse' :: ListResolverRulesResponse -> Maybe Natural
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [ResolverRule]
resolverRules
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus