aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
55 lines (54 loc) • 2.38 kB
TypeScript
import type { Construct } from 'constructs';
import type * as glue from '../../../aws-glue';
import * as iam from '../../../aws-iam';
import type { CfnDeliveryStream } from '../kinesisfirehose.generated';
/**
* Options when binding a SchemaConfig to a Destination
*/
export interface SchemaConfigurationBindOptions {
/**
* The IAM Role that will be used by the Delivery Stream for access to the Glue data catalog for record format conversion.
*/
readonly role: iam.IRole;
}
/**
* Options for creating a Schema for record format conversion from a `glue.CfnTable`
*/
export interface SchemaConfigurationFromCfnTableProps {
/**
* Specifies the table version for the output data schema.
*
* if set to `LATEST`, Firehose uses the most recent table version. This means that any updates to the table are automatically picked up.
*
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-versionid
* @default `LATEST`
*/
readonly versionId?: string;
/**
* The region of the database the table is in.
*
* @default the region of the stack that contains the table reference is used
*/
readonly region?: string;
}
/**
* Represents a schema configuration for Firehose S3 data record format conversion.
*
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html#cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-schemaconfiguration
*/
export declare class SchemaConfiguration {
private readonly databaseName;
private readonly tableName;
private readonly catalogId;
private readonly databaseRegion;
private readonly versionId;
/**
* Obtain schema configuration for data record format conversion from an `aws_glue.CfnTable`
*/
static fromCfnTable(table: glue.CfnTable, props?: SchemaConfigurationFromCfnTableProps): SchemaConfiguration;
private constructor();
/**
* Binds this Schema to the Destination, adding the necessary permissions to the Destination role.
*/
bind(scope: Construct, options: SchemaConfigurationBindOptions): CfnDeliveryStream.SchemaConfigurationProperty;
}