@pwrdrvr/microapps-cdk 0.2.5 → 0.2.9
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/.jsii +119 -119
- package/README.md +282 -135
- package/lib/MicroApps.d.ts +51 -51
- package/lib/MicroApps.js +12 -12
- package/lib/MicroAppsAPIGwy.d.ts +31 -31
- package/lib/MicroAppsAPIGwy.js +12 -11
- package/lib/MicroAppsCF.d.ts +59 -59
- package/lib/MicroAppsCF.js +9 -9
- package/lib/MicroAppsS3.d.ts +39 -39
- package/lib/MicroAppsS3.js +14 -14
- package/lib/MicroAppsSvcs.d.ts +43 -43
- package/lib/MicroAppsSvcs.js +10 -10
- package/package.json +2 -2
package/.jsii
CHANGED
|
@@ -2883,7 +2883,7 @@
|
|
|
2883
2883
|
},
|
|
2884
2884
|
"description": "MicroApps framework, by PwrDrvr LLC, delivered as an AWS CDK construct that provides the DynamoDB, Router service, Deploy service, API Gateway, and CloudFront distribution.",
|
|
2885
2885
|
"docs": {
|
|
2886
|
-
"stability": "
|
|
2886
|
+
"stability": "experimental"
|
|
2887
2887
|
},
|
|
2888
2888
|
"homepage": "https://github.com/pwrdrvr/microapps-core",
|
|
2889
2889
|
"jsiiVersion": "1.52.1 (build 5ccc8f6)",
|
|
@@ -2903,7 +2903,7 @@
|
|
|
2903
2903
|
},
|
|
2904
2904
|
"name": "@pwrdrvr/microapps-cdk",
|
|
2905
2905
|
"readme": {
|
|
2906
|
-
"markdown": "  \n\n# Overview\n\nThe MicroApps project....\n\n# Project Layout\n\n- [packages/cdk]() - CDK Stacks\n - MicroAppsS3\n - Creates S3 buckets\n - MicroAppsRepos\n - Creates the ECR repos for components to be published into;\n - Deployer\n - Router\n - MicroAppsSvcs\n - Create DynamoDB table\n - Create Deployer Lambda function\n - Create Router Lambda function\n - Create APIGateway HTTP API\n - MicroAppsCF\n - Creates Cloudfront distribution\n - MicroAppsR53\n - Creates domain names to point to the edge (Cloudfront) and origin (API Gateway)\n- [packages/microapps-deployer]()\n - Lambda service invoked by `microapps-publish` to record new app/version in the DynamoDB table, create API Gateway integrations, copy S3 assets from staging to prod bucket, etc.\n- [packages/microapps-publish]()\n - Node executable that updates versions in config files, deploys static assets to the S3 staging bucket, optionally compiles and deploys a new Lambda function version, and invokes `microapps-deployer`\n - Permissions required:\n - Lambda invoke\n - S3 publish to the staging bucket\n - ECR write\n - Lambda version publish\n- [packages/microapps-router]()\n - Lambda function that determines which version of an app to point a user to on a particular invocation\n\n# Useful Commands\n\n- `npm run build` compiles TypeSript to JavaScript\n- `npm run lint` checks TypeScript for compliance with Lint rules\n- `cdk list` list the stack names\n- `cdk deploy` deploy this stack to your default AWS account/region\n- `cdk diff` compare deployed stack with current state\n- `cdk synth` emits the synthesized CloudFormation template\n\n# Running CDK\n\nAlways run CDK from the root of the git repo, which is the directory containing `cdk.json`.\n\n## Set AWS Profile\n\n`export AWS_PROFILE=pwrdrvr`\n\n## Set NVM Version\n\n`nvm use`\n\n# Deployer Service\n\nCopies static assets from staging to deployed directory, creates record of application / version in DynamoDB Table.\n\n# Notes on Selection of Docker Image Lambdas\n\nThe Router and Deployer services are very small (0.5 MB) after tree shaking, minification, and uglification performed by `rollup`. The router has the tightest performance requirement and performed just as well as a docker image vs a zip file. However, docker image start up is up to 2x longer vs the zip file for the router; this should not be a problem for any live system with continuous usage and for demos the router can be initialized or pre-provisioned beforehand. The development benefits of docker images for Lambda outweigh the small init time impact on cold starts.\n\n# Notes on Performance\n\n## Router\n\nFor best demo performance (and real user performance), the memory for the Router Lambda should be set to 1024 MB as this gives the fastest cold start at the lowest cost. The cost per warm request is actually lower at 1024 MB than at 128 MB, so 1024 MB is just the ideal size.\n\nFor supremely optimum demo performance the Router Lambda should be deployed as a .zip file as that saves about 50% of the cold start time, or about 200 ms, but once it's the cold start has happened they are equally as fast as each other.\n\n- Lambda Memory (which linearly scales CPU) Speeds\n - Docker Image Lambda\n - Note: All times captured with Rollup ~400 KB Docker Layer\n - 128 MB\n - Duration Warm: 118 ms\n - Duration Cold: 763 ms\n - Init Duration: 518 ms\n - Billed Duration Warm: 119 ms\n - Billed Duration Init: 1,282 ms\n - Warm Cost: 0.025 millicents\n - Init Cost: 0.26 millicents\n - 256 MB\n - Duration Warm: 30 ms\n - Duration Cold: 363 ms\n - Init Duration: 488 ms\n - Billed Duration Warm: 30 ms\n - Billed Duration Init: 853 ms\n - Warm Cost: 0.013 millicents\n - Init Cost: 0.36 millicents\n - 512 MB\n - Duration Warm: 10 ms\n - Duration Cold: 176 ms\n - Init Duration: 572 ms\n - Billed Duration Warm: 10 ms\n - Billed Duration Init: 749 ms\n - Warm Cost: 0.0083 millicents\n - Init Cost: 0.62 millicents\n - 1024 MB\n - Duration Warm: 9 ms\n - Duration Cold: 84.5 ms\n - Init Duration: 497 ms\n - Billed Duration Warm: 9 ms\n - Billed Duration Init: 585 ms\n - Warm Cost: 0.015 millicents\n - Init Cost: 0.97 millicents\n - _Init performance scales linearly up to and including 1024 MB_\n - 1769 MB\n - This is the point at which a Lambda has 100% of 1 CPU\n - https://docs.aws.amazon.com/lambda/latest/dg/configuration-memory.html\n - Duration Warm: 8.31 ms\n - Duration Cold: 73 ms\n - Init Duration: 514 ms\n - Billed Duration Warm: 10 ms\n - Billed Duration Cold: 587 ms\n - Warm Cost: 0.029 millicents\n - Init Cost: 1.7 millicents\n - 2048 MB\n - Duration Warm: 10 ms\n - Duration Cold: 67 ms\n - Init Duration: 497 ms\n - Billed Duration Warm: 11 ms\n - Billed Duration Init: 566 ms\n - Warm Cost: 0.037 millicents\n - Init Cost: 1.89 millicents\n - Zip File Lambda\n - 128 MB\n - Duration Warm: 110 ms\n - Duration Cold: 761 ms\n - Init Duration: 210 ms\n - Billed Duration Warm: 120 ms\n - Billed Duration Init: 762 ms\n - Warm Cost: 0.025 millicents\n - Init Cost: 0.16 millicents\n - 512 MB\n - Duration Warm: 10 ms\n - Duration Cold: 179 ms\n - Init Duration: 201 ms\n - Billed Duration Warm: 12 ms\n - Billed Duration Init: 185 ms\n - Warm Cost: 0.01 millicents\n - Init Cost: 0.15 millicents\n - 1024 MB\n - Duration Warm: 10 ms\n - Duration Cold: 85 ms\n - Init Duration: 185 ms\n - Billed Duration Warm: 12 ms\n - Billed Duration Init: 85 ms\n - Warm Cost: 0.02 millicents\n - Init Cost: 0.14 millicents\n"
|
|
2906
|
+
"markdown": "  \n\n# Overview\n\nThe MicroApps project enables rapidly deploying many web apps to AWS on a single shared host name, fronted by a CloudFront Distribution, serving static assets from an S3 Bucket, and routing application requests via API Gateway. MicroApps is delivered as a CDK Construct for deployment, although alternative deployment methods can be used if desired and implemented.\n\nMicroApps allows many versions of an application to be deployed either as ephemeral deploys (e.g. for pull request builds) or as semi-permanent deploys. The `microapps-router` Lambda function handled routing requests to apps to the current version targeted for a particular application start request using rules as complex as one is interested in implementing (e.g. A/B testing integration, canary releases, per-user rules for logged in users, per-group, per-deparment, and default rules).\n\nUsers start applications via a URL such as `[/{prefix}]/{appname}/`, which hits the `microapps-router` that looks up the version of the application to be run, then renders a transparent `iframe` with a link to that version. The URL seen by the user in the browser (and available for bookmarking) has no version in it, so subsequent launches (e.g. the next day or just in another tab) will lookup the version again. All relative URL API requests (e.g. `some/api/path`) will go to the corresponding API version that matches the version of the loaded static files, eliminating issues of incompatibility between static files and API deployments.\n\nFor development / testing purposes only, each version of an applicaton can be accessed directly via a URL of the pattern `[/{prefix}]/{appname}/{semver}/`. These \"versioned\" URLs are not intended to be advertised to end users as they would cause a user to be stuck on a particular version of the app if the URL was bookmarked. Note that the system does not limit access to particular versions of an application, as of 2022-01-26, but that can be added as a feature.\n\n# Table of Contents <!-- omit in toc -->\n\n- [Overview](#overview)\n- [Video Preview of the Deploying CDK Construct](#video-preview-of-the-deploying-cdk-construct)\n- [Installation / CDK Constructs](#installation--cdk-constructs)\n- [Tutorial - Bootstrapping a Deploy](#tutorial---bootstrapping-a-deploy)\n- [Why MicroApps](#why-microapps)\n- [Limitations / Future Development](#limitations--future-development)\n- [Related Projects / Components](#related-projects--components)\n- [Architecure Diagram](#architecure-diagram)\n- [Project Layout](#project-layout)\n- [Creating a MicroApp Using Zip Lambda Functions](#creating-a-microapp-using-zip-lambda-functions)\n- [Creating a MicroApp Using Docker Lambda Functions](#creating-a-microapp-using-docker-lambda-functions)\n - [Next.js Apps](#nextjs-apps)\n - [Modify package.json](#modify-packagejson)\n - [Install Dependencies](#install-dependencies)\n - [Dockerfile](#dockerfile)\n - [next.config.js](#nextconfigjs)\n - [deploy.json](#deployjson)\n - [serverless.yaml](#serverlessyaml)\n\n# Video Preview of the Deploying CDK Construct\n\n\n\n# Installation / CDK Constructs\n\n- `npm i --save-dev @pwrdrvr/microapps-cdk`\n- Add `MicroApps` construct to your stack\n- The `MicroApps` construct does a \"turn-key\" deployment complete with the Release app\n- [Construct Hub](https://constructs.dev/packages/@pwrdrvr/microapps-cdk/)\n - CDK API docs\n - Python, DotNet, Java, JS/TS installation instructions\n\n# Tutorial - Bootstrapping a Deploy\n\n- `git clone https://github.com/pwrdrvr/microapps-core.git`\n - Note: the repo is only being for the example CDK Stack, it is not necessary to clone the repo when used in a custom CDK Stack\n- `cd microapps-core`\n- `npm i -g aws-cdk`\n - Install AWS CDK v2 CLI\n- `asp [my-sso-profile-name]`\n - Using the `aws` plugin from `oh-my-zsh` for AWS SSO\n - Of course, there are other methods of setting env vars\n- `aws sso login`\n - Establish an AWS SSO session\n- `cdk-sso-sync`\n - Using `npm i -g cdk-sso-sync`\n - Sets AWS SSO credentials in a way that CDK can use them\n - Not necessary if not using AWS SSO\n- `export AWS_REGION=us-east-2`\n - Region needs to be set for the Lambda invoke - This can be done other ways in `~/.aws/config` as well\n- `./deploy.sh`\n - Deploys the CDK Stack\n - Essentially runs two commands along with extraction of outputs:\n - `npx cdk deploy --context @pwrdrvr/microapps:stackName=microapps-demo-deploy --context @pwrdrvr/microapps:deployReleaseApp=true microapps-basic`\n - `npx microapps-publish publish -a release -n ${RELEASE_APP_PACKAGE_VERSION} -d ${DEPLOYER_LAMBDA_NAME} -l ${RELEASE_APP_LAMBDA_NAME} -s node_modules/@pwrdrvr/microapps-app-release-cdk/lib/.static_files/release/${RELEASE_APP_PACKAGE_VERSION}/ --overwrite --noCache`\n - URL will be printed as last output\n\n# Why MicroApps\n\nMicroApps are like micro services, but for Web UIs. A MicroApp allows a single functional site to be developed by many independent teams within an organization. Teams must coordinate deployments and agree upon one implementation technology and framework when building a monolithic, or even a monorepo, web application.\n\nTeams using MicroApps can deploy independently of each other with coordination being required only at points of intentional integration (e.g. adding a feature to pass context from one MicroApp to another or coordination of a major feature release to users) and sharing UI styles, if desired (it is possible to build styles that look the same across many different UI frameworks).\n\nMicroApps also allow each team to use a UI framework and backend language that is most appropriate for their solving their business problem. Not every app has to use React or Next.js or even Node on the backend, but instead they can use whatever framework they want and Java, Go, C#, Python, etc. for UI API calls.\n\nFor internal sites, or logged-in-customer sites, different tools or products can be hosted in entirely independent MicroApps. A menuing system / toolbar application can be created as a MicroApp and that menu app can open the apps in the system within a transparent iframe. For externally facing sites, such as for an e-commerce site, it is possible to have a MicroApp serving `/product/...`, another serving `/search/...`, another serving `/`, etc.\n\n# Limitations / Future Development\n\n- `iframes`\n - Yeah, yeah: `iframes` are not framesets and most of the hate about iframes is probably better directed at framesets\n - The iframe serves a purpose but it stinks that it is there, primarily because it will cause issues with search bot indexing (SEO)\n - There are other options available to implement that have their own drabacks:\n - Using the `microapps-router` to proxy the \"app start\" request to a particular version of an app that then renders all of it's API resource requests to versioned URLs\n - Works only with frameworks that support hashing filenams for each deploy to unique names\n - This page would need to be marked as non-cachable\n - This may work well with Next.js which wants to know the explicit path that it will be running at (it writes that path into all resource and API requests)\n - Possible issue: the app would need to work ok being displayed at `[/{prefix}]/{appname}` when it may think that it's being displayed at `[/{prefix}]/{appname}/{semver}`\n - Disadvantage: requires some level of UI framework features (e.g. writing the absolute resource paths) to work correctly - may not work as easily for all UI frameworks\n - HTML5 added features to allow setting the relative path of all subsequent requests to be different than that displayed in the address bar\n - Gotta see if this works in modern browsers\n - Option to ditch the multiple-versions feature\n - Works only with frameworks that support hashing filenams for each deploy to unique names\n - Allows usage of the deploy and routing tooling without advantages and disadvantages of multiple-versions support\n- AWS Only\n - For the time being this has only been implemented for AWS technologies and APIs\n - It is possible that Azure and GCP have sufficient support to enable porting the framework\n - CDK would have to be replaced as well (unless it's made available for Azure and GCP in the near future)\n- `microapps-publish` only supports Lambda function apps\n - There is no technical reason for the apps to only run as Lambda functions\n - Web apps could just as easily run on EC2, Kubernetes, EKS, ECS, etc\n - Anything that API Gateway can route to can work for serving a MicroApp\n - The publish tool needs to provide additional options for setting up the API Gateway route to the app\n- Authentication\n - Authentication requires rolling your own API Gateway and CloudFront deployment at the moment\n - The \"turn key\" CDK Construct should provide options to show an example of how authentication can be integrated\n- Release Rules\n - Currently only a Default rule is supported\n - Need to evaluate if a generic implementation can be made, possibly allowing plugins or webhooks to support arbitrary rules\n - If not possible to make it perfectly generic, consider providing a more complete reference implementation of examples\n\n# Related Projects / Components\n\n- Release App\n - The Release app is an initial, rudimentary, release control console for setting the default version of an application\n - Built with Next.js\n - [pwrdrvr/microapps-app-release](https://github.com/pwrdrvr/microapps-app-release)\n- Next.js Demo App\n - The Next.js Tutorial application deployed as a MicroApp\n - [pwrdrvr/serverless-nextjs-demo](https://github.com/pwrdrvr/serverless-nextjs-demo)\n- Serverless Next.js Router\n - [pwrdrvr/serverless-nextjs-router](https://github.com/pwrdrvr/serverless-nextjs-router)\n - Complementary to [@sls-next/serverless-component](https://github.com/serverless-nextjs/serverless-next.js)\n - Allows Next.js apps to run as Lambda @ Origin for speed and cost improvements vs Lambda@Edge\n - Essentially the router translates CloudFront Lambda events to API Gateway Lambda events and vice versa for responses\n - The `serverless-nextjs` project allows Next.js apps to run as Lambda functions without Express, but there was a design change to make the Lambda functions run at Edge (note: need to recheck if this changed after early 2021)\n - Lambda@Edge is _at least_ 3x more expensive than Lambda at the origin:\n - In US East 1, the price per GB-Second is $0.00005001 for Lambda@Edge vs $0.0000166667 for Lambda at the origin\n - Additionally, any DB or services calls from Lambda@Edge back to the origin will pay that 3x higher per GB-Second cost for any time spent waiting to send the request and get a response. Example:\n - Lambda@Edge\n - 0.250s Round Trip Time (RTT) for EU-zone edge request to hit US-East 1 Origin\n - 0.200s DB lookup time\n - 0.050s CPU usage to process the DB response\n - 0.500s total billed time @ $0.00005001 @ 128 MB\n - $0.000003125625 total charge\n - Lambda at Origin\n - RTT does not apply (it's effectively 1-2 ms to hit a DB in the same region)\n - 0.200s DB lookup time\n - 0.050s CPU usage to process the DB response\n - 0.250s total billed time @ $0.0000166667 @ 128 MB\n - Half the billed time of running on Lambda@Edge\n - 1/6th the cost of running on Lambda@Edge:\n - $0.000000520834375 total charge (assuming no CPU time to process the response)\n - $0.000003125625 / $0.000000520834375 = 6x more expensive in Lambda@Edge\n\n# Architecure Diagram\n\n\n\n# Project Layout\n\n- [packages/cdk](https://github.com/pwrdrvr/microapps-core/tree/main/packages/cdk)\n - Example CDK Stack\n - Deploys MicroApps CDK stack for the GitHub Workflows\n - Can be used as an example of how to use the MicroApps CDK Construct\n- [packages/demo-app](https://github.com/pwrdrvr/microapps-core/tree/main/packages/demo-app)\n - Example app with static resources and a Lambda function\n - Does not use any Web UI framework at all\n- [packages/microapps-cdk](https://github.com/pwrdrvr/microapps-core/tree/main/packages/microapps-cdk)\n - MicroApps\n - \"Turn key\" CDK Construct that creates all assets needed for a working MicroApps deployment\n - MicroAppsAPIGwy\n - Create APIGateway HTTP API\n - Creates domain names to point to the edge (Cloudfront) and origin (API Gateway)\n - MicroAppsCF\n - Creates Cloudfront distribution\n - MicroAppsS3\n - Creates S3 buckets\n - MicroAppsSvcs\n - Create DynamoDB table\n - Create Deployer Lambda function\n - Create Router Lambda function\n- [packages/microapps-datalib](https://github.com/pwrdrvr/microapps-core/tree/main/packages/microapps-datalib)\n - Installed from `npm`:\n - `npm i -g @pwrdrvr/microapps-datalib`\n - APIs for access to the DynamoDB Table used by `microapps-publish`, `microapps-deployer`, and `@pwrdrvr/microapps-app-release-cdk`\n- [packages/microapps-deployer](https://github.com/pwrdrvr/microapps-core/tree/main/packages/microapps-deployer)\n - Lambda service invoked by `microapps-publish` to record new app/version in the DynamoDB table, create API Gateway integrations, copy S3 assets from staging to prod bucket, etc.\n - Returns a temporary S3 token with restricted access to the staging S3 bucket for upload of the static files for one app/semver\n- [packages/microapps-publish](https://github.com/pwrdrvr/microapps-core/tree/main/packages/microapps-publish)\n - Installed from `npm`:\n - `npm i -g @pwrdrvr/microapps-publish`\n - Node executable that updates versions in config files, deploys static assets to the S3 staging bucket, optionally compiles and deploys a new Lambda function version, and invokes `microapps-deployer`\n - AWS IAM permissions required:\n - `lambda:InvokeFunction`\n- [packages/microapps-router](https://github.com/pwrdrvr/microapps-core/tree/main/packages/microapps-router)\n - Lambda function that determines which version of an app to point a user to on a particular invocation\n\n# Creating a MicroApp Using Zip Lambda Functions\n\n[TBC]\n\n# Creating a MicroApp Using Docker Lambda Functions\n\nNote: semi-deprecated as of 2022-01-27. Zip Lambda functions are better supported.\n\n## Next.js Apps\n\nCreate a Next.js app then follow the steps in this section to set it up for publishing to AWS Lambda @ Origin as a MicroApp. To publish new versions of the app use `npx microapps-publish --new-version x.y.z` when logged in to the target AWS account.\n\n### Modify package.json\n\nReplace the version with `0.0.0` so it can be modified by the `microapps-publish` tool.\n\n### Install Dependencies\n\n```\nnpm i --save-dev @sls-next/serverless-component@1.19.0 @pwrdrvr/serverless-nextjs-router @pwrdrvr/microapps-publish\n```\n\n### Dockerfile\n\nAdd this file to the root of the app.\n\n```Dockerfile\nFROM node:15-slim as base\n\nWORKDIR /app\n\n# Download the sharp libs once to save time\n# Do this before copying anything else in\nRUN mkdir -p image-lambda-npms && \\\n cd image-lambda-npms && npm i sharp && \\\n rm -rf node_modules/sharp/vendor/*/include/\n\n# Copy in the build output from `npx serverless`\nCOPY .serverless_nextjs .\nCOPY config.json .\n\n# Move the sharp libs into place\nRUN rm -rf image-lambda/node_modules/ && \\\n mv image-lambda-npms/node_modules image-labmda/ && \\\n rm -rf image-lambda-npms\n\nFROM public.ecr.aws/lambda/nodejs:14 AS final\n\n# Copy in the munged code\nCOPY --from=base /app .\n\nCMD [ \"./index.handler\" ]\n```\n\n### next.config.js\n\nAdd this file to the root of the app.\n\nReplace `appname` with your URL path-compatible application name.\n\n```js\nconst appRoot = '/appname/0.0.0';\n\n// eslint-disable-next-line no-undef\nmodule.exports = {\n target: 'serverless',\n webpack: (config, _options) => {\n return config;\n },\n basePath: appRoot,\n publicRuntimeConfig: {\n // Will be available on both server and client\n staticFolder: appRoot,\n },\n};\n```\n\n### deploy.json\n\nAdd this file to the root of the app.\n\nReplace `appname` with your URL path-compatible application name.\n\n```json\n{\n \"AppName\": \"appname\",\n \"SemVer\": \"0.0.0\",\n \"DefaultFile\": \"\",\n \"StaticAssetsPath\": \"./.serverless_nextjs/assets/appname/0.0.0/\",\n \"LambdaARN\": \"arn:aws:lambda:us-east-1:123456789012:function:appname:v0_0_0\",\n \"AWSAccountID\": \"123456789012\",\n \"AWSRegion\": \"us-east-2\",\n \"ServerlessNextRouterPath\": \"./node_modules/@pwrdrvr/serverless-nextjs-router/dist/index.js\"\n}\n```\n\n### serverless.yaml\n\nAdd this file to the root of the app.\n\n```yaml\nnextApp:\n component: './node_modules/@sls-next/serverless-component'\n inputs:\n deploy: false\n uploadStaticAssetsFromBuild: false\n```\n"
|
|
2907
2907
|
},
|
|
2908
2908
|
"repository": {
|
|
2909
2909
|
"type": "git",
|
|
@@ -2935,7 +2935,7 @@
|
|
|
2935
2935
|
"assembly": "@pwrdrvr/microapps-cdk",
|
|
2936
2936
|
"datatype": true,
|
|
2937
2937
|
"docs": {
|
|
2938
|
-
"stability": "
|
|
2938
|
+
"stability": "experimental",
|
|
2939
2939
|
"summary": "Options for `AddRoutes`."
|
|
2940
2940
|
},
|
|
2941
2941
|
"fqn": "@pwrdrvr/microapps-cdk.AddRoutesOptions",
|
|
@@ -2949,7 +2949,7 @@
|
|
|
2949
2949
|
{
|
|
2950
2950
|
"abstract": true,
|
|
2951
2951
|
"docs": {
|
|
2952
|
-
"stability": "
|
|
2952
|
+
"stability": "experimental",
|
|
2953
2953
|
"summary": "API Gateway CloudFront Origin for API calls."
|
|
2954
2954
|
},
|
|
2955
2955
|
"immutable": true,
|
|
@@ -2965,7 +2965,7 @@
|
|
|
2965
2965
|
{
|
|
2966
2966
|
"abstract": true,
|
|
2967
2967
|
"docs": {
|
|
2968
|
-
"stability": "
|
|
2968
|
+
"stability": "experimental",
|
|
2969
2969
|
"summary": "Origin Request policy for API Gateway Origin."
|
|
2970
2970
|
},
|
|
2971
2971
|
"immutable": true,
|
|
@@ -2981,7 +2981,7 @@
|
|
|
2981
2981
|
{
|
|
2982
2982
|
"abstract": true,
|
|
2983
2983
|
"docs": {
|
|
2984
|
-
"stability": "
|
|
2984
|
+
"stability": "experimental",
|
|
2985
2985
|
"summary": "S3 Bucket CloudFront Origin for static assets."
|
|
2986
2986
|
},
|
|
2987
2987
|
"immutable": true,
|
|
@@ -2997,7 +2997,7 @@
|
|
|
2997
2997
|
{
|
|
2998
2998
|
"abstract": true,
|
|
2999
2999
|
"docs": {
|
|
3000
|
-
"stability": "
|
|
3000
|
+
"stability": "experimental",
|
|
3001
3001
|
"summary": "CloudFront Distribution to add the Behaviors (Routes) to."
|
|
3002
3002
|
},
|
|
3003
3003
|
"immutable": true,
|
|
@@ -3015,7 +3015,7 @@
|
|
|
3015
3015
|
"docs": {
|
|
3016
3016
|
"default": "true",
|
|
3017
3017
|
"remarks": "When false API routes with a period in the path will get routed to S3.\n\nWhen true API routes that contain /api/ in the path will get routed to API Gateway\neven if they have a period in the path.",
|
|
3018
|
-
"stability": "
|
|
3018
|
+
"stability": "experimental",
|
|
3019
3019
|
"summary": "Create an extra Behavior (Route) for /api/ that allows API routes to have a period in them."
|
|
3020
3020
|
},
|
|
3021
3021
|
"immutable": true,
|
|
@@ -3033,7 +3033,7 @@
|
|
|
3033
3033
|
"abstract": true,
|
|
3034
3034
|
"docs": {
|
|
3035
3035
|
"example": "dev/",
|
|
3036
|
-
"stability": "
|
|
3036
|
+
"stability": "experimental",
|
|
3037
3037
|
"summary": "Path prefix on the root of the CloudFront distribution."
|
|
3038
3038
|
},
|
|
3039
3039
|
"immutable": true,
|
|
@@ -3054,7 +3054,7 @@
|
|
|
3054
3054
|
"assembly": "@pwrdrvr/microapps-cdk",
|
|
3055
3055
|
"datatype": true,
|
|
3056
3056
|
"docs": {
|
|
3057
|
-
"stability": "
|
|
3057
|
+
"stability": "experimental",
|
|
3058
3058
|
"summary": "Options for the `CreateAPIOriginPolicy`."
|
|
3059
3059
|
},
|
|
3060
3060
|
"fqn": "@pwrdrvr/microapps-cdk.CreateAPIOriginPolicyOptions",
|
|
@@ -3070,7 +3070,7 @@
|
|
|
3070
3070
|
"docs": {
|
|
3071
3071
|
"default": "- resource names auto assigned",
|
|
3072
3072
|
"example": "microapps",
|
|
3073
|
-
"stability": "
|
|
3073
|
+
"stability": "experimental",
|
|
3074
3074
|
"summary": "Optional asset name root."
|
|
3075
3075
|
},
|
|
3076
3076
|
"immutable": true,
|
|
@@ -3089,7 +3089,7 @@
|
|
|
3089
3089
|
"docs": {
|
|
3090
3090
|
"default": "none",
|
|
3091
3091
|
"example": "-dev-pr-12",
|
|
3092
|
-
"stability": "
|
|
3092
|
+
"stability": "experimental",
|
|
3093
3093
|
"summary": "Optional asset name suffix."
|
|
3094
3094
|
},
|
|
3095
3095
|
"immutable": true,
|
|
@@ -3106,7 +3106,7 @@
|
|
|
3106
3106
|
{
|
|
3107
3107
|
"abstract": true,
|
|
3108
3108
|
"docs": {
|
|
3109
|
-
"stability": "
|
|
3109
|
+
"stability": "experimental",
|
|
3110
3110
|
"summary": "Edge domain name used by CloudFront - If set a custom OriginRequestPolicy will be created that prevents the Host header from being passed to the origin."
|
|
3111
3111
|
},
|
|
3112
3112
|
"immutable": true,
|
|
@@ -3126,7 +3126,7 @@
|
|
|
3126
3126
|
"@pwrdrvr/microapps-cdk.IMicroApps": {
|
|
3127
3127
|
"assembly": "@pwrdrvr/microapps-cdk",
|
|
3128
3128
|
"docs": {
|
|
3129
|
-
"stability": "
|
|
3129
|
+
"stability": "experimental",
|
|
3130
3130
|
"summary": "Represents a MicroApps."
|
|
3131
3131
|
},
|
|
3132
3132
|
"fqn": "@pwrdrvr/microapps-cdk.IMicroApps",
|
|
@@ -3140,7 +3140,7 @@
|
|
|
3140
3140
|
{
|
|
3141
3141
|
"abstract": true,
|
|
3142
3142
|
"docs": {
|
|
3143
|
-
"stability": "
|
|
3143
|
+
"stability": "experimental",
|
|
3144
3144
|
"summary": "{@inheritdoc IMicroAppsAPIGwy}."
|
|
3145
3145
|
},
|
|
3146
3146
|
"immutable": true,
|
|
@@ -3156,7 +3156,7 @@
|
|
|
3156
3156
|
{
|
|
3157
3157
|
"abstract": true,
|
|
3158
3158
|
"docs": {
|
|
3159
|
-
"stability": "
|
|
3159
|
+
"stability": "experimental",
|
|
3160
3160
|
"summary": "{@inheritdoc IMicroAppsCF}."
|
|
3161
3161
|
},
|
|
3162
3162
|
"immutable": true,
|
|
@@ -3172,7 +3172,7 @@
|
|
|
3172
3172
|
{
|
|
3173
3173
|
"abstract": true,
|
|
3174
3174
|
"docs": {
|
|
3175
|
-
"stability": "
|
|
3175
|
+
"stability": "experimental",
|
|
3176
3176
|
"summary": "{@inheritdoc IMicroAppsS3}."
|
|
3177
3177
|
},
|
|
3178
3178
|
"immutable": true,
|
|
@@ -3188,7 +3188,7 @@
|
|
|
3188
3188
|
{
|
|
3189
3189
|
"abstract": true,
|
|
3190
3190
|
"docs": {
|
|
3191
|
-
"stability": "
|
|
3191
|
+
"stability": "experimental",
|
|
3192
3192
|
"summary": "{@inheritdoc IMicroAppsSvcs}."
|
|
3193
3193
|
},
|
|
3194
3194
|
"immutable": true,
|
|
@@ -3207,7 +3207,7 @@
|
|
|
3207
3207
|
"@pwrdrvr/microapps-cdk.IMicroAppsAPIGwy": {
|
|
3208
3208
|
"assembly": "@pwrdrvr/microapps-cdk",
|
|
3209
3209
|
"docs": {
|
|
3210
|
-
"stability": "
|
|
3210
|
+
"stability": "experimental",
|
|
3211
3211
|
"summary": "Represents a MicroApps API Gateway."
|
|
3212
3212
|
},
|
|
3213
3213
|
"fqn": "@pwrdrvr/microapps-cdk.IMicroAppsAPIGwy",
|
|
@@ -3221,7 +3221,7 @@
|
|
|
3221
3221
|
{
|
|
3222
3222
|
"abstract": true,
|
|
3223
3223
|
"docs": {
|
|
3224
|
-
"stability": "
|
|
3224
|
+
"stability": "experimental",
|
|
3225
3225
|
"summary": "API Gateway."
|
|
3226
3226
|
},
|
|
3227
3227
|
"immutable": true,
|
|
@@ -3237,7 +3237,7 @@
|
|
|
3237
3237
|
{
|
|
3238
3238
|
"abstract": true,
|
|
3239
3239
|
"docs": {
|
|
3240
|
-
"stability": "
|
|
3240
|
+
"stability": "experimental",
|
|
3241
3241
|
"summary": "Domain Name applied to API Gateway origin."
|
|
3242
3242
|
},
|
|
3243
3243
|
"immutable": true,
|
|
@@ -3257,7 +3257,7 @@
|
|
|
3257
3257
|
"@pwrdrvr/microapps-cdk.IMicroAppsCF": {
|
|
3258
3258
|
"assembly": "@pwrdrvr/microapps-cdk",
|
|
3259
3259
|
"docs": {
|
|
3260
|
-
"stability": "
|
|
3260
|
+
"stability": "experimental",
|
|
3261
3261
|
"summary": "Represents a MicroApps CloudFront."
|
|
3262
3262
|
},
|
|
3263
3263
|
"fqn": "@pwrdrvr/microapps-cdk.IMicroAppsCF",
|
|
@@ -3271,7 +3271,7 @@
|
|
|
3271
3271
|
{
|
|
3272
3272
|
"abstract": true,
|
|
3273
3273
|
"docs": {
|
|
3274
|
-
"stability": "
|
|
3274
|
+
"stability": "experimental"
|
|
3275
3275
|
},
|
|
3276
3276
|
"immutable": true,
|
|
3277
3277
|
"locationInModule": {
|
|
@@ -3289,7 +3289,7 @@
|
|
|
3289
3289
|
"@pwrdrvr/microapps-cdk.IMicroAppsS3": {
|
|
3290
3290
|
"assembly": "@pwrdrvr/microapps-cdk",
|
|
3291
3291
|
"docs": {
|
|
3292
|
-
"stability": "
|
|
3292
|
+
"stability": "experimental",
|
|
3293
3293
|
"summary": "Represents a MicroApps S3."
|
|
3294
3294
|
},
|
|
3295
3295
|
"fqn": "@pwrdrvr/microapps-cdk.IMicroAppsS3",
|
|
@@ -3303,7 +3303,7 @@
|
|
|
3303
3303
|
{
|
|
3304
3304
|
"abstract": true,
|
|
3305
3305
|
"docs": {
|
|
3306
|
-
"stability": "
|
|
3306
|
+
"stability": "experimental",
|
|
3307
3307
|
"summary": "S3 bucket for deployed applications."
|
|
3308
3308
|
},
|
|
3309
3309
|
"immutable": true,
|
|
@@ -3319,7 +3319,7 @@
|
|
|
3319
3319
|
{
|
|
3320
3320
|
"abstract": true,
|
|
3321
3321
|
"docs": {
|
|
3322
|
-
"stability": "
|
|
3322
|
+
"stability": "experimental",
|
|
3323
3323
|
"summary": "CloudFront Origin Access Identity for the deployed applications bucket."
|
|
3324
3324
|
},
|
|
3325
3325
|
"immutable": true,
|
|
@@ -3335,7 +3335,7 @@
|
|
|
3335
3335
|
{
|
|
3336
3336
|
"abstract": true,
|
|
3337
3337
|
"docs": {
|
|
3338
|
-
"stability": "
|
|
3338
|
+
"stability": "experimental",
|
|
3339
3339
|
"summary": "CloudFront Origin for the deployed applications bucket."
|
|
3340
3340
|
},
|
|
3341
3341
|
"immutable": true,
|
|
@@ -3351,7 +3351,7 @@
|
|
|
3351
3351
|
{
|
|
3352
3352
|
"abstract": true,
|
|
3353
3353
|
"docs": {
|
|
3354
|
-
"stability": "
|
|
3354
|
+
"stability": "experimental",
|
|
3355
3355
|
"summary": "S3 bucket for staged applications (prior to deploy)."
|
|
3356
3356
|
},
|
|
3357
3357
|
"immutable": true,
|
|
@@ -3367,7 +3367,7 @@
|
|
|
3367
3367
|
{
|
|
3368
3368
|
"abstract": true,
|
|
3369
3369
|
"docs": {
|
|
3370
|
-
"stability": "
|
|
3370
|
+
"stability": "experimental",
|
|
3371
3371
|
"summary": "S3 bucket for CloudFront logs."
|
|
3372
3372
|
},
|
|
3373
3373
|
"immutable": true,
|
|
@@ -3386,7 +3386,7 @@
|
|
|
3386
3386
|
"@pwrdrvr/microapps-cdk.IMicroAppsSvcs": {
|
|
3387
3387
|
"assembly": "@pwrdrvr/microapps-cdk",
|
|
3388
3388
|
"docs": {
|
|
3389
|
-
"stability": "
|
|
3389
|
+
"stability": "experimental",
|
|
3390
3390
|
"summary": "Represents a MicroApps Services."
|
|
3391
3391
|
},
|
|
3392
3392
|
"fqn": "@pwrdrvr/microapps-cdk.IMicroAppsSvcs",
|
|
@@ -3400,7 +3400,7 @@
|
|
|
3400
3400
|
{
|
|
3401
3401
|
"abstract": true,
|
|
3402
3402
|
"docs": {
|
|
3403
|
-
"stability": "
|
|
3403
|
+
"stability": "experimental",
|
|
3404
3404
|
"summary": "Lambda function for the Deployer."
|
|
3405
3405
|
},
|
|
3406
3406
|
"immutable": true,
|
|
@@ -3416,7 +3416,7 @@
|
|
|
3416
3416
|
{
|
|
3417
3417
|
"abstract": true,
|
|
3418
3418
|
"docs": {
|
|
3419
|
-
"stability": "
|
|
3419
|
+
"stability": "experimental",
|
|
3420
3420
|
"summary": "Lambda function for the Router."
|
|
3421
3421
|
},
|
|
3422
3422
|
"immutable": true,
|
|
@@ -3432,7 +3432,7 @@
|
|
|
3432
3432
|
{
|
|
3433
3433
|
"abstract": true,
|
|
3434
3434
|
"docs": {
|
|
3435
|
-
"stability": "
|
|
3435
|
+
"stability": "experimental",
|
|
3436
3436
|
"summary": "DynamoDB table used by Router, Deployer, and Release console app."
|
|
3437
3437
|
},
|
|
3438
3438
|
"immutable": true,
|
|
@@ -3454,13 +3454,13 @@
|
|
|
3454
3454
|
"docs": {
|
|
3455
3455
|
"remarks": "Use this construct to create a working entire stack.\n\nDo not use this construct when adding MicroApps to an existing\nCloudFront, API Gateway, S3 Bucket, etc. or where access\nto all features of the AWS Resources are needed (e.g. to\nadd additional Behaviors to the CloudFront distribution, set authorizors\non API Gateway, etc.).",
|
|
3456
3456
|
"see": "{@link https://github.com/pwrdrvr/microapps-core/blob/main/packages/cdk/lib/MicroApps.ts | example usage in a CDK Stack }",
|
|
3457
|
-
"stability": "
|
|
3457
|
+
"stability": "experimental",
|
|
3458
3458
|
"summary": "Create a new MicroApps \"turnkey\" construct for simple deployments and for initial evaulation of the MicroApps framework."
|
|
3459
3459
|
},
|
|
3460
3460
|
"fqn": "@pwrdrvr/microapps-cdk.MicroApps",
|
|
3461
3461
|
"initializer": {
|
|
3462
3462
|
"docs": {
|
|
3463
|
-
"stability": "
|
|
3463
|
+
"stability": "experimental"
|
|
3464
3464
|
},
|
|
3465
3465
|
"locationInModule": {
|
|
3466
3466
|
"filename": "src/MicroApps.ts",
|
|
@@ -3500,7 +3500,7 @@
|
|
|
3500
3500
|
"properties": [
|
|
3501
3501
|
{
|
|
3502
3502
|
"docs": {
|
|
3503
|
-
"stability": "
|
|
3503
|
+
"stability": "experimental",
|
|
3504
3504
|
"summary": "{@inheritdoc IMicroAppsAPIGwy}."
|
|
3505
3505
|
},
|
|
3506
3506
|
"immutable": true,
|
|
@@ -3516,7 +3516,7 @@
|
|
|
3516
3516
|
},
|
|
3517
3517
|
{
|
|
3518
3518
|
"docs": {
|
|
3519
|
-
"stability": "
|
|
3519
|
+
"stability": "experimental",
|
|
3520
3520
|
"summary": "{@inheritdoc IMicroAppsCF}."
|
|
3521
3521
|
},
|
|
3522
3522
|
"immutable": true,
|
|
@@ -3532,7 +3532,7 @@
|
|
|
3532
3532
|
},
|
|
3533
3533
|
{
|
|
3534
3534
|
"docs": {
|
|
3535
|
-
"stability": "
|
|
3535
|
+
"stability": "experimental",
|
|
3536
3536
|
"summary": "{@inheritdoc IMicroAppsS3}."
|
|
3537
3537
|
},
|
|
3538
3538
|
"immutable": true,
|
|
@@ -3548,7 +3548,7 @@
|
|
|
3548
3548
|
},
|
|
3549
3549
|
{
|
|
3550
3550
|
"docs": {
|
|
3551
|
-
"stability": "
|
|
3551
|
+
"stability": "experimental",
|
|
3552
3552
|
"summary": "{@inheritdoc IMicroAppsSvcs}."
|
|
3553
3553
|
},
|
|
3554
3554
|
"immutable": true,
|
|
@@ -3569,13 +3569,13 @@
|
|
|
3569
3569
|
"assembly": "@pwrdrvr/microapps-cdk",
|
|
3570
3570
|
"base": "constructs.Construct",
|
|
3571
3571
|
"docs": {
|
|
3572
|
-
"stability": "
|
|
3572
|
+
"stability": "experimental",
|
|
3573
3573
|
"summary": "Create a new MicroApps API Gateway HTTP API endpoint."
|
|
3574
3574
|
},
|
|
3575
3575
|
"fqn": "@pwrdrvr/microapps-cdk.MicroAppsAPIGwy",
|
|
3576
3576
|
"initializer": {
|
|
3577
3577
|
"docs": {
|
|
3578
|
-
"stability": "
|
|
3578
|
+
"stability": "experimental"
|
|
3579
3579
|
},
|
|
3580
3580
|
"locationInModule": {
|
|
3581
3581
|
"filename": "src/MicroAppsAPIGwy.ts",
|
|
@@ -3615,7 +3615,7 @@
|
|
|
3615
3615
|
"properties": [
|
|
3616
3616
|
{
|
|
3617
3617
|
"docs": {
|
|
3618
|
-
"stability": "
|
|
3618
|
+
"stability": "experimental",
|
|
3619
3619
|
"summary": "API Gateway."
|
|
3620
3620
|
},
|
|
3621
3621
|
"immutable": true,
|
|
@@ -3631,7 +3631,7 @@
|
|
|
3631
3631
|
},
|
|
3632
3632
|
{
|
|
3633
3633
|
"docs": {
|
|
3634
|
-
"stability": "
|
|
3634
|
+
"stability": "experimental",
|
|
3635
3635
|
"summary": "Domain Name applied to API Gateway origin."
|
|
3636
3636
|
},
|
|
3637
3637
|
"immutable": true,
|
|
@@ -3653,7 +3653,7 @@
|
|
|
3653
3653
|
"assembly": "@pwrdrvr/microapps-cdk",
|
|
3654
3654
|
"datatype": true,
|
|
3655
3655
|
"docs": {
|
|
3656
|
-
"stability": "
|
|
3656
|
+
"stability": "experimental",
|
|
3657
3657
|
"summary": "Properties to initialize an instance of `MicroAppsAPIGwy`."
|
|
3658
3658
|
},
|
|
3659
3659
|
"fqn": "@pwrdrvr/microapps-cdk.MicroAppsAPIGwyProps",
|
|
@@ -3669,7 +3669,7 @@
|
|
|
3669
3669
|
"docs": {
|
|
3670
3670
|
"default": "- resource names auto assigned",
|
|
3671
3671
|
"example": "microapps",
|
|
3672
|
-
"stability": "
|
|
3672
|
+
"stability": "experimental",
|
|
3673
3673
|
"summary": "Optional asset name root."
|
|
3674
3674
|
},
|
|
3675
3675
|
"immutable": true,
|
|
@@ -3688,7 +3688,7 @@
|
|
|
3688
3688
|
"docs": {
|
|
3689
3689
|
"default": "none",
|
|
3690
3690
|
"example": "-dev-pr-12",
|
|
3691
|
-
"stability": "
|
|
3691
|
+
"stability": "experimental",
|
|
3692
3692
|
"summary": "Optional asset name suffix."
|
|
3693
3693
|
},
|
|
3694
3694
|
"immutable": true,
|
|
@@ -3706,7 +3706,7 @@
|
|
|
3706
3706
|
"abstract": true,
|
|
3707
3707
|
"docs": {
|
|
3708
3708
|
"default": "none",
|
|
3709
|
-
"stability": "
|
|
3709
|
+
"stability": "experimental",
|
|
3710
3710
|
"summary": "Optional local region ACM certificate to use for API Gateway Note: required when using a custom domain."
|
|
3711
3711
|
},
|
|
3712
3712
|
"immutable": true,
|
|
@@ -3725,7 +3725,7 @@
|
|
|
3725
3725
|
"docs": {
|
|
3726
3726
|
"default": "auto-assigned",
|
|
3727
3727
|
"example": "apps.pwrdrvr.com",
|
|
3728
|
-
"stability": "
|
|
3728
|
+
"stability": "experimental",
|
|
3729
3729
|
"summary": "CloudFront edge domain name."
|
|
3730
3730
|
},
|
|
3731
3731
|
"immutable": true,
|
|
@@ -3744,7 +3744,7 @@
|
|
|
3744
3744
|
"docs": {
|
|
3745
3745
|
"default": "auto-assigned",
|
|
3746
3746
|
"example": "apps-origin.pwrdrvr.com",
|
|
3747
|
-
"stability": "
|
|
3747
|
+
"stability": "experimental",
|
|
3748
3748
|
"summary": "API Gateway origin domain name."
|
|
3749
3749
|
},
|
|
3750
3750
|
"immutable": true,
|
|
@@ -3761,7 +3761,7 @@
|
|
|
3761
3761
|
{
|
|
3762
3762
|
"abstract": true,
|
|
3763
3763
|
"docs": {
|
|
3764
|
-
"stability": "
|
|
3764
|
+
"stability": "experimental",
|
|
3765
3765
|
"summary": "Route53 zone in which to create optional `domainNameEdge` record."
|
|
3766
3766
|
},
|
|
3767
3767
|
"immutable": true,
|
|
@@ -3780,7 +3780,7 @@
|
|
|
3780
3780
|
"docs": {
|
|
3781
3781
|
"default": "- per resource default",
|
|
3782
3782
|
"remarks": "Note: if set to DESTROY the S3 buckes will have `autoDeleteObjects` set to `true`",
|
|
3783
|
-
"stability": "
|
|
3783
|
+
"stability": "experimental",
|
|
3784
3784
|
"summary": "RemovalPolicy override for child resources."
|
|
3785
3785
|
},
|
|
3786
3786
|
"immutable": true,
|
|
@@ -3799,7 +3799,7 @@
|
|
|
3799
3799
|
"docs": {
|
|
3800
3800
|
"default": "none",
|
|
3801
3801
|
"example": "dev/",
|
|
3802
|
-
"stability": "
|
|
3802
|
+
"stability": "experimental",
|
|
3803
3803
|
"summary": "Path prefix on the root of the API Gateway Stage."
|
|
3804
3804
|
},
|
|
3805
3805
|
"immutable": true,
|
|
@@ -3820,13 +3820,13 @@
|
|
|
3820
3820
|
"assembly": "@pwrdrvr/microapps-cdk",
|
|
3821
3821
|
"base": "constructs.Construct",
|
|
3822
3822
|
"docs": {
|
|
3823
|
-
"stability": "
|
|
3823
|
+
"stability": "experimental",
|
|
3824
3824
|
"summary": "Create a new MicroApps CloudFront Distribution."
|
|
3825
3825
|
},
|
|
3826
3826
|
"fqn": "@pwrdrvr/microapps-cdk.MicroAppsCF",
|
|
3827
3827
|
"initializer": {
|
|
3828
3828
|
"docs": {
|
|
3829
|
-
"stability": "
|
|
3829
|
+
"stability": "experimental"
|
|
3830
3830
|
},
|
|
3831
3831
|
"locationInModule": {
|
|
3832
3832
|
"filename": "src/MicroAppsCF.ts",
|
|
@@ -3864,7 +3864,7 @@
|
|
|
3864
3864
|
"methods": [
|
|
3865
3865
|
{
|
|
3866
3866
|
"docs": {
|
|
3867
|
-
"stability": "
|
|
3867
|
+
"stability": "experimental",
|
|
3868
3868
|
"summary": "Add API Gateway and S3 routes to an existing CloudFront Distribution."
|
|
3869
3869
|
},
|
|
3870
3870
|
"locationInModule": {
|
|
@@ -3891,7 +3891,7 @@
|
|
|
3891
3891
|
{
|
|
3892
3892
|
"docs": {
|
|
3893
3893
|
"remarks": "If a custom domain name is NOT used for the origin then a policy\nwill be created.\n\nIf a custom domain name IS used for the origin then the ALL_VIEWER\npolicy will be returned. This policy passes the Host header to the\norigin, which is fine when using a custom domain name on the origin.",
|
|
3894
|
-
"stability": "
|
|
3894
|
+
"stability": "experimental",
|
|
3895
3895
|
"summary": "Create or get the origin request policy."
|
|
3896
3896
|
},
|
|
3897
3897
|
"locationInModule": {
|
|
@@ -3925,7 +3925,7 @@
|
|
|
3925
3925
|
"properties": [
|
|
3926
3926
|
{
|
|
3927
3927
|
"docs": {
|
|
3928
|
-
"stability": "
|
|
3928
|
+
"stability": "experimental"
|
|
3929
3929
|
},
|
|
3930
3930
|
"immutable": true,
|
|
3931
3931
|
"locationInModule": {
|
|
@@ -3945,7 +3945,7 @@
|
|
|
3945
3945
|
"assembly": "@pwrdrvr/microapps-cdk",
|
|
3946
3946
|
"datatype": true,
|
|
3947
3947
|
"docs": {
|
|
3948
|
-
"stability": "
|
|
3948
|
+
"stability": "experimental",
|
|
3949
3949
|
"summary": "Properties to initialize an instance of `MicroAppsCF`."
|
|
3950
3950
|
},
|
|
3951
3951
|
"fqn": "@pwrdrvr/microapps-cdk.MicroAppsCFProps",
|
|
@@ -3959,7 +3959,7 @@
|
|
|
3959
3959
|
{
|
|
3960
3960
|
"abstract": true,
|
|
3961
3961
|
"docs": {
|
|
3962
|
-
"stability": "
|
|
3962
|
+
"stability": "experimental",
|
|
3963
3963
|
"summary": "S3 bucket origin for deployed applications."
|
|
3964
3964
|
},
|
|
3965
3965
|
"immutable": true,
|
|
@@ -3975,7 +3975,7 @@
|
|
|
3975
3975
|
{
|
|
3976
3976
|
"abstract": true,
|
|
3977
3977
|
"docs": {
|
|
3978
|
-
"stability": "
|
|
3978
|
+
"stability": "experimental",
|
|
3979
3979
|
"summary": "API Gateway v2 HTTP API for apps."
|
|
3980
3980
|
},
|
|
3981
3981
|
"immutable": true,
|
|
@@ -3993,7 +3993,7 @@
|
|
|
3993
3993
|
"docs": {
|
|
3994
3994
|
"default": "- resource names auto assigned",
|
|
3995
3995
|
"example": "microapps",
|
|
3996
|
-
"stability": "
|
|
3996
|
+
"stability": "experimental",
|
|
3997
3997
|
"summary": "Optional asset name root."
|
|
3998
3998
|
},
|
|
3999
3999
|
"immutable": true,
|
|
@@ -4012,7 +4012,7 @@
|
|
|
4012
4012
|
"docs": {
|
|
4013
4013
|
"default": "none",
|
|
4014
4014
|
"example": "-dev-pr-12",
|
|
4015
|
-
"stability": "
|
|
4015
|
+
"stability": "experimental",
|
|
4016
4016
|
"summary": "Optional asset name suffix."
|
|
4017
4017
|
},
|
|
4018
4018
|
"immutable": true,
|
|
@@ -4029,7 +4029,7 @@
|
|
|
4029
4029
|
{
|
|
4030
4030
|
"abstract": true,
|
|
4031
4031
|
"docs": {
|
|
4032
|
-
"stability": "
|
|
4032
|
+
"stability": "experimental",
|
|
4033
4033
|
"summary": "S3 bucket for CloudFront logs."
|
|
4034
4034
|
},
|
|
4035
4035
|
"immutable": true,
|
|
@@ -4046,7 +4046,7 @@
|
|
|
4046
4046
|
{
|
|
4047
4047
|
"abstract": true,
|
|
4048
4048
|
"docs": {
|
|
4049
|
-
"stability": "
|
|
4049
|
+
"stability": "experimental",
|
|
4050
4050
|
"summary": "ACM Certificate that covers `domainNameEdge` name."
|
|
4051
4051
|
},
|
|
4052
4052
|
"immutable": true,
|
|
@@ -4065,7 +4065,7 @@
|
|
|
4065
4065
|
"docs": {
|
|
4066
4066
|
"default": "true",
|
|
4067
4067
|
"remarks": "When false API routes with a period in the path will get routed to S3.\n\nWhen true API routes that contain /api/ in the path will get routed to API Gateway\neven if they have a period in the path.",
|
|
4068
|
-
"stability": "
|
|
4068
|
+
"stability": "experimental",
|
|
4069
4069
|
"summary": "Create an extra Behavior (Route) for /api/ that allows API routes to have a period in them."
|
|
4070
4070
|
},
|
|
4071
4071
|
"immutable": true,
|
|
@@ -4084,7 +4084,7 @@
|
|
|
4084
4084
|
"docs": {
|
|
4085
4085
|
"default": "auto-assigned",
|
|
4086
4086
|
"example": "apps.pwrdrvr.com",
|
|
4087
|
-
"stability": "
|
|
4087
|
+
"stability": "experimental",
|
|
4088
4088
|
"summary": "CloudFront Distribution domain name."
|
|
4089
4089
|
},
|
|
4090
4090
|
"immutable": true,
|
|
@@ -4103,7 +4103,7 @@
|
|
|
4103
4103
|
"docs": {
|
|
4104
4104
|
"default": "- retrieved from httpApi, if possible",
|
|
4105
4105
|
"example": "apps.pwrdrvr.com",
|
|
4106
|
-
"stability": "
|
|
4106
|
+
"stability": "experimental",
|
|
4107
4107
|
"summary": "API Gateway custom origin domain name."
|
|
4108
4108
|
},
|
|
4109
4109
|
"immutable": true,
|
|
@@ -4120,7 +4120,7 @@
|
|
|
4120
4120
|
{
|
|
4121
4121
|
"abstract": true,
|
|
4122
4122
|
"docs": {
|
|
4123
|
-
"stability": "
|
|
4123
|
+
"stability": "experimental",
|
|
4124
4124
|
"summary": "Route53 zone in which to create optional `domainNameEdge` record."
|
|
4125
4125
|
},
|
|
4126
4126
|
"immutable": true,
|
|
@@ -4139,7 +4139,7 @@
|
|
|
4139
4139
|
"docs": {
|
|
4140
4140
|
"default": "- per resource default",
|
|
4141
4141
|
"remarks": "Note: if set to DESTROY the S3 buckes will have `autoDeleteObjects` set to `true`",
|
|
4142
|
-
"stability": "
|
|
4142
|
+
"stability": "experimental",
|
|
4143
4143
|
"summary": "RemovalPolicy override for child resources."
|
|
4144
4144
|
},
|
|
4145
4145
|
"immutable": true,
|
|
@@ -4157,7 +4157,7 @@
|
|
|
4157
4157
|
"abstract": true,
|
|
4158
4158
|
"docs": {
|
|
4159
4159
|
"example": "dev/",
|
|
4160
|
-
"stability": "
|
|
4160
|
+
"stability": "experimental",
|
|
4161
4161
|
"summary": "Path prefix on the root of the CloudFront distribution."
|
|
4162
4162
|
},
|
|
4163
4163
|
"immutable": true,
|
|
@@ -4178,7 +4178,7 @@
|
|
|
4178
4178
|
"assembly": "@pwrdrvr/microapps-cdk",
|
|
4179
4179
|
"datatype": true,
|
|
4180
4180
|
"docs": {
|
|
4181
|
-
"stability": "
|
|
4181
|
+
"stability": "experimental",
|
|
4182
4182
|
"summary": "Properties to initialize an instance of `MicroApps`."
|
|
4183
4183
|
},
|
|
4184
4184
|
"fqn": "@pwrdrvr/microapps-cdk.MicroAppsProps",
|
|
@@ -4193,7 +4193,7 @@
|
|
|
4193
4193
|
"abstract": true,
|
|
4194
4194
|
"docs": {
|
|
4195
4195
|
"default": "dev",
|
|
4196
|
-
"stability": "
|
|
4196
|
+
"stability": "experimental",
|
|
4197
4197
|
"summary": "Passed to NODE_ENV of Router and Deployer Lambda functions."
|
|
4198
4198
|
},
|
|
4199
4199
|
"immutable": true,
|
|
@@ -4211,7 +4211,7 @@
|
|
|
4211
4211
|
"docs": {
|
|
4212
4212
|
"default": "- resource names auto assigned",
|
|
4213
4213
|
"example": "microapps",
|
|
4214
|
-
"stability": "
|
|
4214
|
+
"stability": "experimental",
|
|
4215
4215
|
"summary": "Optional asset name root."
|
|
4216
4216
|
},
|
|
4217
4217
|
"immutable": true,
|
|
@@ -4230,7 +4230,7 @@
|
|
|
4230
4230
|
"docs": {
|
|
4231
4231
|
"default": "none",
|
|
4232
4232
|
"example": "-dev-pr-12",
|
|
4233
|
-
"stability": "
|
|
4233
|
+
"stability": "experimental",
|
|
4234
4234
|
"summary": "Optional asset name suffix."
|
|
4235
4235
|
},
|
|
4236
4236
|
"immutable": true,
|
|
@@ -4247,7 +4247,7 @@
|
|
|
4247
4247
|
{
|
|
4248
4248
|
"abstract": true,
|
|
4249
4249
|
"docs": {
|
|
4250
|
-
"stability": "
|
|
4250
|
+
"stability": "experimental",
|
|
4251
4251
|
"summary": "Certificate in US-East-1 for the CloudFront distribution."
|
|
4252
4252
|
},
|
|
4253
4253
|
"immutable": true,
|
|
@@ -4264,7 +4264,7 @@
|
|
|
4264
4264
|
{
|
|
4265
4265
|
"abstract": true,
|
|
4266
4266
|
"docs": {
|
|
4267
|
-
"stability": "
|
|
4267
|
+
"stability": "experimental",
|
|
4268
4268
|
"summary": "Certificate in deployed region for the API Gateway."
|
|
4269
4269
|
},
|
|
4270
4270
|
"immutable": true,
|
|
@@ -4283,7 +4283,7 @@
|
|
|
4283
4283
|
"docs": {
|
|
4284
4284
|
"default": "true",
|
|
4285
4285
|
"remarks": "When false API routes with a period in the path will get routed to S3.\n\nWhen true API routes that contain /api/ in the path will get routed to API Gateway\neven if they have a period in the path.",
|
|
4286
|
-
"stability": "
|
|
4286
|
+
"stability": "experimental",
|
|
4287
4287
|
"summary": "Create an extra Behavior (Route) for /api/ that allows API routes to have a period in them."
|
|
4288
4288
|
},
|
|
4289
4289
|
"immutable": true,
|
|
@@ -4302,7 +4302,7 @@
|
|
|
4302
4302
|
"docs": {
|
|
4303
4303
|
"default": "auto-assigned",
|
|
4304
4304
|
"example": "apps.pwrdrvr.com",
|
|
4305
|
-
"stability": "
|
|
4305
|
+
"stability": "experimental",
|
|
4306
4306
|
"summary": "Optional custom domain name for the CloudFront distribution."
|
|
4307
4307
|
},
|
|
4308
4308
|
"immutable": true,
|
|
@@ -4321,7 +4321,7 @@
|
|
|
4321
4321
|
"docs": {
|
|
4322
4322
|
"default": "auto-assigned",
|
|
4323
4323
|
"example": "apps-origin.pwrdrvr.com",
|
|
4324
|
-
"stability": "
|
|
4324
|
+
"stability": "experimental",
|
|
4325
4325
|
"summary": "Optional custom domain name for the API Gateway HTTPv2 API."
|
|
4326
4326
|
},
|
|
4327
4327
|
"immutable": true,
|
|
@@ -4338,7 +4338,7 @@
|
|
|
4338
4338
|
{
|
|
4339
4339
|
"abstract": true,
|
|
4340
4340
|
"docs": {
|
|
4341
|
-
"stability": "
|
|
4341
|
+
"stability": "experimental",
|
|
4342
4342
|
"summary": "Route53 zone in which to create optional `domainNameEdge` record."
|
|
4343
4343
|
},
|
|
4344
4344
|
"immutable": true,
|
|
@@ -4357,7 +4357,7 @@
|
|
|
4357
4357
|
"docs": {
|
|
4358
4358
|
"default": "- per resource default",
|
|
4359
4359
|
"remarks": "Note: if set to DESTROY the S3 buckes will have `autoDeleteObjects` set to `true`",
|
|
4360
|
-
"stability": "
|
|
4360
|
+
"stability": "experimental",
|
|
4361
4361
|
"summary": "RemovalPolicy override for child resources."
|
|
4362
4362
|
},
|
|
4363
4363
|
"immutable": true,
|
|
@@ -4375,7 +4375,7 @@
|
|
|
4375
4375
|
"abstract": true,
|
|
4376
4376
|
"docs": {
|
|
4377
4377
|
"example": "dev/",
|
|
4378
|
-
"stability": "
|
|
4378
|
+
"stability": "experimental",
|
|
4379
4379
|
"summary": "Path prefix on the root of the CloudFront distribution."
|
|
4380
4380
|
},
|
|
4381
4381
|
"immutable": true,
|
|
@@ -4395,7 +4395,7 @@
|
|
|
4395
4395
|
"example": "[ 'AROA1234567890123' ]",
|
|
4396
4396
|
"remarks": "AROAs of the IAM Role to exclude from the DENY rules on the S3 Bucket Policy.\nThis allows sessions that assume the IAM Role to be excluded from the\nDENY rules on the S3 Bucket Policy.\n\nTypically any admin roles / users that need to view or manage the S3 Bucket\nwould be added to this list.\n\nRoles / users that are used directly, not assumed, can be added to `s3PolicyBypassRoleNames` instead.\n\nNote: This AROA must be specified to prevent this policy from locking\nout non-root sessions that have assumed the admin role.\n\nThe notPrincipals will only match the role name exactly and will not match\nany session that has assumed the role since notPrincipals does not allow\nwildcard matches and does not do wildcard matches implicitly either.\n\nThe AROA must be used because there are only 3 Principal variables available:\n https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable\n aws:username, aws:userid, aws:PrincipalTag\n\nFor an assumed role, aws:username is blank, aws:userid is:\n [unique id AKA AROA for Role]:[session name]\n\nTable of unique ID prefixes such as AROA:\n https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-prefixes\n\nThe name of the role is simply not available for an assumed role and, if it was,\na complicated comparison would be requierd to prevent exclusion\nof applying the Deny Rule to roles from other accounts.\n\nTo get the AROA with the AWS CLI:\n aws iam get-role --role-name ROLE-NAME\n aws iam get-user -–user-name USER-NAME",
|
|
4397
4397
|
"see": "s3StrictBucketPolicy",
|
|
4398
|
-
"stability": "
|
|
4398
|
+
"stability": "experimental",
|
|
4399
4399
|
"summary": "Applies when using s3StrictBucketPolicy = true."
|
|
4400
4400
|
},
|
|
4401
4401
|
"immutable": true,
|
|
@@ -4420,7 +4420,7 @@
|
|
|
4420
4420
|
"example": "['arn:aws:iam::1234567890123:role/AdminAccess', 'arn:aws:iam::1234567890123:user/MyAdminUser']",
|
|
4421
4421
|
"remarks": "IAM Role or IAM User names to exclude from the DENY rules on the S3 Bucket Policy.\n\nRoles that are Assumed must instead have their AROA added to `s3PolicyBypassAROAs`.\n\nTypically any admin roles / users that need to view or manage the S3 Bucket\nwould be added to this list.",
|
|
4422
4422
|
"see": "s3PolicyBypassAROAs",
|
|
4423
|
-
"stability": "
|
|
4423
|
+
"stability": "experimental",
|
|
4424
4424
|
"summary": "Applies when using s3StrictBucketPolicy = true."
|
|
4425
4425
|
},
|
|
4426
4426
|
"immutable": true,
|
|
@@ -4444,7 +4444,7 @@
|
|
|
4444
4444
|
"docs": {
|
|
4445
4445
|
"default": "false",
|
|
4446
4446
|
"remarks": "This setting should be used when applications are less than\nfully trusted.",
|
|
4447
|
-
"stability": "
|
|
4447
|
+
"stability": "experimental",
|
|
4448
4448
|
"summary": "Use a strict S3 Bucket Policy that prevents applications from reading/writing/modifying/deleting files in the S3 Bucket outside of the path that is specific to their app/version."
|
|
4449
4449
|
},
|
|
4450
4450
|
"immutable": true,
|
|
@@ -4465,13 +4465,13 @@
|
|
|
4465
4465
|
"assembly": "@pwrdrvr/microapps-cdk",
|
|
4466
4466
|
"base": "constructs.Construct",
|
|
4467
4467
|
"docs": {
|
|
4468
|
-
"stability": "
|
|
4468
|
+
"stability": "experimental",
|
|
4469
4469
|
"summary": "Create a new MicroApps S3 Bucket."
|
|
4470
4470
|
},
|
|
4471
4471
|
"fqn": "@pwrdrvr/microapps-cdk.MicroAppsS3",
|
|
4472
4472
|
"initializer": {
|
|
4473
4473
|
"docs": {
|
|
4474
|
-
"stability": "
|
|
4474
|
+
"stability": "experimental"
|
|
4475
4475
|
},
|
|
4476
4476
|
"locationInModule": {
|
|
4477
4477
|
"filename": "src/MicroAppsS3.ts",
|
|
@@ -4511,7 +4511,7 @@
|
|
|
4511
4511
|
"properties": [
|
|
4512
4512
|
{
|
|
4513
4513
|
"docs": {
|
|
4514
|
-
"stability": "
|
|
4514
|
+
"stability": "experimental",
|
|
4515
4515
|
"summary": "S3 bucket for deployed applications."
|
|
4516
4516
|
},
|
|
4517
4517
|
"immutable": true,
|
|
@@ -4527,7 +4527,7 @@
|
|
|
4527
4527
|
},
|
|
4528
4528
|
{
|
|
4529
4529
|
"docs": {
|
|
4530
|
-
"stability": "
|
|
4530
|
+
"stability": "experimental",
|
|
4531
4531
|
"summary": "CloudFront Origin Access Identity for the deployed applications bucket."
|
|
4532
4532
|
},
|
|
4533
4533
|
"immutable": true,
|
|
@@ -4543,7 +4543,7 @@
|
|
|
4543
4543
|
},
|
|
4544
4544
|
{
|
|
4545
4545
|
"docs": {
|
|
4546
|
-
"stability": "
|
|
4546
|
+
"stability": "experimental",
|
|
4547
4547
|
"summary": "CloudFront Origin for the deployed applications bucket."
|
|
4548
4548
|
},
|
|
4549
4549
|
"immutable": true,
|
|
@@ -4559,7 +4559,7 @@
|
|
|
4559
4559
|
},
|
|
4560
4560
|
{
|
|
4561
4561
|
"docs": {
|
|
4562
|
-
"stability": "
|
|
4562
|
+
"stability": "experimental",
|
|
4563
4563
|
"summary": "S3 bucket for staged applications (prior to deploy)."
|
|
4564
4564
|
},
|
|
4565
4565
|
"immutable": true,
|
|
@@ -4575,7 +4575,7 @@
|
|
|
4575
4575
|
},
|
|
4576
4576
|
{
|
|
4577
4577
|
"docs": {
|
|
4578
|
-
"stability": "
|
|
4578
|
+
"stability": "experimental",
|
|
4579
4579
|
"summary": "S3 bucket for CloudFront logs."
|
|
4580
4580
|
},
|
|
4581
4581
|
"immutable": true,
|
|
@@ -4596,7 +4596,7 @@
|
|
|
4596
4596
|
"assembly": "@pwrdrvr/microapps-cdk",
|
|
4597
4597
|
"datatype": true,
|
|
4598
4598
|
"docs": {
|
|
4599
|
-
"stability": "
|
|
4599
|
+
"stability": "experimental",
|
|
4600
4600
|
"summary": "Properties to initialize an instance of `MicroAppsS3`."
|
|
4601
4601
|
},
|
|
4602
4602
|
"fqn": "@pwrdrvr/microapps-cdk.MicroAppsS3Props",
|
|
@@ -4612,7 +4612,7 @@
|
|
|
4612
4612
|
"docs": {
|
|
4613
4613
|
"default": "- resource names auto assigned",
|
|
4614
4614
|
"example": "microapps",
|
|
4615
|
-
"stability": "
|
|
4615
|
+
"stability": "experimental",
|
|
4616
4616
|
"summary": "Optional asset name root."
|
|
4617
4617
|
},
|
|
4618
4618
|
"immutable": true,
|
|
@@ -4631,7 +4631,7 @@
|
|
|
4631
4631
|
"docs": {
|
|
4632
4632
|
"default": "none",
|
|
4633
4633
|
"example": "-dev-pr-12",
|
|
4634
|
-
"stability": "
|
|
4634
|
+
"stability": "experimental",
|
|
4635
4635
|
"summary": "Optional asset name suffix."
|
|
4636
4636
|
},
|
|
4637
4637
|
"immutable": true,
|
|
@@ -4649,7 +4649,7 @@
|
|
|
4649
4649
|
"abstract": true,
|
|
4650
4650
|
"docs": {
|
|
4651
4651
|
"default": "auto-assigned",
|
|
4652
|
-
"stability": "
|
|
4652
|
+
"stability": "experimental",
|
|
4653
4653
|
"summary": "S3 deployed apps bucket name."
|
|
4654
4654
|
},
|
|
4655
4655
|
"immutable": true,
|
|
@@ -4667,7 +4667,7 @@
|
|
|
4667
4667
|
"abstract": true,
|
|
4668
4668
|
"docs": {
|
|
4669
4669
|
"default": "auto-assigned",
|
|
4670
|
-
"stability": "
|
|
4670
|
+
"stability": "experimental",
|
|
4671
4671
|
"summary": "S3 staging apps bucket name."
|
|
4672
4672
|
},
|
|
4673
4673
|
"immutable": true,
|
|
@@ -4685,7 +4685,7 @@
|
|
|
4685
4685
|
"abstract": true,
|
|
4686
4686
|
"docs": {
|
|
4687
4687
|
"default": "auto-assigned",
|
|
4688
|
-
"stability": "
|
|
4688
|
+
"stability": "experimental",
|
|
4689
4689
|
"summary": "S3 logs bucket name."
|
|
4690
4690
|
},
|
|
4691
4691
|
"immutable": true,
|
|
@@ -4704,7 +4704,7 @@
|
|
|
4704
4704
|
"docs": {
|
|
4705
4705
|
"default": "- per resource default",
|
|
4706
4706
|
"remarks": "Note: if set to DESTROY the S3 buckets will have `autoDeleteObjects` set to `true`",
|
|
4707
|
-
"stability": "
|
|
4707
|
+
"stability": "experimental",
|
|
4708
4708
|
"summary": "RemovalPolicy override for child resources."
|
|
4709
4709
|
},
|
|
4710
4710
|
"immutable": true,
|
|
@@ -4725,13 +4725,13 @@
|
|
|
4725
4725
|
"assembly": "@pwrdrvr/microapps-cdk",
|
|
4726
4726
|
"base": "constructs.Construct",
|
|
4727
4727
|
"docs": {
|
|
4728
|
-
"stability": "
|
|
4728
|
+
"stability": "experimental",
|
|
4729
4729
|
"summary": "Create a new MicroApps Services construct, including the Deployer and Router Lambda Functions, and the DynamoDB Table used by both."
|
|
4730
4730
|
},
|
|
4731
4731
|
"fqn": "@pwrdrvr/microapps-cdk.MicroAppsSvcs",
|
|
4732
4732
|
"initializer": {
|
|
4733
4733
|
"docs": {
|
|
4734
|
-
"stability": "
|
|
4734
|
+
"stability": "experimental"
|
|
4735
4735
|
},
|
|
4736
4736
|
"locationInModule": {
|
|
4737
4737
|
"filename": "src/MicroAppsSvcs.ts",
|
|
@@ -4771,7 +4771,7 @@
|
|
|
4771
4771
|
"properties": [
|
|
4772
4772
|
{
|
|
4773
4773
|
"docs": {
|
|
4774
|
-
"stability": "
|
|
4774
|
+
"stability": "experimental",
|
|
4775
4775
|
"summary": "Lambda function for the Deployer."
|
|
4776
4776
|
},
|
|
4777
4777
|
"immutable": true,
|
|
@@ -4787,7 +4787,7 @@
|
|
|
4787
4787
|
},
|
|
4788
4788
|
{
|
|
4789
4789
|
"docs": {
|
|
4790
|
-
"stability": "
|
|
4790
|
+
"stability": "experimental",
|
|
4791
4791
|
"summary": "Lambda function for the Router."
|
|
4792
4792
|
},
|
|
4793
4793
|
"immutable": true,
|
|
@@ -4803,7 +4803,7 @@
|
|
|
4803
4803
|
},
|
|
4804
4804
|
{
|
|
4805
4805
|
"docs": {
|
|
4806
|
-
"stability": "
|
|
4806
|
+
"stability": "experimental",
|
|
4807
4807
|
"summary": "DynamoDB table used by Router, Deployer, and Release console app."
|
|
4808
4808
|
},
|
|
4809
4809
|
"immutable": true,
|
|
@@ -4824,7 +4824,7 @@
|
|
|
4824
4824
|
"assembly": "@pwrdrvr/microapps-cdk",
|
|
4825
4825
|
"datatype": true,
|
|
4826
4826
|
"docs": {
|
|
4827
|
-
"stability": "
|
|
4827
|
+
"stability": "experimental",
|
|
4828
4828
|
"summary": "Properties to initialize an instance of `MicroAppsSvcs`."
|
|
4829
4829
|
},
|
|
4830
4830
|
"fqn": "@pwrdrvr/microapps-cdk.MicroAppsSvcsProps",
|
|
@@ -4838,7 +4838,7 @@
|
|
|
4838
4838
|
{
|
|
4839
4839
|
"abstract": true,
|
|
4840
4840
|
"docs": {
|
|
4841
|
-
"stability": "
|
|
4841
|
+
"stability": "experimental",
|
|
4842
4842
|
"summary": "Application environment, passed as `NODE_ENV` to the Router and Deployer Lambda functions."
|
|
4843
4843
|
},
|
|
4844
4844
|
"immutable": true,
|
|
@@ -4854,7 +4854,7 @@
|
|
|
4854
4854
|
{
|
|
4855
4855
|
"abstract": true,
|
|
4856
4856
|
"docs": {
|
|
4857
|
-
"stability": "
|
|
4857
|
+
"stability": "experimental",
|
|
4858
4858
|
"summary": "S3 bucket for deployed applications."
|
|
4859
4859
|
},
|
|
4860
4860
|
"immutable": true,
|
|
@@ -4870,7 +4870,7 @@
|
|
|
4870
4870
|
{
|
|
4871
4871
|
"abstract": true,
|
|
4872
4872
|
"docs": {
|
|
4873
|
-
"stability": "
|
|
4873
|
+
"stability": "experimental",
|
|
4874
4874
|
"summary": "CloudFront Origin Access Identity for the deployed applications bucket."
|
|
4875
4875
|
},
|
|
4876
4876
|
"immutable": true,
|
|
@@ -4886,7 +4886,7 @@
|
|
|
4886
4886
|
{
|
|
4887
4887
|
"abstract": true,
|
|
4888
4888
|
"docs": {
|
|
4889
|
-
"stability": "
|
|
4889
|
+
"stability": "experimental",
|
|
4890
4890
|
"summary": "S3 bucket for staged applications (prior to deploy)."
|
|
4891
4891
|
},
|
|
4892
4892
|
"immutable": true,
|
|
@@ -4902,7 +4902,7 @@
|
|
|
4902
4902
|
{
|
|
4903
4903
|
"abstract": true,
|
|
4904
4904
|
"docs": {
|
|
4905
|
-
"stability": "
|
|
4905
|
+
"stability": "experimental",
|
|
4906
4906
|
"summary": "API Gateway v2 HTTP for Router and app."
|
|
4907
4907
|
},
|
|
4908
4908
|
"immutable": true,
|
|
@@ -4920,7 +4920,7 @@
|
|
|
4920
4920
|
"docs": {
|
|
4921
4921
|
"default": "- resource names auto assigned",
|
|
4922
4922
|
"example": "microapps",
|
|
4923
|
-
"stability": "
|
|
4923
|
+
"stability": "experimental",
|
|
4924
4924
|
"summary": "Optional asset name root."
|
|
4925
4925
|
},
|
|
4926
4926
|
"immutable": true,
|
|
@@ -4939,7 +4939,7 @@
|
|
|
4939
4939
|
"docs": {
|
|
4940
4940
|
"default": "none",
|
|
4941
4941
|
"example": "-dev-pr-12",
|
|
4942
|
-
"stability": "
|
|
4942
|
+
"stability": "experimental",
|
|
4943
4943
|
"summary": "Optional asset name suffix."
|
|
4944
4944
|
},
|
|
4945
4945
|
"immutable": true,
|
|
@@ -4958,7 +4958,7 @@
|
|
|
4958
4958
|
"docs": {
|
|
4959
4959
|
"default": "- per resource default",
|
|
4960
4960
|
"remarks": "Note: if set to DESTROY the S3 buckes will have `autoDeleteObjects` set to `true`",
|
|
4961
|
-
"stability": "
|
|
4961
|
+
"stability": "experimental",
|
|
4962
4962
|
"summary": "RemovalPolicy override for child resources."
|
|
4963
4963
|
},
|
|
4964
4964
|
"immutable": true,
|
|
@@ -4977,7 +4977,7 @@
|
|
|
4977
4977
|
"docs": {
|
|
4978
4978
|
"default": "none",
|
|
4979
4979
|
"example": "dev/",
|
|
4980
|
-
"stability": "
|
|
4980
|
+
"stability": "experimental",
|
|
4981
4981
|
"summary": "Path prefix on the root of the deployment."
|
|
4982
4982
|
},
|
|
4983
4983
|
"immutable": true,
|
|
@@ -4997,7 +4997,7 @@
|
|
|
4997
4997
|
"example": "[ 'AROA1234567890123' ]",
|
|
4998
4998
|
"remarks": "AROAs of the IAM Role to exclude from the DENY rules on the S3 Bucket Policy.\nThis allows sessions that assume the IAM Role to be excluded from the\nDENY rules on the S3 Bucket Policy.\n\nTypically any admin roles / users that need to view or manage the S3 Bucket\nwould be added to this list.\n\nRoles / users that are used directly, not assumed, can be added to `s3PolicyBypassRoleNames` instead.\n\nNote: This AROA must be specified to prevent this policy from locking\nout non-root sessions that have assumed the admin role.\n\nThe notPrincipals will only match the role name exactly and will not match\nany session that has assumed the role since notPrincipals does not allow\nwildcard matches and does not do wildcard matches implicitly either.\n\nThe AROA must be used because there are only 3 Principal variables available:\n https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#principaltable\n aws:username, aws:userid, aws:PrincipalTag\n\nFor an assumed role, aws:username is blank, aws:userid is:\n [unique id AKA AROA for Role]:[session name]\n\nTable of unique ID prefixes such as AROA:\n https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-prefixes\n\nThe name of the role is simply not available for an assumed role and, if it was,\na complicated comparison would be requierd to prevent exclusion\nof applying the Deny Rule to roles from other accounts.\n\nTo get the AROA with the AWS CLI:\n aws iam get-role --role-name ROLE-NAME\n aws iam get-user -–user-name USER-NAME",
|
|
4999
4999
|
"see": "s3StrictBucketPolicy",
|
|
5000
|
-
"stability": "
|
|
5000
|
+
"stability": "experimental",
|
|
5001
5001
|
"summary": "Applies when using s3StrictBucketPolicy = true."
|
|
5002
5002
|
},
|
|
5003
5003
|
"immutable": true,
|
|
@@ -5022,7 +5022,7 @@
|
|
|
5022
5022
|
"example": "['arn:aws:iam::1234567890123:role/AdminAccess', 'arn:aws:iam::1234567890123:user/MyAdminUser']",
|
|
5023
5023
|
"remarks": "IAM Role or IAM User names to exclude from the DENY rules on the S3 Bucket Policy.\n\nRoles that are Assumed must instead have their AROA added to `s3PolicyBypassAROAs`.\n\nTypically any admin roles / users that need to view or manage the S3 Bucket\nwould be added to this list.",
|
|
5024
5024
|
"see": "s3PolicyBypassAROAs",
|
|
5025
|
-
"stability": "
|
|
5025
|
+
"stability": "experimental",
|
|
5026
5026
|
"summary": "Applies when using s3StrictBucketPolicy = true."
|
|
5027
5027
|
},
|
|
5028
5028
|
"immutable": true,
|
|
@@ -5046,7 +5046,7 @@
|
|
|
5046
5046
|
"docs": {
|
|
5047
5047
|
"default": "false",
|
|
5048
5048
|
"remarks": "This setting should be used when applications are less than\nfully trusted.",
|
|
5049
|
-
"stability": "
|
|
5049
|
+
"stability": "experimental",
|
|
5050
5050
|
"summary": "Use a strict S3 Bucket Policy that prevents applications from reading/writing/modifying/deleting files in the S3 Bucket outside of the path that is specific to their app/version."
|
|
5051
5051
|
},
|
|
5052
5052
|
"immutable": true,
|
|
@@ -5064,6 +5064,6 @@
|
|
|
5064
5064
|
"symbolId": "src/MicroAppsSvcs:MicroAppsSvcsProps"
|
|
5065
5065
|
}
|
|
5066
5066
|
},
|
|
5067
|
-
"version": "0.2.
|
|
5068
|
-
"fingerprint": "
|
|
5067
|
+
"version": "0.2.9",
|
|
5068
|
+
"fingerprint": "zngGwgDD1XlxxxHYPeX5ofe7Ybe7YoT0T2w8RK+Fg48="
|
|
5069
5069
|
}
|