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.0.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.0-py3-none-any.whl (3.5 MB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for cdklabs_cdk_proserve_lib-0.13.0.tar.gz
Algorithm Hash digest
SHA256 4ae3fa9c38bb144ea2bd31808ecd3125a785d900b725b786744026cba6029ba4
MD5 3be1354f3e64d55109890e62841da12f
BLAKE2b-256 c23cffc9bab62b00aea7b6307e3c85ca39a490131605dcdbeff9037ba6013fe7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cdklabs_cdk_proserve_lib-0.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 76c47fa1ebae3c9136166244652f1fa5c8f79e327742bb756b1a82912176fe50
MD5 f48a266b487fb0e3808be8238018900a
BLAKE2b-256 392d6529bb061c54aeac71330bd2cc98cdfe616de958a6ee04baf13ead4fab50

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