{-# 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.AppStream.CreateImageBuilderStreamingURL
(
CreateImageBuilderStreamingURL (..),
newCreateImageBuilderStreamingURL,
createImageBuilderStreamingURL_validity,
createImageBuilderStreamingURL_name,
CreateImageBuilderStreamingURLResponse (..),
newCreateImageBuilderStreamingURLResponse,
createImageBuilderStreamingURLResponse_expires,
createImageBuilderStreamingURLResponse_streamingURL,
createImageBuilderStreamingURLResponse_httpStatus,
)
where
import Amazonka.AppStream.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 CreateImageBuilderStreamingURL = CreateImageBuilderStreamingURL'
{
CreateImageBuilderStreamingURL -> Maybe Integer
validity :: Prelude.Maybe Prelude.Integer,
CreateImageBuilderStreamingURL -> Text
name :: Prelude.Text
}
deriving (CreateImageBuilderStreamingURL
-> CreateImageBuilderStreamingURL -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateImageBuilderStreamingURL
-> CreateImageBuilderStreamingURL -> Bool
$c/= :: CreateImageBuilderStreamingURL
-> CreateImageBuilderStreamingURL -> Bool
== :: CreateImageBuilderStreamingURL
-> CreateImageBuilderStreamingURL -> Bool
$c== :: CreateImageBuilderStreamingURL
-> CreateImageBuilderStreamingURL -> Bool
Prelude.Eq, ReadPrec [CreateImageBuilderStreamingURL]
ReadPrec CreateImageBuilderStreamingURL
Int -> ReadS CreateImageBuilderStreamingURL
ReadS [CreateImageBuilderStreamingURL]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateImageBuilderStreamingURL]
$creadListPrec :: ReadPrec [CreateImageBuilderStreamingURL]
readPrec :: ReadPrec CreateImageBuilderStreamingURL
$creadPrec :: ReadPrec CreateImageBuilderStreamingURL
readList :: ReadS [CreateImageBuilderStreamingURL]
$creadList :: ReadS [CreateImageBuilderStreamingURL]
readsPrec :: Int -> ReadS CreateImageBuilderStreamingURL
$creadsPrec :: Int -> ReadS CreateImageBuilderStreamingURL
Prelude.Read, Int -> CreateImageBuilderStreamingURL -> ShowS
[CreateImageBuilderStreamingURL] -> ShowS
CreateImageBuilderStreamingURL -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateImageBuilderStreamingURL] -> ShowS
$cshowList :: [CreateImageBuilderStreamingURL] -> ShowS
show :: CreateImageBuilderStreamingURL -> String
$cshow :: CreateImageBuilderStreamingURL -> String
showsPrec :: Int -> CreateImageBuilderStreamingURL -> ShowS
$cshowsPrec :: Int -> CreateImageBuilderStreamingURL -> ShowS
Prelude.Show, forall x.
Rep CreateImageBuilderStreamingURL x
-> CreateImageBuilderStreamingURL
forall x.
CreateImageBuilderStreamingURL
-> Rep CreateImageBuilderStreamingURL x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateImageBuilderStreamingURL x
-> CreateImageBuilderStreamingURL
$cfrom :: forall x.
CreateImageBuilderStreamingURL
-> Rep CreateImageBuilderStreamingURL x
Prelude.Generic)
newCreateImageBuilderStreamingURL ::
Prelude.Text ->
CreateImageBuilderStreamingURL
newCreateImageBuilderStreamingURL :: Text -> CreateImageBuilderStreamingURL
newCreateImageBuilderStreamingURL Text
pName_ =
CreateImageBuilderStreamingURL'
{ $sel:validity:CreateImageBuilderStreamingURL' :: Maybe Integer
validity =
forall a. Maybe a
Prelude.Nothing,
$sel:name:CreateImageBuilderStreamingURL' :: Text
name = Text
pName_
}
createImageBuilderStreamingURL_validity :: Lens.Lens' CreateImageBuilderStreamingURL (Prelude.Maybe Prelude.Integer)
createImageBuilderStreamingURL_validity :: Lens' CreateImageBuilderStreamingURL (Maybe Integer)
createImageBuilderStreamingURL_validity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateImageBuilderStreamingURL' {Maybe Integer
validity :: Maybe Integer
$sel:validity:CreateImageBuilderStreamingURL' :: CreateImageBuilderStreamingURL -> Maybe Integer
validity} -> Maybe Integer
validity) (\s :: CreateImageBuilderStreamingURL
s@CreateImageBuilderStreamingURL' {} Maybe Integer
a -> CreateImageBuilderStreamingURL
s {$sel:validity:CreateImageBuilderStreamingURL' :: Maybe Integer
validity = Maybe Integer
a} :: CreateImageBuilderStreamingURL)
createImageBuilderStreamingURL_name :: Lens.Lens' CreateImageBuilderStreamingURL Prelude.Text
createImageBuilderStreamingURL_name :: Lens' CreateImageBuilderStreamingURL Text
createImageBuilderStreamingURL_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateImageBuilderStreamingURL' {Text
name :: Text
$sel:name:CreateImageBuilderStreamingURL' :: CreateImageBuilderStreamingURL -> Text
name} -> Text
name) (\s :: CreateImageBuilderStreamingURL
s@CreateImageBuilderStreamingURL' {} Text
a -> CreateImageBuilderStreamingURL
s {$sel:name:CreateImageBuilderStreamingURL' :: Text
name = Text
a} :: CreateImageBuilderStreamingURL)
instance
Core.AWSRequest
CreateImageBuilderStreamingURL
where
type
AWSResponse CreateImageBuilderStreamingURL =
CreateImageBuilderStreamingURLResponse
request :: (Service -> Service)
-> CreateImageBuilderStreamingURL
-> Request CreateImageBuilderStreamingURL
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 CreateImageBuilderStreamingURL
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse CreateImageBuilderStreamingURL)))
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 POSIX
-> Maybe Text -> Int -> CreateImageBuilderStreamingURLResponse
CreateImageBuilderStreamingURLResponse'
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
"Expires")
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
"StreamingURL")
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
CreateImageBuilderStreamingURL
where
hashWithSalt :: Int -> CreateImageBuilderStreamingURL -> Int
hashWithSalt
Int
_salt
CreateImageBuilderStreamingURL' {Maybe Integer
Text
name :: Text
validity :: Maybe Integer
$sel:name:CreateImageBuilderStreamingURL' :: CreateImageBuilderStreamingURL -> Text
$sel:validity:CreateImageBuilderStreamingURL' :: CreateImageBuilderStreamingURL -> Maybe Integer
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
validity
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
instance
Prelude.NFData
CreateImageBuilderStreamingURL
where
rnf :: CreateImageBuilderStreamingURL -> ()
rnf CreateImageBuilderStreamingURL' {Maybe Integer
Text
name :: Text
validity :: Maybe Integer
$sel:name:CreateImageBuilderStreamingURL' :: CreateImageBuilderStreamingURL -> Text
$sel:validity:CreateImageBuilderStreamingURL' :: CreateImageBuilderStreamingURL -> Maybe Integer
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
validity seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name
instance
Data.ToHeaders
CreateImageBuilderStreamingURL
where
toHeaders :: CreateImageBuilderStreamingURL -> 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
"PhotonAdminProxyService.CreateImageBuilderStreamingURL" ::
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 CreateImageBuilderStreamingURL where
toJSON :: CreateImageBuilderStreamingURL -> Value
toJSON CreateImageBuilderStreamingURL' {Maybe Integer
Text
name :: Text
validity :: Maybe Integer
$sel:name:CreateImageBuilderStreamingURL' :: CreateImageBuilderStreamingURL -> Text
$sel:validity:CreateImageBuilderStreamingURL' :: CreateImageBuilderStreamingURL -> Maybe Integer
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Validity" 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 Integer
validity,
forall a. a -> Maybe a
Prelude.Just (Key
"Name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name)
]
)
instance Data.ToPath CreateImageBuilderStreamingURL where
toPath :: CreateImageBuilderStreamingURL -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateImageBuilderStreamingURL where
toQuery :: CreateImageBuilderStreamingURL -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateImageBuilderStreamingURLResponse = CreateImageBuilderStreamingURLResponse'
{
CreateImageBuilderStreamingURLResponse -> Maybe POSIX
expires :: Prelude.Maybe Data.POSIX,
CreateImageBuilderStreamingURLResponse -> Maybe Text
streamingURL :: Prelude.Maybe Prelude.Text,
CreateImageBuilderStreamingURLResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateImageBuilderStreamingURLResponse
-> CreateImageBuilderStreamingURLResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateImageBuilderStreamingURLResponse
-> CreateImageBuilderStreamingURLResponse -> Bool
$c/= :: CreateImageBuilderStreamingURLResponse
-> CreateImageBuilderStreamingURLResponse -> Bool
== :: CreateImageBuilderStreamingURLResponse
-> CreateImageBuilderStreamingURLResponse -> Bool
$c== :: CreateImageBuilderStreamingURLResponse
-> CreateImageBuilderStreamingURLResponse -> Bool
Prelude.Eq, ReadPrec [CreateImageBuilderStreamingURLResponse]
ReadPrec CreateImageBuilderStreamingURLResponse
Int -> ReadS CreateImageBuilderStreamingURLResponse
ReadS [CreateImageBuilderStreamingURLResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateImageBuilderStreamingURLResponse]
$creadListPrec :: ReadPrec [CreateImageBuilderStreamingURLResponse]
readPrec :: ReadPrec CreateImageBuilderStreamingURLResponse
$creadPrec :: ReadPrec CreateImageBuilderStreamingURLResponse
readList :: ReadS [CreateImageBuilderStreamingURLResponse]
$creadList :: ReadS [CreateImageBuilderStreamingURLResponse]
readsPrec :: Int -> ReadS CreateImageBuilderStreamingURLResponse
$creadsPrec :: Int -> ReadS CreateImageBuilderStreamingURLResponse
Prelude.Read, Int -> CreateImageBuilderStreamingURLResponse -> ShowS
[CreateImageBuilderStreamingURLResponse] -> ShowS
CreateImageBuilderStreamingURLResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateImageBuilderStreamingURLResponse] -> ShowS
$cshowList :: [CreateImageBuilderStreamingURLResponse] -> ShowS
show :: CreateImageBuilderStreamingURLResponse -> String
$cshow :: CreateImageBuilderStreamingURLResponse -> String
showsPrec :: Int -> CreateImageBuilderStreamingURLResponse -> ShowS
$cshowsPrec :: Int -> CreateImageBuilderStreamingURLResponse -> ShowS
Prelude.Show, forall x.
Rep CreateImageBuilderStreamingURLResponse x
-> CreateImageBuilderStreamingURLResponse
forall x.
CreateImageBuilderStreamingURLResponse
-> Rep CreateImageBuilderStreamingURLResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateImageBuilderStreamingURLResponse x
-> CreateImageBuilderStreamingURLResponse
$cfrom :: forall x.
CreateImageBuilderStreamingURLResponse
-> Rep CreateImageBuilderStreamingURLResponse x
Prelude.Generic)
newCreateImageBuilderStreamingURLResponse ::
Prelude.Int ->
CreateImageBuilderStreamingURLResponse
newCreateImageBuilderStreamingURLResponse :: Int -> CreateImageBuilderStreamingURLResponse
newCreateImageBuilderStreamingURLResponse
Int
pHttpStatus_ =
CreateImageBuilderStreamingURLResponse'
{ $sel:expires:CreateImageBuilderStreamingURLResponse' :: Maybe POSIX
expires =
forall a. Maybe a
Prelude.Nothing,
$sel:streamingURL:CreateImageBuilderStreamingURLResponse' :: Maybe Text
streamingURL = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateImageBuilderStreamingURLResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createImageBuilderStreamingURLResponse_expires :: Lens.Lens' CreateImageBuilderStreamingURLResponse (Prelude.Maybe Prelude.UTCTime)
createImageBuilderStreamingURLResponse_expires :: Lens' CreateImageBuilderStreamingURLResponse (Maybe UTCTime)
createImageBuilderStreamingURLResponse_expires = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateImageBuilderStreamingURLResponse' {Maybe POSIX
expires :: Maybe POSIX
$sel:expires:CreateImageBuilderStreamingURLResponse' :: CreateImageBuilderStreamingURLResponse -> Maybe POSIX
expires} -> Maybe POSIX
expires) (\s :: CreateImageBuilderStreamingURLResponse
s@CreateImageBuilderStreamingURLResponse' {} Maybe POSIX
a -> CreateImageBuilderStreamingURLResponse
s {$sel:expires:CreateImageBuilderStreamingURLResponse' :: Maybe POSIX
expires = Maybe POSIX
a} :: CreateImageBuilderStreamingURLResponse) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time
createImageBuilderStreamingURLResponse_streamingURL :: Lens.Lens' CreateImageBuilderStreamingURLResponse (Prelude.Maybe Prelude.Text)
createImageBuilderStreamingURLResponse_streamingURL :: Lens' CreateImageBuilderStreamingURLResponse (Maybe Text)
createImageBuilderStreamingURLResponse_streamingURL = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateImageBuilderStreamingURLResponse' {Maybe Text
streamingURL :: Maybe Text
$sel:streamingURL:CreateImageBuilderStreamingURLResponse' :: CreateImageBuilderStreamingURLResponse -> Maybe Text
streamingURL} -> Maybe Text
streamingURL) (\s :: CreateImageBuilderStreamingURLResponse
s@CreateImageBuilderStreamingURLResponse' {} Maybe Text
a -> CreateImageBuilderStreamingURLResponse
s {$sel:streamingURL:CreateImageBuilderStreamingURLResponse' :: Maybe Text
streamingURL = Maybe Text
a} :: CreateImageBuilderStreamingURLResponse)
createImageBuilderStreamingURLResponse_httpStatus :: Lens.Lens' CreateImageBuilderStreamingURLResponse Prelude.Int
createImageBuilderStreamingURLResponse_httpStatus :: Lens' CreateImageBuilderStreamingURLResponse Int
createImageBuilderStreamingURLResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateImageBuilderStreamingURLResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateImageBuilderStreamingURLResponse' :: CreateImageBuilderStreamingURLResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateImageBuilderStreamingURLResponse
s@CreateImageBuilderStreamingURLResponse' {} Int
a -> CreateImageBuilderStreamingURLResponse
s {$sel:httpStatus:CreateImageBuilderStreamingURLResponse' :: Int
httpStatus = Int
a} :: CreateImageBuilderStreamingURLResponse)
instance
Prelude.NFData
CreateImageBuilderStreamingURLResponse
where
rnf :: CreateImageBuilderStreamingURLResponse -> ()
rnf CreateImageBuilderStreamingURLResponse' {Int
Maybe Text
Maybe POSIX
httpStatus :: Int
streamingURL :: Maybe Text
expires :: Maybe POSIX
$sel:httpStatus:CreateImageBuilderStreamingURLResponse' :: CreateImageBuilderStreamingURLResponse -> Int
$sel:streamingURL:CreateImageBuilderStreamingURLResponse' :: CreateImageBuilderStreamingURLResponse -> Maybe Text
$sel:expires:CreateImageBuilderStreamingURLResponse' :: CreateImageBuilderStreamingURLResponse -> Maybe POSIX
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
expires
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
streamingURL
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus