This project provides a CDK construct bootstrapping an AWS account with a S3 Bucket and a DynamoDB table as terraform state backend.
Project description
AWS CDK Terraform state backend
This project provides a CDK construct bootstrapping an AWS account with a S3 Bucket and a DynamoDB table as Terraform state backend.
Terraform doesn't come shipped with a cli command bootstrapping the account for State Storage and Locking
like AWS CDK provides with cdk bootstrap
.
While bootstrapping the AWS Organization and Accounts this construct may be used to create:
- S3 Bucket with blocked public access, versioned, encrypted by SSE-S3
- DynamoDB Table with pay per request, continuous backups using point-in-time recovery, encrypted by AWS owned key
- IAM Policy with read/write access to the created S3 Bucket and DynamoDB Table
See API.md
Install
TypeScript
npm install @pepperize/cdk-terraform-state-backend
or
yarn add @pepperize/cdk-terraform-state-backend
Python
pip install pepperize.cdk-terraform-state-backend
C# / .Net
dotnet add package Pepperize.CDK.TerraformStateBackend
Java
<dependency>
<groupId>com.pepperize</groupId>
<artifactId>cdk-terraform-state-backend</artifactId>
<version>${cdkTerraformStateBackend.version}</version>
</dependency>
Example
import { App, Stack } from "@aws-cdk/core";
import { TerraformStateBackend } from "@pepperize/cdk-terraform-state-backend";
const app = new App();
const stack = new Stack(app, "stack", {
env: {
account: "123456789012",
region: "us-east-1",
},
});
// When
new TerraformStateBackend(stack, "TerraformStateBackend", {
bucketName: "terraform-state-backend",
tableName: "terraform-state-backend",
});
terraform {
backend "s3" {
bucket = "terraform-state-backend-123456789012-us-east-1"
dynamodb_table = "terraform-state-backend-123456789012"
key = "path/to/my/key"
region = "us-east-1"
}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pepperize.cdk-terraform-state-backend-0.1.888.tar.gz
.
File metadata
- Download URL: pepperize.cdk-terraform-state-backend-0.1.888.tar.gz
- Upload date:
- Size: 21.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd3885c9788b15d059c356d137a73b8891d033b2520a374d8462713995bb2886 |
|
MD5 | b739affb86e421c21cb7c69f5a629b82 |
|
BLAKE2b-256 | 3c1a9319cfefb6d2b26ed139aece5b2c58c5ff2ac1616ef028ea8dbb476d296d |
File details
Details for the file pepperize.cdk_terraform_state_backend-0.1.888-py3-none-any.whl
.
File metadata
- Download URL: pepperize.cdk_terraform_state_backend-0.1.888-py3-none-any.whl
- Upload date:
- Size: 22.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18d056531c05bfaa874a2ffa672ae04cecff6f0da42074e58a7972e3fb53172c |
|
MD5 | ac6dd01f5e39b8d7275b3adbbc029ac0 |
|
BLAKE2b-256 | 9654ae94237845268bcacb18a46af78d27143b1a34983a13845a19564d6ccac7 |