A collection of notes and resources
cdk init -l typescriptで初期化cdk.jsonを読む
"app": "npx ts-node --prefer-ts-exts bin/sqs.ts",
lib/sqs-stack.tsに書いていくAWS_REGION=ap-northeast-1 cdk bootstrap --profile sandboxMetadata: "aws:cdk:path": "SqsStack/MyQueue/Resource"だとApp->SqsStack->MyQueue->Resourceの順でコンストラクタが呼ばれていることがわかるcdk lsでプロジェクト内のスタック一覧cdk synth {スタック名}で特定のスタックだけ合成cdk deploy {スタック名}で特定のスタックだけデプロイ
cdk destroy {スタック名}で特定のスタックだけ削除
cdk synth {StackName} > template.yamlSTAGE=dev AWS_PROFILE=sandbox cdk deploy dev-*# エクスポートする側
Outputs:
MyBucketName:
Value: !Ref MyBucket # 出力する値
Export:
Name: MyBucketNameExport # 他スタックから参照するときの値。ユニークじゃないといけない
# インポートして使う側(別スタック)
Resources:
MyFunction:
Type: AWS::Lambda::Function
Properties:
Environment:
Variables:
BUCKET_NAME: !ImportValue MyBucketNameExport
new cdk.CfnOutput(this, 'VpcIdOutput', { value: vpc.vpcId, exportName: 'MyVpcId' });みたいに書くcdk.Fn.importValue(exportName)--exclusivelyオプションを使うのが安全aws-cdk-libモジュールのFn.subとかで使えるtest/__snapshots__/配下に保存されるnpx jest -uでスナップショット更新