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
Close
Hashes for pepperize.cdk-terraform-state-backend-0.1.101.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3743af273ac00e96630563946a6500b0ec35d534a954aabd7c5d52dcaf6ebb60 |
|
MD5 | b139ab2d2162043956185e26fadae9a8 |
|
BLAKE2-256 | b5300ff27880d49b6386ea85c20d702197262c6b3a3ace5fb786d1e78c8f87d4 |
Close
Hashes for pepperize.cdk_terraform_state_backend-0.1.101-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04fd9b174a037a0224c1548319ba5253438922299ea6adb069515075261ef1dc |
|
MD5 | b44f1d0b381b9a554d9d5e153b990d00 |
|
BLAKE2-256 | 3bbe779a81cbe0bdc689c07af5cb5f0bbd5279e195bb02bdd4d9570baa7639ee |