# ExtendedDataSourceProps

props used by implementations of BaseDataSource to provide configuration.

Should not be used directly.

Extends: ExtendedDataSourceProps
Used as props by: BackedDataSource, BaseDataSource

- Source: [`aws-appsync/lib/data-source.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-appsync/lib/data-source.ts#L83)
- Type last changed: v2.78.0 · 4 May 2023

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_appsync as appsync } from 'aws-cdk-lib';
const extendedDataSourceProps: appsync.ExtendedDataSourceProps = {
  type: 'type',

  // the properties below are optional
  dynamoDbConfig: {
    awsRegion: 'awsRegion',
    tableName: 'tableName',

    // the properties below are optional
    deltaSyncConfig: {
      baseTableTtl: 'baseTableTtl',
      deltaSyncTableName: 'deltaSyncTableName',
      deltaSyncTableTtl: 'deltaSyncTableTtl',
    },
    useCallerCredentials: false,
    versioned: false,
  },
  elasticsearchConfig: {
    awsRegion: 'awsRegion',
    endpoint: 'endpoint',
  },
  eventBridgeConfig: {
    eventBusArn: 'eventBusArn',
  },
  httpConfig: {
    endpoint: 'endpoint',

    // the properties below are optional
    authorizationConfig: {
      authorizationType: 'authorizationType',

      // the properties below are optional
      awsIamConfig: {
        signingRegion: 'signingRegion',
        signingServiceName: 'signingServiceName',
      },
    },
  },
  lambdaConfig: {
    lambdaFunctionArn: 'lambdaFunctionArn',
  },
  openSearchServiceConfig: {
    awsRegion: 'awsRegion',
    endpoint: 'endpoint',
  },
  relationalDatabaseConfig: {
    relationalDatabaseSourceType: 'relationalDatabaseSourceType',

    // the properties below are optional
    rdsHttpEndpointConfig: {
      awsRegion: 'awsRegion',
      awsSecretStoreArn: 'awsSecretStoreArn',
      dbClusterIdentifier: 'dbClusterIdentifier',

      // the properties below are optional
      databaseName: 'databaseName',
      schema: 'schema',
    },
  },
};
```

## Properties

- `dynamoDbConfig`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDataSource.DynamoDBConfigProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_appsync.CfnDataSource.DynamoDBConfigProperty.html) — configuration for DynamoDB Datasource.

  **Default:** No config

- `elasticsearchConfig`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDataSource.ElasticsearchConfigProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_appsync.CfnDataSource.ElasticsearchConfigProperty.html) — - use `openSearchConfig`

  **Default:** No config

- `eventBridgeConfig`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDataSource.EventBridgeConfigProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_appsync.CfnDataSource.EventBridgeConfigProperty.html) — configuration for EventBridge Datasource.

  **Default:** No config

- `httpConfig`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDataSource.HttpConfigProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_appsync.CfnDataSource.HttpConfigProperty.html) — configuration for HTTP Datasource.

  **Default:** No config

- `lambdaConfig`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDataSource.LambdaConfigProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_appsync.CfnDataSource.LambdaConfigProperty.html) — configuration for Lambda Datasource.

  **Default:** No config

- `openSearchServiceConfig`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDataSource.OpenSearchServiceConfigProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_appsync.CfnDataSource.OpenSearchServiceConfigProperty.html) — configuration for OpenSearch data source.

  **Default:** No config

- `relationalDatabaseConfig`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDataSource.RelationalDatabaseConfigProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_appsync.CfnDataSource.RelationalDatabaseConfigProperty.html) — configuration for RDS Datasource.

  **Default:** No config

- `type`: string (required) — the type of the AppSync datasource.
