{-# 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.Chime.DescribeChannelMembership
(
DescribeChannelMembership (..),
newDescribeChannelMembership,
describeChannelMembership_chimeBearer,
describeChannelMembership_channelArn,
describeChannelMembership_memberArn,
DescribeChannelMembershipResponse (..),
newDescribeChannelMembershipResponse,
describeChannelMembershipResponse_channelMembership,
describeChannelMembershipResponse_httpStatus,
)
where
import Amazonka.Chime.Types
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
data DescribeChannelMembership = DescribeChannelMembership'
{
DescribeChannelMembership -> Maybe Text
chimeBearer :: Prelude.Maybe Prelude.Text,
DescribeChannelMembership -> Text
channelArn :: Prelude.Text,
DescribeChannelMembership -> Text
memberArn :: Prelude.Text
}
deriving (DescribeChannelMembership -> DescribeChannelMembership -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeChannelMembership -> DescribeChannelMembership -> Bool
$c/= :: DescribeChannelMembership -> DescribeChannelMembership -> Bool
== :: DescribeChannelMembership -> DescribeChannelMembership -> Bool
$c== :: DescribeChannelMembership -> DescribeChannelMembership -> Bool
Prelude.Eq, ReadPrec [DescribeChannelMembership]
ReadPrec DescribeChannelMembership
Int -> ReadS DescribeChannelMembership
ReadS [DescribeChannelMembership]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeChannelMembership]
$creadListPrec :: ReadPrec [DescribeChannelMembership]
readPrec :: ReadPrec DescribeChannelMembership
$creadPrec :: ReadPrec DescribeChannelMembership
readList :: ReadS [DescribeChannelMembership]
$creadList :: ReadS [DescribeChannelMembership]
readsPrec :: Int -> ReadS DescribeChannelMembership
$creadsPrec :: Int -> ReadS DescribeChannelMembership
Prelude.Read, Int -> DescribeChannelMembership -> ShowS
[DescribeChannelMembership] -> ShowS
DescribeChannelMembership -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeChannelMembership] -> ShowS
$cshowList :: [DescribeChannelMembership] -> ShowS
show :: DescribeChannelMembership -> String
$cshow :: DescribeChannelMembership -> String
showsPrec :: Int -> DescribeChannelMembership -> ShowS
$cshowsPrec :: Int -> DescribeChannelMembership -> ShowS
Prelude.Show, forall x.
Rep DescribeChannelMembership x -> DescribeChannelMembership
forall x.
DescribeChannelMembership -> Rep DescribeChannelMembership x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeChannelMembership x -> DescribeChannelMembership
$cfrom :: forall x.
DescribeChannelMembership -> Rep DescribeChannelMembership x
Prelude.Generic)
newDescribeChannelMembership ::
Prelude.Text ->
Prelude.Text ->
DescribeChannelMembership
newDescribeChannelMembership :: Text -> Text -> DescribeChannelMembership
newDescribeChannelMembership Text
pChannelArn_ Text
pMemberArn_ =
DescribeChannelMembership'
{ $sel:chimeBearer:DescribeChannelMembership' :: Maybe Text
chimeBearer =
forall a. Maybe a
Prelude.Nothing,
$sel:channelArn:DescribeChannelMembership' :: Text
channelArn = Text
pChannelArn_,
$sel:memberArn:DescribeChannelMembership' :: Text
memberArn = Text
pMemberArn_
}
describeChannelMembership_chimeBearer :: Lens.Lens' DescribeChannelMembership (Prelude.Maybe Prelude.Text)
describeChannelMembership_chimeBearer :: Lens' DescribeChannelMembership (Maybe Text)
describeChannelMembership_chimeBearer = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeChannelMembership' {Maybe Text
chimeBearer :: Maybe Text
$sel:chimeBearer:DescribeChannelMembership' :: DescribeChannelMembership -> Maybe Text
chimeBearer} -> Maybe Text
chimeBearer) (\s :: DescribeChannelMembership
s@DescribeChannelMembership' {} Maybe Text
a -> DescribeChannelMembership
s {$sel:chimeBearer:DescribeChannelMembership' :: Maybe Text
chimeBearer = Maybe Text
a} :: DescribeChannelMembership)
describeChannelMembership_channelArn :: Lens.Lens' DescribeChannelMembership Prelude.Text
describeChannelMembership_channelArn :: Lens' DescribeChannelMembership Text
describeChannelMembership_channelArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeChannelMembership' {Text
channelArn :: Text
$sel:channelArn:DescribeChannelMembership' :: DescribeChannelMembership -> Text
channelArn} -> Text
channelArn) (\s :: DescribeChannelMembership
s@DescribeChannelMembership' {} Text
a -> DescribeChannelMembership
s {$sel:channelArn:DescribeChannelMembership' :: Text
channelArn = Text
a} :: DescribeChannelMembership)
describeChannelMembership_memberArn :: Lens.Lens' DescribeChannelMembership Prelude.Text
describeChannelMembership_memberArn :: Lens' DescribeChannelMembership Text
describeChannelMembership_memberArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeChannelMembership' {Text
memberArn :: Text
$sel:memberArn:DescribeChannelMembership' :: DescribeChannelMembership -> Text
memberArn} -> Text
memberArn) (\s :: DescribeChannelMembership
s@DescribeChannelMembership' {} Text
a -> DescribeChannelMembership
s {$sel:memberArn:DescribeChannelMembership' :: Text
memberArn = Text
a} :: DescribeChannelMembership)
instance Core.AWSRequest DescribeChannelMembership where
type
AWSResponse DescribeChannelMembership =
DescribeChannelMembershipResponse
request :: (Service -> Service)
-> DescribeChannelMembership -> Request DescribeChannelMembership
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 DescribeChannelMembership
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeChannelMembership)))
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 ChannelMembership -> Int -> DescribeChannelMembershipResponse
DescribeChannelMembershipResponse'
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
"ChannelMembership")
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 DescribeChannelMembership where
hashWithSalt :: Int -> DescribeChannelMembership -> Int
hashWithSalt Int
_salt DescribeChannelMembership' {Maybe Text
Text
memberArn :: Text
channelArn :: Text
chimeBearer :: Maybe Text
$sel:memberArn:DescribeChannelMembership' :: DescribeChannelMembership -> Text
$sel:channelArn:DescribeChannelMembership' :: DescribeChannelMembership -> Text
$sel:chimeBearer:DescribeChannelMembership' :: DescribeChannelMembership -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
chimeBearer
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
channelArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
memberArn
instance Prelude.NFData DescribeChannelMembership where
rnf :: DescribeChannelMembership -> ()
rnf DescribeChannelMembership' {Maybe Text
Text
memberArn :: Text
channelArn :: Text
chimeBearer :: Maybe Text
$sel:memberArn:DescribeChannelMembership' :: DescribeChannelMembership -> Text
$sel:channelArn:DescribeChannelMembership' :: DescribeChannelMembership -> Text
$sel:chimeBearer:DescribeChannelMembership' :: DescribeChannelMembership -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
chimeBearer
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
channelArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
memberArn
instance Data.ToHeaders DescribeChannelMembership where
toHeaders :: DescribeChannelMembership -> ResponseHeaders
toHeaders DescribeChannelMembership' {Maybe Text
Text
memberArn :: Text
channelArn :: Text
chimeBearer :: Maybe Text
$sel:memberArn:DescribeChannelMembership' :: DescribeChannelMembership -> Text
$sel:channelArn:DescribeChannelMembership' :: DescribeChannelMembership -> Text
$sel:chimeBearer:DescribeChannelMembership' :: DescribeChannelMembership -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[HeaderName
"x-amz-chime-bearer" forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe Text
chimeBearer]
instance Data.ToPath DescribeChannelMembership where
toPath :: DescribeChannelMembership -> ByteString
toPath DescribeChannelMembership' {Maybe Text
Text
memberArn :: Text
channelArn :: Text
chimeBearer :: Maybe Text
$sel:memberArn:DescribeChannelMembership' :: DescribeChannelMembership -> Text
$sel:channelArn:DescribeChannelMembership' :: DescribeChannelMembership -> Text
$sel:chimeBearer:DescribeChannelMembership' :: DescribeChannelMembership -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/channels/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
channelArn,
ByteString
"/memberships/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
memberArn
]
instance Data.ToQuery DescribeChannelMembership where
toQuery :: DescribeChannelMembership -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeChannelMembershipResponse = DescribeChannelMembershipResponse'
{
DescribeChannelMembershipResponse -> Maybe ChannelMembership
channelMembership :: Prelude.Maybe ChannelMembership,
DescribeChannelMembershipResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeChannelMembershipResponse
-> DescribeChannelMembershipResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeChannelMembershipResponse
-> DescribeChannelMembershipResponse -> Bool
$c/= :: DescribeChannelMembershipResponse
-> DescribeChannelMembershipResponse -> Bool
== :: DescribeChannelMembershipResponse
-> DescribeChannelMembershipResponse -> Bool
$c== :: DescribeChannelMembershipResponse
-> DescribeChannelMembershipResponse -> Bool
Prelude.Eq, Int -> DescribeChannelMembershipResponse -> ShowS
[DescribeChannelMembershipResponse] -> ShowS
DescribeChannelMembershipResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeChannelMembershipResponse] -> ShowS
$cshowList :: [DescribeChannelMembershipResponse] -> ShowS
show :: DescribeChannelMembershipResponse -> String
$cshow :: DescribeChannelMembershipResponse -> String
showsPrec :: Int -> DescribeChannelMembershipResponse -> ShowS
$cshowsPrec :: Int -> DescribeChannelMembershipResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeChannelMembershipResponse x
-> DescribeChannelMembershipResponse
forall x.
DescribeChannelMembershipResponse
-> Rep DescribeChannelMembershipResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeChannelMembershipResponse x
-> DescribeChannelMembershipResponse
$cfrom :: forall x.
DescribeChannelMembershipResponse
-> Rep DescribeChannelMembershipResponse x
Prelude.Generic)
newDescribeChannelMembershipResponse ::
Prelude.Int ->
DescribeChannelMembershipResponse
newDescribeChannelMembershipResponse :: Int -> DescribeChannelMembershipResponse
newDescribeChannelMembershipResponse Int
pHttpStatus_ =
DescribeChannelMembershipResponse'
{ $sel:channelMembership:DescribeChannelMembershipResponse' :: Maybe ChannelMembership
channelMembership =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeChannelMembershipResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeChannelMembershipResponse_channelMembership :: Lens.Lens' DescribeChannelMembershipResponse (Prelude.Maybe ChannelMembership)
describeChannelMembershipResponse_channelMembership :: Lens' DescribeChannelMembershipResponse (Maybe ChannelMembership)
describeChannelMembershipResponse_channelMembership = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeChannelMembershipResponse' {Maybe ChannelMembership
channelMembership :: Maybe ChannelMembership
$sel:channelMembership:DescribeChannelMembershipResponse' :: DescribeChannelMembershipResponse -> Maybe ChannelMembership
channelMembership} -> Maybe ChannelMembership
channelMembership) (\s :: DescribeChannelMembershipResponse
s@DescribeChannelMembershipResponse' {} Maybe ChannelMembership
a -> DescribeChannelMembershipResponse
s {$sel:channelMembership:DescribeChannelMembershipResponse' :: Maybe ChannelMembership
channelMembership = Maybe ChannelMembership
a} :: DescribeChannelMembershipResponse)
describeChannelMembershipResponse_httpStatus :: Lens.Lens' DescribeChannelMembershipResponse Prelude.Int
describeChannelMembershipResponse_httpStatus :: Lens' DescribeChannelMembershipResponse Int
describeChannelMembershipResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeChannelMembershipResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeChannelMembershipResponse' :: DescribeChannelMembershipResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeChannelMembershipResponse
s@DescribeChannelMembershipResponse' {} Int
a -> DescribeChannelMembershipResponse
s {$sel:httpStatus:DescribeChannelMembershipResponse' :: Int
httpStatus = Int
a} :: DescribeChannelMembershipResponse)
instance
Prelude.NFData
DescribeChannelMembershipResponse
where
rnf :: DescribeChannelMembershipResponse -> ()
rnf DescribeChannelMembershipResponse' {Int
Maybe ChannelMembership
httpStatus :: Int
channelMembership :: Maybe ChannelMembership
$sel:httpStatus:DescribeChannelMembershipResponse' :: DescribeChannelMembershipResponse -> Int
$sel:channelMembership:DescribeChannelMembershipResponse' :: DescribeChannelMembershipResponse -> Maybe ChannelMembership
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ChannelMembership
channelMembership
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus