{-# 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.WAFV2.GenerateMobileSdkReleaseUrl
(
GenerateMobileSdkReleaseUrl (..),
newGenerateMobileSdkReleaseUrl,
generateMobileSdkReleaseUrl_platform,
generateMobileSdkReleaseUrl_releaseVersion,
GenerateMobileSdkReleaseUrlResponse (..),
newGenerateMobileSdkReleaseUrlResponse,
generateMobileSdkReleaseUrlResponse_url,
generateMobileSdkReleaseUrlResponse_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.WAFV2.Types
data GenerateMobileSdkReleaseUrl = GenerateMobileSdkReleaseUrl'
{
GenerateMobileSdkReleaseUrl -> Platform
platform :: Platform,
GenerateMobileSdkReleaseUrl -> Text
releaseVersion :: Prelude.Text
}
deriving (GenerateMobileSdkReleaseUrl -> GenerateMobileSdkReleaseUrl -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GenerateMobileSdkReleaseUrl -> GenerateMobileSdkReleaseUrl -> Bool
$c/= :: GenerateMobileSdkReleaseUrl -> GenerateMobileSdkReleaseUrl -> Bool
== :: GenerateMobileSdkReleaseUrl -> GenerateMobileSdkReleaseUrl -> Bool
$c== :: GenerateMobileSdkReleaseUrl -> GenerateMobileSdkReleaseUrl -> Bool
Prelude.Eq, ReadPrec [GenerateMobileSdkReleaseUrl]
ReadPrec GenerateMobileSdkReleaseUrl
Int -> ReadS GenerateMobileSdkReleaseUrl
ReadS [GenerateMobileSdkReleaseUrl]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GenerateMobileSdkReleaseUrl]
$creadListPrec :: ReadPrec [GenerateMobileSdkReleaseUrl]
readPrec :: ReadPrec GenerateMobileSdkReleaseUrl
$creadPrec :: ReadPrec GenerateMobileSdkReleaseUrl
readList :: ReadS [GenerateMobileSdkReleaseUrl]
$creadList :: ReadS [GenerateMobileSdkReleaseUrl]
readsPrec :: Int -> ReadS GenerateMobileSdkReleaseUrl
$creadsPrec :: Int -> ReadS GenerateMobileSdkReleaseUrl
Prelude.Read, Int -> GenerateMobileSdkReleaseUrl -> ShowS
[GenerateMobileSdkReleaseUrl] -> ShowS
GenerateMobileSdkReleaseUrl -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GenerateMobileSdkReleaseUrl] -> ShowS
$cshowList :: [GenerateMobileSdkReleaseUrl] -> ShowS
show :: GenerateMobileSdkReleaseUrl -> String
$cshow :: GenerateMobileSdkReleaseUrl -> String
showsPrec :: Int -> GenerateMobileSdkReleaseUrl -> ShowS
$cshowsPrec :: Int -> GenerateMobileSdkReleaseUrl -> ShowS
Prelude.Show, forall x.
Rep GenerateMobileSdkReleaseUrl x -> GenerateMobileSdkReleaseUrl
forall x.
GenerateMobileSdkReleaseUrl -> Rep GenerateMobileSdkReleaseUrl x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GenerateMobileSdkReleaseUrl x -> GenerateMobileSdkReleaseUrl
$cfrom :: forall x.
GenerateMobileSdkReleaseUrl -> Rep GenerateMobileSdkReleaseUrl x
Prelude.Generic)
newGenerateMobileSdkReleaseUrl ::
Platform ->
Prelude.Text ->
GenerateMobileSdkReleaseUrl
newGenerateMobileSdkReleaseUrl :: Platform -> Text -> GenerateMobileSdkReleaseUrl
newGenerateMobileSdkReleaseUrl
Platform
pPlatform_
Text
pReleaseVersion_ =
GenerateMobileSdkReleaseUrl'
{ $sel:platform:GenerateMobileSdkReleaseUrl' :: Platform
platform = Platform
pPlatform_,
$sel:releaseVersion:GenerateMobileSdkReleaseUrl' :: Text
releaseVersion = Text
pReleaseVersion_
}
generateMobileSdkReleaseUrl_platform :: Lens.Lens' GenerateMobileSdkReleaseUrl Platform
generateMobileSdkReleaseUrl_platform :: Lens' GenerateMobileSdkReleaseUrl Platform
generateMobileSdkReleaseUrl_platform = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GenerateMobileSdkReleaseUrl' {Platform
platform :: Platform
$sel:platform:GenerateMobileSdkReleaseUrl' :: GenerateMobileSdkReleaseUrl -> Platform
platform} -> Platform
platform) (\s :: GenerateMobileSdkReleaseUrl
s@GenerateMobileSdkReleaseUrl' {} Platform
a -> GenerateMobileSdkReleaseUrl
s {$sel:platform:GenerateMobileSdkReleaseUrl' :: Platform
platform = Platform
a} :: GenerateMobileSdkReleaseUrl)
generateMobileSdkReleaseUrl_releaseVersion :: Lens.Lens' GenerateMobileSdkReleaseUrl Prelude.Text
generateMobileSdkReleaseUrl_releaseVersion :: Lens' GenerateMobileSdkReleaseUrl Text
generateMobileSdkReleaseUrl_releaseVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GenerateMobileSdkReleaseUrl' {Text
releaseVersion :: Text
$sel:releaseVersion:GenerateMobileSdkReleaseUrl' :: GenerateMobileSdkReleaseUrl -> Text
releaseVersion} -> Text
releaseVersion) (\s :: GenerateMobileSdkReleaseUrl
s@GenerateMobileSdkReleaseUrl' {} Text
a -> GenerateMobileSdkReleaseUrl
s {$sel:releaseVersion:GenerateMobileSdkReleaseUrl' :: Text
releaseVersion = Text
a} :: GenerateMobileSdkReleaseUrl)
instance Core.AWSRequest GenerateMobileSdkReleaseUrl where
type
AWSResponse GenerateMobileSdkReleaseUrl =
GenerateMobileSdkReleaseUrlResponse
request :: (Service -> Service)
-> GenerateMobileSdkReleaseUrl
-> Request GenerateMobileSdkReleaseUrl
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 GenerateMobileSdkReleaseUrl
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GenerateMobileSdkReleaseUrl)))
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 -> Int -> GenerateMobileSdkReleaseUrlResponse
GenerateMobileSdkReleaseUrlResponse'
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
"Url")
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 GenerateMobileSdkReleaseUrl where
hashWithSalt :: Int -> GenerateMobileSdkReleaseUrl -> Int
hashWithSalt Int
_salt GenerateMobileSdkReleaseUrl' {Text
Platform
releaseVersion :: Text
platform :: Platform
$sel:releaseVersion:GenerateMobileSdkReleaseUrl' :: GenerateMobileSdkReleaseUrl -> Text
$sel:platform:GenerateMobileSdkReleaseUrl' :: GenerateMobileSdkReleaseUrl -> Platform
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Platform
platform
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
releaseVersion
instance Prelude.NFData GenerateMobileSdkReleaseUrl where
rnf :: GenerateMobileSdkReleaseUrl -> ()
rnf GenerateMobileSdkReleaseUrl' {Text
Platform
releaseVersion :: Text
platform :: Platform
$sel:releaseVersion:GenerateMobileSdkReleaseUrl' :: GenerateMobileSdkReleaseUrl -> Text
$sel:platform:GenerateMobileSdkReleaseUrl' :: GenerateMobileSdkReleaseUrl -> Platform
..} =
forall a. NFData a => a -> ()
Prelude.rnf Platform
platform
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
releaseVersion
instance Data.ToHeaders GenerateMobileSdkReleaseUrl where
toHeaders :: GenerateMobileSdkReleaseUrl -> 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
"AWSWAF_20190729.GenerateMobileSdkReleaseUrl" ::
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 GenerateMobileSdkReleaseUrl where
toJSON :: GenerateMobileSdkReleaseUrl -> Value
toJSON GenerateMobileSdkReleaseUrl' {Text
Platform
releaseVersion :: Text
platform :: Platform
$sel:releaseVersion:GenerateMobileSdkReleaseUrl' :: GenerateMobileSdkReleaseUrl -> Text
$sel:platform:GenerateMobileSdkReleaseUrl' :: GenerateMobileSdkReleaseUrl -> Platform
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"Platform" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Platform
platform),
forall a. a -> Maybe a
Prelude.Just
(Key
"ReleaseVersion" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
releaseVersion)
]
)
instance Data.ToPath GenerateMobileSdkReleaseUrl where
toPath :: GenerateMobileSdkReleaseUrl -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GenerateMobileSdkReleaseUrl where
toQuery :: GenerateMobileSdkReleaseUrl -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GenerateMobileSdkReleaseUrlResponse = GenerateMobileSdkReleaseUrlResponse'
{
GenerateMobileSdkReleaseUrlResponse -> Maybe Text
url :: Prelude.Maybe Prelude.Text,
GenerateMobileSdkReleaseUrlResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GenerateMobileSdkReleaseUrlResponse
-> GenerateMobileSdkReleaseUrlResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GenerateMobileSdkReleaseUrlResponse
-> GenerateMobileSdkReleaseUrlResponse -> Bool
$c/= :: GenerateMobileSdkReleaseUrlResponse
-> GenerateMobileSdkReleaseUrlResponse -> Bool
== :: GenerateMobileSdkReleaseUrlResponse
-> GenerateMobileSdkReleaseUrlResponse -> Bool
$c== :: GenerateMobileSdkReleaseUrlResponse
-> GenerateMobileSdkReleaseUrlResponse -> Bool
Prelude.Eq, ReadPrec [GenerateMobileSdkReleaseUrlResponse]
ReadPrec GenerateMobileSdkReleaseUrlResponse
Int -> ReadS GenerateMobileSdkReleaseUrlResponse
ReadS [GenerateMobileSdkReleaseUrlResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GenerateMobileSdkReleaseUrlResponse]
$creadListPrec :: ReadPrec [GenerateMobileSdkReleaseUrlResponse]
readPrec :: ReadPrec GenerateMobileSdkReleaseUrlResponse
$creadPrec :: ReadPrec GenerateMobileSdkReleaseUrlResponse
readList :: ReadS [GenerateMobileSdkReleaseUrlResponse]
$creadList :: ReadS [GenerateMobileSdkReleaseUrlResponse]
readsPrec :: Int -> ReadS GenerateMobileSdkReleaseUrlResponse
$creadsPrec :: Int -> ReadS GenerateMobileSdkReleaseUrlResponse
Prelude.Read, Int -> GenerateMobileSdkReleaseUrlResponse -> ShowS
[GenerateMobileSdkReleaseUrlResponse] -> ShowS
GenerateMobileSdkReleaseUrlResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GenerateMobileSdkReleaseUrlResponse] -> ShowS
$cshowList :: [GenerateMobileSdkReleaseUrlResponse] -> ShowS
show :: GenerateMobileSdkReleaseUrlResponse -> String
$cshow :: GenerateMobileSdkReleaseUrlResponse -> String
showsPrec :: Int -> GenerateMobileSdkReleaseUrlResponse -> ShowS
$cshowsPrec :: Int -> GenerateMobileSdkReleaseUrlResponse -> ShowS
Prelude.Show, forall x.
Rep GenerateMobileSdkReleaseUrlResponse x
-> GenerateMobileSdkReleaseUrlResponse
forall x.
GenerateMobileSdkReleaseUrlResponse
-> Rep GenerateMobileSdkReleaseUrlResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GenerateMobileSdkReleaseUrlResponse x
-> GenerateMobileSdkReleaseUrlResponse
$cfrom :: forall x.
GenerateMobileSdkReleaseUrlResponse
-> Rep GenerateMobileSdkReleaseUrlResponse x
Prelude.Generic)
newGenerateMobileSdkReleaseUrlResponse ::
Prelude.Int ->
GenerateMobileSdkReleaseUrlResponse
newGenerateMobileSdkReleaseUrlResponse :: Int -> GenerateMobileSdkReleaseUrlResponse
newGenerateMobileSdkReleaseUrlResponse Int
pHttpStatus_ =
GenerateMobileSdkReleaseUrlResponse'
{ $sel:url:GenerateMobileSdkReleaseUrlResponse' :: Maybe Text
url =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GenerateMobileSdkReleaseUrlResponse' :: Int
httpStatus = Int
pHttpStatus_
}
generateMobileSdkReleaseUrlResponse_url :: Lens.Lens' GenerateMobileSdkReleaseUrlResponse (Prelude.Maybe Prelude.Text)
generateMobileSdkReleaseUrlResponse_url :: Lens' GenerateMobileSdkReleaseUrlResponse (Maybe Text)
generateMobileSdkReleaseUrlResponse_url = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GenerateMobileSdkReleaseUrlResponse' {Maybe Text
url :: Maybe Text
$sel:url:GenerateMobileSdkReleaseUrlResponse' :: GenerateMobileSdkReleaseUrlResponse -> Maybe Text
url} -> Maybe Text
url) (\s :: GenerateMobileSdkReleaseUrlResponse
s@GenerateMobileSdkReleaseUrlResponse' {} Maybe Text
a -> GenerateMobileSdkReleaseUrlResponse
s {$sel:url:GenerateMobileSdkReleaseUrlResponse' :: Maybe Text
url = Maybe Text
a} :: GenerateMobileSdkReleaseUrlResponse)
generateMobileSdkReleaseUrlResponse_httpStatus :: Lens.Lens' GenerateMobileSdkReleaseUrlResponse Prelude.Int
generateMobileSdkReleaseUrlResponse_httpStatus :: Lens' GenerateMobileSdkReleaseUrlResponse Int
generateMobileSdkReleaseUrlResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GenerateMobileSdkReleaseUrlResponse' {Int
httpStatus :: Int
$sel:httpStatus:GenerateMobileSdkReleaseUrlResponse' :: GenerateMobileSdkReleaseUrlResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GenerateMobileSdkReleaseUrlResponse
s@GenerateMobileSdkReleaseUrlResponse' {} Int
a -> GenerateMobileSdkReleaseUrlResponse
s {$sel:httpStatus:GenerateMobileSdkReleaseUrlResponse' :: Int
httpStatus = Int
a} :: GenerateMobileSdkReleaseUrlResponse)
instance
Prelude.NFData
GenerateMobileSdkReleaseUrlResponse
where
rnf :: GenerateMobileSdkReleaseUrlResponse -> ()
rnf GenerateMobileSdkReleaseUrlResponse' {Int
Maybe Text
httpStatus :: Int
url :: Maybe Text
$sel:httpStatus:GenerateMobileSdkReleaseUrlResponse' :: GenerateMobileSdkReleaseUrlResponse -> Int
$sel:url:GenerateMobileSdkReleaseUrlResponse' :: GenerateMobileSdkReleaseUrlResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
url
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus