{-# 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.AmplifyBackend.GetBackendAPIModels
(
GetBackendAPIModels (..),
newGetBackendAPIModels,
getBackendAPIModels_appId,
getBackendAPIModels_backendEnvironmentName,
getBackendAPIModels_resourceName,
GetBackendAPIModelsResponse (..),
newGetBackendAPIModelsResponse,
getBackendAPIModelsResponse_modelIntrospectionSchema,
getBackendAPIModelsResponse_models,
getBackendAPIModelsResponse_status,
getBackendAPIModelsResponse_httpStatus,
)
where
import Amazonka.AmplifyBackend.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 GetBackendAPIModels = GetBackendAPIModels'
{
GetBackendAPIModels -> Text
appId :: Prelude.Text,
GetBackendAPIModels -> Text
backendEnvironmentName :: Prelude.Text,
GetBackendAPIModels -> Text
resourceName :: Prelude.Text
}
deriving (GetBackendAPIModels -> GetBackendAPIModels -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetBackendAPIModels -> GetBackendAPIModels -> Bool
$c/= :: GetBackendAPIModels -> GetBackendAPIModels -> Bool
== :: GetBackendAPIModels -> GetBackendAPIModels -> Bool
$c== :: GetBackendAPIModels -> GetBackendAPIModels -> Bool
Prelude.Eq, ReadPrec [GetBackendAPIModels]
ReadPrec GetBackendAPIModels
Int -> ReadS GetBackendAPIModels
ReadS [GetBackendAPIModels]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetBackendAPIModels]
$creadListPrec :: ReadPrec [GetBackendAPIModels]
readPrec :: ReadPrec GetBackendAPIModels
$creadPrec :: ReadPrec GetBackendAPIModels
readList :: ReadS [GetBackendAPIModels]
$creadList :: ReadS [GetBackendAPIModels]
readsPrec :: Int -> ReadS GetBackendAPIModels
$creadsPrec :: Int -> ReadS GetBackendAPIModels
Prelude.Read, Int -> GetBackendAPIModels -> ShowS
[GetBackendAPIModels] -> ShowS
GetBackendAPIModels -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetBackendAPIModels] -> ShowS
$cshowList :: [GetBackendAPIModels] -> ShowS
show :: GetBackendAPIModels -> String
$cshow :: GetBackendAPIModels -> String
showsPrec :: Int -> GetBackendAPIModels -> ShowS
$cshowsPrec :: Int -> GetBackendAPIModels -> ShowS
Prelude.Show, forall x. Rep GetBackendAPIModels x -> GetBackendAPIModels
forall x. GetBackendAPIModels -> Rep GetBackendAPIModels x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetBackendAPIModels x -> GetBackendAPIModels
$cfrom :: forall x. GetBackendAPIModels -> Rep GetBackendAPIModels x
Prelude.Generic)
newGetBackendAPIModels ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
GetBackendAPIModels
newGetBackendAPIModels :: Text -> Text -> Text -> GetBackendAPIModels
newGetBackendAPIModels
Text
pAppId_
Text
pBackendEnvironmentName_
Text
pResourceName_ =
GetBackendAPIModels'
{ $sel:appId:GetBackendAPIModels' :: Text
appId = Text
pAppId_,
$sel:backendEnvironmentName:GetBackendAPIModels' :: Text
backendEnvironmentName = Text
pBackendEnvironmentName_,
$sel:resourceName:GetBackendAPIModels' :: Text
resourceName = Text
pResourceName_
}
getBackendAPIModels_appId :: Lens.Lens' GetBackendAPIModels Prelude.Text
getBackendAPIModels_appId :: Lens' GetBackendAPIModels Text
getBackendAPIModels_appId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBackendAPIModels' {Text
appId :: Text
$sel:appId:GetBackendAPIModels' :: GetBackendAPIModels -> Text
appId} -> Text
appId) (\s :: GetBackendAPIModels
s@GetBackendAPIModels' {} Text
a -> GetBackendAPIModels
s {$sel:appId:GetBackendAPIModels' :: Text
appId = Text
a} :: GetBackendAPIModels)
getBackendAPIModels_backendEnvironmentName :: Lens.Lens' GetBackendAPIModels Prelude.Text
getBackendAPIModels_backendEnvironmentName :: Lens' GetBackendAPIModels Text
getBackendAPIModels_backendEnvironmentName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBackendAPIModels' {Text
backendEnvironmentName :: Text
$sel:backendEnvironmentName:GetBackendAPIModels' :: GetBackendAPIModels -> Text
backendEnvironmentName} -> Text
backendEnvironmentName) (\s :: GetBackendAPIModels
s@GetBackendAPIModels' {} Text
a -> GetBackendAPIModels
s {$sel:backendEnvironmentName:GetBackendAPIModels' :: Text
backendEnvironmentName = Text
a} :: GetBackendAPIModels)
getBackendAPIModels_resourceName :: Lens.Lens' GetBackendAPIModels Prelude.Text
getBackendAPIModels_resourceName :: Lens' GetBackendAPIModels Text
getBackendAPIModels_resourceName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBackendAPIModels' {Text
resourceName :: Text
$sel:resourceName:GetBackendAPIModels' :: GetBackendAPIModels -> Text
resourceName} -> Text
resourceName) (\s :: GetBackendAPIModels
s@GetBackendAPIModels' {} Text
a -> GetBackendAPIModels
s {$sel:resourceName:GetBackendAPIModels' :: Text
resourceName = Text
a} :: GetBackendAPIModels)
instance Core.AWSRequest GetBackendAPIModels where
type
AWSResponse GetBackendAPIModels =
GetBackendAPIModelsResponse
request :: (Service -> Service)
-> GetBackendAPIModels -> Request GetBackendAPIModels
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 GetBackendAPIModels
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetBackendAPIModels)))
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
-> Maybe Text -> Maybe Status -> Int -> GetBackendAPIModelsResponse
GetBackendAPIModelsResponse'
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
"modelIntrospectionSchema")
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
"models")
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
"status")
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 GetBackendAPIModels where
hashWithSalt :: Int -> GetBackendAPIModels -> Int
hashWithSalt Int
_salt GetBackendAPIModels' {Text
resourceName :: Text
backendEnvironmentName :: Text
appId :: Text
$sel:resourceName:GetBackendAPIModels' :: GetBackendAPIModels -> Text
$sel:backendEnvironmentName:GetBackendAPIModels' :: GetBackendAPIModels -> Text
$sel:appId:GetBackendAPIModels' :: GetBackendAPIModels -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
appId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
backendEnvironmentName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceName
instance Prelude.NFData GetBackendAPIModels where
rnf :: GetBackendAPIModels -> ()
rnf GetBackendAPIModels' {Text
resourceName :: Text
backendEnvironmentName :: Text
appId :: Text
$sel:resourceName:GetBackendAPIModels' :: GetBackendAPIModels -> Text
$sel:backendEnvironmentName:GetBackendAPIModels' :: GetBackendAPIModels -> Text
$sel:appId:GetBackendAPIModels' :: GetBackendAPIModels -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
appId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
backendEnvironmentName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
resourceName
instance Data.ToHeaders GetBackendAPIModels where
toHeaders :: GetBackendAPIModels -> 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.ToJSON GetBackendAPIModels where
toJSON :: GetBackendAPIModels -> Value
toJSON GetBackendAPIModels' {Text
resourceName :: Text
backendEnvironmentName :: Text
appId :: Text
$sel:resourceName:GetBackendAPIModels' :: GetBackendAPIModels -> Text
$sel:backendEnvironmentName:GetBackendAPIModels' :: GetBackendAPIModels -> Text
$sel:appId:GetBackendAPIModels' :: GetBackendAPIModels -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"resourceName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
resourceName)]
)
instance Data.ToPath GetBackendAPIModels where
toPath :: GetBackendAPIModels -> ByteString
toPath GetBackendAPIModels' {Text
resourceName :: Text
backendEnvironmentName :: Text
appId :: Text
$sel:resourceName:GetBackendAPIModels' :: GetBackendAPIModels -> Text
$sel:backendEnvironmentName:GetBackendAPIModels' :: GetBackendAPIModels -> Text
$sel:appId:GetBackendAPIModels' :: GetBackendAPIModels -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/backend/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
appId,
ByteString
"/api/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
backendEnvironmentName,
ByteString
"/getModels"
]
instance Data.ToQuery GetBackendAPIModels where
toQuery :: GetBackendAPIModels -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetBackendAPIModelsResponse = GetBackendAPIModelsResponse'
{
GetBackendAPIModelsResponse -> Maybe Text
modelIntrospectionSchema :: Prelude.Maybe Prelude.Text,
GetBackendAPIModelsResponse -> Maybe Text
models :: Prelude.Maybe Prelude.Text,
GetBackendAPIModelsResponse -> Maybe Status
status :: Prelude.Maybe Status,
GetBackendAPIModelsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetBackendAPIModelsResponse -> GetBackendAPIModelsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetBackendAPIModelsResponse -> GetBackendAPIModelsResponse -> Bool
$c/= :: GetBackendAPIModelsResponse -> GetBackendAPIModelsResponse -> Bool
== :: GetBackendAPIModelsResponse -> GetBackendAPIModelsResponse -> Bool
$c== :: GetBackendAPIModelsResponse -> GetBackendAPIModelsResponse -> Bool
Prelude.Eq, ReadPrec [GetBackendAPIModelsResponse]
ReadPrec GetBackendAPIModelsResponse
Int -> ReadS GetBackendAPIModelsResponse
ReadS [GetBackendAPIModelsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetBackendAPIModelsResponse]
$creadListPrec :: ReadPrec [GetBackendAPIModelsResponse]
readPrec :: ReadPrec GetBackendAPIModelsResponse
$creadPrec :: ReadPrec GetBackendAPIModelsResponse
readList :: ReadS [GetBackendAPIModelsResponse]
$creadList :: ReadS [GetBackendAPIModelsResponse]
readsPrec :: Int -> ReadS GetBackendAPIModelsResponse
$creadsPrec :: Int -> ReadS GetBackendAPIModelsResponse
Prelude.Read, Int -> GetBackendAPIModelsResponse -> ShowS
[GetBackendAPIModelsResponse] -> ShowS
GetBackendAPIModelsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetBackendAPIModelsResponse] -> ShowS
$cshowList :: [GetBackendAPIModelsResponse] -> ShowS
show :: GetBackendAPIModelsResponse -> String
$cshow :: GetBackendAPIModelsResponse -> String
showsPrec :: Int -> GetBackendAPIModelsResponse -> ShowS
$cshowsPrec :: Int -> GetBackendAPIModelsResponse -> ShowS
Prelude.Show, forall x.
Rep GetBackendAPIModelsResponse x -> GetBackendAPIModelsResponse
forall x.
GetBackendAPIModelsResponse -> Rep GetBackendAPIModelsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetBackendAPIModelsResponse x -> GetBackendAPIModelsResponse
$cfrom :: forall x.
GetBackendAPIModelsResponse -> Rep GetBackendAPIModelsResponse x
Prelude.Generic)
newGetBackendAPIModelsResponse ::
Prelude.Int ->
GetBackendAPIModelsResponse
newGetBackendAPIModelsResponse :: Int -> GetBackendAPIModelsResponse
newGetBackendAPIModelsResponse Int
pHttpStatus_ =
GetBackendAPIModelsResponse'
{ $sel:modelIntrospectionSchema:GetBackendAPIModelsResponse' :: Maybe Text
modelIntrospectionSchema =
forall a. Maybe a
Prelude.Nothing,
$sel:models:GetBackendAPIModelsResponse' :: Maybe Text
models = forall a. Maybe a
Prelude.Nothing,
$sel:status:GetBackendAPIModelsResponse' :: Maybe Status
status = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetBackendAPIModelsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getBackendAPIModelsResponse_modelIntrospectionSchema :: Lens.Lens' GetBackendAPIModelsResponse (Prelude.Maybe Prelude.Text)
getBackendAPIModelsResponse_modelIntrospectionSchema :: Lens' GetBackendAPIModelsResponse (Maybe Text)
getBackendAPIModelsResponse_modelIntrospectionSchema = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBackendAPIModelsResponse' {Maybe Text
modelIntrospectionSchema :: Maybe Text
$sel:modelIntrospectionSchema:GetBackendAPIModelsResponse' :: GetBackendAPIModelsResponse -> Maybe Text
modelIntrospectionSchema} -> Maybe Text
modelIntrospectionSchema) (\s :: GetBackendAPIModelsResponse
s@GetBackendAPIModelsResponse' {} Maybe Text
a -> GetBackendAPIModelsResponse
s {$sel:modelIntrospectionSchema:GetBackendAPIModelsResponse' :: Maybe Text
modelIntrospectionSchema = Maybe Text
a} :: GetBackendAPIModelsResponse)
getBackendAPIModelsResponse_models :: Lens.Lens' GetBackendAPIModelsResponse (Prelude.Maybe Prelude.Text)
getBackendAPIModelsResponse_models :: Lens' GetBackendAPIModelsResponse (Maybe Text)
getBackendAPIModelsResponse_models = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBackendAPIModelsResponse' {Maybe Text
models :: Maybe Text
$sel:models:GetBackendAPIModelsResponse' :: GetBackendAPIModelsResponse -> Maybe Text
models} -> Maybe Text
models) (\s :: GetBackendAPIModelsResponse
s@GetBackendAPIModelsResponse' {} Maybe Text
a -> GetBackendAPIModelsResponse
s {$sel:models:GetBackendAPIModelsResponse' :: Maybe Text
models = Maybe Text
a} :: GetBackendAPIModelsResponse)
getBackendAPIModelsResponse_status :: Lens.Lens' GetBackendAPIModelsResponse (Prelude.Maybe Status)
getBackendAPIModelsResponse_status :: Lens' GetBackendAPIModelsResponse (Maybe Status)
getBackendAPIModelsResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBackendAPIModelsResponse' {Maybe Status
status :: Maybe Status
$sel:status:GetBackendAPIModelsResponse' :: GetBackendAPIModelsResponse -> Maybe Status
status} -> Maybe Status
status) (\s :: GetBackendAPIModelsResponse
s@GetBackendAPIModelsResponse' {} Maybe Status
a -> GetBackendAPIModelsResponse
s {$sel:status:GetBackendAPIModelsResponse' :: Maybe Status
status = Maybe Status
a} :: GetBackendAPIModelsResponse)
getBackendAPIModelsResponse_httpStatus :: Lens.Lens' GetBackendAPIModelsResponse Prelude.Int
getBackendAPIModelsResponse_httpStatus :: Lens' GetBackendAPIModelsResponse Int
getBackendAPIModelsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBackendAPIModelsResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetBackendAPIModelsResponse' :: GetBackendAPIModelsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetBackendAPIModelsResponse
s@GetBackendAPIModelsResponse' {} Int
a -> GetBackendAPIModelsResponse
s {$sel:httpStatus:GetBackendAPIModelsResponse' :: Int
httpStatus = Int
a} :: GetBackendAPIModelsResponse)
instance Prelude.NFData GetBackendAPIModelsResponse where
rnf :: GetBackendAPIModelsResponse -> ()
rnf GetBackendAPIModelsResponse' {Int
Maybe Text
Maybe Status
httpStatus :: Int
status :: Maybe Status
models :: Maybe Text
modelIntrospectionSchema :: Maybe Text
$sel:httpStatus:GetBackendAPIModelsResponse' :: GetBackendAPIModelsResponse -> Int
$sel:status:GetBackendAPIModelsResponse' :: GetBackendAPIModelsResponse -> Maybe Status
$sel:models:GetBackendAPIModelsResponse' :: GetBackendAPIModelsResponse -> Maybe Text
$sel:modelIntrospectionSchema:GetBackendAPIModelsResponse' :: GetBackendAPIModelsResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
modelIntrospectionSchema
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
models
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Status
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus