{-# 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.KinesisAnalyticsV2.DescribeApplicationVersion
(
DescribeApplicationVersion (..),
newDescribeApplicationVersion,
describeApplicationVersion_applicationName,
describeApplicationVersion_applicationVersionId,
DescribeApplicationVersionResponse (..),
newDescribeApplicationVersionResponse,
describeApplicationVersionResponse_applicationVersionDetail,
describeApplicationVersionResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.KinesisAnalyticsV2.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeApplicationVersion = DescribeApplicationVersion'
{
DescribeApplicationVersion -> Text
applicationName :: Prelude.Text,
DescribeApplicationVersion -> Natural
applicationVersionId :: Prelude.Natural
}
deriving (DescribeApplicationVersion -> DescribeApplicationVersion -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeApplicationVersion -> DescribeApplicationVersion -> Bool
$c/= :: DescribeApplicationVersion -> DescribeApplicationVersion -> Bool
== :: DescribeApplicationVersion -> DescribeApplicationVersion -> Bool
$c== :: DescribeApplicationVersion -> DescribeApplicationVersion -> Bool
Prelude.Eq, ReadPrec [DescribeApplicationVersion]
ReadPrec DescribeApplicationVersion
Int -> ReadS DescribeApplicationVersion
ReadS [DescribeApplicationVersion]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeApplicationVersion]
$creadListPrec :: ReadPrec [DescribeApplicationVersion]
readPrec :: ReadPrec DescribeApplicationVersion
$creadPrec :: ReadPrec DescribeApplicationVersion
readList :: ReadS [DescribeApplicationVersion]
$creadList :: ReadS [DescribeApplicationVersion]
readsPrec :: Int -> ReadS DescribeApplicationVersion
$creadsPrec :: Int -> ReadS DescribeApplicationVersion
Prelude.Read, Int -> DescribeApplicationVersion -> ShowS
[DescribeApplicationVersion] -> ShowS
DescribeApplicationVersion -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeApplicationVersion] -> ShowS
$cshowList :: [DescribeApplicationVersion] -> ShowS
show :: DescribeApplicationVersion -> String
$cshow :: DescribeApplicationVersion -> String
showsPrec :: Int -> DescribeApplicationVersion -> ShowS
$cshowsPrec :: Int -> DescribeApplicationVersion -> ShowS
Prelude.Show, forall x.
Rep DescribeApplicationVersion x -> DescribeApplicationVersion
forall x.
DescribeApplicationVersion -> Rep DescribeApplicationVersion x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeApplicationVersion x -> DescribeApplicationVersion
$cfrom :: forall x.
DescribeApplicationVersion -> Rep DescribeApplicationVersion x
Prelude.Generic)
newDescribeApplicationVersion ::
Prelude.Text ->
Prelude.Natural ->
DescribeApplicationVersion
newDescribeApplicationVersion :: Text -> Natural -> DescribeApplicationVersion
newDescribeApplicationVersion
Text
pApplicationName_
Natural
pApplicationVersionId_ =
DescribeApplicationVersion'
{ $sel:applicationName:DescribeApplicationVersion' :: Text
applicationName =
Text
pApplicationName_,
$sel:applicationVersionId:DescribeApplicationVersion' :: Natural
applicationVersionId = Natural
pApplicationVersionId_
}
describeApplicationVersion_applicationName :: Lens.Lens' DescribeApplicationVersion Prelude.Text
describeApplicationVersion_applicationName :: Lens' DescribeApplicationVersion Text
describeApplicationVersion_applicationName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeApplicationVersion' {Text
applicationName :: Text
$sel:applicationName:DescribeApplicationVersion' :: DescribeApplicationVersion -> Text
applicationName} -> Text
applicationName) (\s :: DescribeApplicationVersion
s@DescribeApplicationVersion' {} Text
a -> DescribeApplicationVersion
s {$sel:applicationName:DescribeApplicationVersion' :: Text
applicationName = Text
a} :: DescribeApplicationVersion)
describeApplicationVersion_applicationVersionId :: Lens.Lens' DescribeApplicationVersion Prelude.Natural
describeApplicationVersion_applicationVersionId :: Lens' DescribeApplicationVersion Natural
describeApplicationVersion_applicationVersionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeApplicationVersion' {Natural
applicationVersionId :: Natural
$sel:applicationVersionId:DescribeApplicationVersion' :: DescribeApplicationVersion -> Natural
applicationVersionId} -> Natural
applicationVersionId) (\s :: DescribeApplicationVersion
s@DescribeApplicationVersion' {} Natural
a -> DescribeApplicationVersion
s {$sel:applicationVersionId:DescribeApplicationVersion' :: Natural
applicationVersionId = Natural
a} :: DescribeApplicationVersion)
instance Core.AWSRequest DescribeApplicationVersion where
type
AWSResponse DescribeApplicationVersion =
DescribeApplicationVersionResponse
request :: (Service -> Service)
-> DescribeApplicationVersion -> Request DescribeApplicationVersion
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 DescribeApplicationVersion
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeApplicationVersion)))
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 ApplicationDetail
-> Int -> DescribeApplicationVersionResponse
DescribeApplicationVersionResponse'
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
"ApplicationVersionDetail")
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 DescribeApplicationVersion where
hashWithSalt :: Int -> DescribeApplicationVersion -> Int
hashWithSalt Int
_salt DescribeApplicationVersion' {Natural
Text
applicationVersionId :: Natural
applicationName :: Text
$sel:applicationVersionId:DescribeApplicationVersion' :: DescribeApplicationVersion -> Natural
$sel:applicationName:DescribeApplicationVersion' :: DescribeApplicationVersion -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
applicationName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Natural
applicationVersionId
instance Prelude.NFData DescribeApplicationVersion where
rnf :: DescribeApplicationVersion -> ()
rnf DescribeApplicationVersion' {Natural
Text
applicationVersionId :: Natural
applicationName :: Text
$sel:applicationVersionId:DescribeApplicationVersion' :: DescribeApplicationVersion -> Natural
$sel:applicationName:DescribeApplicationVersion' :: DescribeApplicationVersion -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
applicationName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Natural
applicationVersionId
instance Data.ToHeaders DescribeApplicationVersion where
toHeaders :: DescribeApplicationVersion -> 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
"KinesisAnalytics_20180523.DescribeApplicationVersion" ::
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 DescribeApplicationVersion where
toJSON :: DescribeApplicationVersion -> Value
toJSON DescribeApplicationVersion' {Natural
Text
applicationVersionId :: Natural
applicationName :: Text
$sel:applicationVersionId:DescribeApplicationVersion' :: DescribeApplicationVersion -> Natural
$sel:applicationName:DescribeApplicationVersion' :: DescribeApplicationVersion -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"ApplicationName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
applicationName),
forall a. a -> Maybe a
Prelude.Just
( Key
"ApplicationVersionId"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Natural
applicationVersionId
)
]
)
instance Data.ToPath DescribeApplicationVersion where
toPath :: DescribeApplicationVersion -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeApplicationVersion where
toQuery :: DescribeApplicationVersion -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeApplicationVersionResponse = DescribeApplicationVersionResponse'
{ DescribeApplicationVersionResponse -> Maybe ApplicationDetail
applicationVersionDetail :: Prelude.Maybe ApplicationDetail,
DescribeApplicationVersionResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeApplicationVersionResponse
-> DescribeApplicationVersionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeApplicationVersionResponse
-> DescribeApplicationVersionResponse -> Bool
$c/= :: DescribeApplicationVersionResponse
-> DescribeApplicationVersionResponse -> Bool
== :: DescribeApplicationVersionResponse
-> DescribeApplicationVersionResponse -> Bool
$c== :: DescribeApplicationVersionResponse
-> DescribeApplicationVersionResponse -> Bool
Prelude.Eq, ReadPrec [DescribeApplicationVersionResponse]
ReadPrec DescribeApplicationVersionResponse
Int -> ReadS DescribeApplicationVersionResponse
ReadS [DescribeApplicationVersionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeApplicationVersionResponse]
$creadListPrec :: ReadPrec [DescribeApplicationVersionResponse]
readPrec :: ReadPrec DescribeApplicationVersionResponse
$creadPrec :: ReadPrec DescribeApplicationVersionResponse
readList :: ReadS [DescribeApplicationVersionResponse]
$creadList :: ReadS [DescribeApplicationVersionResponse]
readsPrec :: Int -> ReadS DescribeApplicationVersionResponse
$creadsPrec :: Int -> ReadS DescribeApplicationVersionResponse
Prelude.Read, Int -> DescribeApplicationVersionResponse -> ShowS
[DescribeApplicationVersionResponse] -> ShowS
DescribeApplicationVersionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeApplicationVersionResponse] -> ShowS
$cshowList :: [DescribeApplicationVersionResponse] -> ShowS
show :: DescribeApplicationVersionResponse -> String
$cshow :: DescribeApplicationVersionResponse -> String
showsPrec :: Int -> DescribeApplicationVersionResponse -> ShowS
$cshowsPrec :: Int -> DescribeApplicationVersionResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeApplicationVersionResponse x
-> DescribeApplicationVersionResponse
forall x.
DescribeApplicationVersionResponse
-> Rep DescribeApplicationVersionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeApplicationVersionResponse x
-> DescribeApplicationVersionResponse
$cfrom :: forall x.
DescribeApplicationVersionResponse
-> Rep DescribeApplicationVersionResponse x
Prelude.Generic)
newDescribeApplicationVersionResponse ::
Prelude.Int ->
DescribeApplicationVersionResponse
newDescribeApplicationVersionResponse :: Int -> DescribeApplicationVersionResponse
newDescribeApplicationVersionResponse Int
pHttpStatus_ =
DescribeApplicationVersionResponse'
{ $sel:applicationVersionDetail:DescribeApplicationVersionResponse' :: Maybe ApplicationDetail
applicationVersionDetail =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeApplicationVersionResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeApplicationVersionResponse_applicationVersionDetail :: Lens.Lens' DescribeApplicationVersionResponse (Prelude.Maybe ApplicationDetail)
describeApplicationVersionResponse_applicationVersionDetail :: Lens' DescribeApplicationVersionResponse (Maybe ApplicationDetail)
describeApplicationVersionResponse_applicationVersionDetail = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeApplicationVersionResponse' {Maybe ApplicationDetail
applicationVersionDetail :: Maybe ApplicationDetail
$sel:applicationVersionDetail:DescribeApplicationVersionResponse' :: DescribeApplicationVersionResponse -> Maybe ApplicationDetail
applicationVersionDetail} -> Maybe ApplicationDetail
applicationVersionDetail) (\s :: DescribeApplicationVersionResponse
s@DescribeApplicationVersionResponse' {} Maybe ApplicationDetail
a -> DescribeApplicationVersionResponse
s {$sel:applicationVersionDetail:DescribeApplicationVersionResponse' :: Maybe ApplicationDetail
applicationVersionDetail = Maybe ApplicationDetail
a} :: DescribeApplicationVersionResponse)
describeApplicationVersionResponse_httpStatus :: Lens.Lens' DescribeApplicationVersionResponse Prelude.Int
describeApplicationVersionResponse_httpStatus :: Lens' DescribeApplicationVersionResponse Int
describeApplicationVersionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeApplicationVersionResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeApplicationVersionResponse' :: DescribeApplicationVersionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeApplicationVersionResponse
s@DescribeApplicationVersionResponse' {} Int
a -> DescribeApplicationVersionResponse
s {$sel:httpStatus:DescribeApplicationVersionResponse' :: Int
httpStatus = Int
a} :: DescribeApplicationVersionResponse)
instance
Prelude.NFData
DescribeApplicationVersionResponse
where
rnf :: DescribeApplicationVersionResponse -> ()
rnf DescribeApplicationVersionResponse' {Int
Maybe ApplicationDetail
httpStatus :: Int
applicationVersionDetail :: Maybe ApplicationDetail
$sel:httpStatus:DescribeApplicationVersionResponse' :: DescribeApplicationVersionResponse -> Int
$sel:applicationVersionDetail:DescribeApplicationVersionResponse' :: DescribeApplicationVersionResponse -> Maybe ApplicationDetail
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ApplicationDetail
applicationVersionDetail
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus