{-# 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.Greengrass.ListGroupVersions
(
ListGroupVersions (..),
newListGroupVersions,
listGroupVersions_maxResults,
listGroupVersions_nextToken,
listGroupVersions_groupId,
ListGroupVersionsResponse (..),
newListGroupVersionsResponse,
listGroupVersionsResponse_nextToken,
listGroupVersionsResponse_versions,
listGroupVersionsResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Greengrass.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data ListGroupVersions = ListGroupVersions'
{
ListGroupVersions -> Maybe Text
maxResults :: Prelude.Maybe Prelude.Text,
ListGroupVersions -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListGroupVersions -> Text
groupId :: Prelude.Text
}
deriving (ListGroupVersions -> ListGroupVersions -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListGroupVersions -> ListGroupVersions -> Bool
$c/= :: ListGroupVersions -> ListGroupVersions -> Bool
== :: ListGroupVersions -> ListGroupVersions -> Bool
$c== :: ListGroupVersions -> ListGroupVersions -> Bool
Prelude.Eq, ReadPrec [ListGroupVersions]
ReadPrec ListGroupVersions
Int -> ReadS ListGroupVersions
ReadS [ListGroupVersions]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListGroupVersions]
$creadListPrec :: ReadPrec [ListGroupVersions]
readPrec :: ReadPrec ListGroupVersions
$creadPrec :: ReadPrec ListGroupVersions
readList :: ReadS [ListGroupVersions]
$creadList :: ReadS [ListGroupVersions]
readsPrec :: Int -> ReadS ListGroupVersions
$creadsPrec :: Int -> ReadS ListGroupVersions
Prelude.Read, Int -> ListGroupVersions -> ShowS
[ListGroupVersions] -> ShowS
ListGroupVersions -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListGroupVersions] -> ShowS
$cshowList :: [ListGroupVersions] -> ShowS
show :: ListGroupVersions -> String
$cshow :: ListGroupVersions -> String
showsPrec :: Int -> ListGroupVersions -> ShowS
$cshowsPrec :: Int -> ListGroupVersions -> ShowS
Prelude.Show, forall x. Rep ListGroupVersions x -> ListGroupVersions
forall x. ListGroupVersions -> Rep ListGroupVersions x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListGroupVersions x -> ListGroupVersions
$cfrom :: forall x. ListGroupVersions -> Rep ListGroupVersions x
Prelude.Generic)
newListGroupVersions ::
Prelude.Text ->
ListGroupVersions
newListGroupVersions :: Text -> ListGroupVersions
newListGroupVersions Text
pGroupId_ =
ListGroupVersions'
{ $sel:maxResults:ListGroupVersions' :: Maybe Text
maxResults = forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:ListGroupVersions' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:groupId:ListGroupVersions' :: Text
groupId = Text
pGroupId_
}
listGroupVersions_maxResults :: Lens.Lens' ListGroupVersions (Prelude.Maybe Prelude.Text)
listGroupVersions_maxResults :: Lens' ListGroupVersions (Maybe Text)
listGroupVersions_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListGroupVersions' {Maybe Text
maxResults :: Maybe Text
$sel:maxResults:ListGroupVersions' :: ListGroupVersions -> Maybe Text
maxResults} -> Maybe Text
maxResults) (\s :: ListGroupVersions
s@ListGroupVersions' {} Maybe Text
a -> ListGroupVersions
s {$sel:maxResults:ListGroupVersions' :: Maybe Text
maxResults = Maybe Text
a} :: ListGroupVersions)
listGroupVersions_nextToken :: Lens.Lens' ListGroupVersions (Prelude.Maybe Prelude.Text)
listGroupVersions_nextToken :: Lens' ListGroupVersions (Maybe Text)
listGroupVersions_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListGroupVersions' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListGroupVersions' :: ListGroupVersions -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListGroupVersions
s@ListGroupVersions' {} Maybe Text
a -> ListGroupVersions
s {$sel:nextToken:ListGroupVersions' :: Maybe Text
nextToken = Maybe Text
a} :: ListGroupVersions)
listGroupVersions_groupId :: Lens.Lens' ListGroupVersions Prelude.Text
listGroupVersions_groupId :: Lens' ListGroupVersions Text
listGroupVersions_groupId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListGroupVersions' {Text
groupId :: Text
$sel:groupId:ListGroupVersions' :: ListGroupVersions -> Text
groupId} -> Text
groupId) (\s :: ListGroupVersions
s@ListGroupVersions' {} Text
a -> ListGroupVersions
s {$sel:groupId:ListGroupVersions' :: Text
groupId = Text
a} :: ListGroupVersions)
instance Core.AWSPager ListGroupVersions where
page :: ListGroupVersions
-> AWSResponse ListGroupVersions -> Maybe ListGroupVersions
page ListGroupVersions
rq AWSResponse ListGroupVersions
rs
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse ListGroupVersions
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListGroupVersionsResponse (Maybe Text)
listGroupVersionsResponse_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 ListGroupVersions
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListGroupVersionsResponse (Maybe [VersionInformation])
listGroupVersionsResponse_versions
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.$ ListGroupVersions
rq
forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListGroupVersions (Maybe Text)
listGroupVersions_nextToken
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListGroupVersions
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListGroupVersionsResponse (Maybe Text)
listGroupVersionsResponse_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 ListGroupVersions where
type
AWSResponse ListGroupVersions =
ListGroupVersionsResponse
request :: (Service -> Service)
-> ListGroupVersions -> Request ListGroupVersions
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ListGroupVersions
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse ListGroupVersions)))
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 [VersionInformation] -> Int -> ListGroupVersionsResponse
ListGroupVersionsResponse'
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
"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
"Versions" 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 ListGroupVersions where
hashWithSalt :: Int -> ListGroupVersions -> Int
hashWithSalt Int
_salt ListGroupVersions' {Maybe Text
Text
groupId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Text
$sel:groupId:ListGroupVersions' :: ListGroupVersions -> Text
$sel:nextToken:ListGroupVersions' :: ListGroupVersions -> Maybe Text
$sel:maxResults:ListGroupVersions' :: ListGroupVersions -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
maxResults
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
groupId
instance Prelude.NFData ListGroupVersions where
rnf :: ListGroupVersions -> ()
rnf ListGroupVersions' {Maybe Text
Text
groupId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Text
$sel:groupId:ListGroupVersions' :: ListGroupVersions -> Text
$sel:nextToken:ListGroupVersions' :: ListGroupVersions -> Maybe Text
$sel:maxResults:ListGroupVersions' :: ListGroupVersions -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
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 Text
groupId
instance Data.ToHeaders ListGroupVersions where
toHeaders :: ListGroupVersions -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath ListGroupVersions where
toPath :: ListGroupVersions -> ByteString
toPath ListGroupVersions' {Maybe Text
Text
groupId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Text
$sel:groupId:ListGroupVersions' :: ListGroupVersions -> Text
$sel:nextToken:ListGroupVersions' :: ListGroupVersions -> Maybe Text
$sel:maxResults:ListGroupVersions' :: ListGroupVersions -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/greengrass/groups/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
groupId,
ByteString
"/versions"
]
instance Data.ToQuery ListGroupVersions where
toQuery :: ListGroupVersions -> QueryString
toQuery ListGroupVersions' {Maybe Text
Text
groupId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Text
$sel:groupId:ListGroupVersions' :: ListGroupVersions -> Text
$sel:nextToken:ListGroupVersions' :: ListGroupVersions -> Maybe Text
$sel:maxResults:ListGroupVersions' :: ListGroupVersions -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"MaxResults" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
maxResults,
ByteString
"NextToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
nextToken
]
data ListGroupVersionsResponse = ListGroupVersionsResponse'
{
ListGroupVersionsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
ListGroupVersionsResponse -> Maybe [VersionInformation]
versions :: Prelude.Maybe [VersionInformation],
ListGroupVersionsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (ListGroupVersionsResponse -> ListGroupVersionsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListGroupVersionsResponse -> ListGroupVersionsResponse -> Bool
$c/= :: ListGroupVersionsResponse -> ListGroupVersionsResponse -> Bool
== :: ListGroupVersionsResponse -> ListGroupVersionsResponse -> Bool
$c== :: ListGroupVersionsResponse -> ListGroupVersionsResponse -> Bool
Prelude.Eq, ReadPrec [ListGroupVersionsResponse]
ReadPrec ListGroupVersionsResponse
Int -> ReadS ListGroupVersionsResponse
ReadS [ListGroupVersionsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListGroupVersionsResponse]
$creadListPrec :: ReadPrec [ListGroupVersionsResponse]
readPrec :: ReadPrec ListGroupVersionsResponse
$creadPrec :: ReadPrec ListGroupVersionsResponse
readList :: ReadS [ListGroupVersionsResponse]
$creadList :: ReadS [ListGroupVersionsResponse]
readsPrec :: Int -> ReadS ListGroupVersionsResponse
$creadsPrec :: Int -> ReadS ListGroupVersionsResponse
Prelude.Read, Int -> ListGroupVersionsResponse -> ShowS
[ListGroupVersionsResponse] -> ShowS
ListGroupVersionsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListGroupVersionsResponse] -> ShowS
$cshowList :: [ListGroupVersionsResponse] -> ShowS
show :: ListGroupVersionsResponse -> String
$cshow :: ListGroupVersionsResponse -> String
showsPrec :: Int -> ListGroupVersionsResponse -> ShowS
$cshowsPrec :: Int -> ListGroupVersionsResponse -> ShowS
Prelude.Show, forall x.
Rep ListGroupVersionsResponse x -> ListGroupVersionsResponse
forall x.
ListGroupVersionsResponse -> Rep ListGroupVersionsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListGroupVersionsResponse x -> ListGroupVersionsResponse
$cfrom :: forall x.
ListGroupVersionsResponse -> Rep ListGroupVersionsResponse x
Prelude.Generic)
newListGroupVersionsResponse ::
Prelude.Int ->
ListGroupVersionsResponse
newListGroupVersionsResponse :: Int -> ListGroupVersionsResponse
newListGroupVersionsResponse Int
pHttpStatus_ =
ListGroupVersionsResponse'
{ $sel:nextToken:ListGroupVersionsResponse' :: Maybe Text
nextToken =
forall a. Maybe a
Prelude.Nothing,
$sel:versions:ListGroupVersionsResponse' :: Maybe [VersionInformation]
versions = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:ListGroupVersionsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
listGroupVersionsResponse_nextToken :: Lens.Lens' ListGroupVersionsResponse (Prelude.Maybe Prelude.Text)
listGroupVersionsResponse_nextToken :: Lens' ListGroupVersionsResponse (Maybe Text)
listGroupVersionsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListGroupVersionsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListGroupVersionsResponse' :: ListGroupVersionsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListGroupVersionsResponse
s@ListGroupVersionsResponse' {} Maybe Text
a -> ListGroupVersionsResponse
s {$sel:nextToken:ListGroupVersionsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListGroupVersionsResponse)
listGroupVersionsResponse_versions :: Lens.Lens' ListGroupVersionsResponse (Prelude.Maybe [VersionInformation])
listGroupVersionsResponse_versions :: Lens' ListGroupVersionsResponse (Maybe [VersionInformation])
listGroupVersionsResponse_versions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListGroupVersionsResponse' {Maybe [VersionInformation]
versions :: Maybe [VersionInformation]
$sel:versions:ListGroupVersionsResponse' :: ListGroupVersionsResponse -> Maybe [VersionInformation]
versions} -> Maybe [VersionInformation]
versions) (\s :: ListGroupVersionsResponse
s@ListGroupVersionsResponse' {} Maybe [VersionInformation]
a -> ListGroupVersionsResponse
s {$sel:versions:ListGroupVersionsResponse' :: Maybe [VersionInformation]
versions = Maybe [VersionInformation]
a} :: ListGroupVersionsResponse) 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
listGroupVersionsResponse_httpStatus :: Lens.Lens' ListGroupVersionsResponse Prelude.Int
listGroupVersionsResponse_httpStatus :: Lens' ListGroupVersionsResponse Int
listGroupVersionsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListGroupVersionsResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListGroupVersionsResponse' :: ListGroupVersionsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListGroupVersionsResponse
s@ListGroupVersionsResponse' {} Int
a -> ListGroupVersionsResponse
s {$sel:httpStatus:ListGroupVersionsResponse' :: Int
httpStatus = Int
a} :: ListGroupVersionsResponse)
instance Prelude.NFData ListGroupVersionsResponse where
rnf :: ListGroupVersionsResponse -> ()
rnf ListGroupVersionsResponse' {Int
Maybe [VersionInformation]
Maybe Text
httpStatus :: Int
versions :: Maybe [VersionInformation]
nextToken :: Maybe Text
$sel:httpStatus:ListGroupVersionsResponse' :: ListGroupVersionsResponse -> Int
$sel:versions:ListGroupVersionsResponse' :: ListGroupVersionsResponse -> Maybe [VersionInformation]
$sel:nextToken:ListGroupVersionsResponse' :: ListGroupVersionsResponse -> Maybe Text
..} =
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 [VersionInformation]
versions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus