import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Resource Type definition for AWS::AppSync::DataSource
 */
export declare function getDataSource(args: GetDataSourceArgs, opts?: pulumi.InvokeOptions): Promise<GetDataSourceResult>;
export interface GetDataSourceArgs {
    /**
     * The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename.
     */
    dataSourceArn: string;
}
export interface GetDataSourceResult {
    /**
     * The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename.
     */
    readonly dataSourceArn?: string;
    /**
     * The description of the data source.
     */
    readonly description?: string;
    /**
     * AWS Region and TableName for an Amazon DynamoDB table in your account.
     */
    readonly dynamoDbConfig?: outputs.appsync.DataSourceDynamoDbConfig;
    /**
     * AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.
     * As of September 2021, Amazon Elasticsearch Service is Amazon OpenSearch Service. This property is deprecated. For new data sources, use OpenSearchServiceConfig to specify an OpenSearch Service data source.
     */
    readonly elasticsearchConfig?: outputs.appsync.DataSourceElasticsearchConfig;
    /**
     * ARN for the EventBridge bus.
     */
    readonly eventBridgeConfig?: outputs.appsync.DataSourceEventBridgeConfig;
    /**
     * Endpoints for an HTTP data source.
     */
    readonly httpConfig?: outputs.appsync.DataSourceHttpConfig;
    /**
     * An ARN of a Lambda function in valid ARN format. This can be the ARN of a Lambda function that exists in the current account or in another account.
     */
    readonly lambdaConfig?: outputs.appsync.DataSourceLambdaConfig;
    /**
     * Enables or disables enhanced data source metrics for specified data sources. Note that `MetricsConfig` won't be used unless the `dataSourceLevelMetricsBehavior` value is set to `PER_DATA_SOURCE_METRICS` . If the `dataSourceLevelMetricsBehavior` is set to `FULL_REQUEST_DATA_SOURCE_METRICS` instead, `MetricsConfig` will be ignored. However, you can still set its value.
     *
     * `MetricsConfig` can be `ENABLED` or `DISABLED` .
     */
    readonly metricsConfig?: enums.appsync.DataSourceMetricsConfig;
    /**
     * AWS Region and Endpoints for an Amazon OpenSearch Service domain in your account.
     */
    readonly openSearchServiceConfig?: outputs.appsync.DataSourceOpenSearchServiceConfig;
    /**
     * Relational Database configuration of the relational database data source.
     */
    readonly relationalDatabaseConfig?: outputs.appsync.DataSourceRelationalDatabaseConfig;
    /**
     * The AWS Identity and Access Management service role ARN for the data source. The system assumes this role when accessing the data source.
     */
    readonly serviceRoleArn?: string;
    /**
     * The type of the data source.
     */
    readonly type?: string;
}
/**
 * Resource Type definition for AWS::AppSync::DataSource
 */
export declare function getDataSourceOutput(args: GetDataSourceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDataSourceResult>;
export interface GetDataSourceOutputArgs {
    /**
     * The Amazon Resource Name (ARN) of the API key, such as arn:aws:appsync:us-east-1:123456789012:apis/graphqlapiid/datasources/datasourcename.
     */
    dataSourceArn: pulumi.Input<string>;
}
