48 lines
1.8 KiB
TypeScript
48 lines
1.8 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
import type { Architecture } from './architecture';
|
|
import type { AssetImageCodeProps, EcrImageCodeProps, Code } from './code';
|
|
import type { FunctionOptions } from './function';
|
|
import { Function } from './function';
|
|
import type * as ecr from '../../aws-ecr';
|
|
/**
|
|
* Properties to configure a new DockerImageFunction construct.
|
|
*/
|
|
export interface DockerImageFunctionProps extends FunctionOptions {
|
|
/**
|
|
* The source code of your Lambda function. You can point to a file in an
|
|
* Amazon Simple Storage Service (Amazon S3) bucket or specify your source
|
|
* code as inline text.
|
|
*/
|
|
readonly code: DockerImageCode;
|
|
}
|
|
/**
|
|
* Code property for the DockerImageFunction construct
|
|
*/
|
|
export declare abstract class DockerImageCode {
|
|
/**
|
|
* Use an existing ECR image as the Lambda code.
|
|
* @param repository the ECR repository that the image is in
|
|
* @param props properties to further configure the selected image
|
|
*/
|
|
static fromEcr(repository: ecr.IRepository, props?: EcrImageCodeProps): DockerImageCode;
|
|
/**
|
|
* Create an ECR image from the specified asset and bind it as the Lambda code.
|
|
* @param directory the directory from which the asset must be created
|
|
* @param props properties to further configure the selected image
|
|
*/
|
|
static fromImageAsset(directory: string, props?: AssetImageCodeProps): DockerImageCode;
|
|
/**
|
|
* Produce a `Code` instance from this `DockerImageCode`.
|
|
* @internal
|
|
*/
|
|
abstract _bind(architecture?: Architecture): Code;
|
|
}
|
|
/**
|
|
* Create a lambda function where the handler is a docker image
|
|
*/
|
|
export declare class DockerImageFunction extends Function {
|
|
/** Uniquely identifies this class. */
|
|
static readonly PROPERTY_INJECTION_ID: string;
|
|
constructor(scope: Construct, id: string, props: DockerImageFunctionProps);
|
|
}
|