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.12.tar.gz (16.0 MB view details)

Uploaded Source

Built Distribution

cloudparing.aws_cdk-0.0.12-py3-none-any.whl (16.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cloudparing.aws-cdk-0.0.12.tar.gz
  • Upload date:
  • Size: 16.0 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.12.tar.gz
Algorithm Hash digest
SHA256 9b14f1fb5b1834d7dbad87ce3e738df2ed90d153e7819544ed56ae6e69ea251c
MD5 7d4870bb7ad52551497e6ac01e8868d5
BLAKE2b-256 a37ca366cf5b6c42afc509c475ed3533d0fb7b0a4dc41c2f941a898050e360cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cloudparing.aws_cdk-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 afd9e3c11c4d6df5a928a02864ecad1e6182a60d141a3f04f79538c31ed3a3ea
MD5 0635797a60b18b16e329e95108ae907c
BLAKE2b-256 013607810e7bafaaca421f9598134a1df602fdedf08e59080a94f0f602ce3806

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