Skip to main content

AWS CDK library containing constructs, aspects, and patterns.

Project description

CDK ProServe Library

npm version PyPI version Maven version NuGet version Go version codecov

View on Construct Hub

A comprehensive AWS Cloud Development Kit (CDK) library that provides a collection of well-architected constructs, aspects, and patterns for accelerating your cloud infrastructure development.

🛠️ Installation

This library is available in multiple programming languages through their respective package managers.

TypeScript/JavaScript
npm install @cdklabs/cdk-proserve-lib
Python
pip install cdklabs.cdk-proserve-lib
Java

Add the following to your pom.xml:

<dependency>
    <groupId>io.github.cdklabs</groupId>
    <artifactId>cdk-proserve-lib</artifactId>
    <version>[VERSION]</version>
</dependency>

Replace [VERSION] with the desired version from Maven Central.

.NET
dotnet add package Cdklabs.CdkProserveLib
Go
go get github.com/cdklabs/cdk-proserve-lib-go/cdklabscdkproservelib

📚 Library

The library consists of constructs, aspects, and patterns that you can utilize in AWS CDK applications.

Total: 23

🧱 Constructs

Constructs are the basic building blocks of AWS Cloud Development Kit (AWS CDK) applications. A construct is a component within your application that represents one or more AWS CloudFormation resources and their configuration. You build your application, piece by piece, by importing and configuring constructs. To learn more about constructs, check out the AWS CDK documentation.

Count: 12

  • DynamoDbProvisionTable: Controls the contents of an Amazon DynamoDB table from Infrastructure as Code.
  • Ec2ImageBuilderGetImage: Retrieves an EC2 Image Builder image build version.
  • Ec2ImageBuilderStart: Starts an EC2 Image Builder Pipeline and optionally waits for the build to complete.
  • Ec2ImagePipeline: An EC2 Image Pipeline that can be used to build a Amazon Machine Image (AMI) automatically.
  • FriendlyEmbrace: The Friendly Embrace construct can be used to remove CloudFormation stack dependencies that are based on stack exports and imports.
  • IamServerCertificate: Manages an AWS Identity and Access Management Server Certificate for use in regions/partitions where AWS Certificate Manager is not available.
  • NetworkFirewall: Creates an AWS Network Firewall using a user-supplied Suricata rules file in a VPC.
  • NetworkFirewallEndpoints: Retrieves Network Firewall endpoints so that you can reference them in your other resources.
  • OpenSearchAdminUser: Manages an admin user for an Amazon OpenSearch domain.
  • OpenSearchProvisionDomain: Controls the contents of an Amazon OpenSearch Service domain from Infrastructure as Code.
  • OpenSearchWorkflow: Create OpenSearch Workflows using the flow framework to automate the provisioning of complex tasks using JSON or YAML.
  • WebApplicationFirewall: Creates an AWS Web Application Firewall (WAF) that can be associated with resources such as an Application Load Balancer.

🎭 Aspects

Aspects are a way to apply an operation to all constructs in a given scope. The aspect could modify the constructs, such as by adding tags. Or it could verify something about the state of the constructs, such as making sure that all buckets are encrypted. To learn more about aspects, check out the AWS CDK documentation.

Count: 8

  • ApplyRemovalPolicy: Sets a user specified Removal Policy to all resources that the aspect applies to.
  • CreateLambdaLogGroup: Ensures that Lambda log groups are created for all Lambda functions that the aspect applies to.
  • Ec2AutomatedShutdown: Automatically shut down EC2 instances when an alarm is triggered based off of a provided metric.
  • RdsOracleMultiTenant: Enables Oracle MultiTenant configuration on RDS Oracle database instances.
  • SecureSageMakerNotebook: Aspect that enforces security controls on SageMaker Notebook Instances by requiring VPC placement, disabling direct internet access, and preventing root access to the notebook environment.
  • SecurityCompliance: Applies best practice security settings to be in compliance with security tools such as CDK Nag.
  • SetLogRetention: Aspect that sets the log retention period for CloudWatch log groups to a user-supplied retention period.
  • SqsRequireSsl: Enforces SSL/TLS requirements on Simple Queue Service (SQS) for all resources that the aspect applies to.

🎯 Patterns

Patterns are higher-level abstractions that combine multiple constructs and their configurations to form an opinionated solution. They help developers implement best practices and reduce the amount of code needed to build well-architected infrastructure. Patterns typically orchestrate multiple AWS services together in a way that follows AWS best practices. To learn more about patterns, check out the AWS CDK documentation.

Count: 3

🤝 Contributors

contributors

📄 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

cdklabs_cdk_proserve_lib-0.13.1.tar.gz (3.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cdklabs_cdk_proserve_lib-0.13.1-py3-none-any.whl (3.5 MB view details)

Uploaded Python 3

File details

Details for the file cdklabs_cdk_proserve_lib-0.13.1.tar.gz.

File metadata

File hashes

Hashes for cdklabs_cdk_proserve_lib-0.13.1.tar.gz
Algorithm Hash digest
SHA256 32b0d3995293ae174b3ac15291d7d7d81d5d7e3c6a0dffbd982933a183f77eeb
MD5 a1285b42b20b64fdf8ed3a1e67c4fcd2
BLAKE2b-256 f50d429494e144ec83bf89036adaa777da2d10292c7d844c2c9baf619a02c347

See more details on using hashes here.

File details

Details for the file cdklabs_cdk_proserve_lib-0.13.1-py3-none-any.whl.

File metadata

File hashes

Hashes for cdklabs_cdk_proserve_lib-0.13.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dac5c373891b07d5b33488342913dbe142db56d5852e78088dc7bffb2a2997f5
MD5 1b99f327e31f1076b63390056e72b9a4
BLAKE2b-256 832cc88bd3d36abb61c73413fbeb0bbf36e8f8f2965c79b6ce1ce76cb77a5810

See more details on using hashes here.

Supported by

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