import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { DataSourceReference, IDataSourceRef } from "../../interfaces/generated/aws-opensearch-interfaces.generated"; /** * Creates a data source for an Amazon OpenSearch Service domain. * * @cloudformationResource AWS::OpenSearch::DataSource * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearch-datasource.html */ export declare class CfnDataSource extends cdk.CfnResource implements cdk.IInspectable, IDataSourceRef { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnDataSource from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDataSource; /** * Checks whether the given object is a CfnDataSource */ static isCfnDataSource(x: any): x is CfnDataSource; static arnForDataSource(resource: IDataSourceRef): string; /** * The type of data source. */ private _dataSourceType; /** * A description of the data source. */ private _description?; /** * The name of the OpenSearch Service domain. */ private _domainName; /** * The name of the data source. */ private _name; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::OpenSearch::DataSource`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnDataSourceProps); get dataSourceRef(): DataSourceReference; /** * The type of data source. */ get dataSourceType(): CfnDataSource.DataSourceTypeProperty | cdk.IResolvable; /** * The type of data source. */ set dataSourceType(value: CfnDataSource.DataSourceTypeProperty | cdk.IResolvable); /** * A description of the data source. */ get description(): string | undefined; /** * A description of the data source. */ set description(value: string | undefined); /** * The name of the OpenSearch Service domain. */ get domainName(): string; /** * The name of the OpenSearch Service domain. */ set domainName(value: string); /** * The name of the data source. */ get name(): string; /** * The name of the data source. */ set name(value: string); /** * The Amazon Resource Name (ARN) of the data source. * * @cloudformationAttribute Arn */ get attrArn(): string; /** * The status of the data source. * * @cloudformationAttribute Status */ get attrStatus(): string; protected get cfnProperties(): Record; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record): Record; } export declare namespace CfnDataSource { /** * The type of data source. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearch-datasource-datasourcetype.html */ interface DataSourceTypeProperty { /** * Configuration for an S3 Glue Data Catalog data source. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearch-datasource-datasourcetype.html#cfn-opensearch-datasource-datasourcetype-s3gluedatacatalog */ readonly s3GlueDataCatalog?: cdk.IResolvable | CfnDataSource.S3GlueDataCatalogProperty; } /** * Configuration for an S3 Glue Data Catalog data source. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearch-datasource-s3gluedatacatalog.html */ interface S3GlueDataCatalogProperty { /** * The ARN of the IAM role that grants OpenSearch Service permission to access the Glue Data Catalog. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opensearch-datasource-s3gluedatacatalog.html#cfn-opensearch-datasource-s3gluedatacatalog-rolearn */ readonly roleArn: string; } } /** * Properties for defining a `CfnDataSource` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearch-datasource.html */ export interface CfnDataSourceProps { /** * The type of data source. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearch-datasource.html#cfn-opensearch-datasource-datasourcetype */ readonly dataSourceType: CfnDataSource.DataSourceTypeProperty | cdk.IResolvable; /** * A description of the data source. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearch-datasource.html#cfn-opensearch-datasource-description */ readonly description?: string; /** * The name of the OpenSearch Service domain. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearch-datasource.html#cfn-opensearch-datasource-domainname */ readonly domainName: string; /** * The name of the data source. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opensearch-datasource.html#cfn-opensearch-datasource-name */ readonly name: string; } export type { IDataSourceRef, DataSourceReference };