A construct that creates an AWS Lambda function to publish ENI usage metrics to CloudWatch.
To use the LambdaEniUsageMetricPublisher
construct, simply import it into your AWS CDK stack and create a new instance of the construct:
import { Stack } from 'aws-cdk-lib';
import { LambdaEniUsageMetricPublisher } from './lambda-eni-usage-metric-publisher';
const stack = new Stack(app, 'MyStack');
new LambdaEniUsageMetricPublisher(stack, 'MyLambdaEniUsageMetricPublisher', {
publishFrequency: 5,
regions: ['us-east-1', 'us-west-2'],
cwNamespace: 'MyNamespace',
});
This will create a new AWS Lambda function that publishes ENI usage metrics to CloudWatch every 5 minutes for the us-east-1
and us-west-2
regions, using the MyNamespace
namespace.
LambdaEniUsageMetricPublisher(scope: Construct, id: string, props: LambdaEniUsageMetricPublisherProps)
Creates a new instance of the LambdaEniUsageMetricPublisher
construct.
scope
- The parent construct.id
- The ID of the construct.props
- The properties of the construct.
publishFrequency
- The time interval (in minutes) that the Lambda function will be triggered to publish metrics to CloudWatch.regions
- The list of AWS regions to publish ENI usage metrics for.handler
- The AWS Lambda function that publishes ENI usage metrics to CloudWatch.rule
- The CloudWatch Events rule that triggers the Lambda function to publish metrics to CloudWatch.cwNamespace
- The CloudWatch namespace to publish metrics to.
This library is licensed under the Apache 2.0 License. See the LICENSE file.
A construct that creates an AWS Lambda function to publish ENI usage metrics to CloudWatch.
import { LambdaEniUsageMetricPublisher } from '@time-loop/cdk-lambda-eni-usage-metric-publisher'
new LambdaEniUsageMetricPublisher(scope: Construct, id: Namer, props: LambdaEniUsageMetricPublisherProps)
Name | Type | Description |
---|---|---|
scope |
constructs.Construct |
The parent construct. |
id |
multi-convention-namer.Namer |
The ID of the construct. |
props |
LambdaEniUsageMetricPublisherProps |
The properties of the construct. |
- Type: constructs.Construct
The parent construct.
- Type: multi-convention-namer.Namer
The ID of the construct.
The properties of the construct.
Name | Description |
---|---|
toString |
Returns a string representation of this construct. |
public toString(): string
Returns a string representation of this construct.
Name | Description |
---|---|
isConstruct |
Checks if x is a construct. |
import { LambdaEniUsageMetricPublisher } from '@time-loop/cdk-lambda-eni-usage-metric-publisher'
LambdaEniUsageMetricPublisher.isConstruct(x: any)
Checks if x
is a construct.
- Type: any
Any object.
Name | Type | Description |
---|---|---|
node |
constructs.Node |
The tree node. |
cwNamespace |
string |
No description. |
handler |
aws-cdk-lib.aws_lambda_nodejs.NodejsFunction |
No description. |
publishFrequency |
number |
No description. |
regions |
string[] |
No description. |
rule |
aws-cdk-lib.aws_events.Rule |
No description. |
public readonly node: Node;
- Type: constructs.Node
The tree node.
public readonly cwNamespace: string;
- Type: string
public readonly handler: NodejsFunction;
- Type: aws-cdk-lib.aws_lambda_nodejs.NodejsFunction
public readonly publishFrequency: number;
- Type: number
public readonly regions: string[];
- Type: string[]
public readonly rule: Rule;
- Type: aws-cdk-lib.aws_events.Rule
import { LambdaEniUsageMetricPublisherProps } from '@time-loop/cdk-lambda-eni-usage-metric-publisher'
const lambdaEniUsageMetricPublisherProps: LambdaEniUsageMetricPublisherProps = { ... }
Name | Type | Description |
---|---|---|
cloudwatchLogsRetention |
aws-cdk-lib.aws_logs.RetentionDays |
How long to retain logs published to CloudWatch logs. |
cwNamespace |
string |
The CloudWatch namespace to publish metrics to. |
publishFrequency |
number |
Time intervals that Lambda will be triggered to publish metric in CloudWatch. |
regions |
string[] |
List of AWS regions to publish ENI usage metrics for. |
public readonly cloudwatchLogsRetention: RetentionDays;
- Type: aws-cdk-lib.aws_logs.RetentionDays
- Default: aws_logs.RetentionDays.THREE_MONTHS
How long to retain logs published to CloudWatch logs.
public readonly cwNamespace: string;
- Type: string
- Default: 'LambdaHyperplaneEniUsage'
The CloudWatch namespace to publish metrics to.
public readonly publishFrequency: number;
- Type: number
- Default: 1
Time intervals that Lambda will be triggered to publish metric in CloudWatch.
public readonly regions: string[];
- Type: string[]
- Default: ['us-east-1']
List of AWS regions to publish ENI usage metrics for.