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: 22

🧱 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: 7

  • 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.
  • 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.9.1.tar.gz (2.8 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.9.1-py3-none-any.whl (2.8 MB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for cdklabs_cdk_proserve_lib-0.9.1.tar.gz
Algorithm Hash digest
SHA256 afd6f4aa9cfb2562b1ab66723cf1f1cceec9aa431b143cec87f13d9678638c1c
MD5 398c871555eed1d89c94624b53ed457a
BLAKE2b-256 6eda5b11db8faa6bb46a9f38bc4af8a6eb7da24636aaaa3a428601650eae4f6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cdklabs_cdk_proserve_lib-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3575b2b6247ccb221053cb0e3ab503c0bd424a08efab15591a1c36402b942bf3
MD5 7d1e3949c88b68a79d97e264dabe140e
BLAKE2b-256 19347ab436819be2b0183f5797ebf74410f702404054adf33400cd1c122835b9

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