@aws-solutions-constructs/core
Version:
Core CDK Construct for patterns library
67 lines (66 loc) • 2.99 kB
TypeScript
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
* with the License. A copy of the License is located at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
import * as pipes from 'aws-cdk-lib/aws-pipes';
import * as sqs from 'aws-cdk-lib/aws-sqs';
import * as iam from 'aws-cdk-lib/aws-iam';
import * as logs from 'aws-cdk-lib/aws-logs';
import * as dynamodb from 'aws-cdk-lib/aws-dynamodb';
import * as lambda from 'aws-cdk-lib/aws-lambda';
import * as sfn from 'aws-cdk-lib/aws-stepfunctions';
import * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
export declare enum PipesLogLevel {
OFF = "OFF",
TRACE = "TRACE",
INFO = "INFO",
ERROR = "ERROR"
}
export interface CreateSourceResponse {
readonly sourceParameters: pipes.CfnPipe.PipeSourceParametersProperty;
readonly sourceArn: string;
readonly sourcePolicy: iam.PolicyDocument;
readonly dlq?: sqs.Queue;
}
export interface BuildPipesProps {
readonly source: CreateSourceResponse;
readonly target: CreateTargetResponse;
readonly enrichmentFunction?: lambda.Function;
readonly enrichmentStateMachine?: sfn.StateMachine;
readonly clientProps?: any | pipes.CfnPipeProps;
readonly logLevel?: PipesLogLevel;
readonly pipeLogProps?: logs.LogGroupProps;
}
export interface BuildPipesResponse {
readonly pipe: pipes.CfnPipe;
readonly pipeRole: iam.Role;
}
export declare function BuildPipe(scope: Construct, id: string, props: BuildPipesProps): BuildPipesResponse;
export declare function CreateSqsSource(queue: sqs.IQueue, clientProps?: pipes.CfnPipe.PipeSourceParametersProperty | cdk.IResolvable): CreateSourceResponse;
interface CreateDynamoDBStreamsSourceProps {
table: dynamodb.ITable;
deploySqsDlqQueue?: boolean;
sqsDlqQueueProps?: sqs.QueueProps;
clientProps?: pipes.CfnPipe.PipeSourceParametersProperty | cdk.IResolvable;
}
export declare function CreateDynamoDBStreamsSource(scope: Construct, props: CreateDynamoDBStreamsSourceProps): CreateSourceResponse;
export interface CreateTargetResponse {
readonly targetParameters: pipes.CfnPipe.PipeTargetParametersProperty;
readonly targetArn: string;
readonly targetPolicy: iam.PolicyDocument;
}
export declare function CreateStateMachineTarget(stateMachine: sfn.IStateMachine, clientProps?: pipes.CfnPipe.PipeTargetParametersProperty | cdk.IResolvable): CreateTargetResponse;
export interface PipesProps {
readonly pipesProps?: pipes.CfnPipeProps;
}
export declare function CheckPipesProps(propsObject: PipesProps | any): void;
export {};