{-# 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.AppSync.CreateDataSource
(
CreateDataSource (..),
newCreateDataSource,
createDataSource_description,
createDataSource_dynamodbConfig,
createDataSource_elasticsearchConfig,
createDataSource_httpConfig,
createDataSource_lambdaConfig,
createDataSource_openSearchServiceConfig,
createDataSource_relationalDatabaseConfig,
createDataSource_serviceRoleArn,
createDataSource_apiId,
createDataSource_name,
createDataSource_type,
CreateDataSourceResponse (..),
newCreateDataSourceResponse,
createDataSourceResponse_dataSource,
createDataSourceResponse_httpStatus,
)
where
import Amazonka.AppSync.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 CreateDataSource = CreateDataSource'
{
CreateDataSource -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
CreateDataSource -> Maybe DynamodbDataSourceConfig
dynamodbConfig :: Prelude.Maybe DynamodbDataSourceConfig,
CreateDataSource -> Maybe ElasticsearchDataSourceConfig
elasticsearchConfig :: Prelude.Maybe ElasticsearchDataSourceConfig,
CreateDataSource -> Maybe HttpDataSourceConfig
httpConfig :: Prelude.Maybe HttpDataSourceConfig,
CreateDataSource -> Maybe LambdaDataSourceConfig
lambdaConfig :: Prelude.Maybe LambdaDataSourceConfig,
CreateDataSource -> Maybe OpenSearchServiceDataSourceConfig
openSearchServiceConfig :: Prelude.Maybe OpenSearchServiceDataSourceConfig,
CreateDataSource -> Maybe RelationalDatabaseDataSourceConfig
relationalDatabaseConfig :: Prelude.Maybe RelationalDatabaseDataSourceConfig,
CreateDataSource -> Maybe Text
serviceRoleArn :: Prelude.Maybe Prelude.Text,
CreateDataSource -> Text
apiId :: Prelude.Text,
CreateDataSource -> Text
name :: Prelude.Text,
CreateDataSource -> DataSourceType
type' :: DataSourceType
}
deriving (CreateDataSource -> CreateDataSource -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateDataSource -> CreateDataSource -> Bool
$c/= :: CreateDataSource -> CreateDataSource -> Bool
== :: CreateDataSource -> CreateDataSource -> Bool
$c== :: CreateDataSource -> CreateDataSource -> Bool
Prelude.Eq, ReadPrec [CreateDataSource]
ReadPrec CreateDataSource
Int -> ReadS CreateDataSource
ReadS [CreateDataSource]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateDataSource]
$creadListPrec :: ReadPrec [CreateDataSource]
readPrec :: ReadPrec CreateDataSource
$creadPrec :: ReadPrec CreateDataSource
readList :: ReadS [CreateDataSource]
$creadList :: ReadS [CreateDataSource]
readsPrec :: Int -> ReadS CreateDataSource
$creadsPrec :: Int -> ReadS CreateDataSource
Prelude.Read, Int -> CreateDataSource -> ShowS
[CreateDataSource] -> ShowS
CreateDataSource -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateDataSource] -> ShowS
$cshowList :: [CreateDataSource] -> ShowS
show :: CreateDataSource -> String
$cshow :: CreateDataSource -> String
showsPrec :: Int -> CreateDataSource -> ShowS
$cshowsPrec :: Int -> CreateDataSource -> ShowS
Prelude.Show, forall x. Rep CreateDataSource x -> CreateDataSource
forall x. CreateDataSource -> Rep CreateDataSource x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateDataSource x -> CreateDataSource
$cfrom :: forall x. CreateDataSource -> Rep CreateDataSource x
Prelude.Generic)
newCreateDataSource ::
Prelude.Text ->
Prelude.Text ->
DataSourceType ->
CreateDataSource
newCreateDataSource :: Text -> Text -> DataSourceType -> CreateDataSource
newCreateDataSource Text
pApiId_ Text
pName_ DataSourceType
pType_ =
CreateDataSource'
{ $sel:description:CreateDataSource' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:dynamodbConfig:CreateDataSource' :: Maybe DynamodbDataSourceConfig
dynamodbConfig = forall a. Maybe a
Prelude.Nothing,
$sel:elasticsearchConfig:CreateDataSource' :: Maybe ElasticsearchDataSourceConfig
elasticsearchConfig = forall a. Maybe a
Prelude.Nothing,
$sel:httpConfig:CreateDataSource' :: Maybe HttpDataSourceConfig
httpConfig = forall a. Maybe a
Prelude.Nothing,
$sel:lambdaConfig:CreateDataSource' :: Maybe LambdaDataSourceConfig
lambdaConfig = forall a. Maybe a
Prelude.Nothing,
$sel:openSearchServiceConfig:CreateDataSource' :: Maybe OpenSearchServiceDataSourceConfig
openSearchServiceConfig = forall a. Maybe a
Prelude.Nothing,
$sel:relationalDatabaseConfig:CreateDataSource' :: Maybe RelationalDatabaseDataSourceConfig
relationalDatabaseConfig = forall a. Maybe a
Prelude.Nothing,
$sel:serviceRoleArn:CreateDataSource' :: Maybe Text
serviceRoleArn = forall a. Maybe a
Prelude.Nothing,
$sel:apiId:CreateDataSource' :: Text
apiId = Text
pApiId_,
$sel:name:CreateDataSource' :: Text
name = Text
pName_,
$sel:type':CreateDataSource' :: DataSourceType
type' = DataSourceType
pType_
}
createDataSource_description :: Lens.Lens' CreateDataSource (Prelude.Maybe Prelude.Text)
createDataSource_description :: Lens' CreateDataSource (Maybe Text)
createDataSource_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDataSource' {Maybe Text
description :: Maybe Text
$sel:description:CreateDataSource' :: CreateDataSource -> Maybe Text
description} -> Maybe Text
description) (\s :: CreateDataSource
s@CreateDataSource' {} Maybe Text
a -> CreateDataSource
s {$sel:description:CreateDataSource' :: Maybe Text
description = Maybe Text
a} :: CreateDataSource)
createDataSource_dynamodbConfig :: Lens.Lens' CreateDataSource (Prelude.Maybe DynamodbDataSourceConfig)
createDataSource_dynamodbConfig :: Lens' CreateDataSource (Maybe DynamodbDataSourceConfig)
createDataSource_dynamodbConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDataSource' {Maybe DynamodbDataSourceConfig
dynamodbConfig :: Maybe DynamodbDataSourceConfig
$sel:dynamodbConfig:CreateDataSource' :: CreateDataSource -> Maybe DynamodbDataSourceConfig
dynamodbConfig} -> Maybe DynamodbDataSourceConfig
dynamodbConfig) (\s :: CreateDataSource
s@CreateDataSource' {} Maybe DynamodbDataSourceConfig
a -> CreateDataSource
s {$sel:dynamodbConfig:CreateDataSource' :: Maybe DynamodbDataSourceConfig
dynamodbConfig = Maybe DynamodbDataSourceConfig
a} :: CreateDataSource)
createDataSource_elasticsearchConfig :: Lens.Lens' CreateDataSource (Prelude.Maybe ElasticsearchDataSourceConfig)
createDataSource_elasticsearchConfig :: Lens' CreateDataSource (Maybe ElasticsearchDataSourceConfig)
createDataSource_elasticsearchConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDataSource' {Maybe ElasticsearchDataSourceConfig
elasticsearchConfig :: Maybe ElasticsearchDataSourceConfig
$sel:elasticsearchConfig:CreateDataSource' :: CreateDataSource -> Maybe ElasticsearchDataSourceConfig
elasticsearchConfig} -> Maybe ElasticsearchDataSourceConfig
elasticsearchConfig) (\s :: CreateDataSource
s@CreateDataSource' {} Maybe ElasticsearchDataSourceConfig
a -> CreateDataSource
s {$sel:elasticsearchConfig:CreateDataSource' :: Maybe ElasticsearchDataSourceConfig
elasticsearchConfig = Maybe ElasticsearchDataSourceConfig
a} :: CreateDataSource)
createDataSource_httpConfig :: Lens.Lens' CreateDataSource (Prelude.Maybe HttpDataSourceConfig)
createDataSource_httpConfig :: Lens' CreateDataSource (Maybe HttpDataSourceConfig)
createDataSource_httpConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDataSource' {Maybe HttpDataSourceConfig
httpConfig :: Maybe HttpDataSourceConfig
$sel:httpConfig:CreateDataSource' :: CreateDataSource -> Maybe HttpDataSourceConfig
httpConfig} -> Maybe HttpDataSourceConfig
httpConfig) (\s :: CreateDataSource
s@CreateDataSource' {} Maybe HttpDataSourceConfig
a -> CreateDataSource
s {$sel:httpConfig:CreateDataSource' :: Maybe HttpDataSourceConfig
httpConfig = Maybe HttpDataSourceConfig
a} :: CreateDataSource)
createDataSource_lambdaConfig :: Lens.Lens' CreateDataSource (Prelude.Maybe LambdaDataSourceConfig)
createDataSource_lambdaConfig :: Lens' CreateDataSource (Maybe LambdaDataSourceConfig)
createDataSource_lambdaConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDataSource' {Maybe LambdaDataSourceConfig
lambdaConfig :: Maybe LambdaDataSourceConfig
$sel:lambdaConfig:CreateDataSource' :: CreateDataSource -> Maybe LambdaDataSourceConfig
lambdaConfig} -> Maybe LambdaDataSourceConfig
lambdaConfig) (\s :: CreateDataSource
s@CreateDataSource' {} Maybe LambdaDataSourceConfig
a -> CreateDataSource
s {$sel:lambdaConfig:CreateDataSource' :: Maybe LambdaDataSourceConfig
lambdaConfig = Maybe LambdaDataSourceConfig
a} :: CreateDataSource)
createDataSource_openSearchServiceConfig :: Lens.Lens' CreateDataSource (Prelude.Maybe OpenSearchServiceDataSourceConfig)
createDataSource_openSearchServiceConfig :: Lens' CreateDataSource (Maybe OpenSearchServiceDataSourceConfig)
createDataSource_openSearchServiceConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDataSource' {Maybe OpenSearchServiceDataSourceConfig
openSearchServiceConfig :: Maybe OpenSearchServiceDataSourceConfig
$sel:openSearchServiceConfig:CreateDataSource' :: CreateDataSource -> Maybe OpenSearchServiceDataSourceConfig
openSearchServiceConfig} -> Maybe OpenSearchServiceDataSourceConfig
openSearchServiceConfig) (\s :: CreateDataSource
s@CreateDataSource' {} Maybe OpenSearchServiceDataSourceConfig
a -> CreateDataSource
s {$sel:openSearchServiceConfig:CreateDataSource' :: Maybe OpenSearchServiceDataSourceConfig
openSearchServiceConfig = Maybe OpenSearchServiceDataSourceConfig
a} :: CreateDataSource)
createDataSource_relationalDatabaseConfig :: Lens.Lens' CreateDataSource (Prelude.Maybe RelationalDatabaseDataSourceConfig)
createDataSource_relationalDatabaseConfig :: Lens' CreateDataSource (Maybe RelationalDatabaseDataSourceConfig)
createDataSource_relationalDatabaseConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDataSource' {Maybe RelationalDatabaseDataSourceConfig
relationalDatabaseConfig :: Maybe RelationalDatabaseDataSourceConfig
$sel:relationalDatabaseConfig:CreateDataSource' :: CreateDataSource -> Maybe RelationalDatabaseDataSourceConfig
relationalDatabaseConfig} -> Maybe RelationalDatabaseDataSourceConfig
relationalDatabaseConfig) (\s :: CreateDataSource
s@CreateDataSource' {} Maybe RelationalDatabaseDataSourceConfig
a -> CreateDataSource
s {$sel:relationalDatabaseConfig:CreateDataSource' :: Maybe RelationalDatabaseDataSourceConfig
relationalDatabaseConfig = Maybe RelationalDatabaseDataSourceConfig
a} :: CreateDataSource)
createDataSource_serviceRoleArn :: Lens.Lens' CreateDataSource (Prelude.Maybe Prelude.Text)
createDataSource_serviceRoleArn :: Lens' CreateDataSource (Maybe Text)
createDataSource_serviceRoleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDataSource' {Maybe Text
serviceRoleArn :: Maybe Text
$sel:serviceRoleArn:CreateDataSource' :: CreateDataSource -> Maybe Text
serviceRoleArn} -> Maybe Text
serviceRoleArn) (\s :: CreateDataSource
s@CreateDataSource' {} Maybe Text
a -> CreateDataSource
s {$sel:serviceRoleArn:CreateDataSource' :: Maybe Text
serviceRoleArn = Maybe Text
a} :: CreateDataSource)
createDataSource_apiId :: Lens.Lens' CreateDataSource Prelude.Text
createDataSource_apiId :: Lens' CreateDataSource Text
createDataSource_apiId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDataSource' {Text
apiId :: Text
$sel:apiId:CreateDataSource' :: CreateDataSource -> Text
apiId} -> Text
apiId) (\s :: CreateDataSource
s@CreateDataSource' {} Text
a -> CreateDataSource
s {$sel:apiId:CreateDataSource' :: Text
apiId = Text
a} :: CreateDataSource)
createDataSource_name :: Lens.Lens' CreateDataSource Prelude.Text
createDataSource_name :: Lens' CreateDataSource Text
createDataSource_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDataSource' {Text
name :: Text
$sel:name:CreateDataSource' :: CreateDataSource -> Text
name} -> Text
name) (\s :: CreateDataSource
s@CreateDataSource' {} Text
a -> CreateDataSource
s {$sel:name:CreateDataSource' :: Text
name = Text
a} :: CreateDataSource)
createDataSource_type :: Lens.Lens' CreateDataSource DataSourceType
createDataSource_type :: Lens' CreateDataSource DataSourceType
createDataSource_type = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDataSource' {DataSourceType
type' :: DataSourceType
$sel:type':CreateDataSource' :: CreateDataSource -> DataSourceType
type'} -> DataSourceType
type') (\s :: CreateDataSource
s@CreateDataSource' {} DataSourceType
a -> CreateDataSource
s {$sel:type':CreateDataSource' :: DataSourceType
type' = DataSourceType
a} :: CreateDataSource)
instance Core.AWSRequest CreateDataSource where
type
AWSResponse CreateDataSource =
CreateDataSourceResponse
request :: (Service -> Service)
-> CreateDataSource -> Request CreateDataSource
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 CreateDataSource
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateDataSource)))
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 DataSource -> Int -> CreateDataSourceResponse
CreateDataSourceResponse'
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
"dataSource")
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 CreateDataSource where
hashWithSalt :: Int -> CreateDataSource -> Int
hashWithSalt Int
_salt CreateDataSource' {Maybe Text
Maybe DynamodbDataSourceConfig
Maybe ElasticsearchDataSourceConfig
Maybe HttpDataSourceConfig
Maybe LambdaDataSourceConfig
Maybe OpenSearchServiceDataSourceConfig
Maybe RelationalDatabaseDataSourceConfig
Text
DataSourceType
type' :: DataSourceType
name :: Text
apiId :: Text
serviceRoleArn :: Maybe Text
relationalDatabaseConfig :: Maybe RelationalDatabaseDataSourceConfig
openSearchServiceConfig :: Maybe OpenSearchServiceDataSourceConfig
lambdaConfig :: Maybe LambdaDataSourceConfig
httpConfig :: Maybe HttpDataSourceConfig
elasticsearchConfig :: Maybe ElasticsearchDataSourceConfig
dynamodbConfig :: Maybe DynamodbDataSourceConfig
description :: Maybe Text
$sel:type':CreateDataSource' :: CreateDataSource -> DataSourceType
$sel:name:CreateDataSource' :: CreateDataSource -> Text
$sel:apiId:CreateDataSource' :: CreateDataSource -> Text
$sel:serviceRoleArn:CreateDataSource' :: CreateDataSource -> Maybe Text
$sel:relationalDatabaseConfig:CreateDataSource' :: CreateDataSource -> Maybe RelationalDatabaseDataSourceConfig
$sel:openSearchServiceConfig:CreateDataSource' :: CreateDataSource -> Maybe OpenSearchServiceDataSourceConfig
$sel:lambdaConfig:CreateDataSource' :: CreateDataSource -> Maybe LambdaDataSourceConfig
$sel:httpConfig:CreateDataSource' :: CreateDataSource -> Maybe HttpDataSourceConfig
$sel:elasticsearchConfig:CreateDataSource' :: CreateDataSource -> Maybe ElasticsearchDataSourceConfig
$sel:dynamodbConfig:CreateDataSource' :: CreateDataSource -> Maybe DynamodbDataSourceConfig
$sel:description:CreateDataSource' :: CreateDataSource -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DynamodbDataSourceConfig
dynamodbConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ElasticsearchDataSourceConfig
elasticsearchConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe HttpDataSourceConfig
httpConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LambdaDataSourceConfig
lambdaConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe OpenSearchServiceDataSourceConfig
openSearchServiceConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RelationalDatabaseDataSourceConfig
relationalDatabaseConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
serviceRoleArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
apiId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` DataSourceType
type'
instance Prelude.NFData CreateDataSource where
rnf :: CreateDataSource -> ()
rnf CreateDataSource' {Maybe Text
Maybe DynamodbDataSourceConfig
Maybe ElasticsearchDataSourceConfig
Maybe HttpDataSourceConfig
Maybe LambdaDataSourceConfig
Maybe OpenSearchServiceDataSourceConfig
Maybe RelationalDatabaseDataSourceConfig
Text
DataSourceType
type' :: DataSourceType
name :: Text
apiId :: Text
serviceRoleArn :: Maybe Text
relationalDatabaseConfig :: Maybe RelationalDatabaseDataSourceConfig
openSearchServiceConfig :: Maybe OpenSearchServiceDataSourceConfig
lambdaConfig :: Maybe LambdaDataSourceConfig
httpConfig :: Maybe HttpDataSourceConfig
elasticsearchConfig :: Maybe ElasticsearchDataSourceConfig
dynamodbConfig :: Maybe DynamodbDataSourceConfig
description :: Maybe Text
$sel:type':CreateDataSource' :: CreateDataSource -> DataSourceType
$sel:name:CreateDataSource' :: CreateDataSource -> Text
$sel:apiId:CreateDataSource' :: CreateDataSource -> Text
$sel:serviceRoleArn:CreateDataSource' :: CreateDataSource -> Maybe Text
$sel:relationalDatabaseConfig:CreateDataSource' :: CreateDataSource -> Maybe RelationalDatabaseDataSourceConfig
$sel:openSearchServiceConfig:CreateDataSource' :: CreateDataSource -> Maybe OpenSearchServiceDataSourceConfig
$sel:lambdaConfig:CreateDataSource' :: CreateDataSource -> Maybe LambdaDataSourceConfig
$sel:httpConfig:CreateDataSource' :: CreateDataSource -> Maybe HttpDataSourceConfig
$sel:elasticsearchConfig:CreateDataSource' :: CreateDataSource -> Maybe ElasticsearchDataSourceConfig
$sel:dynamodbConfig:CreateDataSource' :: CreateDataSource -> Maybe DynamodbDataSourceConfig
$sel:description:CreateDataSource' :: CreateDataSource -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DynamodbDataSourceConfig
dynamodbConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ElasticsearchDataSourceConfig
elasticsearchConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe HttpDataSourceConfig
httpConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LambdaDataSourceConfig
lambdaConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe OpenSearchServiceDataSourceConfig
openSearchServiceConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RelationalDatabaseDataSourceConfig
relationalDatabaseConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
serviceRoleArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
apiId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DataSourceType
type'
instance Data.ToHeaders CreateDataSource where
toHeaders :: CreateDataSource -> 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 CreateDataSource where
toJSON :: CreateDataSource -> Value
toJSON CreateDataSource' {Maybe Text
Maybe DynamodbDataSourceConfig
Maybe ElasticsearchDataSourceConfig
Maybe HttpDataSourceConfig
Maybe LambdaDataSourceConfig
Maybe OpenSearchServiceDataSourceConfig
Maybe RelationalDatabaseDataSourceConfig
Text
DataSourceType
type' :: DataSourceType
name :: Text
apiId :: Text
serviceRoleArn :: Maybe Text
relationalDatabaseConfig :: Maybe RelationalDatabaseDataSourceConfig
openSearchServiceConfig :: Maybe OpenSearchServiceDataSourceConfig
lambdaConfig :: Maybe LambdaDataSourceConfig
httpConfig :: Maybe HttpDataSourceConfig
elasticsearchConfig :: Maybe ElasticsearchDataSourceConfig
dynamodbConfig :: Maybe DynamodbDataSourceConfig
description :: Maybe Text
$sel:type':CreateDataSource' :: CreateDataSource -> DataSourceType
$sel:name:CreateDataSource' :: CreateDataSource -> Text
$sel:apiId:CreateDataSource' :: CreateDataSource -> Text
$sel:serviceRoleArn:CreateDataSource' :: CreateDataSource -> Maybe Text
$sel:relationalDatabaseConfig:CreateDataSource' :: CreateDataSource -> Maybe RelationalDatabaseDataSourceConfig
$sel:openSearchServiceConfig:CreateDataSource' :: CreateDataSource -> Maybe OpenSearchServiceDataSourceConfig
$sel:lambdaConfig:CreateDataSource' :: CreateDataSource -> Maybe LambdaDataSourceConfig
$sel:httpConfig:CreateDataSource' :: CreateDataSource -> Maybe HttpDataSourceConfig
$sel:elasticsearchConfig:CreateDataSource' :: CreateDataSource -> Maybe ElasticsearchDataSourceConfig
$sel:dynamodbConfig:CreateDataSource' :: CreateDataSource -> Maybe DynamodbDataSourceConfig
$sel:description:CreateDataSource' :: CreateDataSource -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"description" 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 Text
description,
(Key
"dynamodbConfig" 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 DynamodbDataSourceConfig
dynamodbConfig,
(Key
"elasticsearchConfig" 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 ElasticsearchDataSourceConfig
elasticsearchConfig,
(Key
"httpConfig" 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 HttpDataSourceConfig
httpConfig,
(Key
"lambdaConfig" 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 LambdaDataSourceConfig
lambdaConfig,
(Key
"openSearchServiceConfig" 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 OpenSearchServiceDataSourceConfig
openSearchServiceConfig,
(Key
"relationalDatabaseConfig" 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 RelationalDatabaseDataSourceConfig
relationalDatabaseConfig,
(Key
"serviceRoleArn" 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 Text
serviceRoleArn,
forall a. a -> Maybe a
Prelude.Just (Key
"name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name),
forall a. a -> Maybe a
Prelude.Just (Key
"type" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= DataSourceType
type')
]
)
instance Data.ToPath CreateDataSource where
toPath :: CreateDataSource -> ByteString
toPath CreateDataSource' {Maybe Text
Maybe DynamodbDataSourceConfig
Maybe ElasticsearchDataSourceConfig
Maybe HttpDataSourceConfig
Maybe LambdaDataSourceConfig
Maybe OpenSearchServiceDataSourceConfig
Maybe RelationalDatabaseDataSourceConfig
Text
DataSourceType
type' :: DataSourceType
name :: Text
apiId :: Text
serviceRoleArn :: Maybe Text
relationalDatabaseConfig :: Maybe RelationalDatabaseDataSourceConfig
openSearchServiceConfig :: Maybe OpenSearchServiceDataSourceConfig
lambdaConfig :: Maybe LambdaDataSourceConfig
httpConfig :: Maybe HttpDataSourceConfig
elasticsearchConfig :: Maybe ElasticsearchDataSourceConfig
dynamodbConfig :: Maybe DynamodbDataSourceConfig
description :: Maybe Text
$sel:type':CreateDataSource' :: CreateDataSource -> DataSourceType
$sel:name:CreateDataSource' :: CreateDataSource -> Text
$sel:apiId:CreateDataSource' :: CreateDataSource -> Text
$sel:serviceRoleArn:CreateDataSource' :: CreateDataSource -> Maybe Text
$sel:relationalDatabaseConfig:CreateDataSource' :: CreateDataSource -> Maybe RelationalDatabaseDataSourceConfig
$sel:openSearchServiceConfig:CreateDataSource' :: CreateDataSource -> Maybe OpenSearchServiceDataSourceConfig
$sel:lambdaConfig:CreateDataSource' :: CreateDataSource -> Maybe LambdaDataSourceConfig
$sel:httpConfig:CreateDataSource' :: CreateDataSource -> Maybe HttpDataSourceConfig
$sel:elasticsearchConfig:CreateDataSource' :: CreateDataSource -> Maybe ElasticsearchDataSourceConfig
$sel:dynamodbConfig:CreateDataSource' :: CreateDataSource -> Maybe DynamodbDataSourceConfig
$sel:description:CreateDataSource' :: CreateDataSource -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/v1/apis/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
apiId, ByteString
"/datasources"]
instance Data.ToQuery CreateDataSource where
toQuery :: CreateDataSource -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateDataSourceResponse = CreateDataSourceResponse'
{
CreateDataSourceResponse -> Maybe DataSource
dataSource :: Prelude.Maybe DataSource,
CreateDataSourceResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateDataSourceResponse -> CreateDataSourceResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateDataSourceResponse -> CreateDataSourceResponse -> Bool
$c/= :: CreateDataSourceResponse -> CreateDataSourceResponse -> Bool
== :: CreateDataSourceResponse -> CreateDataSourceResponse -> Bool
$c== :: CreateDataSourceResponse -> CreateDataSourceResponse -> Bool
Prelude.Eq, ReadPrec [CreateDataSourceResponse]
ReadPrec CreateDataSourceResponse
Int -> ReadS CreateDataSourceResponse
ReadS [CreateDataSourceResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateDataSourceResponse]
$creadListPrec :: ReadPrec [CreateDataSourceResponse]
readPrec :: ReadPrec CreateDataSourceResponse
$creadPrec :: ReadPrec CreateDataSourceResponse
readList :: ReadS [CreateDataSourceResponse]
$creadList :: ReadS [CreateDataSourceResponse]
readsPrec :: Int -> ReadS CreateDataSourceResponse
$creadsPrec :: Int -> ReadS CreateDataSourceResponse
Prelude.Read, Int -> CreateDataSourceResponse -> ShowS
[CreateDataSourceResponse] -> ShowS
CreateDataSourceResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateDataSourceResponse] -> ShowS
$cshowList :: [CreateDataSourceResponse] -> ShowS
show :: CreateDataSourceResponse -> String
$cshow :: CreateDataSourceResponse -> String
showsPrec :: Int -> CreateDataSourceResponse -> ShowS
$cshowsPrec :: Int -> CreateDataSourceResponse -> ShowS
Prelude.Show, forall x.
Rep CreateDataSourceResponse x -> CreateDataSourceResponse
forall x.
CreateDataSourceResponse -> Rep CreateDataSourceResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateDataSourceResponse x -> CreateDataSourceResponse
$cfrom :: forall x.
CreateDataSourceResponse -> Rep CreateDataSourceResponse x
Prelude.Generic)
newCreateDataSourceResponse ::
Prelude.Int ->
CreateDataSourceResponse
newCreateDataSourceResponse :: Int -> CreateDataSourceResponse
newCreateDataSourceResponse Int
pHttpStatus_ =
CreateDataSourceResponse'
{ $sel:dataSource:CreateDataSourceResponse' :: Maybe DataSource
dataSource =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateDataSourceResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createDataSourceResponse_dataSource :: Lens.Lens' CreateDataSourceResponse (Prelude.Maybe DataSource)
createDataSourceResponse_dataSource :: Lens' CreateDataSourceResponse (Maybe DataSource)
createDataSourceResponse_dataSource = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDataSourceResponse' {Maybe DataSource
dataSource :: Maybe DataSource
$sel:dataSource:CreateDataSourceResponse' :: CreateDataSourceResponse -> Maybe DataSource
dataSource} -> Maybe DataSource
dataSource) (\s :: CreateDataSourceResponse
s@CreateDataSourceResponse' {} Maybe DataSource
a -> CreateDataSourceResponse
s {$sel:dataSource:CreateDataSourceResponse' :: Maybe DataSource
dataSource = Maybe DataSource
a} :: CreateDataSourceResponse)
createDataSourceResponse_httpStatus :: Lens.Lens' CreateDataSourceResponse Prelude.Int
createDataSourceResponse_httpStatus :: Lens' CreateDataSourceResponse Int
createDataSourceResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateDataSourceResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateDataSourceResponse' :: CreateDataSourceResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateDataSourceResponse
s@CreateDataSourceResponse' {} Int
a -> CreateDataSourceResponse
s {$sel:httpStatus:CreateDataSourceResponse' :: Int
httpStatus = Int
a} :: CreateDataSourceResponse)
instance Prelude.NFData CreateDataSourceResponse where
rnf :: CreateDataSourceResponse -> ()
rnf CreateDataSourceResponse' {Int
Maybe DataSource
httpStatus :: Int
dataSource :: Maybe DataSource
$sel:httpStatus:CreateDataSourceResponse' :: CreateDataSourceResponse -> Int
$sel:dataSource:CreateDataSourceResponse' :: CreateDataSourceResponse -> Maybe DataSource
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe DataSource
dataSource
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus