59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
import type * as ec2 from '../../aws-ec2';
|
|
import * as lambda from '../../aws-lambda';
|
|
import { NestedStack } from '../../core';
|
|
import * as cr from '../../custom-resources';
|
|
export interface ClusterResourceProviderProps {
|
|
/**
|
|
* The VPC to provision the functions in.
|
|
*/
|
|
readonly vpc?: ec2.IVpc;
|
|
/**
|
|
* The subnets to place the functions in.
|
|
*/
|
|
readonly subnets?: ec2.ISubnet[];
|
|
/**
|
|
* Environment to add to the handler.
|
|
*/
|
|
readonly environment?: {
|
|
[key: string]: string;
|
|
};
|
|
/**
|
|
* An AWS Lambda layer that includes the NPM dependency `proxy-agent`.
|
|
*
|
|
* If not defined, a default layer will be used.
|
|
*/
|
|
readonly onEventLayer?: lambda.ILayerVersion;
|
|
/**
|
|
* The security group to associate with the functions.
|
|
*
|
|
* @default - No security group.
|
|
*/
|
|
readonly securityGroup?: ec2.ISecurityGroup;
|
|
/**
|
|
* Disable logging for provider
|
|
*
|
|
* @default true
|
|
*/
|
|
readonly disableLogging?: boolean;
|
|
}
|
|
/**
|
|
* A custom resource provider that handles cluster operations. It serves
|
|
* multiple custom resources such as the cluster resource and the fargate
|
|
* resource.
|
|
*
|
|
* @internal
|
|
*/
|
|
export declare class ClusterResourceProvider extends NestedStack {
|
|
static getOrCreate(scope: Construct, props: ClusterResourceProviderProps): ClusterResourceProvider;
|
|
/**
|
|
* The custom resource provider to use for custom resources.
|
|
*/
|
|
readonly provider: cr.Provider;
|
|
private constructor();
|
|
/**
|
|
* The custom resource service token for this provider.
|
|
*/
|
|
get serviceToken(): string;
|
|
}
|