{-# 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.Nimble.GetStreamingSessionStream
(
GetStreamingSessionStream (..),
newGetStreamingSessionStream,
getStreamingSessionStream_sessionId,
getStreamingSessionStream_streamId,
getStreamingSessionStream_studioId,
GetStreamingSessionStreamResponse (..),
newGetStreamingSessionStreamResponse,
getStreamingSessionStreamResponse_stream,
getStreamingSessionStreamResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Nimble.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetStreamingSessionStream = GetStreamingSessionStream'
{
GetStreamingSessionStream -> Text
sessionId :: Prelude.Text,
GetStreamingSessionStream -> Text
streamId :: Prelude.Text,
GetStreamingSessionStream -> Text
studioId :: Prelude.Text
}
deriving (GetStreamingSessionStream -> GetStreamingSessionStream -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetStreamingSessionStream -> GetStreamingSessionStream -> Bool
$c/= :: GetStreamingSessionStream -> GetStreamingSessionStream -> Bool
== :: GetStreamingSessionStream -> GetStreamingSessionStream -> Bool
$c== :: GetStreamingSessionStream -> GetStreamingSessionStream -> Bool
Prelude.Eq, ReadPrec [GetStreamingSessionStream]
ReadPrec GetStreamingSessionStream
Int -> ReadS GetStreamingSessionStream
ReadS [GetStreamingSessionStream]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetStreamingSessionStream]
$creadListPrec :: ReadPrec [GetStreamingSessionStream]
readPrec :: ReadPrec GetStreamingSessionStream
$creadPrec :: ReadPrec GetStreamingSessionStream
readList :: ReadS [GetStreamingSessionStream]
$creadList :: ReadS [GetStreamingSessionStream]
readsPrec :: Int -> ReadS GetStreamingSessionStream
$creadsPrec :: Int -> ReadS GetStreamingSessionStream
Prelude.Read, Int -> GetStreamingSessionStream -> ShowS
[GetStreamingSessionStream] -> ShowS
GetStreamingSessionStream -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetStreamingSessionStream] -> ShowS
$cshowList :: [GetStreamingSessionStream] -> ShowS
show :: GetStreamingSessionStream -> String
$cshow :: GetStreamingSessionStream -> String
showsPrec :: Int -> GetStreamingSessionStream -> ShowS
$cshowsPrec :: Int -> GetStreamingSessionStream -> ShowS
Prelude.Show, forall x.
Rep GetStreamingSessionStream x -> GetStreamingSessionStream
forall x.
GetStreamingSessionStream -> Rep GetStreamingSessionStream x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetStreamingSessionStream x -> GetStreamingSessionStream
$cfrom :: forall x.
GetStreamingSessionStream -> Rep GetStreamingSessionStream x
Prelude.Generic)
newGetStreamingSessionStream ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
GetStreamingSessionStream
newGetStreamingSessionStream :: Text -> Text -> Text -> GetStreamingSessionStream
newGetStreamingSessionStream
Text
pSessionId_
Text
pStreamId_
Text
pStudioId_ =
GetStreamingSessionStream'
{ $sel:sessionId:GetStreamingSessionStream' :: Text
sessionId = Text
pSessionId_,
$sel:streamId:GetStreamingSessionStream' :: Text
streamId = Text
pStreamId_,
$sel:studioId:GetStreamingSessionStream' :: Text
studioId = Text
pStudioId_
}
getStreamingSessionStream_sessionId :: Lens.Lens' GetStreamingSessionStream Prelude.Text
getStreamingSessionStream_sessionId :: Lens' GetStreamingSessionStream Text
getStreamingSessionStream_sessionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetStreamingSessionStream' {Text
sessionId :: Text
$sel:sessionId:GetStreamingSessionStream' :: GetStreamingSessionStream -> Text
sessionId} -> Text
sessionId) (\s :: GetStreamingSessionStream
s@GetStreamingSessionStream' {} Text
a -> GetStreamingSessionStream
s {$sel:sessionId:GetStreamingSessionStream' :: Text
sessionId = Text
a} :: GetStreamingSessionStream)
getStreamingSessionStream_streamId :: Lens.Lens' GetStreamingSessionStream Prelude.Text
getStreamingSessionStream_streamId :: Lens' GetStreamingSessionStream Text
getStreamingSessionStream_streamId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetStreamingSessionStream' {Text
streamId :: Text
$sel:streamId:GetStreamingSessionStream' :: GetStreamingSessionStream -> Text
streamId} -> Text
streamId) (\s :: GetStreamingSessionStream
s@GetStreamingSessionStream' {} Text
a -> GetStreamingSessionStream
s {$sel:streamId:GetStreamingSessionStream' :: Text
streamId = Text
a} :: GetStreamingSessionStream)
getStreamingSessionStream_studioId :: Lens.Lens' GetStreamingSessionStream Prelude.Text
getStreamingSessionStream_studioId :: Lens' GetStreamingSessionStream Text
getStreamingSessionStream_studioId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetStreamingSessionStream' {Text
studioId :: Text
$sel:studioId:GetStreamingSessionStream' :: GetStreamingSessionStream -> Text
studioId} -> Text
studioId) (\s :: GetStreamingSessionStream
s@GetStreamingSessionStream' {} Text
a -> GetStreamingSessionStream
s {$sel:studioId:GetStreamingSessionStream' :: Text
studioId = Text
a} :: GetStreamingSessionStream)
instance Core.AWSRequest GetStreamingSessionStream where
type
AWSResponse GetStreamingSessionStream =
GetStreamingSessionStreamResponse
request :: (Service -> Service)
-> GetStreamingSessionStream -> Request GetStreamingSessionStream
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 GetStreamingSessionStream
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetStreamingSessionStream)))
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 StreamingSessionStream
-> Int -> GetStreamingSessionStreamResponse
GetStreamingSessionStreamResponse'
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
"stream")
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 GetStreamingSessionStream where
hashWithSalt :: Int -> GetStreamingSessionStream -> Int
hashWithSalt Int
_salt GetStreamingSessionStream' {Text
studioId :: Text
streamId :: Text
sessionId :: Text
$sel:studioId:GetStreamingSessionStream' :: GetStreamingSessionStream -> Text
$sel:streamId:GetStreamingSessionStream' :: GetStreamingSessionStream -> Text
$sel:sessionId:GetStreamingSessionStream' :: GetStreamingSessionStream -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sessionId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
streamId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
studioId
instance Prelude.NFData GetStreamingSessionStream where
rnf :: GetStreamingSessionStream -> ()
rnf GetStreamingSessionStream' {Text
studioId :: Text
streamId :: Text
sessionId :: Text
$sel:studioId:GetStreamingSessionStream' :: GetStreamingSessionStream -> Text
$sel:streamId:GetStreamingSessionStream' :: GetStreamingSessionStream -> Text
$sel:sessionId:GetStreamingSessionStream' :: GetStreamingSessionStream -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
sessionId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
streamId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
studioId
instance Data.ToHeaders GetStreamingSessionStream where
toHeaders :: GetStreamingSessionStream -> 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 GetStreamingSessionStream where
toPath :: GetStreamingSessionStream -> ByteString
toPath GetStreamingSessionStream' {Text
studioId :: Text
streamId :: Text
sessionId :: Text
$sel:studioId:GetStreamingSessionStream' :: GetStreamingSessionStream -> Text
$sel:streamId:GetStreamingSessionStream' :: GetStreamingSessionStream -> Text
$sel:sessionId:GetStreamingSessionStream' :: GetStreamingSessionStream -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/2020-08-01/studios/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
studioId,
ByteString
"/streaming-sessions/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
sessionId,
ByteString
"/streams/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
streamId
]
instance Data.ToQuery GetStreamingSessionStream where
toQuery :: GetStreamingSessionStream -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetStreamingSessionStreamResponse = GetStreamingSessionStreamResponse'
{
GetStreamingSessionStreamResponse -> Maybe StreamingSessionStream
stream :: Prelude.Maybe StreamingSessionStream,
GetStreamingSessionStreamResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetStreamingSessionStreamResponse
-> GetStreamingSessionStreamResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetStreamingSessionStreamResponse
-> GetStreamingSessionStreamResponse -> Bool
$c/= :: GetStreamingSessionStreamResponse
-> GetStreamingSessionStreamResponse -> Bool
== :: GetStreamingSessionStreamResponse
-> GetStreamingSessionStreamResponse -> Bool
$c== :: GetStreamingSessionStreamResponse
-> GetStreamingSessionStreamResponse -> Bool
Prelude.Eq, Int -> GetStreamingSessionStreamResponse -> ShowS
[GetStreamingSessionStreamResponse] -> ShowS
GetStreamingSessionStreamResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetStreamingSessionStreamResponse] -> ShowS
$cshowList :: [GetStreamingSessionStreamResponse] -> ShowS
show :: GetStreamingSessionStreamResponse -> String
$cshow :: GetStreamingSessionStreamResponse -> String
showsPrec :: Int -> GetStreamingSessionStreamResponse -> ShowS
$cshowsPrec :: Int -> GetStreamingSessionStreamResponse -> ShowS
Prelude.Show, forall x.
Rep GetStreamingSessionStreamResponse x
-> GetStreamingSessionStreamResponse
forall x.
GetStreamingSessionStreamResponse
-> Rep GetStreamingSessionStreamResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetStreamingSessionStreamResponse x
-> GetStreamingSessionStreamResponse
$cfrom :: forall x.
GetStreamingSessionStreamResponse
-> Rep GetStreamingSessionStreamResponse x
Prelude.Generic)
newGetStreamingSessionStreamResponse ::
Prelude.Int ->
GetStreamingSessionStreamResponse
newGetStreamingSessionStreamResponse :: Int -> GetStreamingSessionStreamResponse
newGetStreamingSessionStreamResponse Int
pHttpStatus_ =
GetStreamingSessionStreamResponse'
{ $sel:stream:GetStreamingSessionStreamResponse' :: Maybe StreamingSessionStream
stream =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetStreamingSessionStreamResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getStreamingSessionStreamResponse_stream :: Lens.Lens' GetStreamingSessionStreamResponse (Prelude.Maybe StreamingSessionStream)
getStreamingSessionStreamResponse_stream :: Lens'
GetStreamingSessionStreamResponse (Maybe StreamingSessionStream)
getStreamingSessionStreamResponse_stream = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetStreamingSessionStreamResponse' {Maybe StreamingSessionStream
stream :: Maybe StreamingSessionStream
$sel:stream:GetStreamingSessionStreamResponse' :: GetStreamingSessionStreamResponse -> Maybe StreamingSessionStream
stream} -> Maybe StreamingSessionStream
stream) (\s :: GetStreamingSessionStreamResponse
s@GetStreamingSessionStreamResponse' {} Maybe StreamingSessionStream
a -> GetStreamingSessionStreamResponse
s {$sel:stream:GetStreamingSessionStreamResponse' :: Maybe StreamingSessionStream
stream = Maybe StreamingSessionStream
a} :: GetStreamingSessionStreamResponse)
getStreamingSessionStreamResponse_httpStatus :: Lens.Lens' GetStreamingSessionStreamResponse Prelude.Int
getStreamingSessionStreamResponse_httpStatus :: Lens' GetStreamingSessionStreamResponse Int
getStreamingSessionStreamResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetStreamingSessionStreamResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetStreamingSessionStreamResponse' :: GetStreamingSessionStreamResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetStreamingSessionStreamResponse
s@GetStreamingSessionStreamResponse' {} Int
a -> GetStreamingSessionStreamResponse
s {$sel:httpStatus:GetStreamingSessionStreamResponse' :: Int
httpStatus = Int
a} :: GetStreamingSessionStreamResponse)
instance
Prelude.NFData
GetStreamingSessionStreamResponse
where
rnf :: GetStreamingSessionStreamResponse -> ()
rnf GetStreamingSessionStreamResponse' {Int
Maybe StreamingSessionStream
httpStatus :: Int
stream :: Maybe StreamingSessionStream
$sel:httpStatus:GetStreamingSessionStreamResponse' :: GetStreamingSessionStreamResponse -> Int
$sel:stream:GetStreamingSessionStreamResponse' :: GetStreamingSessionStreamResponse -> Maybe StreamingSessionStream
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe StreamingSessionStream
stream
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus