aws-cdk 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +276 -0
- package/LICENSE +202 -0
- package/NOTICE +16 -0
- package/README.md +1274 -0
- package/THIRD_PARTY_LICENSES +26821 -0
- package/bin/cdk +6 -0
- package/build-info.json +4 -0
- package/db.json.gz +0 -0
- package/generate.sh +25 -0
- package/images/garbage-collection.png +0 -0
- package/lib/api/aws-auth/account-cache.d.ts +39 -0
- package/lib/api/aws-auth/account-cache.js +102 -0
- package/lib/api/aws-auth/awscli-compatible.d.ts +42 -0
- package/lib/api/aws-auth/awscli-compatible.js +264 -0
- package/lib/api/aws-auth/cached.d.ts +11 -0
- package/lib/api/aws-auth/cached.js +26 -0
- package/lib/api/aws-auth/credential-plugins.d.ts +36 -0
- package/lib/api/aws-auth/credential-plugins.js +153 -0
- package/lib/api/aws-auth/index.d.ts +3 -0
- package/lib/api/aws-auth/index.js +20 -0
- package/lib/api/aws-auth/provider-caching.d.ts +13 -0
- package/lib/api/aws-auth/provider-caching.js +24 -0
- package/lib/api/aws-auth/sdk-logger.d.ts +69 -0
- package/lib/api/aws-auth/sdk-logger.js +130 -0
- package/lib/api/aws-auth/sdk-provider.d.ts +207 -0
- package/lib/api/aws-auth/sdk-provider.js +359 -0
- package/lib/api/aws-auth/sdk.d.ts +223 -0
- package/lib/api/aws-auth/sdk.js +366 -0
- package/lib/api/aws-auth/tracing.d.ts +11 -0
- package/lib/api/aws-auth/tracing.js +61 -0
- package/lib/api/aws-auth/user-agent.d.ts +7 -0
- package/lib/api/aws-auth/user-agent.js +21 -0
- package/lib/api/aws-auth/util.d.ts +6 -0
- package/lib/api/aws-auth/util.js +23 -0
- package/lib/api/bootstrap/bootstrap-environment.d.ts +33 -0
- package/lib/api/bootstrap/bootstrap-environment.js +322 -0
- package/lib/api/bootstrap/bootstrap-props.d.ts +130 -0
- package/lib/api/bootstrap/bootstrap-props.js +14 -0
- package/lib/api/bootstrap/bootstrap-template.yaml +692 -0
- package/lib/api/bootstrap/deploy-bootstrap.d.ts +37 -0
- package/lib/api/bootstrap/deploy-bootstrap.js +143 -0
- package/lib/api/bootstrap/index.d.ts +2 -0
- package/lib/api/bootstrap/index.js +19 -0
- package/lib/api/bootstrap/legacy-template.d.ts +2 -0
- package/lib/api/bootstrap/legacy-template.js +82 -0
- package/lib/api/context.d.ts +40 -0
- package/lib/api/context.js +82 -0
- package/lib/api/cxapp/cloud-assembly.d.ts +150 -0
- package/lib/api/cxapp/cloud-assembly.js +305 -0
- package/lib/api/cxapp/cloud-executable.d.ts +44 -0
- package/lib/api/cxapp/cloud-executable.js +90 -0
- package/lib/api/cxapp/environments.d.ts +9 -0
- package/lib/api/cxapp/environments.js +66 -0
- package/lib/api/cxapp/exec.d.ts +56 -0
- package/lib/api/cxapp/exec.js +275 -0
- package/lib/api/deployments/asset-manifest-builder.d.ts +8 -0
- package/lib/api/deployments/asset-manifest-builder.js +35 -0
- package/lib/api/deployments/asset-publishing.d.ts +77 -0
- package/lib/api/deployments/asset-publishing.js +163 -0
- package/lib/api/deployments/assets.d.ts +10 -0
- package/lib/api/deployments/assets.js +111 -0
- package/lib/api/deployments/checks.d.ts +8 -0
- package/lib/api/deployments/checks.js +73 -0
- package/lib/api/deployments/cloudformation.d.ts +235 -0
- package/lib/api/deployments/cloudformation.js +598 -0
- package/lib/api/deployments/deploy-stack.d.ts +177 -0
- package/lib/api/deployments/deploy-stack.js +484 -0
- package/lib/api/deployments/deployment-method.d.ts +24 -0
- package/lib/api/deployments/deployment-method.js +3 -0
- package/lib/api/deployments/deployment-result.d.ts +21 -0
- package/lib/api/deployments/deployment-result.js +10 -0
- package/lib/api/deployments/deployments.d.ts +340 -0
- package/lib/api/deployments/deployments.js +369 -0
- package/lib/api/deployments/hotswap-deployments.d.ts +14 -0
- package/lib/api/deployments/hotswap-deployments.js +357 -0
- package/lib/api/deployments/index.d.ts +6 -0
- package/lib/api/deployments/index.js +23 -0
- package/lib/api/deployments/nested-stack-helpers.d.ts +25 -0
- package/lib/api/deployments/nested-stack-helpers.js +88 -0
- package/lib/api/environment-access.d.ts +138 -0
- package/lib/api/environment-access.js +203 -0
- package/lib/api/environment-resources.d.ts +73 -0
- package/lib/api/environment-resources.js +208 -0
- package/lib/api/evaluate-cloudformation-template.d.ts +84 -0
- package/lib/api/evaluate-cloudformation-template.js +443 -0
- package/lib/api/garbage-collection/garbage-collector.d.ts +152 -0
- package/lib/api/garbage-collection/garbage-collector.js +607 -0
- package/lib/api/garbage-collection/progress-printer.d.ts +21 -0
- package/lib/api/garbage-collection/progress-printer.js +69 -0
- package/lib/api/garbage-collection/stack-refresh.d.ts +44 -0
- package/lib/api/garbage-collection/stack-refresh.js +154 -0
- package/lib/api/hotswap/appsync-mapping-templates.d.ts +3 -0
- package/lib/api/hotswap/appsync-mapping-templates.js +157 -0
- package/lib/api/hotswap/code-build-projects.d.ts +3 -0
- package/lib/api/hotswap/code-build-projects.js +55 -0
- package/lib/api/hotswap/common.d.ts +126 -0
- package/lib/api/hotswap/common.js +170 -0
- package/lib/api/hotswap/ecs-services.d.ts +3 -0
- package/lib/api/hotswap/ecs-services.js +140 -0
- package/lib/api/hotswap/lambda-functions.d.ts +3 -0
- package/lib/api/hotswap/lambda-functions.js +309 -0
- package/lib/api/hotswap/s3-bucket-deployments.d.ts +9 -0
- package/lib/api/hotswap/s3-bucket-deployments.js +112 -0
- package/lib/api/hotswap/stepfunctions-state-machines.d.ts +3 -0
- package/lib/api/hotswap/stepfunctions-state-machines.js +42 -0
- package/lib/api/index.d.ts +5 -0
- package/lib/api/index.js +22 -0
- package/lib/api/logs/find-cloudwatch-logs.d.ts +24 -0
- package/lib/api/logs/find-cloudwatch-logs.js +97 -0
- package/lib/api/logs/logs-monitor.d.ts +53 -0
- package/lib/api/logs/logs-monitor.js +169 -0
- package/lib/api/plugin/context-provider-plugin.d.ts +6 -0
- package/lib/api/plugin/context-provider-plugin.js +7 -0
- package/lib/api/plugin/index.d.ts +3 -0
- package/lib/api/plugin/index.js +20 -0
- package/lib/api/plugin/mode.d.ts +4 -0
- package/lib/api/plugin/mode.js +9 -0
- package/lib/api/plugin/plugin.d.ts +63 -0
- package/lib/api/plugin/plugin.js +106 -0
- package/lib/api/settings.d.ts +29 -0
- package/lib/api/settings.js +141 -0
- package/lib/api/tags.d.ts +9 -0
- package/lib/api/tags.js +10 -0
- package/lib/api/toolkit-info.d.ts +51 -0
- package/lib/api/toolkit-info.js +156 -0
- package/lib/api/util/cloudformation/stack-activity-monitor.d.ts +237 -0
- package/lib/api/util/cloudformation/stack-activity-monitor.js +550 -0
- package/lib/api/util/cloudformation/stack-event-poller.d.ts +63 -0
- package/lib/api/util/cloudformation/stack-event-poller.js +129 -0
- package/lib/api/util/cloudformation/stack-status.d.ts +42 -0
- package/lib/api/util/cloudformation/stack-status.js +88 -0
- package/lib/api/util/display.d.ts +13 -0
- package/lib/api/util/display.js +80 -0
- package/lib/api/util/placeholders.d.ts +10 -0
- package/lib/api/util/placeholders.js +24 -0
- package/lib/api/util/rwlock.d.ts +65 -0
- package/lib/api/util/rwlock.js +179 -0
- package/lib/api/util/string-manipulation.d.ts +10 -0
- package/lib/api/util/string-manipulation.js +33 -0
- package/lib/api/util/template-body-parameter.d.ts +21 -0
- package/lib/api/util/template-body-parameter.js +104 -0
- package/lib/cli/cdk-toolkit.d.ts +594 -0
- package/lib/cli/cdk-toolkit.js +1019 -0
- package/lib/cli/cli-config.d.ts +10 -0
- package/lib/cli/cli-config.js +406 -0
- package/lib/cli/cli.d.ts +4 -0
- package/lib/cli/cli.js +538 -0
- package/lib/cli/convert-to-user-input.d.ts +3 -0
- package/lib/cli/convert-to-user-input.js +434 -0
- package/lib/cli/parse-command-line-arguments.d.ts +1 -0
- package/lib/cli/parse-command-line-arguments.js +806 -0
- package/lib/cli/platform-warnings.d.ts +2 -0
- package/lib/cli/platform-warnings.js +45 -0
- package/lib/cli/user-configuration.d.ts +90 -0
- package/lib/cli/user-configuration.js +272 -0
- package/lib/cli/user-input.d.ts +1163 -0
- package/lib/cli/user-input.js +3 -0
- package/lib/cli/util/console-formatters.d.ts +18 -0
- package/lib/cli/util/console-formatters.js +42 -0
- package/lib/cli/util/npm.d.ts +1 -0
- package/lib/cli/util/npm.js +22 -0
- package/lib/cli/util/yargs-helpers.d.ts +22 -0
- package/lib/cli/util/yargs-helpers.js +49 -0
- package/lib/cli/version.d.ts +13 -0
- package/lib/cli/version.js +120 -0
- package/lib/commands/context.d.ts +35 -0
- package/lib/commands/context.js +156 -0
- package/lib/commands/docs.d.ts +13 -0
- package/lib/commands/docs.js +32 -0
- package/lib/commands/doctor.d.ts +1 -0
- package/lib/commands/doctor.js +69 -0
- package/lib/commands/migrate.d.ts +327 -0
- package/lib/commands/migrate.js +804 -0
- package/lib/context-providers/ami.d.ts +11 -0
- package/lib/context-providers/ami.js +50 -0
- package/lib/context-providers/availability-zones.d.ts +11 -0
- package/lib/context-providers/availability-zones.js +27 -0
- package/lib/context-providers/endpoint-service-availability-zones.d.ts +11 -0
- package/lib/context-providers/endpoint-service-availability-zones.js +33 -0
- package/lib/context-providers/hosted-zones.d.ts +10 -0
- package/lib/context-providers/hosted-zones.js +67 -0
- package/lib/context-providers/index.d.ts +30 -0
- package/lib/context-providers/index.js +109 -0
- package/lib/context-providers/keys.d.ts +11 -0
- package/lib/context-providers/keys.js +52 -0
- package/lib/context-providers/load-balancers.d.ts +20 -0
- package/lib/context-providers/load-balancers.js +159 -0
- package/lib/context-providers/security-groups.d.ts +9 -0
- package/lib/context-providers/security-groups.js +70 -0
- package/lib/context-providers/ssm-parameters.d.ts +23 -0
- package/lib/context-providers/ssm-parameters.js +59 -0
- package/lib/context-providers/vpcs.d.ts +11 -0
- package/lib/context-providers/vpcs.js +288 -0
- package/lib/diff.d.ts +28 -0
- package/lib/diff.js +165 -0
- package/lib/import.d.ts +182 -0
- package/lib/import.js +335 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +348304 -0
- package/lib/index_bg.wasm +0 -0
- package/lib/init-hooks.d.ts +40 -0
- package/lib/init-hooks.js +64 -0
- package/lib/init-templates/.init-version.json +1 -0
- package/lib/init-templates/.no-packagejson-validator +0 -0
- package/lib/init-templates/.recommended-feature-flags.json +68 -0
- package/lib/init-templates/LICENSE +16 -0
- package/lib/init-templates/app/csharp/.template.gitignore +342 -0
- package/lib/init-templates/app/csharp/README.md +14 -0
- package/lib/init-templates/app/csharp/cdk.template.json +15 -0
- package/lib/init-templates/app/csharp/src/%name.PascalCased%/%name.PascalCased%.template.csproj +20 -0
- package/lib/init-templates/app/csharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.cs +13 -0
- package/lib/init-templates/app/csharp/src/%name.PascalCased%/GlobalSuppressions.cs +1 -0
- package/lib/init-templates/app/csharp/src/%name.PascalCased%/Program.template.cs +44 -0
- package/lib/init-templates/app/csharp/src/%name.PascalCased%.template.sln +18 -0
- package/lib/init-templates/app/fsharp/.template.gitignore +342 -0
- package/lib/init-templates/app/fsharp/README.md +18 -0
- package/lib/init-templates/app/fsharp/cdk.template.json +14 -0
- package/lib/init-templates/app/fsharp/src/%name.PascalCased%/%name.PascalCased%.template.fsproj +25 -0
- package/lib/init-templates/app/fsharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.fs +8 -0
- package/lib/init-templates/app/fsharp/src/%name.PascalCased%/Program.template.fs +11 -0
- package/lib/init-templates/app/fsharp/src/%name.PascalCased%.template.sln +18 -0
- package/lib/init-templates/app/go/%name%.template.go +70 -0
- package/lib/init-templates/app/go/%name%_test.template.go +26 -0
- package/lib/init-templates/app/go/.template.gitignore +19 -0
- package/lib/init-templates/app/go/README.md +12 -0
- package/lib/init-templates/app/go/cdk.template.json +13 -0
- package/lib/init-templates/app/go/go.template.mod +9 -0
- package/lib/init-templates/app/info.json +4 -0
- package/lib/init-templates/app/java/.template.gitignore +13 -0
- package/lib/init-templates/app/java/README.md +18 -0
- package/lib/init-templates/app/java/cdk.json +13 -0
- package/lib/init-templates/app/java/pom.xml +60 -0
- package/lib/init-templates/app/java/src/main/java/com/myorg/%name.PascalCased%App.template.java +42 -0
- package/lib/init-templates/app/java/src/main/java/com/myorg/%name.PascalCased%Stack.template.java +24 -0
- package/lib/init-templates/app/java/src/test/java/com/myorg/%name.PascalCased%Test.template.java +26 -0
- package/lib/init-templates/app/javascript/.template.gitignore +5 -0
- package/lib/init-templates/app/javascript/.template.npmignore +3 -0
- package/lib/init-templates/app/javascript/README.md +12 -0
- package/lib/init-templates/app/javascript/bin/%name%.template.js +21 -0
- package/lib/init-templates/app/javascript/cdk.template.json +15 -0
- package/lib/init-templates/app/javascript/jest.config.js +3 -0
- package/lib/init-templates/app/javascript/lib/%name%-stack.template.js +23 -0
- package/lib/init-templates/app/javascript/package.json +20 -0
- package/lib/init-templates/app/javascript/test/%name%.test.template.js +17 -0
- package/lib/init-templates/app/python/%name.PythonModule%/%name.PythonModule%_stack.template.py +19 -0
- package/lib/init-templates/app/python/%name.PythonModule%/__init__.py +0 -0
- package/lib/init-templates/app/python/.template.gitignore +10 -0
- package/lib/init-templates/app/python/README.template.md +58 -0
- package/lib/init-templates/app/python/app.template.py +28 -0
- package/lib/init-templates/app/python/cdk.template.json +15 -0
- package/lib/init-templates/app/python/requirements-dev.txt +1 -0
- package/lib/init-templates/app/python/requirements.txt +2 -0
- package/lib/init-templates/app/python/source.bat +13 -0
- package/lib/init-templates/app/python/tests/__init__.py +0 -0
- package/lib/init-templates/app/python/tests/unit/__init__.py +0 -0
- package/lib/init-templates/app/python/tests/unit/test_%name.PythonModule%_stack.template.py +15 -0
- package/lib/init-templates/app/typescript/.template.gitignore +8 -0
- package/lib/init-templates/app/typescript/.template.npmignore +6 -0
- package/lib/init-templates/app/typescript/README.md +14 -0
- package/lib/init-templates/app/typescript/bin/%name%.template.ts +20 -0
- package/lib/init-templates/app/typescript/cdk.template.json +17 -0
- package/lib/init-templates/app/typescript/jest.config.js +8 -0
- package/lib/init-templates/app/typescript/lib/%name%-stack.template.ts +16 -0
- package/lib/init-templates/app/typescript/package.json +26 -0
- package/lib/init-templates/app/typescript/test/%name%.test.template.ts +17 -0
- package/lib/init-templates/app/typescript/tsconfig.json +31 -0
- package/lib/init-templates/lib/info.json +4 -0
- package/lib/init-templates/lib/typescript/.template.gitignore +8 -0
- package/lib/init-templates/lib/typescript/.template.npmignore +6 -0
- package/lib/init-templates/lib/typescript/README.template.md +12 -0
- package/lib/init-templates/lib/typescript/jest.config.js +8 -0
- package/lib/init-templates/lib/typescript/lib/index.template.ts +21 -0
- package/lib/init-templates/lib/typescript/package.json +24 -0
- package/lib/init-templates/lib/typescript/test/%name%.test.template.ts +18 -0
- package/lib/init-templates/lib/typescript/tsconfig.json +31 -0
- package/lib/init-templates/sample-app/csharp/.template.gitignore +342 -0
- package/lib/init-templates/sample-app/csharp/README.template.md +19 -0
- package/lib/init-templates/sample-app/csharp/cdk.template.json +15 -0
- package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/%name.PascalCased%.template.csproj +20 -0
- package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.cs +24 -0
- package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/GlobalSuppressions.cs +1 -0
- package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/Program.template.cs +15 -0
- package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%.template.sln +18 -0
- package/lib/init-templates/sample-app/fsharp/.template.gitignore +342 -0
- package/lib/init-templates/sample-app/fsharp/README.template.md +20 -0
- package/lib/init-templates/sample-app/fsharp/cdk.template.json +14 -0
- package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/%name.PascalCased%.template.fsproj +25 -0
- package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.fs +14 -0
- package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/Program.template.fs +11 -0
- package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%.template.sln +18 -0
- package/lib/init-templates/sample-app/go/%name%.template.go +73 -0
- package/lib/init-templates/sample-app/go/%name%_test.template.go +25 -0
- package/lib/init-templates/sample-app/go/.template.gitignore +19 -0
- package/lib/init-templates/sample-app/go/README.md +12 -0
- package/lib/init-templates/sample-app/go/cdk.template.json +13 -0
- package/lib/init-templates/sample-app/go/go.template.mod +9 -0
- package/lib/init-templates/sample-app/info.json +4 -0
- package/lib/init-templates/sample-app/java/.template.gitignore +13 -0
- package/lib/init-templates/sample-app/java/README.template.md +19 -0
- package/lib/init-templates/sample-app/java/cdk.json +13 -0
- package/lib/init-templates/sample-app/java/pom.xml +55 -0
- package/lib/init-templates/sample-app/java/src/main/java/com/myorg/%name.PascalCased%App.template.java +13 -0
- package/lib/init-templates/sample-app/java/src/main/java/com/myorg/%name.PascalCased%Stack.template.java +29 -0
- package/lib/init-templates/sample-app/java/src/test/java/com/myorg/%name.PascalCased%StackTest.template.java +27 -0
- package/lib/init-templates/sample-app/javascript/.template.gitignore +5 -0
- package/lib/init-templates/sample-app/javascript/.template.npmignore +3 -0
- package/lib/init-templates/sample-app/javascript/README.template.md +13 -0
- package/lib/init-templates/sample-app/javascript/bin/%name%.template.js +6 -0
- package/lib/init-templates/sample-app/javascript/cdk.template.json +15 -0
- package/lib/init-templates/sample-app/javascript/jest.config.js +3 -0
- package/lib/init-templates/sample-app/javascript/lib/%name%-stack.template.js +25 -0
- package/lib/init-templates/sample-app/javascript/package.json +20 -0
- package/lib/init-templates/sample-app/javascript/test/%name%.test.template.js +16 -0
- package/lib/init-templates/sample-app/javascript/tsconfig.json +34 -0
- package/lib/init-templates/sample-app/python/%name.PythonModule%/%name.PythonModule%_stack.template.py +26 -0
- package/lib/init-templates/sample-app/python/%name.PythonModule%/__init__.py +0 -0
- package/lib/init-templates/sample-app/python/.template.gitignore +22 -0
- package/lib/init-templates/sample-app/python/README.template.md +65 -0
- package/lib/init-templates/sample-app/python/app.template.py +11 -0
- package/lib/init-templates/sample-app/python/cdk.template.json +15 -0
- package/lib/init-templates/sample-app/python/requirements-dev.txt +1 -0
- package/lib/init-templates/sample-app/python/requirements.txt +2 -0
- package/lib/init-templates/sample-app/python/source.bat +13 -0
- package/lib/init-templates/sample-app/python/tests/__init__.py +0 -0
- package/lib/init-templates/sample-app/python/tests/unit/__init__.py +0 -0
- package/lib/init-templates/sample-app/python/tests/unit/test_%name.PythonModule%_stack.template.py +21 -0
- package/lib/init-templates/sample-app/typescript/.template.gitignore +8 -0
- package/lib/init-templates/sample-app/typescript/.template.npmignore +6 -0
- package/lib/init-templates/sample-app/typescript/README.template.md +15 -0
- package/lib/init-templates/sample-app/typescript/bin/%name%.template.ts +6 -0
- package/lib/init-templates/sample-app/typescript/cdk.template.json +17 -0
- package/lib/init-templates/sample-app/typescript/jest.config.js +8 -0
- package/lib/init-templates/sample-app/typescript/lib/%name%-stack.template.ts +19 -0
- package/lib/init-templates/sample-app/typescript/package.json +26 -0
- package/lib/init-templates/sample-app/typescript/test/%name%.test.template.ts +17 -0
- package/lib/init-templates/sample-app/typescript/tsconfig.json +31 -0
- package/lib/init.d.ts +52 -0
- package/lib/init.js +430 -0
- package/lib/legacy-exports-source.d.ts +27 -0
- package/lib/legacy-exports-source.js +88 -0
- package/lib/legacy-exports.d.ts +10 -0
- package/lib/legacy-exports.js +28 -0
- package/lib/legacy-logging-source.d.ts +32 -0
- package/lib/legacy-logging-source.js +107 -0
- package/lib/list-stacks.d.ts +22 -0
- package/lib/list-stacks.js +23 -0
- package/lib/logging.d.ts +109 -0
- package/lib/logging.js +159 -0
- package/lib/migrator.d.ts +25 -0
- package/lib/migrator.js +67 -0
- package/lib/notices.d.ts +156 -0
- package/lib/notices.js +373 -0
- package/lib/os.d.ts +7 -0
- package/lib/os.js +92 -0
- package/lib/serialize.d.ts +27 -0
- package/lib/serialize.js +86 -0
- package/lib/toolkit/cli-io-host.d.ts +208 -0
- package/lib/toolkit/cli-io-host.js +282 -0
- package/lib/toolkit/error.d.ts +44 -0
- package/lib/toolkit/error.js +78 -0
- package/lib/tree.d.ts +31 -0
- package/lib/tree.js +40 -0
- package/lib/util/archive.d.ts +1 -0
- package/lib/util/archive.js +86 -0
- package/lib/util/arrays.d.ts +14 -0
- package/lib/util/arrays.js +36 -0
- package/lib/util/bool.d.ts +7 -0
- package/lib/util/bool.js +13 -0
- package/lib/util/bytes.d.ts +8 -0
- package/lib/util/bytes.js +21 -0
- package/lib/util/content-hash.d.ts +5 -0
- package/lib/util/content-hash.js +43 -0
- package/lib/util/directories.d.ts +23 -0
- package/lib/util/directories.js +57 -0
- package/lib/util/error.d.ts +9 -0
- package/lib/util/error.js +22 -0
- package/lib/util/index.d.ts +5 -0
- package/lib/util/index.js +22 -0
- package/lib/util/objects.d.ts +52 -0
- package/lib/util/objects.js +183 -0
- package/lib/util/parallel.d.ts +6 -0
- package/lib/util/parallel.js +44 -0
- package/lib/util/tables.d.ts +1 -0
- package/lib/util/tables.js +10 -0
- package/lib/util/type-brands.d.ts +39 -0
- package/lib/util/type-brands.js +38 -0
- package/lib/util/types.d.ts +27 -0
- package/lib/util/types.js +25 -0
- package/lib/util/validate-notification-arn.d.ts +4 -0
- package/lib/util/validate-notification-arn.js +10 -0
- package/lib/util/version-range.d.ts +2 -0
- package/lib/util/version-range.js +36 -0
- package/lib/util/work-graph-builder.d.ts +32 -0
- package/lib/util/work-graph-builder.js +167 -0
- package/lib/util/work-graph-types.d.ts +50 -0
- package/lib/util/work-graph-types.js +14 -0
- package/lib/util/work-graph.d.ts +70 -0
- package/lib/util/work-graph.js +344 -0
- package/lib/util/yaml-cfn.d.ts +15 -0
- package/lib/util/yaml-cfn.js +56 -0
- package/package.json +197 -0
- package/scripts/user-input-gen +2 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
|
3
|
+
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
4
|
+
<modelVersion>4.0.0</modelVersion>
|
|
5
|
+
<groupId>com.myorg</groupId>
|
|
6
|
+
<artifactId>%name%</artifactId>
|
|
7
|
+
<version>0.1</version>
|
|
8
|
+
<properties>
|
|
9
|
+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
10
|
+
<cdk.version>%cdk-version%</cdk.version>
|
|
11
|
+
<constructs.version>%constructs-version%</constructs.version>
|
|
12
|
+
<junit.version>5.7.1</junit.version>
|
|
13
|
+
</properties>
|
|
14
|
+
<build>
|
|
15
|
+
<plugins>
|
|
16
|
+
<plugin>
|
|
17
|
+
<groupId>org.apache.maven.plugins</groupId>
|
|
18
|
+
<artifactId>maven-compiler-plugin</artifactId>
|
|
19
|
+
<version>3.11.0</version>
|
|
20
|
+
<configuration>
|
|
21
|
+
<release>17</release>
|
|
22
|
+
</configuration>
|
|
23
|
+
</plugin>
|
|
24
|
+
|
|
25
|
+
<plugin>
|
|
26
|
+
<groupId>org.codehaus.mojo</groupId>
|
|
27
|
+
<artifactId>exec-maven-plugin</artifactId>
|
|
28
|
+
<version>3.1.0</version>
|
|
29
|
+
<configuration>
|
|
30
|
+
<mainClass>com.myorg.%name.PascalCased%App</mainClass>
|
|
31
|
+
</configuration>
|
|
32
|
+
</plugin>
|
|
33
|
+
</plugins>
|
|
34
|
+
</build>
|
|
35
|
+
<dependencies>
|
|
36
|
+
<!-- AWS Cloud Development Kit -->
|
|
37
|
+
<dependency>
|
|
38
|
+
<groupId>software.amazon.awscdk</groupId>
|
|
39
|
+
<artifactId>aws-cdk-lib</artifactId>
|
|
40
|
+
<version>${cdk.version}</version>
|
|
41
|
+
</dependency>
|
|
42
|
+
<dependency>
|
|
43
|
+
<groupId>software.constructs</groupId>
|
|
44
|
+
<artifactId>constructs</artifactId>
|
|
45
|
+
<version>${constructs.version}</version>
|
|
46
|
+
</dependency>
|
|
47
|
+
|
|
48
|
+
<dependency>
|
|
49
|
+
<groupId>org.junit.jupiter</groupId>
|
|
50
|
+
<artifactId>junit-jupiter</artifactId>
|
|
51
|
+
<version>${junit.version}</version>
|
|
52
|
+
<scope>test</scope>
|
|
53
|
+
</dependency>
|
|
54
|
+
</dependencies>
|
|
55
|
+
</project>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
package com.myorg;
|
|
2
|
+
|
|
3
|
+
import software.amazon.awscdk.App;
|
|
4
|
+
|
|
5
|
+
public final class %name.PascalCased%App {
|
|
6
|
+
public static void main(final String[] args) {
|
|
7
|
+
App app = new App();
|
|
8
|
+
|
|
9
|
+
new %name.PascalCased%Stack(app, "%stackname%");
|
|
10
|
+
|
|
11
|
+
app.synth();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
package com.myorg;
|
|
2
|
+
|
|
3
|
+
import software.constructs.Construct;
|
|
4
|
+
import software.amazon.awscdk.Duration;
|
|
5
|
+
import software.amazon.awscdk.Stack;
|
|
6
|
+
import software.amazon.awscdk.StackProps;
|
|
7
|
+
import software.amazon.awscdk.services.sns.Topic;
|
|
8
|
+
import software.amazon.awscdk.services.sns.subscriptions.SqsSubscription;
|
|
9
|
+
import software.amazon.awscdk.services.sqs.Queue;
|
|
10
|
+
|
|
11
|
+
public class %name.PascalCased%Stack extends Stack {
|
|
12
|
+
public %name.PascalCased%Stack(final Construct parent, final String id) {
|
|
13
|
+
this(parent, id, null);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
public %name.PascalCased%Stack(final Construct parent, final String id, final StackProps props) {
|
|
17
|
+
super(parent, id, props);
|
|
18
|
+
|
|
19
|
+
final Queue queue = Queue.Builder.create(this, "%name.PascalCased%Queue")
|
|
20
|
+
.visibilityTimeout(Duration.seconds(300))
|
|
21
|
+
.build();
|
|
22
|
+
|
|
23
|
+
final Topic topic = Topic.Builder.create(this, "%name.PascalCased%Topic")
|
|
24
|
+
.displayName("My First Topic Yeah")
|
|
25
|
+
.build();
|
|
26
|
+
|
|
27
|
+
topic.addSubscription(new SqsSubscription(queue));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
package com.myorg;
|
|
2
|
+
|
|
3
|
+
import software.amazon.awscdk.App;
|
|
4
|
+
import software.amazon.awscdk.assertions.Template;
|
|
5
|
+
import software.amazon.awscdk.assertions.Match;
|
|
6
|
+
import java.io.IOException;
|
|
7
|
+
|
|
8
|
+
import java.util.HashMap;
|
|
9
|
+
|
|
10
|
+
import org.junit.jupiter.api.Test;
|
|
11
|
+
|
|
12
|
+
public class %name.PascalCased%StackTest {
|
|
13
|
+
|
|
14
|
+
@Test
|
|
15
|
+
public void testStack() throws IOException {
|
|
16
|
+
App app = new App();
|
|
17
|
+
%name.PascalCased%Stack stack = new %name.PascalCased%Stack(app, "test");
|
|
18
|
+
|
|
19
|
+
Template template = Template.fromStack(stack);
|
|
20
|
+
|
|
21
|
+
template.hasResourceProperties("AWS::SQS::Queue", new HashMap<String, Number>() {{
|
|
22
|
+
put("VisibilityTimeout", 300);
|
|
23
|
+
}});
|
|
24
|
+
|
|
25
|
+
template.resourceCountIs("AWS::SNS::Topic", 1);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Welcome to your CDK JavaScript project
|
|
2
|
+
|
|
3
|
+
You should explore the contents of this project. It demonstrates a CDK app with an instance of a stack (`%name.PascalCased%Stack`)
|
|
4
|
+
which contains an Amazon SQS queue that is subscribed to an Amazon SNS topic.
|
|
5
|
+
|
|
6
|
+
The `cdk.json` file tells the CDK Toolkit how to execute your app. The build step is not required when using JavaScript.
|
|
7
|
+
|
|
8
|
+
## Useful commands
|
|
9
|
+
|
|
10
|
+
* `npm run test` perform the jest unit tests
|
|
11
|
+
* `cdk deploy` deploy this stack to your default AWS account/region
|
|
12
|
+
* `cdk diff` compare deployed stack with current state
|
|
13
|
+
* `cdk synth` emits the synthesized CloudFormation template
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const cdk = require('aws-cdk-lib');
|
|
2
|
+
const sns = require('aws-cdk-lib/aws-sns');
|
|
3
|
+
const subs = require('aws-cdk-lib/aws-sns-subscriptions');
|
|
4
|
+
const sqs = require('aws-cdk-lib/aws-sqs');
|
|
5
|
+
|
|
6
|
+
class %name.PascalCased%Stack extends cdk.Stack {
|
|
7
|
+
/**
|
|
8
|
+
* @param {cdk.App} scope
|
|
9
|
+
* @param {string} id
|
|
10
|
+
* @param {cdk.StackProps=} props
|
|
11
|
+
*/
|
|
12
|
+
constructor(scope, id, props) {
|
|
13
|
+
super(scope, id, props);
|
|
14
|
+
|
|
15
|
+
const queue = new sqs.Queue(this, '%name.PascalCased%Queue', {
|
|
16
|
+
visibilityTimeout: cdk.Duration.seconds(300)
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
const topic = new sns.Topic(this, '%name.PascalCased%Topic');
|
|
20
|
+
|
|
21
|
+
topic.addSubscription(new subs.SqsSubscription(queue));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
module.exports = { %name.PascalCased%Stack }
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "%name%",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"bin": {
|
|
5
|
+
"%name%": "bin/%name%.js"
|
|
6
|
+
},
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "echo \"The build step is not required when using JavaScript!\" && exit 0",
|
|
9
|
+
"cdk": "cdk",
|
|
10
|
+
"test": "jest"
|
|
11
|
+
},
|
|
12
|
+
"devDependencies": {
|
|
13
|
+
"aws-cdk": "%cdk-version%",
|
|
14
|
+
"jest": "^29.7.0"
|
|
15
|
+
},
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"aws-cdk-lib": "%cdk-version%",
|
|
18
|
+
"constructs": "%constructs-version%"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const cdk = require('aws-cdk-lib');
|
|
2
|
+
const { Match, Template } = require('aws-cdk-lib/assertions');
|
|
3
|
+
const %name.PascalCased% = require('../lib/%name%-stack');
|
|
4
|
+
|
|
5
|
+
test('SQS Queue and SNS Topic Created', () => {
|
|
6
|
+
const app = new cdk.App();
|
|
7
|
+
// WHEN
|
|
8
|
+
const stack = new %name.PascalCased%.%name.PascalCased%Stack(app, 'MyTestStack');
|
|
9
|
+
// THEN
|
|
10
|
+
const template = Template.fromStack(stack);
|
|
11
|
+
template.hasResourceProperties('AWS::SQS::Queue', {
|
|
12
|
+
VisibilityTimeout: 300,
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
template.resourceCountIs('AWS::SNS::Topic', 1);
|
|
16
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2020",
|
|
4
|
+
"module": "commonjs",
|
|
5
|
+
"lib": [
|
|
6
|
+
"es2020",
|
|
7
|
+
"dom"
|
|
8
|
+
],
|
|
9
|
+
"declaration": true,
|
|
10
|
+
"strict": true,
|
|
11
|
+
"noImplicitAny": true,
|
|
12
|
+
"strictNullChecks": true,
|
|
13
|
+
"noImplicitThis": true,
|
|
14
|
+
"alwaysStrict": true,
|
|
15
|
+
"noUnusedLocals": true,
|
|
16
|
+
"noUnusedParameters": true,
|
|
17
|
+
"noImplicitReturns": true,
|
|
18
|
+
"noFallthroughCasesInSwitch": false,
|
|
19
|
+
"inlineSourceMap": true,
|
|
20
|
+
"inlineSources": true,
|
|
21
|
+
"experimentalDecorators": true,
|
|
22
|
+
"strictPropertyInitialization": false,
|
|
23
|
+
"allowJs": true,
|
|
24
|
+
"checkJs": true,
|
|
25
|
+
"noEmit": true,
|
|
26
|
+
"typeRoots": [
|
|
27
|
+
"./node_modules/@types"
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"exclude": [
|
|
31
|
+
"node_modules",
|
|
32
|
+
"cdk.out"
|
|
33
|
+
]
|
|
34
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from constructs import Construct
|
|
2
|
+
from aws_cdk import (
|
|
3
|
+
Duration,
|
|
4
|
+
Stack,
|
|
5
|
+
aws_iam as iam,
|
|
6
|
+
aws_sqs as sqs,
|
|
7
|
+
aws_sns as sns,
|
|
8
|
+
aws_sns_subscriptions as subs,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class %name.PascalCased%Stack(Stack):
|
|
13
|
+
|
|
14
|
+
def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
|
|
15
|
+
super().__init__(scope, construct_id, **kwargs)
|
|
16
|
+
|
|
17
|
+
queue = sqs.Queue(
|
|
18
|
+
self, "%name.PascalCased%Queue",
|
|
19
|
+
visibility_timeout=Duration.seconds(300),
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
topic = sns.Topic(
|
|
23
|
+
self, "%name.PascalCased%Topic"
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
topic.add_subscription(subs.SqsSubscription(queue))
|
|
File without changes
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
*.swp
|
|
2
|
+
package-lock.json
|
|
3
|
+
.pytest_cache
|
|
4
|
+
*.egg-info
|
|
5
|
+
|
|
6
|
+
# Byte-compiled / optimized / DLL files
|
|
7
|
+
__pycache__/
|
|
8
|
+
*.py[cod]
|
|
9
|
+
*$py.class
|
|
10
|
+
|
|
11
|
+
# Environments
|
|
12
|
+
.env
|
|
13
|
+
.venv
|
|
14
|
+
env/
|
|
15
|
+
venv/
|
|
16
|
+
ENV/
|
|
17
|
+
env.bak/
|
|
18
|
+
venv.bak/
|
|
19
|
+
|
|
20
|
+
# CDK Context & Staging files
|
|
21
|
+
.cdk.staging/
|
|
22
|
+
cdk.out/
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
|
|
2
|
+
# Welcome to your CDK Python project!
|
|
3
|
+
|
|
4
|
+
You should explore the contents of this project. It demonstrates a CDK app with an instance of a stack (`%name.PythonModule%_stack`)
|
|
5
|
+
which contains an Amazon SQS queue that is subscribed to an Amazon SNS topic.
|
|
6
|
+
|
|
7
|
+
The `cdk.json` file tells the CDK Toolkit how to execute your app.
|
|
8
|
+
|
|
9
|
+
This project is set up like a standard Python project. The initialization process also creates
|
|
10
|
+
a virtualenv within this project, stored under the .venv directory. To create the virtualenv
|
|
11
|
+
it assumes that there is a `python3` executable in your path with access to the `venv` package.
|
|
12
|
+
If for any reason the automatic creation of the virtualenv fails, you can create the virtualenv
|
|
13
|
+
manually once the init process completes.
|
|
14
|
+
|
|
15
|
+
To manually create a virtualenv on MacOS and Linux:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
$ %python-executable% -m venv .venv
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
After the init process completes and the virtualenv is created, you can use the following
|
|
22
|
+
step to activate your virtualenv.
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
$ source .venv/bin/activate
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
If you are a Windows platform, you would activate the virtualenv like this:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
% .venv\Scripts\activate.bat
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Once the virtualenv is activated, you can install the required dependencies.
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
$ pip install -r requirements.txt
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
At this point you can now synthesize the CloudFormation template for this code.
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
$ cdk synth
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
You can now begin exploring the source code, contained in the hello directory.
|
|
47
|
+
There is also a very trivial test included that can be run like this:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
$ pytest
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
To add additional dependencies, for example other CDK libraries, just add to
|
|
54
|
+
your requirements.txt file and rerun the `pip install -r requirements.txt`
|
|
55
|
+
command.
|
|
56
|
+
|
|
57
|
+
## Useful commands
|
|
58
|
+
|
|
59
|
+
* `cdk ls` list all stacks in the app
|
|
60
|
+
* `cdk synth` emits the synthesized CloudFormation template
|
|
61
|
+
* `cdk deploy` deploy this stack to your default AWS account/region
|
|
62
|
+
* `cdk diff` compare deployed stack with current state
|
|
63
|
+
* `cdk docs` open CDK documentation
|
|
64
|
+
|
|
65
|
+
Enjoy!
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
pytest==6.2.5
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
@echo off
|
|
2
|
+
|
|
3
|
+
rem The sole purpose of this script is to make the command
|
|
4
|
+
rem
|
|
5
|
+
rem source .venv/bin/activate
|
|
6
|
+
rem
|
|
7
|
+
rem (which activates a Python virtualenv on Linux or Mac OS X) work on Windows.
|
|
8
|
+
rem On Windows, this command just runs this batch file (the argument is ignored).
|
|
9
|
+
rem
|
|
10
|
+
rem Now we don't need to document a Windows command for activating a virtualenv.
|
|
11
|
+
|
|
12
|
+
echo Executing .venv\Scripts\activate.bat for you
|
|
13
|
+
.venv\Scripts\activate.bat
|
|
File without changes
|
|
File without changes
|
package/lib/init-templates/sample-app/python/tests/unit/test_%name.PythonModule%_stack.template.py
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import aws_cdk as core
|
|
2
|
+
import aws_cdk.assertions as assertions
|
|
3
|
+
from %name.PythonModule%.%name.PythonModule%_stack import %name.PascalCased%Stack
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def test_sqs_queue_created():
|
|
7
|
+
app = core.App()
|
|
8
|
+
stack = %name.PascalCased%Stack(app, "%name.StackName%")
|
|
9
|
+
template = assertions.Template.from_stack(stack)
|
|
10
|
+
|
|
11
|
+
template.has_resource_properties("AWS::SQS::Queue", {
|
|
12
|
+
"VisibilityTimeout": 300
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def test_sns_topic_created():
|
|
17
|
+
app = core.App()
|
|
18
|
+
stack = %name.PascalCased%Stack(app, "%name.StackName%")
|
|
19
|
+
template = assertions.Template.from_stack(stack)
|
|
20
|
+
|
|
21
|
+
template.resource_count_is("AWS::SNS::Topic", 1)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Welcome to your CDK TypeScript project
|
|
2
|
+
|
|
3
|
+
You should explore the contents of this project. It demonstrates a CDK app with an instance of a stack (`%name.PascalCased%Stack`)
|
|
4
|
+
which contains an Amazon SQS queue that is subscribed to an Amazon SNS topic.
|
|
5
|
+
|
|
6
|
+
The `cdk.json` file tells the CDK Toolkit how to execute your app.
|
|
7
|
+
|
|
8
|
+
## Useful commands
|
|
9
|
+
|
|
10
|
+
* `npm run build` compile typescript to js
|
|
11
|
+
* `npm run watch` watch for changes and compile
|
|
12
|
+
* `npm run test` perform the jest unit tests
|
|
13
|
+
* `cdk deploy` deploy this stack to your default AWS account/region
|
|
14
|
+
* `cdk diff` compare deployed stack with current state
|
|
15
|
+
* `cdk synth` emits the synthesized CloudFormation template
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"app": "npx ts-node --prefer-ts-exts bin/%name%.ts",
|
|
3
|
+
"watch": {
|
|
4
|
+
"include": ["**"],
|
|
5
|
+
"exclude": [
|
|
6
|
+
"README.md",
|
|
7
|
+
"cdk*.json",
|
|
8
|
+
"**/*.d.ts",
|
|
9
|
+
"**/*.js",
|
|
10
|
+
"tsconfig.json",
|
|
11
|
+
"package*.json",
|
|
12
|
+
"yarn.lock",
|
|
13
|
+
"node_modules",
|
|
14
|
+
"test"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Duration, Stack, StackProps } from 'aws-cdk-lib';
|
|
2
|
+
import * as sns from 'aws-cdk-lib/aws-sns';
|
|
3
|
+
import * as subs from 'aws-cdk-lib/aws-sns-subscriptions';
|
|
4
|
+
import * as sqs from 'aws-cdk-lib/aws-sqs';
|
|
5
|
+
import { Construct } from 'constructs';
|
|
6
|
+
|
|
7
|
+
export class %name.PascalCased%Stack extends Stack {
|
|
8
|
+
constructor(scope: Construct, id: string, props?: StackProps) {
|
|
9
|
+
super(scope, id, props);
|
|
10
|
+
|
|
11
|
+
const queue = new sqs.Queue(this, '%name.PascalCased%Queue', {
|
|
12
|
+
visibilityTimeout: Duration.seconds(300)
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
const topic = new sns.Topic(this, '%name.PascalCased%Topic');
|
|
16
|
+
|
|
17
|
+
topic.addSubscription(new subs.SqsSubscription(queue));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "%name%",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"bin": {
|
|
5
|
+
"%name%": "bin/%name%.js"
|
|
6
|
+
},
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "tsc",
|
|
9
|
+
"watch": "tsc -w",
|
|
10
|
+
"test": "jest",
|
|
11
|
+
"cdk": "cdk"
|
|
12
|
+
},
|
|
13
|
+
"devDependencies": {
|
|
14
|
+
"@types/jest": "^29.5.14",
|
|
15
|
+
"@types/node": "22.7.9",
|
|
16
|
+
"jest": "^29.7.0",
|
|
17
|
+
"ts-jest": "^29.2.5",
|
|
18
|
+
"aws-cdk": "%cdk-version%",
|
|
19
|
+
"ts-node": "^10.9.2",
|
|
20
|
+
"typescript": "~5.6.3"
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"aws-cdk-lib": "%cdk-version%",
|
|
24
|
+
"constructs": "%constructs-version%"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as cdk from 'aws-cdk-lib';
|
|
2
|
+
import { Template, Match } from 'aws-cdk-lib/assertions';
|
|
3
|
+
import * as %name.PascalCased% from '../lib/%name%-stack';
|
|
4
|
+
|
|
5
|
+
test('SQS Queue and SNS Topic Created', () => {
|
|
6
|
+
const app = new cdk.App();
|
|
7
|
+
// WHEN
|
|
8
|
+
const stack = new %name.PascalCased%.%name.PascalCased%Stack(app, 'MyTestStack');
|
|
9
|
+
// THEN
|
|
10
|
+
|
|
11
|
+
const template = Template.fromStack(stack);
|
|
12
|
+
|
|
13
|
+
template.hasResourceProperties('AWS::SQS::Queue', {
|
|
14
|
+
VisibilityTimeout: 300
|
|
15
|
+
});
|
|
16
|
+
template.resourceCountIs('AWS::SNS::Topic', 1);
|
|
17
|
+
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2020",
|
|
4
|
+
"module": "commonjs",
|
|
5
|
+
"lib": [
|
|
6
|
+
"es2020",
|
|
7
|
+
"dom"
|
|
8
|
+
],
|
|
9
|
+
"declaration": true,
|
|
10
|
+
"strict": true,
|
|
11
|
+
"noImplicitAny": true,
|
|
12
|
+
"strictNullChecks": true,
|
|
13
|
+
"noImplicitThis": true,
|
|
14
|
+
"alwaysStrict": true,
|
|
15
|
+
"noUnusedLocals": false,
|
|
16
|
+
"noUnusedParameters": false,
|
|
17
|
+
"noImplicitReturns": true,
|
|
18
|
+
"noFallthroughCasesInSwitch": false,
|
|
19
|
+
"inlineSourceMap": true,
|
|
20
|
+
"inlineSources": true,
|
|
21
|
+
"experimentalDecorators": true,
|
|
22
|
+
"strictPropertyInitialization": false,
|
|
23
|
+
"typeRoots": [
|
|
24
|
+
"./node_modules/@types"
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
"exclude": [
|
|
28
|
+
"node_modules",
|
|
29
|
+
"cdk.out"
|
|
30
|
+
]
|
|
31
|
+
}
|