{-# 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.DirectoryService.ListCertificates
(
ListCertificates (..),
newListCertificates,
listCertificates_limit,
listCertificates_nextToken,
listCertificates_directoryId,
ListCertificatesResponse (..),
newListCertificatesResponse,
listCertificatesResponse_certificatesInfo,
listCertificatesResponse_nextToken,
listCertificatesResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DirectoryService.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data ListCertificates = ListCertificates'
{
ListCertificates -> Maybe Natural
limit :: Prelude.Maybe Prelude.Natural,
ListCertificates -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListCertificates -> Text
directoryId :: Prelude.Text
}
deriving (ListCertificates -> ListCertificates -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListCertificates -> ListCertificates -> Bool
$c/= :: ListCertificates -> ListCertificates -> Bool
== :: ListCertificates -> ListCertificates -> Bool
$c== :: ListCertificates -> ListCertificates -> Bool
Prelude.Eq, ReadPrec [ListCertificates]
ReadPrec ListCertificates
Int -> ReadS ListCertificates
ReadS [ListCertificates]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListCertificates]
$creadListPrec :: ReadPrec [ListCertificates]
readPrec :: ReadPrec ListCertificates
$creadPrec :: ReadPrec ListCertificates
readList :: ReadS [ListCertificates]
$creadList :: ReadS [ListCertificates]
readsPrec :: Int -> ReadS ListCertificates
$creadsPrec :: Int -> ReadS ListCertificates
Prelude.Read, Int -> ListCertificates -> ShowS
[ListCertificates] -> ShowS
ListCertificates -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListCertificates] -> ShowS
$cshowList :: [ListCertificates] -> ShowS
show :: ListCertificates -> String
$cshow :: ListCertificates -> String
showsPrec :: Int -> ListCertificates -> ShowS
$cshowsPrec :: Int -> ListCertificates -> ShowS
Prelude.Show, forall x. Rep ListCertificates x -> ListCertificates
forall x. ListCertificates -> Rep ListCertificates x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListCertificates x -> ListCertificates
$cfrom :: forall x. ListCertificates -> Rep ListCertificates x
Prelude.Generic)
newListCertificates ::
Prelude.Text ->
ListCertificates
newListCertificates :: Text -> ListCertificates
newListCertificates Text
pDirectoryId_ =
ListCertificates'
{ $sel:limit:ListCertificates' :: Maybe Natural
limit = forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:ListCertificates' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:directoryId:ListCertificates' :: Text
directoryId = Text
pDirectoryId_
}
listCertificates_limit :: Lens.Lens' ListCertificates (Prelude.Maybe Prelude.Natural)
listCertificates_limit :: Lens' ListCertificates (Maybe Natural)
listCertificates_limit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListCertificates' {Maybe Natural
limit :: Maybe Natural
$sel:limit:ListCertificates' :: ListCertificates -> Maybe Natural
limit} -> Maybe Natural
limit) (\s :: ListCertificates
s@ListCertificates' {} Maybe Natural
a -> ListCertificates
s {$sel:limit:ListCertificates' :: Maybe Natural
limit = Maybe Natural
a} :: ListCertificates)
listCertificates_nextToken :: Lens.Lens' ListCertificates (Prelude.Maybe Prelude.Text)
listCertificates_nextToken :: Lens' ListCertificates (Maybe Text)
listCertificates_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListCertificates' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListCertificates' :: ListCertificates -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListCertificates
s@ListCertificates' {} Maybe Text
a -> ListCertificates
s {$sel:nextToken:ListCertificates' :: Maybe Text
nextToken = Maybe Text
a} :: ListCertificates)
listCertificates_directoryId :: Lens.Lens' ListCertificates Prelude.Text
listCertificates_directoryId :: Lens' ListCertificates Text
listCertificates_directoryId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListCertificates' {Text
directoryId :: Text
$sel:directoryId:ListCertificates' :: ListCertificates -> Text
directoryId} -> Text
directoryId) (\s :: ListCertificates
s@ListCertificates' {} Text
a -> ListCertificates
s {$sel:directoryId:ListCertificates' :: Text
directoryId = Text
a} :: ListCertificates)
instance Core.AWSPager ListCertificates where
page :: ListCertificates
-> AWSResponse ListCertificates -> Maybe ListCertificates
page ListCertificates
rq AWSResponse ListCertificates
rs
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse ListCertificates
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListCertificatesResponse (Maybe Text)
listCertificatesResponse_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 ListCertificates
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListCertificatesResponse (Maybe [CertificateInfo])
listCertificatesResponse_certificatesInfo
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.$ ListCertificates
rq
forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListCertificates (Maybe Text)
listCertificates_nextToken
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListCertificates
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListCertificatesResponse (Maybe Text)
listCertificatesResponse_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 ListCertificates where
type
AWSResponse ListCertificates =
ListCertificatesResponse
request :: (Service -> Service)
-> ListCertificates -> Request ListCertificates
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 ListCertificates
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse ListCertificates)))
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 [CertificateInfo]
-> Maybe Text -> Int -> ListCertificatesResponse
ListCertificatesResponse'
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
"CertificatesInfo"
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.<*> (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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable ListCertificates where
hashWithSalt :: Int -> ListCertificates -> Int
hashWithSalt Int
_salt ListCertificates' {Maybe Natural
Maybe Text
Text
directoryId :: Text
nextToken :: Maybe Text
limit :: Maybe Natural
$sel:directoryId:ListCertificates' :: ListCertificates -> Text
$sel:nextToken:ListCertificates' :: ListCertificates -> Maybe Text
$sel:limit:ListCertificates' :: ListCertificates -> 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
nextToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
directoryId
instance Prelude.NFData ListCertificates where
rnf :: ListCertificates -> ()
rnf ListCertificates' {Maybe Natural
Maybe Text
Text
directoryId :: Text
nextToken :: Maybe Text
limit :: Maybe Natural
$sel:directoryId:ListCertificates' :: ListCertificates -> Text
$sel:nextToken:ListCertificates' :: ListCertificates -> Maybe Text
$sel:limit:ListCertificates' :: ListCertificates -> 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
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
directoryId
instance Data.ToHeaders ListCertificates where
toHeaders :: ListCertificates -> 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
"DirectoryService_20150416.ListCertificates" ::
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 ListCertificates where
toJSON :: ListCertificates -> Value
toJSON ListCertificates' {Maybe Natural
Maybe Text
Text
directoryId :: Text
nextToken :: Maybe Text
limit :: Maybe Natural
$sel:directoryId:ListCertificates' :: ListCertificates -> Text
$sel:nextToken:ListCertificates' :: ListCertificates -> Maybe Text
$sel:limit:ListCertificates' :: ListCertificates -> 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
"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,
forall a. a -> Maybe a
Prelude.Just (Key
"DirectoryId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
directoryId)
]
)
instance Data.ToPath ListCertificates where
toPath :: ListCertificates -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery ListCertificates where
toQuery :: ListCertificates -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data ListCertificatesResponse = ListCertificatesResponse'
{
ListCertificatesResponse -> Maybe [CertificateInfo]
certificatesInfo :: Prelude.Maybe [CertificateInfo],
ListCertificatesResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListCertificatesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ListCertificatesResponse -> ListCertificatesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListCertificatesResponse -> ListCertificatesResponse -> Bool
$c/= :: ListCertificatesResponse -> ListCertificatesResponse -> Bool
== :: ListCertificatesResponse -> ListCertificatesResponse -> Bool
$c== :: ListCertificatesResponse -> ListCertificatesResponse -> Bool
Prelude.Eq, ReadPrec [ListCertificatesResponse]
ReadPrec ListCertificatesResponse
Int -> ReadS ListCertificatesResponse
ReadS [ListCertificatesResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListCertificatesResponse]
$creadListPrec :: ReadPrec [ListCertificatesResponse]
readPrec :: ReadPrec ListCertificatesResponse
$creadPrec :: ReadPrec ListCertificatesResponse
readList :: ReadS [ListCertificatesResponse]
$creadList :: ReadS [ListCertificatesResponse]
readsPrec :: Int -> ReadS ListCertificatesResponse
$creadsPrec :: Int -> ReadS ListCertificatesResponse
Prelude.Read, Int -> ListCertificatesResponse -> ShowS
[ListCertificatesResponse] -> ShowS
ListCertificatesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListCertificatesResponse] -> ShowS
$cshowList :: [ListCertificatesResponse] -> ShowS
show :: ListCertificatesResponse -> String
$cshow :: ListCertificatesResponse -> String
showsPrec :: Int -> ListCertificatesResponse -> ShowS
$cshowsPrec :: Int -> ListCertificatesResponse -> ShowS
Prelude.Show, forall x.
Rep ListCertificatesResponse x -> ListCertificatesResponse
forall x.
ListCertificatesResponse -> Rep ListCertificatesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListCertificatesResponse x -> ListCertificatesResponse
$cfrom :: forall x.
ListCertificatesResponse -> Rep ListCertificatesResponse x
Prelude.Generic)
newListCertificatesResponse ::
Prelude.Int ->
ListCertificatesResponse
newListCertificatesResponse :: Int -> ListCertificatesResponse
newListCertificatesResponse Int
pHttpStatus_ =
ListCertificatesResponse'
{ $sel:certificatesInfo:ListCertificatesResponse' :: Maybe [CertificateInfo]
certificatesInfo =
forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:ListCertificatesResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ListCertificatesResponse' :: Int
httpStatus = Int
pHttpStatus_
}
listCertificatesResponse_certificatesInfo :: Lens.Lens' ListCertificatesResponse (Prelude.Maybe [CertificateInfo])
listCertificatesResponse_certificatesInfo :: Lens' ListCertificatesResponse (Maybe [CertificateInfo])
listCertificatesResponse_certificatesInfo = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListCertificatesResponse' {Maybe [CertificateInfo]
certificatesInfo :: Maybe [CertificateInfo]
$sel:certificatesInfo:ListCertificatesResponse' :: ListCertificatesResponse -> Maybe [CertificateInfo]
certificatesInfo} -> Maybe [CertificateInfo]
certificatesInfo) (\s :: ListCertificatesResponse
s@ListCertificatesResponse' {} Maybe [CertificateInfo]
a -> ListCertificatesResponse
s {$sel:certificatesInfo:ListCertificatesResponse' :: Maybe [CertificateInfo]
certificatesInfo = Maybe [CertificateInfo]
a} :: ListCertificatesResponse) 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
listCertificatesResponse_nextToken :: Lens.Lens' ListCertificatesResponse (Prelude.Maybe Prelude.Text)
listCertificatesResponse_nextToken :: Lens' ListCertificatesResponse (Maybe Text)
listCertificatesResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListCertificatesResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListCertificatesResponse' :: ListCertificatesResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListCertificatesResponse
s@ListCertificatesResponse' {} Maybe Text
a -> ListCertificatesResponse
s {$sel:nextToken:ListCertificatesResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListCertificatesResponse)
listCertificatesResponse_httpStatus :: Lens.Lens' ListCertificatesResponse Prelude.Int
listCertificatesResponse_httpStatus :: Lens' ListCertificatesResponse Int
listCertificatesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListCertificatesResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListCertificatesResponse' :: ListCertificatesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListCertificatesResponse
s@ListCertificatesResponse' {} Int
a -> ListCertificatesResponse
s {$sel:httpStatus:ListCertificatesResponse' :: Int
httpStatus = Int
a} :: ListCertificatesResponse)
instance Prelude.NFData ListCertificatesResponse where
rnf :: ListCertificatesResponse -> ()
rnf ListCertificatesResponse' {Int
Maybe [CertificateInfo]
Maybe Text
httpStatus :: Int
nextToken :: Maybe Text
certificatesInfo :: Maybe [CertificateInfo]
$sel:httpStatus:ListCertificatesResponse' :: ListCertificatesResponse -> Int
$sel:nextToken:ListCertificatesResponse' :: ListCertificatesResponse -> Maybe Text
$sel:certificatesInfo:ListCertificatesResponse' :: ListCertificatesResponse -> Maybe [CertificateInfo]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [CertificateInfo]
certificatesInfo
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 Int
httpStatus