aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
354 lines (353 loc) • 11.3 kB
TypeScript
import { IConstruct } from 'constructs';
import { Architecture } from './architecture';
import { IFunction } from './function-base';
/**
* The type of ADOT Lambda layer
*/
declare enum AdotLambdaLayerType {
/**
* The Lambda layer for ADOT Java instrumentation library. This layer only auto-instruments AWS
* SDK libraries.
*/
JAVA_SDK = "JAVA_SDK",
/**
* The Lambda layer for ADOT Java Auto-Instrumentation Agent. This layer automatically instruments
* a large number of libraries and frameworks out of the box and has notable impact on startup
* performance.
*/
JAVA_AUTO_INSTRUMENTATION = "JAVA_AUTO_INSTRUMENTATION",
/**
* The Lambda layer for ADOT Collector, OpenTelemetry for JavaScript and supported libraries.
*/
JAVASCRIPT_SDK = "JAVASCRIPT_SDK",
/**
* The Lambda layer for ADOT Collector, OpenTelemetry for Python and supported libraries.
*/
PYTHON_SDK = "PYTHON_SDK",
/**
* The generic Lambda layer that contains only ADOT Collector, used for manual instrumentation
* use cases (such as Go or DotNet runtimes).
*/
GENERIC = "GENERIC"
}
/**
* Config returned from `AdotLambdaLayerVersion._bind`
*/
interface AdotLambdaLayerBindConfig {
/**
* ARN of the ADOT Lambda layer version
*/
readonly arn: string;
}
/**
* Properties for an ADOT instrumentation in Lambda
*/
export interface AdotInstrumentationConfig {
/**
* The ADOT Lambda layer.
*/
readonly layerVersion: AdotLayerVersion;
/**
* The startup script to run, see ADOT documentation to pick the right script for your use case: https://aws-otel.github.io/docs/getting-started/lambda
*/
readonly execWrapper: AdotLambdaExecWrapper;
}
/**
* An ADOT Lambda layer version that's specific to a lambda layer type and an architecture.
*/
export declare abstract class AdotLayerVersion {
/**
* The ADOT Lambda layer for Java SDK
*
* @param version The version of the Lambda layer to use
*/
static fromJavaSdkLayerVersion(version: AdotLambdaLayerJavaSdkVersion): AdotLayerVersion;
/**
* The ADOT Lambda layer for Java auto instrumentation
*
* @param version The version of the Lambda layer to use
*/
static fromJavaAutoInstrumentationLayerVersion(version: AdotLambdaLayerJavaAutoInstrumentationVersion): AdotLayerVersion;
/**
* The ADOT Lambda layer for JavaScript SDK
*
* @param version The version of the Lambda layer to use
*/
static fromJavaScriptSdkLayerVersion(version: AdotLambdaLayerJavaScriptSdkVersion): AdotLayerVersion;
/**
* The ADOT Lambda layer for Python SDK
*
* @param version The version of the Lambda layer to use
*/
static fromPythonSdkLayerVersion(version: AdotLambdaLayerPythonSdkVersion): AdotLayerVersion;
/**
* The ADOT Lambda layer for generic use cases
*
* @param version The version of the Lambda layer to use
*/
static fromGenericLayerVersion(version: AdotLambdaLayerGenericVersion): AdotLayerVersion;
private static fromAdotVersion;
/**
* Produce a `AdotLambdaLayerBindConfig` instance from this `AdotLayerVersion` instance.
*
* @internal
*/
abstract _bind(_function: IFunction): AdotLambdaLayerBindConfig;
}
/**
* The wrapper script to be used for the Lambda function in order to enable auto instrumentation
* with ADOT.
*/
export declare enum AdotLambdaExecWrapper {
/**
* Wrapping regular Lambda handlers.
*/
REGULAR_HANDLER = "/opt/otel-handler",
/**
* Wrapping regular handlers (implementing RequestHandler) proxied through API Gateway, enabling
* HTTP context propagation.
*/
PROXY_HANDLER = "/opt/otel-proxy-handler",
/**
* Wrapping streaming handlers (implementing RequestStreamHandler), enabling HTTP context
* propagation for HTTP requests.
*/
STREAM_HANDLER = "/opt/otel-stream-handler",
/**
* Wrapping python lambda handlers see https://aws-otel.github.io/docs/getting-started/lambda/lambda-python
*/
INSTRUMENT_HANDLER = "/opt/otel-instrument",
/**
* Wrapping SQS-triggered function handlers (implementing RequestHandler)
*/
SQS_HANDLER = "/opt/otel-sqs-handler"
}
declare abstract class AdotLambdaLayerVersion {
protected readonly type: AdotLambdaLayerType;
protected readonly version: string;
protected constructor(type: AdotLambdaLayerType, version: string);
/**
* The ARN of the Lambda layer
*
* @param scope The binding scope. Usually this is the stack where the Lambda layer is bound to
* @param architecture The architecture of the Lambda layer (either X86_64 or ARM_64)
*/
layerArn(scope: IConstruct, architecture: Architecture): string;
}
/**
* The collection of versions of the ADOT Lambda Layer for Java SDK
*/
export declare class AdotLambdaLayerJavaSdkVersion extends AdotLambdaLayerVersion {
protected readonly layerVersion: string;
/**
* Version 1.32.0
*/
static readonly V1_32_0_1: AdotLambdaLayerJavaSdkVersion;
/**
* Version 1.32.0
*/
static readonly V1_32_0: AdotLambdaLayerJavaSdkVersion;
/**
* Version 1.31.0
*/
static readonly V1_31_0: AdotLambdaLayerJavaSdkVersion;
/**
* Version 1.30.0
*/
static readonly V1_30_0: AdotLambdaLayerJavaSdkVersion;
/**
* Version 1.28.1
*/
static readonly V1_28_1: AdotLambdaLayerJavaSdkVersion;
/**
* Version 1.19.0
*/
static readonly V1_19_0: AdotLambdaLayerJavaSdkVersion;
/**
* The latest layer version available in this CDK version. New versions could
* introduce incompatible changes. Make sure to test them before deploying to production.
*/
static readonly LATEST: AdotLambdaLayerJavaSdkVersion;
private constructor();
}
/**
* The collection of versions of the ADOT Lambda Layer for Java auto-instrumentation
*/
export declare class AdotLambdaLayerJavaAutoInstrumentationVersion extends AdotLambdaLayerVersion {
protected readonly layerVersion: string;
/**
* Version 1.32.0
*/
static readonly V1_32_0_1: AdotLambdaLayerJavaAutoInstrumentationVersion;
/**
* Version 1.32.0
*/
static readonly V1_32_0: AdotLambdaLayerJavaAutoInstrumentationVersion;
/**
* Version 1.31.0
*/
static readonly V1_31_0: AdotLambdaLayerJavaAutoInstrumentationVersion;
/**
* Version 1.30.0
*/
static readonly V1_30_0: AdotLambdaLayerJavaAutoInstrumentationVersion;
/**
* Version 1.28.1
*/
static readonly V1_28_1: AdotLambdaLayerJavaAutoInstrumentationVersion;
/**
* Version 1.19.2
*/
static readonly V1_19_2: AdotLambdaLayerJavaAutoInstrumentationVersion;
/**
* The latest layer version available in this CDK version. New versions could
* introduce incompatible changes. Make sure to test them before deploying to production.
*/
static readonly LATEST: AdotLambdaLayerJavaAutoInstrumentationVersion;
private constructor();
}
/**
* The collection of versions of the ADOT Lambda Layer for Python SDK
*/
export declare class AdotLambdaLayerPythonSdkVersion extends AdotLambdaLayerVersion {
protected readonly layerVersion: string;
/**
* Version 1.29.0
*/
static readonly V1_29_0: AdotLambdaLayerPythonSdkVersion;
/**
* Version 1.25.0
*/
static readonly V1_25_0: AdotLambdaLayerPythonSdkVersion;
/**
* Version 1.24.0
*/
static readonly V1_24_0: AdotLambdaLayerPythonSdkVersion;
/**
* Version 1.21.0
*/
static readonly V1_21_0: AdotLambdaLayerPythonSdkVersion;
/**
* Version 1.20.0
*/
static readonly V1_20_0_1: AdotLambdaLayerPythonSdkVersion;
/**
* Version 1.20.0
*/
static readonly V1_20_0: AdotLambdaLayerPythonSdkVersion;
/**
* Version 1.19.0
*/
static readonly V1_19_0_1: AdotLambdaLayerPythonSdkVersion;
/**
* Version 1.18.0
*/
static readonly V1_18_0: AdotLambdaLayerPythonSdkVersion;
/**
* Version 1.17.0
*/
static readonly V1_17_0: AdotLambdaLayerPythonSdkVersion;
/**
* Version 1.16.0
*/
static readonly V1_16_0: AdotLambdaLayerPythonSdkVersion;
/**
* Version 1.15.0
*/
static readonly V1_15_0: AdotLambdaLayerPythonSdkVersion;
/**
* Version 1.14.0
*/
static readonly V1_14_0: AdotLambdaLayerPythonSdkVersion;
/**
* Version 1.13.0
*/
static readonly V1_13_0: AdotLambdaLayerPythonSdkVersion;
/**
* The latest layer version available in this CDK version. New versions could
* introduce incompatible changes. Make sure to test them before deploying to production.
*/
static readonly LATEST: AdotLambdaLayerPythonSdkVersion;
private constructor();
}
/**
* The collection of versions of the ADOT Lambda Layer for JavaScript SDK
*/
export declare class AdotLambdaLayerJavaScriptSdkVersion extends AdotLambdaLayerVersion {
protected readonly layerVersion: string;
/**
* Version 1.30.0
*/
static readonly V1_30_0: AdotLambdaLayerJavaScriptSdkVersion;
/**
* Version 1.18.1
*/
static readonly V1_18_1: AdotLambdaLayerJavaScriptSdkVersion;
/**
* Version 1.17.1
*/
static readonly V1_17_1: AdotLambdaLayerJavaScriptSdkVersion;
/**
* Version 1.16.0
*/
static readonly V1_16_0: AdotLambdaLayerJavaScriptSdkVersion;
/**
* Version 1.15.0
*/
static readonly V1_15_0_1: AdotLambdaLayerJavaScriptSdkVersion;
/**
* Version 1.7.0
*/
static readonly V1_7_0: AdotLambdaLayerJavaScriptSdkVersion;
/**
* The latest layer version available in this CDK version. New versions could
* introduce incompatible changes. Make sure to test them before deploying to production.
*/
static readonly LATEST: AdotLambdaLayerJavaScriptSdkVersion;
private constructor();
}
/**
* The collection of versions of the ADOT Lambda Layer for generic purpose
*/
export declare class AdotLambdaLayerGenericVersion extends AdotLambdaLayerVersion {
protected readonly layerVersion: string;
/**
* Version 0.115.0
*/
static readonly V0_115_0: AdotLambdaLayerGenericVersion;
/**
* Version 0.102.1
*/
static readonly V0_102_1: AdotLambdaLayerGenericVersion;
/**
* Version 0.98.0
*/
static readonly V0_98_0: AdotLambdaLayerGenericVersion;
/**
* Version 0.90.1
*/
static readonly V0_90_1: AdotLambdaLayerGenericVersion;
/**
* Version 0.88.0
*/
static readonly V0_88_0: AdotLambdaLayerGenericVersion;
/**
* Version 0.84.0
*/
static readonly V0_84_0: AdotLambdaLayerGenericVersion;
/**
* Version 0.82.0
*/
static readonly V0_82_0: AdotLambdaLayerGenericVersion;
/**
* Version 0.62.1
*/
static readonly V0_62_1: AdotLambdaLayerGenericVersion;
/**
* The latest layer version available in this CDK version. New versions could
* introduce incompatible changes. Make sure to test them before deploying to production.
*/
static readonly LATEST: AdotLambdaLayerGenericVersion;
private constructor();
}
export {};