{-# 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.WorkSpaces.DescribeIpGroups
(
DescribeIpGroups (..),
newDescribeIpGroups,
describeIpGroups_groupIds,
describeIpGroups_maxResults,
describeIpGroups_nextToken,
DescribeIpGroupsResponse (..),
newDescribeIpGroupsResponse,
describeIpGroupsResponse_nextToken,
describeIpGroupsResponse_result,
describeIpGroupsResponse_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.WorkSpaces.Types
data DescribeIpGroups = DescribeIpGroups'
{
DescribeIpGroups -> Maybe [Text]
groupIds :: Prelude.Maybe [Prelude.Text],
DescribeIpGroups -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
DescribeIpGroups -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text
}
deriving (DescribeIpGroups -> DescribeIpGroups -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeIpGroups -> DescribeIpGroups -> Bool
$c/= :: DescribeIpGroups -> DescribeIpGroups -> Bool
== :: DescribeIpGroups -> DescribeIpGroups -> Bool
$c== :: DescribeIpGroups -> DescribeIpGroups -> Bool
Prelude.Eq, ReadPrec [DescribeIpGroups]
ReadPrec DescribeIpGroups
Int -> ReadS DescribeIpGroups
ReadS [DescribeIpGroups]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeIpGroups]
$creadListPrec :: ReadPrec [DescribeIpGroups]
readPrec :: ReadPrec DescribeIpGroups
$creadPrec :: ReadPrec DescribeIpGroups
readList :: ReadS [DescribeIpGroups]
$creadList :: ReadS [DescribeIpGroups]
readsPrec :: Int -> ReadS DescribeIpGroups
$creadsPrec :: Int -> ReadS DescribeIpGroups
Prelude.Read, Int -> DescribeIpGroups -> ShowS
[DescribeIpGroups] -> ShowS
DescribeIpGroups -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeIpGroups] -> ShowS
$cshowList :: [DescribeIpGroups] -> ShowS
show :: DescribeIpGroups -> String
$cshow :: DescribeIpGroups -> String
showsPrec :: Int -> DescribeIpGroups -> ShowS
$cshowsPrec :: Int -> DescribeIpGroups -> ShowS
Prelude.Show, forall x. Rep DescribeIpGroups x -> DescribeIpGroups
forall x. DescribeIpGroups -> Rep DescribeIpGroups x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeIpGroups x -> DescribeIpGroups
$cfrom :: forall x. DescribeIpGroups -> Rep DescribeIpGroups x
Prelude.Generic)
newDescribeIpGroups ::
DescribeIpGroups
newDescribeIpGroups :: DescribeIpGroups
newDescribeIpGroups =
DescribeIpGroups'
{ $sel:groupIds:DescribeIpGroups' :: Maybe [Text]
groupIds = forall a. Maybe a
Prelude.Nothing,
$sel:maxResults:DescribeIpGroups' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:DescribeIpGroups' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing
}
describeIpGroups_groupIds :: Lens.Lens' DescribeIpGroups (Prelude.Maybe [Prelude.Text])
describeIpGroups_groupIds :: Lens' DescribeIpGroups (Maybe [Text])
describeIpGroups_groupIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIpGroups' {Maybe [Text]
groupIds :: Maybe [Text]
$sel:groupIds:DescribeIpGroups' :: DescribeIpGroups -> Maybe [Text]
groupIds} -> Maybe [Text]
groupIds) (\s :: DescribeIpGroups
s@DescribeIpGroups' {} Maybe [Text]
a -> DescribeIpGroups
s {$sel:groupIds:DescribeIpGroups' :: Maybe [Text]
groupIds = Maybe [Text]
a} :: DescribeIpGroups) 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
describeIpGroups_maxResults :: Lens.Lens' DescribeIpGroups (Prelude.Maybe Prelude.Natural)
describeIpGroups_maxResults :: Lens' DescribeIpGroups (Maybe Natural)
describeIpGroups_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIpGroups' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:DescribeIpGroups' :: DescribeIpGroups -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: DescribeIpGroups
s@DescribeIpGroups' {} Maybe Natural
a -> DescribeIpGroups
s {$sel:maxResults:DescribeIpGroups' :: Maybe Natural
maxResults = Maybe Natural
a} :: DescribeIpGroups)
describeIpGroups_nextToken :: Lens.Lens' DescribeIpGroups (Prelude.Maybe Prelude.Text)
describeIpGroups_nextToken :: Lens' DescribeIpGroups (Maybe Text)
describeIpGroups_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIpGroups' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeIpGroups' :: DescribeIpGroups -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeIpGroups
s@DescribeIpGroups' {} Maybe Text
a -> DescribeIpGroups
s {$sel:nextToken:DescribeIpGroups' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeIpGroups)
instance Core.AWSPager DescribeIpGroups where
page :: DescribeIpGroups
-> AWSResponse DescribeIpGroups -> Maybe DescribeIpGroups
page DescribeIpGroups
rq AWSResponse DescribeIpGroups
rs
| forall a. AWSTruncated a => a -> Bool
Core.stop
( AWSResponse DescribeIpGroups
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeIpGroupsResponse (Maybe Text)
describeIpGroupsResponse_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 DescribeIpGroups
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeIpGroupsResponse (Maybe [WorkspacesIpGroup])
describeIpGroupsResponse_result
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.$ DescribeIpGroups
rq
forall a b. a -> (a -> b) -> b
Prelude.& Lens' DescribeIpGroups (Maybe Text)
describeIpGroups_nextToken
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse DescribeIpGroups
rs
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' DescribeIpGroupsResponse (Maybe Text)
describeIpGroupsResponse_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 DescribeIpGroups where
type
AWSResponse DescribeIpGroups =
DescribeIpGroupsResponse
request :: (Service -> Service)
-> DescribeIpGroups -> Request DescribeIpGroups
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 DescribeIpGroups
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeIpGroups)))
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 [WorkspacesIpGroup] -> Int -> DescribeIpGroupsResponse
DescribeIpGroupsResponse'
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
"Result" 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 DescribeIpGroups where
hashWithSalt :: Int -> DescribeIpGroups -> Int
hashWithSalt Int
_salt DescribeIpGroups' {Maybe Natural
Maybe [Text]
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
groupIds :: Maybe [Text]
$sel:nextToken:DescribeIpGroups' :: DescribeIpGroups -> Maybe Text
$sel:maxResults:DescribeIpGroups' :: DescribeIpGroups -> Maybe Natural
$sel:groupIds:DescribeIpGroups' :: DescribeIpGroups -> Maybe [Text]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
groupIds
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 DescribeIpGroups where
rnf :: DescribeIpGroups -> ()
rnf DescribeIpGroups' {Maybe Natural
Maybe [Text]
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
groupIds :: Maybe [Text]
$sel:nextToken:DescribeIpGroups' :: DescribeIpGroups -> Maybe Text
$sel:maxResults:DescribeIpGroups' :: DescribeIpGroups -> Maybe Natural
$sel:groupIds:DescribeIpGroups' :: DescribeIpGroups -> Maybe [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
groupIds
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 DescribeIpGroups where
toHeaders :: DescribeIpGroups -> 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
"WorkspacesService.DescribeIpGroups" ::
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 DescribeIpGroups where
toJSON :: DescribeIpGroups -> Value
toJSON DescribeIpGroups' {Maybe Natural
Maybe [Text]
Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
groupIds :: Maybe [Text]
$sel:nextToken:DescribeIpGroups' :: DescribeIpGroups -> Maybe Text
$sel:maxResults:DescribeIpGroups' :: DescribeIpGroups -> Maybe Natural
$sel:groupIds:DescribeIpGroups' :: DescribeIpGroups -> Maybe [Text]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"GroupIds" 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]
groupIds,
(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 DescribeIpGroups where
toPath :: DescribeIpGroups -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeIpGroups where
toQuery :: DescribeIpGroups -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeIpGroupsResponse = DescribeIpGroupsResponse'
{
DescribeIpGroupsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
DescribeIpGroupsResponse -> Maybe [WorkspacesIpGroup]
result :: Prelude.Maybe [WorkspacesIpGroup],
DescribeIpGroupsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeIpGroupsResponse -> DescribeIpGroupsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeIpGroupsResponse -> DescribeIpGroupsResponse -> Bool
$c/= :: DescribeIpGroupsResponse -> DescribeIpGroupsResponse -> Bool
== :: DescribeIpGroupsResponse -> DescribeIpGroupsResponse -> Bool
$c== :: DescribeIpGroupsResponse -> DescribeIpGroupsResponse -> Bool
Prelude.Eq, ReadPrec [DescribeIpGroupsResponse]
ReadPrec DescribeIpGroupsResponse
Int -> ReadS DescribeIpGroupsResponse
ReadS [DescribeIpGroupsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeIpGroupsResponse]
$creadListPrec :: ReadPrec [DescribeIpGroupsResponse]
readPrec :: ReadPrec DescribeIpGroupsResponse
$creadPrec :: ReadPrec DescribeIpGroupsResponse
readList :: ReadS [DescribeIpGroupsResponse]
$creadList :: ReadS [DescribeIpGroupsResponse]
readsPrec :: Int -> ReadS DescribeIpGroupsResponse
$creadsPrec :: Int -> ReadS DescribeIpGroupsResponse
Prelude.Read, Int -> DescribeIpGroupsResponse -> ShowS
[DescribeIpGroupsResponse] -> ShowS
DescribeIpGroupsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeIpGroupsResponse] -> ShowS
$cshowList :: [DescribeIpGroupsResponse] -> ShowS
show :: DescribeIpGroupsResponse -> String
$cshow :: DescribeIpGroupsResponse -> String
showsPrec :: Int -> DescribeIpGroupsResponse -> ShowS
$cshowsPrec :: Int -> DescribeIpGroupsResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeIpGroupsResponse x -> DescribeIpGroupsResponse
forall x.
DescribeIpGroupsResponse -> Rep DescribeIpGroupsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeIpGroupsResponse x -> DescribeIpGroupsResponse
$cfrom :: forall x.
DescribeIpGroupsResponse -> Rep DescribeIpGroupsResponse x
Prelude.Generic)
newDescribeIpGroupsResponse ::
Prelude.Int ->
DescribeIpGroupsResponse
newDescribeIpGroupsResponse :: Int -> DescribeIpGroupsResponse
newDescribeIpGroupsResponse Int
pHttpStatus_ =
DescribeIpGroupsResponse'
{ $sel:nextToken:DescribeIpGroupsResponse' :: Maybe Text
nextToken =
forall a. Maybe a
Prelude.Nothing,
$sel:result:DescribeIpGroupsResponse' :: Maybe [WorkspacesIpGroup]
result = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeIpGroupsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeIpGroupsResponse_nextToken :: Lens.Lens' DescribeIpGroupsResponse (Prelude.Maybe Prelude.Text)
describeIpGroupsResponse_nextToken :: Lens' DescribeIpGroupsResponse (Maybe Text)
describeIpGroupsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIpGroupsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:DescribeIpGroupsResponse' :: DescribeIpGroupsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: DescribeIpGroupsResponse
s@DescribeIpGroupsResponse' {} Maybe Text
a -> DescribeIpGroupsResponse
s {$sel:nextToken:DescribeIpGroupsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: DescribeIpGroupsResponse)
describeIpGroupsResponse_result :: Lens.Lens' DescribeIpGroupsResponse (Prelude.Maybe [WorkspacesIpGroup])
describeIpGroupsResponse_result :: Lens' DescribeIpGroupsResponse (Maybe [WorkspacesIpGroup])
describeIpGroupsResponse_result = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIpGroupsResponse' {Maybe [WorkspacesIpGroup]
result :: Maybe [WorkspacesIpGroup]
$sel:result:DescribeIpGroupsResponse' :: DescribeIpGroupsResponse -> Maybe [WorkspacesIpGroup]
result} -> Maybe [WorkspacesIpGroup]
result) (\s :: DescribeIpGroupsResponse
s@DescribeIpGroupsResponse' {} Maybe [WorkspacesIpGroup]
a -> DescribeIpGroupsResponse
s {$sel:result:DescribeIpGroupsResponse' :: Maybe [WorkspacesIpGroup]
result = Maybe [WorkspacesIpGroup]
a} :: DescribeIpGroupsResponse) 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
describeIpGroupsResponse_httpStatus :: Lens.Lens' DescribeIpGroupsResponse Prelude.Int
describeIpGroupsResponse_httpStatus :: Lens' DescribeIpGroupsResponse Int
describeIpGroupsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeIpGroupsResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeIpGroupsResponse' :: DescribeIpGroupsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeIpGroupsResponse
s@DescribeIpGroupsResponse' {} Int
a -> DescribeIpGroupsResponse
s {$sel:httpStatus:DescribeIpGroupsResponse' :: Int
httpStatus = Int
a} :: DescribeIpGroupsResponse)
instance Prelude.NFData DescribeIpGroupsResponse where
rnf :: DescribeIpGroupsResponse -> ()
rnf DescribeIpGroupsResponse' {Int
Maybe [WorkspacesIpGroup]
Maybe Text
httpStatus :: Int
result :: Maybe [WorkspacesIpGroup]
nextToken :: Maybe Text
$sel:httpStatus:DescribeIpGroupsResponse' :: DescribeIpGroupsResponse -> Int
$sel:result:DescribeIpGroupsResponse' :: DescribeIpGroupsResponse -> Maybe [WorkspacesIpGroup]
$sel:nextToken:DescribeIpGroupsResponse' :: DescribeIpGroupsResponse -> 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 [WorkspacesIpGroup]
result
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus