0.0.6 • Published 5 years ago
@cm-madlabs/cdk-constructs v0.0.6
MAD Labs AWS CDK Constructs
汎用的なCDKリソース定義をConstructとしてまとめていきます。
AWS CDKで実装する際の参考に使ってください。
How to use
基本的な使い方は、CDKのConstructを使う手順と同様です。
パッケージをインストールする
yarn add -D @cm-madlabs/cdk-constructCDKプロジェクトで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.git2. パッケージをインストールする
projenの制約で使っているので、yarn installを使ってはいけません。
yarn prohen3. 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