Skip to main content

The cloudparing CDK library

Project description

Cloudparing AWS CDK Construct Library

CDK constructs focused on monitoring and reducing cloud infrastructure costs.

Installation

TypeScript

https://www.npmjs.com/package/@cloudparing/aws-cdk-lib

In your package.json:

{
  "dependencies": {
    "@cloudparing/aws-cdk-lib": "^0.0.0",

    // peer dependencies
    "aws-cdk-lib": "^2.65.0",
    "constructs": "^10.0.5"

    // ...your other dependencies...
  }
}

Features

Cost and Usage Report (CUR) v2 Report

    const curBucket =
      props.bucket ||
      new cdk.aws_s3.Bucket(this, `Cur2Bucket`, {
        bucketName: `cur2-${cdk.Aws.ACCOUNT_ID}-${cdk.Aws.REGION}`,
      });

    new Cur2ExportDefinition(this, `Cur2ExportDefinition`, {
      name: 'cur2-daily-csv',
      description: props.exportDescription,
      bucket: curBucket,
    });

Legacy Cost and Usage Report (CUR)

An L2 construct and CDK stack for configuring the AWS Cost and Usage Report.

NOTE: The CUR report must be deployed to us-east-1

Example using the ReportDefinition construct:

    new ReportDefinition(this, `ReportDefinitionId`, {
      reportName: "CUR Report",
      s3Bucket: yourS3Bucket,
    });

Example using the provided Stacks:

import { CurStack, Cur2Stack } from '@cloudparing/aws-cdk-lib';
import * as cdk from 'aws-cdk-lib';

// for development, use account/region from cdk cli
const devEnv = {
  account: process.env.CDK_DEFAULT_ACCOUNT,
  region: process.env.CDK_DEFAULT_REGION,
};

const app = new cdk.App();

new CurStack(app, 'curStack-dev', {
  env: devEnv,
  stackName: 'CurStack',
  reportName: 'cur-daily-csv',
});

new Cur2Stack(app, 'cur2Stack-dev', {
  env: devEnv,
  stackName: 'Cur2Stack',
  name: 'cur2-daily-csv',
});

app.synth();

Both the L2 construct and the stack provide sensible defaults which can be customized by setting props.

    new ReportDefinition(this, `ReportDefinitionId`, {
      reportName: "CUR Report",
      s3Bucket: yourS3Bucket,
      format: 'Parquet'
    });

License

This project is licensed under the Apache-2.0 License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cloudparing.aws-cdk-0.0.14.tar.gz (16.5 MB view details)

Uploaded Source

Built Distribution

cloudparing.aws_cdk-0.0.14-py3-none-any.whl (16.5 MB view details)

Uploaded Python 3

File details

Details for the file cloudparing.aws-cdk-0.0.14.tar.gz.

File metadata

  • Download URL: cloudparing.aws-cdk-0.0.14.tar.gz
  • Upload date:
  • Size: 16.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for cloudparing.aws-cdk-0.0.14.tar.gz
Algorithm Hash digest
SHA256 c31f961322042edcb40e8ae5cdc44548a0bac8d0df5d08836a5e52fd15dcae96
MD5 542b059d744c78affff668d4375b76b7
BLAKE2b-256 ec349f432c748c7d32c8b10cacf86c1bf46d22c0f07928f8c964d52b8d6e19e0

See more details on using hashes here.

File details

Details for the file cloudparing.aws_cdk-0.0.14-py3-none-any.whl.

File metadata

File hashes

Hashes for cloudparing.aws_cdk-0.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 24b3cf00c1fbb9c256c36a477cbcaa603cad8394fa5ccf6c136816e7dd758f56
MD5 3fd47863d4a8689f2e05548dbf2171b6
BLAKE2b-256 6631e2fbaa31680c8ff6248ef6e7d5c37574626458ddd04c65fc1992d47f5bc5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page