Skip to content
This repository has been archived by the owner on Nov 28, 2023. It is now read-only.

Latest commit

 

History

History
284 lines (176 loc) · 11.1 KB

File metadata and controls

284 lines (176 loc) · 11.1 KB

LambdaEniUsageMetricPublisher

A construct that creates an AWS Lambda function to publish ENI usage metrics to CloudWatch.

Usage

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.

API

LambdaEniUsageMetricPublisher(scope: Construct, id: string, props: LambdaEniUsageMetricPublisherProps)

Creates a new instance of the LambdaEniUsageMetricPublisher construct.

Parameters

  • scope - The parent construct.
  • id - The ID of the construct.
  • props - The properties of the construct.

Properties

  • 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.

License

This library is licensed under the Apache 2.0 License. See the LICENSE file.

API Reference

Constructs

LambdaEniUsageMetricPublisher

A construct that creates an AWS Lambda function to publish ENI usage metrics to CloudWatch.

Initializers

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.

scopeRequired
  • Type: constructs.Construct

The parent construct.


idRequired
  • Type: multi-convention-namer.Namer

The ID of the construct.


propsRequired

The properties of the construct.


Methods

Name Description
toString Returns a string representation of this construct.

toString
public toString(): string

Returns a string representation of this construct.

Static Functions

Name Description
isConstruct Checks if x is a construct.

isConstruct
import { LambdaEniUsageMetricPublisher } from '@time-loop/cdk-lambda-eni-usage-metric-publisher'

LambdaEniUsageMetricPublisher.isConstruct(x: any)

Checks if x is a construct.

xRequired
  • Type: any

Any object.


Properties

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.

nodeRequired
public readonly node: Node;
  • Type: constructs.Node

The tree node.


cwNamespaceRequired
public readonly cwNamespace: string;
  • Type: string

handlerRequired
public readonly handler: NodejsFunction;
  • Type: aws-cdk-lib.aws_lambda_nodejs.NodejsFunction

publishFrequencyRequired
public readonly publishFrequency: number;
  • Type: number

regionsRequired
public readonly regions: string[];
  • Type: string[]

ruleRequired
public readonly rule: Rule;
  • Type: aws-cdk-lib.aws_events.Rule

Structs

LambdaEniUsageMetricPublisherProps

Initializer

import { LambdaEniUsageMetricPublisherProps } from '@time-loop/cdk-lambda-eni-usage-metric-publisher'

const lambdaEniUsageMetricPublisherProps: LambdaEniUsageMetricPublisherProps = { ... }

Properties

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.

cloudwatchLogsRetentionOptional
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.


cwNamespaceOptional
public readonly cwNamespace: string;
  • Type: string
  • Default: 'LambdaHyperplaneEniUsage'

The CloudWatch namespace to publish metrics to.


publishFrequencyOptional
public readonly publishFrequency: number;
  • Type: number
  • Default: 1

Time intervals that Lambda will be triggered to publish metric in CloudWatch.


regionsOptional
public readonly regions: string[];
  • Type: string[]
  • Default: ['us-east-1']

List of AWS regions to publish ENI usage metrics for.