@cm-madlabs/cdk-constructs
v0.0.6
Published
AWS CDK Constructs that can be used universally
Downloads
3
Readme
MAD Labs AWS CDK Constructs
汎用的なCDKリソース定義をConstruct
としてまとめていきます。
AWS CDKで実装する際の参考に使ってください。
How to use
基本的な使い方は、CDKのConstructを使う手順と同様です。
パッケージをインストールする
yarn add -D @cm-madlabs/cdk-construct
CDKプロジェクトでimportして使う
import * as cdk from '@aws-cdk/core';
import {BucketReplicationIamRole} from '@cm-madlabs/cdk-construct';
export class TestStack extends cdk.Stack {
constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
super(scope, id);
// パケットレプリケーション用のIAMロールを作成するConstruct
const replication = new BucketReplicationIamRole(this, 'test', {
bucketName: 'test',
baseIamRoleArn: 'test',
destinationRoleArn: 'test',
});
console.log(replication.role);
}
}
API Reference
Construct
をクラスとしてまとめています。クラスの仕様については、
API.mdを参照してください。
Steps to add Construct
新しいConstructを追加する手順です。
このプロジェクトでは、テスト的に projen というプロジェクトの設定を管理するOSSをを使っています。
基本的に、package.json
,tsconfig.json
などの設定ファイルとなる json
ファイルを直接触ることができません。
新しいライブラリを追加したり、設定ファイルをいじる場合は、projenrc.js
を修正します。
1. プロジェクトを Clone する
プロジェクトをCloneします。
git clone https://github.com/cm-madlabs/cdk-constructs.git
2. パッケージをインストールする
projen
の制約で使っているので、yarn install
を使ってはいけません。
yarn prohen
3. Constructをsrc/
配下に作成する
Constructクラスを作成する手順です。
cdk.Construct
を継承したクラスを作成します。
import * as cdk from '@aws-cdk/core';
export class TestConstruct extends cdk.Construct {
constructor(scope: cdk.Construct, id: string, props: IS3BucketReplicationIamRoleProps) {
super(scope, id);
// 以下にConstrcutとしてまとめたいリソース定義を作成する
}
}
src/index.ts
に追加したConstructを追加する
export * from './test-construct';
4. Snapshot テストを書く
生成されるCloudFormationテンプレートにに変更がないことを確認するSnapshotテストを作成します。
WIP