{-# 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.FIS.ListExperimentTemplates
(
ListExperimentTemplates (..),
newListExperimentTemplates,
listExperimentTemplates_nextToken,
listExperimentTemplates_maxResults,
ListExperimentTemplatesResponse (..),
newListExperimentTemplatesResponse,
listExperimentTemplatesResponse_nextToken,
listExperimentTemplatesResponse_experimentTemplates,
listExperimentTemplatesResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import Amazonka.FIS.Types
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data ListExperimentTemplates = ListExperimentTemplates'
{
ListExperimentTemplates -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListExperimentTemplates -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural
}
deriving (ListExperimentTemplates -> ListExperimentTemplates -> Bool
(ListExperimentTemplates -> ListExperimentTemplates -> Bool)
-> (ListExperimentTemplates -> ListExperimentTemplates -> Bool)
-> Eq ListExperimentTemplates
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListExperimentTemplates -> ListExperimentTemplates -> Bool
$c/= :: ListExperimentTemplates -> ListExperimentTemplates -> Bool
== :: ListExperimentTemplates -> ListExperimentTemplates -> Bool
$c== :: ListExperimentTemplates -> ListExperimentTemplates -> Bool
Prelude.Eq, ReadPrec [ListExperimentTemplates]
ReadPrec ListExperimentTemplates
Int -> ReadS ListExperimentTemplates
ReadS [ListExperimentTemplates]
(Int -> ReadS ListExperimentTemplates)
-> ReadS [ListExperimentTemplates]
-> ReadPrec ListExperimentTemplates
-> ReadPrec [ListExperimentTemplates]
-> Read ListExperimentTemplates
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListExperimentTemplates]
$creadListPrec :: ReadPrec [ListExperimentTemplates]
readPrec :: ReadPrec ListExperimentTemplates
$creadPrec :: ReadPrec ListExperimentTemplates
readList :: ReadS [ListExperimentTemplates]
$creadList :: ReadS [ListExperimentTemplates]
readsPrec :: Int -> ReadS ListExperimentTemplates
$creadsPrec :: Int -> ReadS ListExperimentTemplates
Prelude.Read, Int -> ListExperimentTemplates -> ShowS
[ListExperimentTemplates] -> ShowS
ListExperimentTemplates -> String
(Int -> ListExperimentTemplates -> ShowS)
-> (ListExperimentTemplates -> String)
-> ([ListExperimentTemplates] -> ShowS)
-> Show ListExperimentTemplates
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListExperimentTemplates] -> ShowS
$cshowList :: [ListExperimentTemplates] -> ShowS
show :: ListExperimentTemplates -> String
$cshow :: ListExperimentTemplates -> String
showsPrec :: Int -> ListExperimentTemplates -> ShowS
$cshowsPrec :: Int -> ListExperimentTemplates -> ShowS
Prelude.Show, (forall x.
ListExperimentTemplates -> Rep ListExperimentTemplates x)
-> (forall x.
Rep ListExperimentTemplates x -> ListExperimentTemplates)
-> Generic ListExperimentTemplates
forall x. Rep ListExperimentTemplates x -> ListExperimentTemplates
forall x. ListExperimentTemplates -> Rep ListExperimentTemplates x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListExperimentTemplates x -> ListExperimentTemplates
$cfrom :: forall x. ListExperimentTemplates -> Rep ListExperimentTemplates x
Prelude.Generic)
newListExperimentTemplates ::
ListExperimentTemplates
newListExperimentTemplates :: ListExperimentTemplates
newListExperimentTemplates =
ListExperimentTemplates' :: Maybe Text -> Maybe Natural -> ListExperimentTemplates
ListExperimentTemplates'
{ $sel:nextToken:ListExperimentTemplates' :: Maybe Text
nextToken =
Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:maxResults:ListExperimentTemplates' :: Maybe Natural
maxResults = Maybe Natural
forall a. Maybe a
Prelude.Nothing
}
listExperimentTemplates_nextToken :: Lens.Lens' ListExperimentTemplates (Prelude.Maybe Prelude.Text)
listExperimentTemplates_nextToken :: (Maybe Text -> f (Maybe Text))
-> ListExperimentTemplates -> f ListExperimentTemplates
listExperimentTemplates_nextToken = (ListExperimentTemplates -> Maybe Text)
-> (ListExperimentTemplates
-> Maybe Text -> ListExperimentTemplates)
-> Lens
ListExperimentTemplates
ListExperimentTemplates
(Maybe Text)
(Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListExperimentTemplates' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListExperimentTemplates' :: ListExperimentTemplates -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListExperimentTemplates
s@ListExperimentTemplates' {} Maybe Text
a -> ListExperimentTemplates
s {$sel:nextToken:ListExperimentTemplates' :: Maybe Text
nextToken = Maybe Text
a} :: ListExperimentTemplates)
listExperimentTemplates_maxResults :: Lens.Lens' ListExperimentTemplates (Prelude.Maybe Prelude.Natural)
listExperimentTemplates_maxResults :: (Maybe Natural -> f (Maybe Natural))
-> ListExperimentTemplates -> f ListExperimentTemplates
listExperimentTemplates_maxResults = (ListExperimentTemplates -> Maybe Natural)
-> (ListExperimentTemplates
-> Maybe Natural -> ListExperimentTemplates)
-> Lens
ListExperimentTemplates
ListExperimentTemplates
(Maybe Natural)
(Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListExperimentTemplates' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListExperimentTemplates' :: ListExperimentTemplates -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListExperimentTemplates
s@ListExperimentTemplates' {} Maybe Natural
a -> ListExperimentTemplates
s {$sel:maxResults:ListExperimentTemplates' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListExperimentTemplates)
instance Core.AWSRequest ListExperimentTemplates where
type
AWSResponse ListExperimentTemplates =
ListExperimentTemplatesResponse
request :: ListExperimentTemplates -> Request ListExperimentTemplates
request = Service
-> ListExperimentTemplates -> Request ListExperimentTemplates
forall a. ToRequest a => Service -> a -> Request a
Request.get Service
defaultService
response :: Logger
-> Service
-> Proxy ListExperimentTemplates
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ListExperimentTemplates)))
response =
(Int
-> ResponseHeaders
-> Object
-> Either String (AWSResponse ListExperimentTemplates))
-> Logger
-> Service
-> Proxy ListExperimentTemplates
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ListExperimentTemplates)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe Text
-> Maybe [ExperimentTemplateSummary]
-> Int
-> ListExperimentTemplatesResponse
ListExperimentTemplatesResponse'
(Maybe Text
-> Maybe [ExperimentTemplateSummary]
-> Int
-> ListExperimentTemplatesResponse)
-> Either String (Maybe Text)
-> Either
String
(Maybe [ExperimentTemplateSummary]
-> Int -> ListExperimentTemplatesResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"nextToken")
Either
String
(Maybe [ExperimentTemplateSummary]
-> Int -> ListExperimentTemplatesResponse)
-> Either String (Maybe [ExperimentTemplateSummary])
-> Either String (Int -> ListExperimentTemplatesResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object
-> Text
-> Either String (Maybe (Maybe [ExperimentTemplateSummary]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"experimentTemplates"
Either String (Maybe (Maybe [ExperimentTemplateSummary]))
-> Maybe [ExperimentTemplateSummary]
-> Either String (Maybe [ExperimentTemplateSummary])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [ExperimentTemplateSummary]
forall a. Monoid a => a
Prelude.mempty
)
Either String (Int -> ListExperimentTemplatesResponse)
-> Either String Int
-> Either String ListExperimentTemplatesResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable ListExperimentTemplates
instance Prelude.NFData ListExperimentTemplates
instance Core.ToHeaders ListExperimentTemplates where
toHeaders :: ListExperimentTemplates -> ResponseHeaders
toHeaders =
ResponseHeaders -> ListExperimentTemplates -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Core.ToPath ListExperimentTemplates where
toPath :: ListExperimentTemplates -> ByteString
toPath = ByteString -> ListExperimentTemplates -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/experimentTemplates"
instance Core.ToQuery ListExperimentTemplates where
toQuery :: ListExperimentTemplates -> QueryString
toQuery ListExperimentTemplates' {Maybe Natural
Maybe Text
maxResults :: Maybe Natural
nextToken :: Maybe Text
$sel:maxResults:ListExperimentTemplates' :: ListExperimentTemplates -> Maybe Natural
$sel:nextToken:ListExperimentTemplates' :: ListExperimentTemplates -> Maybe Text
..} =
[QueryString] -> QueryString
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"nextToken" ByteString -> Maybe Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Text
nextToken,
ByteString
"maxResults" ByteString -> Maybe Natural -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Maybe Natural
maxResults
]
data ListExperimentTemplatesResponse = ListExperimentTemplatesResponse'
{
ListExperimentTemplatesResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListExperimentTemplatesResponse
-> Maybe [ExperimentTemplateSummary]
experimentTemplates :: Prelude.Maybe [ExperimentTemplateSummary],
ListExperimentTemplatesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ListExperimentTemplatesResponse
-> ListExperimentTemplatesResponse -> Bool
(ListExperimentTemplatesResponse
-> ListExperimentTemplatesResponse -> Bool)
-> (ListExperimentTemplatesResponse
-> ListExperimentTemplatesResponse -> Bool)
-> Eq ListExperimentTemplatesResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListExperimentTemplatesResponse
-> ListExperimentTemplatesResponse -> Bool
$c/= :: ListExperimentTemplatesResponse
-> ListExperimentTemplatesResponse -> Bool
== :: ListExperimentTemplatesResponse
-> ListExperimentTemplatesResponse -> Bool
$c== :: ListExperimentTemplatesResponse
-> ListExperimentTemplatesResponse -> Bool
Prelude.Eq, ReadPrec [ListExperimentTemplatesResponse]
ReadPrec ListExperimentTemplatesResponse
Int -> ReadS ListExperimentTemplatesResponse
ReadS [ListExperimentTemplatesResponse]
(Int -> ReadS ListExperimentTemplatesResponse)
-> ReadS [ListExperimentTemplatesResponse]
-> ReadPrec ListExperimentTemplatesResponse
-> ReadPrec [ListExperimentTemplatesResponse]
-> Read ListExperimentTemplatesResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListExperimentTemplatesResponse]
$creadListPrec :: ReadPrec [ListExperimentTemplatesResponse]
readPrec :: ReadPrec ListExperimentTemplatesResponse
$creadPrec :: ReadPrec ListExperimentTemplatesResponse
readList :: ReadS [ListExperimentTemplatesResponse]
$creadList :: ReadS [ListExperimentTemplatesResponse]
readsPrec :: Int -> ReadS ListExperimentTemplatesResponse
$creadsPrec :: Int -> ReadS ListExperimentTemplatesResponse
Prelude.Read, Int -> ListExperimentTemplatesResponse -> ShowS
[ListExperimentTemplatesResponse] -> ShowS
ListExperimentTemplatesResponse -> String
(Int -> ListExperimentTemplatesResponse -> ShowS)
-> (ListExperimentTemplatesResponse -> String)
-> ([ListExperimentTemplatesResponse] -> ShowS)
-> Show ListExperimentTemplatesResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListExperimentTemplatesResponse] -> ShowS
$cshowList :: [ListExperimentTemplatesResponse] -> ShowS
show :: ListExperimentTemplatesResponse -> String
$cshow :: ListExperimentTemplatesResponse -> String
showsPrec :: Int -> ListExperimentTemplatesResponse -> ShowS
$cshowsPrec :: Int -> ListExperimentTemplatesResponse -> ShowS
Prelude.Show, (forall x.
ListExperimentTemplatesResponse
-> Rep ListExperimentTemplatesResponse x)
-> (forall x.
Rep ListExperimentTemplatesResponse x
-> ListExperimentTemplatesResponse)
-> Generic ListExperimentTemplatesResponse
forall x.
Rep ListExperimentTemplatesResponse x
-> ListExperimentTemplatesResponse
forall x.
ListExperimentTemplatesResponse
-> Rep ListExperimentTemplatesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListExperimentTemplatesResponse x
-> ListExperimentTemplatesResponse
$cfrom :: forall x.
ListExperimentTemplatesResponse
-> Rep ListExperimentTemplatesResponse x
Prelude.Generic)
newListExperimentTemplatesResponse ::
Prelude.Int ->
ListExperimentTemplatesResponse
newListExperimentTemplatesResponse :: Int -> ListExperimentTemplatesResponse
newListExperimentTemplatesResponse Int
pHttpStatus_ =
ListExperimentTemplatesResponse' :: Maybe Text
-> Maybe [ExperimentTemplateSummary]
-> Int
-> ListExperimentTemplatesResponse
ListExperimentTemplatesResponse'
{ $sel:nextToken:ListExperimentTemplatesResponse' :: Maybe Text
nextToken =
Maybe Text
forall a. Maybe a
Prelude.Nothing,
$sel:experimentTemplates:ListExperimentTemplatesResponse' :: Maybe [ExperimentTemplateSummary]
experimentTemplates = Maybe [ExperimentTemplateSummary]
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ListExperimentTemplatesResponse' :: Int
httpStatus = Int
pHttpStatus_
}
listExperimentTemplatesResponse_nextToken :: Lens.Lens' ListExperimentTemplatesResponse (Prelude.Maybe Prelude.Text)
listExperimentTemplatesResponse_nextToken :: (Maybe Text -> f (Maybe Text))
-> ListExperimentTemplatesResponse
-> f ListExperimentTemplatesResponse
listExperimentTemplatesResponse_nextToken = (ListExperimentTemplatesResponse -> Maybe Text)
-> (ListExperimentTemplatesResponse
-> Maybe Text -> ListExperimentTemplatesResponse)
-> Lens
ListExperimentTemplatesResponse
ListExperimentTemplatesResponse
(Maybe Text)
(Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListExperimentTemplatesResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListExperimentTemplatesResponse' :: ListExperimentTemplatesResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListExperimentTemplatesResponse
s@ListExperimentTemplatesResponse' {} Maybe Text
a -> ListExperimentTemplatesResponse
s {$sel:nextToken:ListExperimentTemplatesResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListExperimentTemplatesResponse)
listExperimentTemplatesResponse_experimentTemplates :: Lens.Lens' ListExperimentTemplatesResponse (Prelude.Maybe [ExperimentTemplateSummary])
listExperimentTemplatesResponse_experimentTemplates :: (Maybe [ExperimentTemplateSummary]
-> f (Maybe [ExperimentTemplateSummary]))
-> ListExperimentTemplatesResponse
-> f ListExperimentTemplatesResponse
listExperimentTemplatesResponse_experimentTemplates = (ListExperimentTemplatesResponse
-> Maybe [ExperimentTemplateSummary])
-> (ListExperimentTemplatesResponse
-> Maybe [ExperimentTemplateSummary]
-> ListExperimentTemplatesResponse)
-> Lens
ListExperimentTemplatesResponse
ListExperimentTemplatesResponse
(Maybe [ExperimentTemplateSummary])
(Maybe [ExperimentTemplateSummary])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListExperimentTemplatesResponse' {Maybe [ExperimentTemplateSummary]
experimentTemplates :: Maybe [ExperimentTemplateSummary]
$sel:experimentTemplates:ListExperimentTemplatesResponse' :: ListExperimentTemplatesResponse
-> Maybe [ExperimentTemplateSummary]
experimentTemplates} -> Maybe [ExperimentTemplateSummary]
experimentTemplates) (\s :: ListExperimentTemplatesResponse
s@ListExperimentTemplatesResponse' {} Maybe [ExperimentTemplateSummary]
a -> ListExperimentTemplatesResponse
s {$sel:experimentTemplates:ListExperimentTemplatesResponse' :: Maybe [ExperimentTemplateSummary]
experimentTemplates = Maybe [ExperimentTemplateSummary]
a} :: ListExperimentTemplatesResponse) ((Maybe [ExperimentTemplateSummary]
-> f (Maybe [ExperimentTemplateSummary]))
-> ListExperimentTemplatesResponse
-> f ListExperimentTemplatesResponse)
-> ((Maybe [ExperimentTemplateSummary]
-> f (Maybe [ExperimentTemplateSummary]))
-> Maybe [ExperimentTemplateSummary]
-> f (Maybe [ExperimentTemplateSummary]))
-> (Maybe [ExperimentTemplateSummary]
-> f (Maybe [ExperimentTemplateSummary]))
-> ListExperimentTemplatesResponse
-> f ListExperimentTemplatesResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
[ExperimentTemplateSummary]
[ExperimentTemplateSummary]
[ExperimentTemplateSummary]
[ExperimentTemplateSummary]
-> Iso
(Maybe [ExperimentTemplateSummary])
(Maybe [ExperimentTemplateSummary])
(Maybe [ExperimentTemplateSummary])
(Maybe [ExperimentTemplateSummary])
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 AnIso
[ExperimentTemplateSummary]
[ExperimentTemplateSummary]
[ExperimentTemplateSummary]
[ExperimentTemplateSummary]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
listExperimentTemplatesResponse_httpStatus :: Lens.Lens' ListExperimentTemplatesResponse Prelude.Int
listExperimentTemplatesResponse_httpStatus :: (Int -> f Int)
-> ListExperimentTemplatesResponse
-> f ListExperimentTemplatesResponse
listExperimentTemplatesResponse_httpStatus = (ListExperimentTemplatesResponse -> Int)
-> (ListExperimentTemplatesResponse
-> Int -> ListExperimentTemplatesResponse)
-> Lens
ListExperimentTemplatesResponse
ListExperimentTemplatesResponse
Int
Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListExperimentTemplatesResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListExperimentTemplatesResponse' :: ListExperimentTemplatesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListExperimentTemplatesResponse
s@ListExperimentTemplatesResponse' {} Int
a -> ListExperimentTemplatesResponse
s {$sel:httpStatus:ListExperimentTemplatesResponse' :: Int
httpStatus = Int
a} :: ListExperimentTemplatesResponse)
instance
Prelude.NFData
ListExperimentTemplatesResponse