@alma-cdk/project 1.0.0-beta.8 → 1.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.
Files changed (122) hide show
  1. package/.jsii +278 -205
  2. package/.nvmrc +1 -1
  3. package/API.md +56 -0
  4. package/README.md +21 -0
  5. package/lib/__test__/TestableProjectStack.d.ts +17 -0
  6. package/lib/__test__/TestableProjectStack.js +57 -0
  7. package/lib/__test__/TestableResource.d.ts +17 -0
  8. package/lib/__test__/TestableResource.js +31 -0
  9. package/lib/__test__/expectErrorMetadata.d.ts +2 -0
  10. package/lib/__test__/expectErrorMetadata.js +16 -0
  11. package/lib/configurations/accounts.d.ts +2 -1
  12. package/lib/configurations/accounts.js +13 -24
  13. package/lib/configurations/accounts.test.d.ts +1 -0
  14. package/lib/configurations/accounts.test.js +60 -0
  15. package/lib/configurations/environments.d.ts +9 -0
  16. package/lib/configurations/environments.js +11 -11
  17. package/lib/configurations/environments.test.d.ts +1 -0
  18. package/lib/configurations/environments.test.js +73 -0
  19. package/lib/configurations/index.d.ts +2 -2
  20. package/lib/configurations/index.js +1 -1
  21. package/lib/context/account.d.ts +1 -1
  22. package/lib/context/account.js +2 -2
  23. package/lib/context/account.test.d.ts +1 -0
  24. package/lib/context/account.test.js +607 -0
  25. package/lib/context/environment.d.ts +2 -2
  26. package/lib/context/environment.js +5 -5
  27. package/lib/context/environment.test.d.ts +1 -0
  28. package/lib/context/environment.test.js +413 -0
  29. package/lib/context/index.d.ts +2 -2
  30. package/lib/context/index.js +1 -1
  31. package/lib/error/add.d.ts +1 -1
  32. package/lib/error/add.js +2 -3
  33. package/lib/error/index.d.ts +1 -1
  34. package/lib/error/index.js +1 -1
  35. package/lib/feature-flags/index.d.ts +2 -0
  36. package/lib/feature-flags/index.js +19 -0
  37. package/lib/feature-flags/legacyTags.d.ts +9 -0
  38. package/lib/feature-flags/legacyTags.js +15 -0
  39. package/lib/feature-flags/legacyTags.test.d.ts +1 -0
  40. package/lib/feature-flags/legacyTags.test.js +22 -0
  41. package/lib/feature-flags/v0Tags.d.ts +11 -0
  42. package/lib/feature-flags/v0Tags.js +17 -0
  43. package/lib/feature-flags/v0Tags.test.d.ts +1 -0
  44. package/lib/feature-flags/v0Tags.test.js +22 -0
  45. package/lib/index.d.ts +6 -6
  46. package/lib/index.js +1 -1
  47. package/lib/name/index.d.ts +7 -7
  48. package/lib/name/index.js +1 -1
  49. package/lib/name/interfaces.js +1 -1
  50. package/lib/name/max-length.d.ts +1 -1
  51. package/lib/name/max-length.js +7 -7
  52. package/lib/name/name-path.d.ts +3 -3
  53. package/lib/name/name-path.js +5 -5
  54. package/lib/name/name-path.test.js +42 -42
  55. package/lib/name/name-url.d.ts +3 -3
  56. package/lib/name/name-url.js +2 -2
  57. package/lib/name/name-url.test.js +38 -38
  58. package/lib/name/name.d.ts +2 -2
  59. package/lib/name/name.js +6 -6
  60. package/lib/name/name.test.js +38 -38
  61. package/lib/name/trim.d.ts +1 -1
  62. package/lib/name/trim.js +5 -6
  63. package/lib/name/trim.test.js +12 -12
  64. package/lib/project/account-type.d.ts +2 -2
  65. package/lib/project/account-type.js +11 -11
  66. package/lib/project/account-type.test.d.ts +1 -0
  67. package/lib/project/account-type.test.js +78 -0
  68. package/lib/project/environment-type.d.ts +1 -1
  69. package/lib/project/environment-type.js +12 -12
  70. package/lib/project/environment-type.test.d.ts +1 -0
  71. package/lib/project/environment-type.test.js +142 -0
  72. package/lib/project/envregexp.js +3 -3
  73. package/lib/project/index.d.ts +6 -6
  74. package/lib/project/index.js +1 -1
  75. package/lib/project/interfaces.d.ts +1 -1
  76. package/lib/project/interfaces.js +1 -1
  77. package/lib/project/project-context.d.ts +1 -1
  78. package/lib/project/project-context.js +3 -3
  79. package/lib/project/project.d.ts +14 -3
  80. package/lib/project/project.js +20 -5
  81. package/lib/project/project.test.d.ts +1 -0
  82. package/lib/project/project.test.js +38 -0
  83. package/lib/project/resolve-region.js +5 -6
  84. package/lib/smartstack/description/index.js +2 -3
  85. package/lib/smartstack/description/index.test.js +50 -43
  86. package/lib/smartstack/index.d.ts +1 -1
  87. package/lib/smartstack/index.js +1 -1
  88. package/lib/smartstack/name/index.js +2 -3
  89. package/lib/smartstack/name/index.test.js +72 -64
  90. package/lib/smartstack/stack.d.ts +2 -2
  91. package/lib/smartstack/stack.js +16 -7
  92. package/lib/smartstack/stack.test.d.ts +1 -0
  93. package/lib/smartstack/stack.test.js +177 -0
  94. package/lib/smartstack/tags/checks.d.ts +1 -3
  95. package/lib/smartstack/tags/checks.js +3 -9
  96. package/lib/smartstack/tags/exclude.d.ts +1 -1
  97. package/lib/smartstack/tags/exclude.js +3 -4
  98. package/lib/smartstack/tags/index.d.ts +1 -1
  99. package/lib/smartstack/tags/index.js +2 -3
  100. package/lib/smartstack/tags/taggers.d.ts +3 -3
  101. package/lib/smartstack/tags/taggers.js +10 -7
  102. package/lib/smartstack/tags/taggers.test.d.ts +1 -0
  103. package/lib/smartstack/tags/taggers.test.js +262 -0
  104. package/lib/smartstack/tags/values.d.ts +1 -1
  105. package/lib/smartstack/tags/values.js +3 -3
  106. package/lib/smartstack/termination/index.js +4 -5
  107. package/lib/smartstack/termination/index.test.js +20 -20
  108. package/lib/template/index.js +9 -10
  109. package/lib/utils/find.d.ts +1 -1
  110. package/lib/utils/find.js +5 -6
  111. package/lib/utils/find.test.js +19 -19
  112. package/lib/utils/get.js +2 -3
  113. package/lib/utils/get.test.js +12 -15
  114. package/lib/utils/isNonEmptyString.js +3 -4
  115. package/lib/wrapper/account.d.ts +1 -1
  116. package/lib/wrapper/account.js +5 -5
  117. package/lib/wrapper/environment.d.ts +1 -1
  118. package/lib/wrapper/environment.js +2 -2
  119. package/lib/wrapper/index.d.ts +2 -2
  120. package/lib/wrapper/index.js +1 -1
  121. package/package.json +17 -11
  122. package/sonar-project.properties +6 -1
package/.jsii CHANGED
@@ -3651,10 +3651,10 @@
3651
3651
  },
3652
3652
  "description": "Opinionated CDK Project “Framework”",
3653
3653
  "docs": {
3654
- "stability": "experimental"
3654
+ "stability": "stable"
3655
3655
  },
3656
3656
  "homepage": "https://github.com/alma-cdk/project.git",
3657
- "jsiiVersion": "5.3.55 (build 4f29397)",
3657
+ "jsiiVersion": "5.5.10 (build 224bf90)",
3658
3658
  "keywords": [
3659
3659
  "aws",
3660
3660
  "aws-cdk",
@@ -3672,7 +3672,7 @@
3672
3672
  },
3673
3673
  "name": "@alma-cdk/project",
3674
3674
  "readme": {
3675
- "markdown": "<div align=\"center\">\n\t<br/>\n\t<br/>\n <h1>\n\t<img width=\"300\" src=\"assets/alma-cdk-project.svg\" alt=\"Alma CDK Project\" />\n <br/>\n <br/>\n </h1>\n\n ```sh\n npm i -D @alma-cdk/project\n ```\n\n <div align=\"left\">\n\n Opinionated CDK “framework” with constructs & utilities for:\n - deploying multiple environments to multiple accounts (with many-to-many relationship)\n - managing account configuration through standardized props (no more random config files)\n - querying account and/or environment specific information within your CDK code\n - enabling dynamic & short-lived “feature-environments”\n - enabling well-defined tagging\n - providing structure & common conventions to CDK projects\n - choosing the target account & environment by passing in runtime context:\n\n ```sh\n npx cdk deploy -c account=dev -c environment=feature/abc-123\n ```\n ... which means you don't need to define all the possibile environments ahead of time!\n\n </div>\n <br/>\n</div>\n\n\n## Account Strategies\n\nDepending on the use case, you may choose a configuration between 1-3 AWS accounts with the following environments:\n\n\n1. **Shared account (`shared`)**:\n\n ![default-multi](assets/accounts-1x.svg)\n <br/>\n\n2. **Multi-account (`dev`+`prod`)**_– RECOMMENDED_:\n\n ![default-multi](assets/accounts-2x.svg)\n <br/>\n\n<br/>\n</details>\n\n3. **Multi-account (`dev`+`preprod`+`prod`)**:\n\n ![default-multi](assets/accounts-3x.svg)\n <br/>\n\n<br/>\n\n## Getting Started\n\nSteps required to define a _environmental_ project resources; At first, it might seem complex but once you get into the habbit of defining your projects this way it starts to make sense:\n\n1. Choose your [Account Strategy](#account-strategies)\n\n2. Initialize a new `Project` instead of `cdk.App`:\n\n ```ts\n // bin/app.ts\n import { Project, AccountStrategy } from '@alma-cdk/project';\n\n const project = new Project({\n // Basic info, you could also read these from package.json if you want\n name: 'my-cool-project',\n author: {\n organization: 'Acme Corp',\n name: 'Mad Scientists',\n email: 'mad.scientists@acme.example.com',\n },\n\n // If not set, defaults to one of: $CDK_DEFAULT_REGION, $AWS_REGION or us-east-1\n defaultRegion: 'eu-west-1',\n\n // Configures the project to use 2 AWS accounts (recommended)\n accounts: AccountStrategy.two({\n dev: {\n id: '111111111111',\n config: {\n // whatever you want here as [string]: any\n baseDomain: 'example.net',\n },\n },\n prod: {\n id: '222222222222',\n config: {\n // whatever you want here as [string]: any\n baseDomain: 'example.com',\n },\n },\n }),\n })\n ```\n\n3. Define a stack which `extends SmartStack` with resources:\n ```ts\n // lib/my-stack.ts\n import { Construct } from 'constructs';\n import { StackProps, RemovalPolicy } from 'aws-cdk-lib';\n import { SmartStack, Name, UrlName, PathName, EC } from '@alma-cdk/project';\n\n export class MyStack extends SmartStack {\n constructor(scope: Construct, id: string, props: StackProps) {\n super(scope, id, props);\n\n new dynamodb.Table(this, 'Table', {\n removalPolicy: EC.isStable(this) ? RemovalPolicy.RETAIN : RemovalPolicy.DESTROY,\n\n tableName: Name.it(this, 'MyTable'),\n partitionKey: {\n type: dynamodb.AttributeType.STRING,\n name: 'pk',\n },\n // StagingMyTable\n });\n\n new events.EventBus(this, 'EventBus', {\n eventBusName: Name.withProject(this, 'MyEventBus'),\n // MyCoolProjectStagingMyEventBus\n });\n\n new s3.Bucket(this, 'Bucket', {\n\n removalPolicy: EC.isStable(this) ? RemovalPolicy.RETAIN : RemovalPolicy.DESTROY,\n autoDeleteObjects: EC.isStable(this) ? false : true,\n\n bucketName: UrlName.globally(this, 'MyBucket'),\n // acme-corp-my-cool-project-feature-foo-bar-my-bucket\n });\n\n new ssm.StringParameter(this, 'Parameter', {\n stringValue: 'Foo',\n tier: ssm.ParameterTier.ADVANCED,\n parameterName: PathName.withProject(this, 'MyNamespace/MyParameter'),\n // /MyCoolProject/Staging/MyNamespace/MyParameter\n });\n }\n }\n ```\n\n4. Define a new _environmental_ which `extends EnvironmentWrapper` and initialize all your environmental `SmartStack` stacks within:\n\n ```ts\n // lib/environment.ts\n import { Construct } from 'constructs';\n import { EnvironmentWrapper } from '@alma-cdk/project';\n import { MyStack } from './my-stack';\n\n export class Environment extends EnvironmentWrapper {\n constructor(scope: Construct) {\n super(scope);\n new MyStack(this, 'MyStack', { description: 'This is required' });\n }\n }\n ```\n\n Resulting Stack properties (given `environment=staging`):\n\n | Property | Example value |\n | :---------------------- | :--------------------------------------------------- |\n | `stackName` | `\"MyCoolProject-Environment-Staging-MyExampleStack\"` |\n | `terminationProtection` | `true` |\n | `env.account` | `\"111111111111\"` |\n | `env.region` | `\"eu-west-1\"` |\n\n Resulting Tags for the Stack and its resources (given `environment=staging`):\n\n | Property | Example value |\n | :---------------------- | :-------------------------------- |\n | `Account` | `dev` |\n | `Environment` | `staging` |\n | `Project` | `my-cool-project` |\n | `Author` | `Mad Scientists` |\n | `Organization` | `Acme Corp` |\n | `Contact` | `mad.scientists@acme.example.com` |\n\n5. Finally initialize the environment with the `Project` scope:\n\n ```ts\n // bin/app.ts\n import { Project, Accounts } from '@alma-cdk/project';\n import { Environment } from '../lib/environment';\n\n const project = new Project({/* removed for brevity, see step 1 */})\n\n new Environment(project);\n ```\n\n<br/>\n\n\n## Documentation\n\nSee detailed documentation for specific classes & methods at [constructs.dev](http://constructs.dev/packages/@alma-cdk/project).\n\nGenerally speaking you would be most interested in the following:\n- Project\n- AccountStrategy\n- SmartStack\n- AccountWrapper & EnvironmentWrapper\n- AccountContext (AC)\n- EnvironmentContext (EC)\n- Name / UrlName / PathName\n"
3675
+ "markdown": "<div align=\"center\">\n\t<br/>\n\t<br/>\n <h1>\n\t<img width=\"300\" src=\"assets/alma-cdk-project.svg\" alt=\"Alma CDK Project\" />\n <br/>\n <br/>\n </h1>\n\n ![NPM License](https://img.shields.io/npm/l/%40alma-cdk%2Fproject)\n [![release](https://github.com/alma-cdk/project/actions/workflows/release.yml/badge.svg)](https://github.com/alma-cdk/project/actions/workflows/release.yml)\n\n ```sh\n npm i -D @alma-cdk/project\n ```\n\n <div align=\"left\">\n\n Opinionated CDK “framework” with constructs & utilities for:\n - deploying multiple environments to multiple accounts (with many-to-many relationship)\n - managing account configuration through standardized props (no more random config files)\n - querying account and/or environment specific information within your CDK code\n - enabling dynamic & short-lived “feature-environments”\n - enabling well-defined tagging\n - providing structure & common conventions to CDK projects\n - choosing the target account & environment by passing in runtime context:\n\n ```sh\n npx cdk deploy -c account=dev -c environment=feature/abc-123\n ```\n ... which means you don't need to define all the possibile environments ahead of time!\n\n </div>\n <br/>\n</div>\n\n\n## Account Strategies\n\nDepending on the use case, you may choose a configuration between 1-3 AWS accounts with the following environments:\n\n\n1. **Shared account (`shared`)**:\n\n ![default-multi](assets/accounts-1x.svg)\n <br/>\n\n2. **Multi-account (`dev`+`prod`)**_– RECOMMENDED_:\n\n ![default-multi](assets/accounts-2x.svg)\n <br/>\n\n<br/>\n</details>\n\n3. **Multi-account (`dev`+`preprod`+`prod`)**:\n\n ![default-multi](assets/accounts-3x.svg)\n <br/>\n\n<br/>\n\n## Getting Started\n\nSteps required to define a _environmental_ project resources; At first, it might seem complex but once you get into the habbit of defining your projects this way it starts to make sense:\n\n1. Choose your [Account Strategy](#account-strategies)\n\n2. Initialize a new `Project` instead of `cdk.App`:\n\n ```ts\n // bin/app.ts\n import { Project, AccountStrategy } from '@alma-cdk/project';\n\n const project = new Project({\n // Basic info, you could also read these from package.json if you want\n name: 'my-cool-project',\n author: {\n organization: 'Acme Corp',\n name: 'Mad Scientists',\n email: 'mad.scientists@acme.example.com',\n },\n\n // If not set, defaults to one of: $CDK_DEFAULT_REGION, $AWS_REGION or us-east-1\n defaultRegion: 'eu-west-1',\n\n // Configures the project to use 2 AWS accounts (recommended)\n accounts: AccountStrategy.two({\n dev: {\n id: '111111111111',\n config: {\n // whatever you want here as [string]: any\n baseDomain: 'example.net',\n },\n },\n prod: {\n id: '222222222222',\n config: {\n // whatever you want here as [string]: any\n baseDomain: 'example.com',\n },\n },\n }),\n })\n ```\n\n3. Define a stack which `extends SmartStack` with resources:\n ```ts\n // lib/my-stack.ts\n import { Construct } from 'constructs';\n import { StackProps, RemovalPolicy } from 'aws-cdk-lib';\n import { SmartStack, Name, UrlName, PathName, EC } from '@alma-cdk/project';\n\n export class MyStack extends SmartStack {\n constructor(scope: Construct, id: string, props: StackProps) {\n super(scope, id, props);\n\n new dynamodb.Table(this, 'Table', {\n removalPolicy: EC.isStable(this) ? RemovalPolicy.RETAIN : RemovalPolicy.DESTROY,\n\n tableName: Name.it(this, 'MyTable'),\n partitionKey: {\n type: dynamodb.AttributeType.STRING,\n name: 'pk',\n },\n // StagingMyTable\n });\n\n new events.EventBus(this, 'EventBus', {\n eventBusName: Name.withProject(this, 'MyEventBus'),\n // MyCoolProjectStagingMyEventBus\n });\n\n new s3.Bucket(this, 'Bucket', {\n\n removalPolicy: EC.isStable(this) ? RemovalPolicy.RETAIN : RemovalPolicy.DESTROY,\n autoDeleteObjects: EC.isStable(this) ? false : true,\n\n bucketName: UrlName.globally(this, 'MyBucket'),\n // acme-corp-my-cool-project-feature-foo-bar-my-bucket\n });\n\n new ssm.StringParameter(this, 'Parameter', {\n stringValue: 'Foo',\n tier: ssm.ParameterTier.ADVANCED,\n parameterName: PathName.withProject(this, 'MyNamespace/MyParameter'),\n // /MyCoolProject/Staging/MyNamespace/MyParameter\n });\n }\n }\n ```\n\n4. Define a new _environmental_ which `extends EnvironmentWrapper` and initialize all your environmental `SmartStack` stacks within:\n\n ```ts\n // lib/environment.ts\n import { Construct } from 'constructs';\n import { EnvironmentWrapper } from '@alma-cdk/project';\n import { MyStack } from './my-stack';\n\n export class Environment extends EnvironmentWrapper {\n constructor(scope: Construct) {\n super(scope);\n new MyStack(this, 'MyStack', { description: 'This is required' });\n }\n }\n ```\n\n Resulting Stack properties (given `environment=staging`):\n\n | Property | Example value |\n | :---------------------- | :--------------------------------------------------- |\n | `stackName` | `\"MyCoolProject-Environment-Staging-MyExampleStack\"` |\n | `terminationProtection` | `true` |\n | `env.account` | `\"111111111111\"` |\n | `env.region` | `\"eu-west-1\"` |\n\n Resulting Tags for the Stack and its resources (given `environment=staging`):\n\n | Property | Example value |\n | :---------------------- | :-------------------------------- |\n | `Account` | `dev` |\n | `Environment` | `staging` |\n | `Project` | `my-cool-project` |\n | `Author` | `Mad Scientists` |\n | `Organization` | `Acme Corp` |\n | `Contact` | `mad.scientists@acme.example.com` |\n\n5. Finally initialize the environment with the `Project` scope:\n\n ```ts\n // bin/app.ts\n import { Project, Accounts } from '@alma-cdk/project';\n import { Environment } from '../lib/environment';\n\n const project = new Project({/* removed for brevity, see step 1 */})\n\n new Environment(project);\n ```\n\n<br/>\n\n\n## Documentation\n\nSee detailed documentation for specific classes & methods at [constructs.dev](http://constructs.dev/packages/@alma-cdk/project).\n\nGenerally speaking you would be most interested in the following:\n- Project\n- AccountStrategy\n- SmartStack\n- AccountWrapper & EnvironmentWrapper\n- AccountContext (AC)\n- EnvironmentContext (EC)\n- Name / UrlName / PathName\n\n## Migration\n\n### v0 to v1\n\n#### Tagging behavior\n\nDue to a bug in `v0`, the `Contact` and `Organization` tags were NOT applied as they should have. This means that by default, upgrading from v0→v1 introduces CloudFormation diff. Basically adding the `Contact` and `Organization` tags to all resources. This should be safe operation, but we allow disabling it via a feature flag (note that `Contact` and `Organization` tags will most likely be enforced in future `v2`).\n\n```diff\n// cdk.json\n{\n \"context\": {\n // existing context keys\n+ \"@alma-cdk/project:compatibility:v0:tags\": true\n },\n}\n```\n"
3676
3676
  },
3677
3677
  "repository": {
3678
3678
  "type": "git",
@@ -3696,14 +3696,14 @@
3696
3696
  "assembly": "@alma-cdk/project",
3697
3697
  "datatype": true,
3698
3698
  "docs": {
3699
- "stability": "experimental",
3699
+ "stability": "stable",
3700
3700
  "summary": "AWS account configuration."
3701
3701
  },
3702
3702
  "fqn": "@alma-cdk/project.Account",
3703
3703
  "kind": "interface",
3704
3704
  "locationInModule": {
3705
3705
  "filename": "src/project/interfaces.ts",
3706
- "line": 3
3706
+ "line": 2
3707
3707
  },
3708
3708
  "name": "Account",
3709
3709
  "properties": [
@@ -3711,13 +3711,13 @@
3711
3711
  "abstract": true,
3712
3712
  "docs": {
3713
3713
  "example": "'123456789012'",
3714
- "stability": "experimental",
3714
+ "stability": "stable",
3715
3715
  "summary": "AWS Account ID."
3716
3716
  },
3717
3717
  "immutable": true,
3718
3718
  "locationInModule": {
3719
3719
  "filename": "src/project/interfaces.ts",
3720
- "line": 10
3720
+ "line": 8
3721
3721
  },
3722
3722
  "name": "id",
3723
3723
  "type": {
@@ -3729,13 +3729,13 @@
3729
3729
  "docs": {
3730
3730
  "example": "{\n dev: {\n id: '111111111111',\n config: {\n baseDomain: 'example.net',\n },\n },\n prod: {\n id: '222222222222',\n config: {\n baseDomain: 'example.com',\n },\n },\n},",
3731
3731
  "remarks": "For example VPC IDs (for existing VPCs), Direct Connect Gateway IDs, apex domain names (for Route53 Zone lookups), etc. Basically configuration for resources that are defined outside of this CDK application.",
3732
- "stability": "experimental",
3732
+ "stability": "stable",
3733
3733
  "summary": "AWS account specific configuration."
3734
3734
  },
3735
3735
  "immutable": true,
3736
3736
  "locationInModule": {
3737
3737
  "filename": "src/project/interfaces.ts",
3738
- "line": 42
3738
+ "line": 40
3739
3739
  },
3740
3740
  "name": "config",
3741
3741
  "optional": true,
@@ -3753,13 +3753,13 @@
3753
3753
  "docs": {
3754
3754
  "example": "[\"development\", \"feature/.*\"]",
3755
3755
  "remarks": "List of strings or strings representing regexp initialization (passed onto `new Regexp(\"^\"+environment+\"$\", \"i\")`).",
3756
- "stability": "experimental",
3756
+ "stability": "stable",
3757
3757
  "summary": "List of accepted environments for the given account."
3758
3758
  },
3759
3759
  "immutable": true,
3760
3760
  "locationInModule": {
3761
3761
  "filename": "src/project/interfaces.ts",
3762
- "line": 20
3762
+ "line": 18
3763
3763
  },
3764
3764
  "name": "environments",
3765
3765
  "optional": true,
@@ -3779,7 +3779,7 @@
3779
3779
  "assembly": "@alma-cdk/project",
3780
3780
  "datatype": true,
3781
3781
  "docs": {
3782
- "stability": "experimental",
3782
+ "stability": "stable",
3783
3783
  "summary": "Interface for a single account type configuration."
3784
3784
  },
3785
3785
  "fqn": "@alma-cdk/project.AccountConfiguration",
@@ -3793,7 +3793,7 @@
3793
3793
  {
3794
3794
  "abstract": true,
3795
3795
  "docs": {
3796
- "stability": "experimental"
3796
+ "stability": "stable"
3797
3797
  },
3798
3798
  "immutable": true,
3799
3799
  "locationInModule": {
@@ -3808,7 +3808,7 @@
3808
3808
  {
3809
3809
  "abstract": true,
3810
3810
  "docs": {
3811
- "stability": "experimental"
3811
+ "stability": "stable"
3812
3812
  },
3813
3813
  "immutable": true,
3814
3814
  "locationInModule": {
@@ -3832,27 +3832,27 @@
3832
3832
  "@alma-cdk/project.AccountContext": {
3833
3833
  "assembly": "@alma-cdk/project",
3834
3834
  "docs": {
3835
- "stability": "experimental"
3835
+ "stability": "stable"
3836
3836
  },
3837
3837
  "fqn": "@alma-cdk/project.AccountContext",
3838
3838
  "initializer": {
3839
3839
  "docs": {
3840
- "stability": "experimental"
3840
+ "stability": "stable"
3841
3841
  }
3842
3842
  },
3843
3843
  "kind": "class",
3844
3844
  "locationInModule": {
3845
3845
  "filename": "src/context/account.ts",
3846
- "line": 6
3846
+ "line": 5
3847
3847
  },
3848
3848
  "methods": [
3849
3849
  {
3850
3850
  "docs": {
3851
- "stability": "experimental"
3851
+ "stability": "stable"
3852
3852
  },
3853
3853
  "locationInModule": {
3854
3854
  "filename": "src/context/account.ts",
3855
- "line": 13
3855
+ "line": 11
3856
3856
  },
3857
3857
  "name": "getAccountConfig",
3858
3858
  "parameters": [
@@ -3878,11 +3878,11 @@
3878
3878
  },
3879
3879
  {
3880
3880
  "docs": {
3881
- "stability": "experimental"
3881
+ "stability": "stable"
3882
3882
  },
3883
3883
  "locationInModule": {
3884
3884
  "filename": "src/context/account.ts",
3885
- "line": 8
3885
+ "line": 6
3886
3886
  },
3887
3887
  "name": "getAccountId",
3888
3888
  "parameters": [
@@ -3902,11 +3902,11 @@
3902
3902
  },
3903
3903
  {
3904
3904
  "docs": {
3905
- "stability": "experimental"
3905
+ "stability": "stable"
3906
3906
  },
3907
3907
  "locationInModule": {
3908
3908
  "filename": "src/context/account.ts",
3909
- "line": 17
3909
+ "line": 15
3910
3910
  },
3911
3911
  "name": "getAccountType",
3912
3912
  "parameters": [
@@ -3926,11 +3926,11 @@
3926
3926
  },
3927
3927
  {
3928
3928
  "docs": {
3929
- "stability": "experimental"
3929
+ "stability": "stable"
3930
3930
  },
3931
3931
  "locationInModule": {
3932
3932
  "filename": "src/context/account.ts",
3933
- "line": 29
3933
+ "line": 27
3934
3934
  },
3935
3935
  "name": "isDev",
3936
3936
  "parameters": [
@@ -3950,11 +3950,11 @@
3950
3950
  },
3951
3951
  {
3952
3952
  "docs": {
3953
- "stability": "experimental"
3953
+ "stability": "stable"
3954
3954
  },
3955
3955
  "locationInModule": {
3956
3956
  "filename": "src/context/account.ts",
3957
- "line": 21
3957
+ "line": 19
3958
3958
  },
3959
3959
  "name": "isMock",
3960
3960
  "parameters": [
@@ -3974,11 +3974,11 @@
3974
3974
  },
3975
3975
  {
3976
3976
  "docs": {
3977
- "stability": "experimental"
3977
+ "stability": "stable"
3978
3978
  },
3979
3979
  "locationInModule": {
3980
3980
  "filename": "src/context/account.ts",
3981
- "line": 33
3981
+ "line": 31
3982
3982
  },
3983
3983
  "name": "isPreProd",
3984
3984
  "parameters": [
@@ -3998,11 +3998,11 @@
3998
3998
  },
3999
3999
  {
4000
4000
  "docs": {
4001
- "stability": "experimental"
4001
+ "stability": "stable"
4002
4002
  },
4003
4003
  "locationInModule": {
4004
4004
  "filename": "src/context/account.ts",
4005
- "line": 37
4005
+ "line": 35
4006
4006
  },
4007
4007
  "name": "isProd",
4008
4008
  "parameters": [
@@ -4022,11 +4022,11 @@
4022
4022
  },
4023
4023
  {
4024
4024
  "docs": {
4025
- "stability": "experimental"
4025
+ "stability": "stable"
4026
4026
  },
4027
4027
  "locationInModule": {
4028
4028
  "filename": "src/context/account.ts",
4029
- "line": 25
4029
+ "line": 23
4030
4030
  },
4031
4031
  "name": "isShared",
4032
4032
  "parameters": [
@@ -4053,13 +4053,13 @@
4053
4053
  "assembly": "@alma-cdk/project",
4054
4054
  "docs": {
4055
4055
  "remarks": "Available strategies are:\n- One Account: `shared`\n- Two Accounts: `dev`+`prod` – _recommended_\n- Three Accounts: `dev`+`preprod`+`prod`",
4056
- "stability": "experimental",
4056
+ "stability": "stable",
4057
4057
  "summary": "Use static methods of `AccountStrategy` abstract class to define your account strategy."
4058
4058
  },
4059
4059
  "fqn": "@alma-cdk/project.AccountStrategy",
4060
4060
  "initializer": {
4061
4061
  "docs": {
4062
- "stability": "experimental"
4062
+ "stability": "stable"
4063
4063
  }
4064
4064
  },
4065
4065
  "kind": "class",
@@ -4072,12 +4072,12 @@
4072
4072
  "docs": {
4073
4073
  "example": "AccountStrategy.one({\n shared: {\n id: '111111111111',\n },\n}),",
4074
4074
  "remarks": "1. `shared` account with environments:\n - development\n - feature/*\n - test\n - qaN\n - staging\n - preproduction\n - production",
4075
- "stability": "experimental",
4075
+ "stability": "stable",
4076
4076
  "summary": "Enables single account strategy."
4077
4077
  },
4078
4078
  "locationInModule": {
4079
4079
  "filename": "src/configurations/accounts.ts",
4080
- "line": 74
4080
+ "line": 73
4081
4081
  },
4082
4082
  "name": "one",
4083
4083
  "parameters": [
@@ -4104,12 +4104,12 @@
4104
4104
  "docs": {
4105
4105
  "example": "AccountStrategy.three({\n dev: {\n id: '111111111111',\n },\n preprod: {\n id: '222222222222',\n },\n prod: {\n id: '333333333333',\n },\n}),",
4106
4106
  "remarks": "1. `dev` account with environments:\n - development\n - feature/*\n - test\n - staging\n2. `preprod` account with environments:\n - qaN\n - preproduction\n3. `prod` account with environments:\n - production",
4107
- "stability": "experimental",
4107
+ "stability": "stable",
4108
4108
  "summary": "Enables triple account strategy."
4109
4109
  },
4110
4110
  "locationInModule": {
4111
4111
  "filename": "src/configurations/accounts.ts",
4112
- "line": 177
4112
+ "line": 172
4113
4113
  },
4114
4114
  "name": "three",
4115
4115
  "parameters": [
@@ -4136,12 +4136,12 @@
4136
4136
  "docs": {
4137
4137
  "example": "AccountStrategy.two({\n dev: {\n id: '111111111111',\n },\n prod: {\n id: '222222222222',\n },\n}),",
4138
4138
  "remarks": "1. `dev` account with environments:\n - development\n - feature/*\n - test\n - qaN\n - staging\n2. `prod` account with environments:\n - preproduction\n - production",
4139
- "stability": "experimental",
4139
+ "stability": "stable",
4140
4140
  "summary": "Enables dual account strategy."
4141
4141
  },
4142
4142
  "locationInModule": {
4143
4143
  "filename": "src/configurations/accounts.ts",
4144
- "line": 121
4144
+ "line": 118
4145
4145
  },
4146
4146
  "name": "two",
4147
4147
  "parameters": [
@@ -4172,7 +4172,7 @@
4172
4172
  "assembly": "@alma-cdk/project",
4173
4173
  "datatype": true,
4174
4174
  "docs": {
4175
- "stability": "experimental",
4175
+ "stability": "stable",
4176
4176
  "summary": "Props `AccountStrategy.one`."
4177
4177
  },
4178
4178
  "fqn": "@alma-cdk/project.AccountStrategyOneProps",
@@ -4186,7 +4186,7 @@
4186
4186
  {
4187
4187
  "abstract": true,
4188
4188
  "docs": {
4189
- "stability": "experimental"
4189
+ "stability": "stable"
4190
4190
  },
4191
4191
  "immutable": true,
4192
4192
  "locationInModule": {
@@ -4201,7 +4201,7 @@
4201
4201
  {
4202
4202
  "abstract": true,
4203
4203
  "docs": {
4204
- "stability": "experimental"
4204
+ "stability": "stable"
4205
4205
  },
4206
4206
  "immutable": true,
4207
4207
  "locationInModule": {
@@ -4221,7 +4221,7 @@
4221
4221
  "assembly": "@alma-cdk/project",
4222
4222
  "datatype": true,
4223
4223
  "docs": {
4224
- "stability": "experimental",
4224
+ "stability": "stable",
4225
4225
  "summary": "Props `AccountStrategy.three`."
4226
4226
  },
4227
4227
  "fqn": "@alma-cdk/project.AccountStrategyThreeProps",
@@ -4235,7 +4235,7 @@
4235
4235
  {
4236
4236
  "abstract": true,
4237
4237
  "docs": {
4238
- "stability": "experimental"
4238
+ "stability": "stable"
4239
4239
  },
4240
4240
  "immutable": true,
4241
4241
  "locationInModule": {
@@ -4250,7 +4250,7 @@
4250
4250
  {
4251
4251
  "abstract": true,
4252
4252
  "docs": {
4253
- "stability": "experimental"
4253
+ "stability": "stable"
4254
4254
  },
4255
4255
  "immutable": true,
4256
4256
  "locationInModule": {
@@ -4265,7 +4265,7 @@
4265
4265
  {
4266
4266
  "abstract": true,
4267
4267
  "docs": {
4268
- "stability": "experimental"
4268
+ "stability": "stable"
4269
4269
  },
4270
4270
  "immutable": true,
4271
4271
  "locationInModule": {
@@ -4280,7 +4280,7 @@
4280
4280
  {
4281
4281
  "abstract": true,
4282
4282
  "docs": {
4283
- "stability": "experimental"
4283
+ "stability": "stable"
4284
4284
  },
4285
4285
  "immutable": true,
4286
4286
  "locationInModule": {
@@ -4300,7 +4300,7 @@
4300
4300
  "assembly": "@alma-cdk/project",
4301
4301
  "datatype": true,
4302
4302
  "docs": {
4303
- "stability": "experimental",
4303
+ "stability": "stable",
4304
4304
  "summary": "Props `AccountStrategy.two`."
4305
4305
  },
4306
4306
  "fqn": "@alma-cdk/project.AccountStrategyTwoProps",
@@ -4314,7 +4314,7 @@
4314
4314
  {
4315
4315
  "abstract": true,
4316
4316
  "docs": {
4317
- "stability": "experimental"
4317
+ "stability": "stable"
4318
4318
  },
4319
4319
  "immutable": true,
4320
4320
  "locationInModule": {
@@ -4329,7 +4329,7 @@
4329
4329
  {
4330
4330
  "abstract": true,
4331
4331
  "docs": {
4332
- "stability": "experimental"
4332
+ "stability": "stable"
4333
4333
  },
4334
4334
  "immutable": true,
4335
4335
  "locationInModule": {
@@ -4344,7 +4344,7 @@
4344
4344
  {
4345
4345
  "abstract": true,
4346
4346
  "docs": {
4347
- "stability": "experimental"
4347
+ "stability": "stable"
4348
4348
  },
4349
4349
  "immutable": true,
4350
4350
  "locationInModule": {
@@ -4363,13 +4363,13 @@
4363
4363
  "@alma-cdk/project.AccountType": {
4364
4364
  "assembly": "@alma-cdk/project",
4365
4365
  "docs": {
4366
- "stability": "experimental",
4366
+ "stability": "stable",
4367
4367
  "summary": "Internal class to handle set/get operations for Account Type."
4368
4368
  },
4369
4369
  "fqn": "@alma-cdk/project.AccountType",
4370
4370
  "initializer": {
4371
4371
  "docs": {
4372
- "stability": "experimental"
4372
+ "stability": "stable"
4373
4373
  }
4374
4374
  },
4375
4375
  "kind": "class",
@@ -4380,11 +4380,11 @@
4380
4380
  "methods": [
4381
4381
  {
4382
4382
  "docs": {
4383
- "stability": "experimental"
4383
+ "stability": "stable"
4384
4384
  },
4385
4385
  "locationInModule": {
4386
4386
  "filename": "src/project/account-type.ts",
4387
- "line": 16
4387
+ "line": 15
4388
4388
  },
4389
4389
  "name": "get",
4390
4390
  "parameters": [
@@ -4404,7 +4404,7 @@
4404
4404
  },
4405
4405
  {
4406
4406
  "docs": {
4407
- "stability": "experimental"
4407
+ "stability": "stable"
4408
4408
  },
4409
4409
  "locationInModule": {
4410
4410
  "filename": "src/project/account-type.ts",
@@ -4445,11 +4445,11 @@
4445
4445
  },
4446
4446
  {
4447
4447
  "docs": {
4448
- "stability": "experimental"
4448
+ "stability": "stable"
4449
4449
  },
4450
4450
  "locationInModule": {
4451
4451
  "filename": "src/project/account-type.ts",
4452
- "line": 11
4452
+ "line": 10
4453
4453
  },
4454
4454
  "name": "set",
4455
4455
  "parameters": [
@@ -4476,17 +4476,17 @@
4476
4476
  "assembly": "@alma-cdk/project",
4477
4477
  "base": "constructs.Construct",
4478
4478
  "docs": {
4479
- "stability": "experimental",
4479
+ "stability": "stable",
4480
4480
  "summary": "Wrapper for account-level stacks."
4481
4481
  },
4482
4482
  "fqn": "@alma-cdk/project.AccountWrapper",
4483
4483
  "initializer": {
4484
4484
  "docs": {
4485
- "stability": "experimental"
4485
+ "stability": "stable"
4486
4486
  },
4487
4487
  "locationInModule": {
4488
4488
  "filename": "src/wrapper/account.ts",
4489
- "line": 10
4489
+ "line": 9
4490
4490
  },
4491
4491
  "parameters": [
4492
4492
  {
@@ -4505,19 +4505,68 @@
4505
4505
  "name": "AccountWrapper",
4506
4506
  "symbolId": "src/wrapper/account:AccountWrapper"
4507
4507
  },
4508
+ "@alma-cdk/project.Acknowledgeable": {
4509
+ "assembly": "@alma-cdk/project",
4510
+ "datatype": true,
4511
+ "docs": {
4512
+ "stability": "stable",
4513
+ "summary": "Interface for acknowledging warnings."
4514
+ },
4515
+ "fqn": "@alma-cdk/project.Acknowledgeable",
4516
+ "kind": "interface",
4517
+ "locationInModule": {
4518
+ "filename": "src/project/project.ts",
4519
+ "line": 10
4520
+ },
4521
+ "name": "Acknowledgeable",
4522
+ "properties": [
4523
+ {
4524
+ "abstract": true,
4525
+ "docs": {
4526
+ "stability": "stable"
4527
+ },
4528
+ "immutable": true,
4529
+ "locationInModule": {
4530
+ "filename": "src/project/project.ts",
4531
+ "line": 11
4532
+ },
4533
+ "name": "id",
4534
+ "type": {
4535
+ "primitive": "string"
4536
+ }
4537
+ },
4538
+ {
4539
+ "abstract": true,
4540
+ "docs": {
4541
+ "stability": "stable"
4542
+ },
4543
+ "immutable": true,
4544
+ "locationInModule": {
4545
+ "filename": "src/project/project.ts",
4546
+ "line": 12
4547
+ },
4548
+ "name": "message",
4549
+ "optional": true,
4550
+ "type": {
4551
+ "primitive": "string"
4552
+ }
4553
+ }
4554
+ ],
4555
+ "symbolId": "src/project/project:Acknowledgeable"
4556
+ },
4508
4557
  "@alma-cdk/project.Author": {
4509
4558
  "assembly": "@alma-cdk/project",
4510
4559
  "datatype": true,
4511
4560
  "docs": {
4512
4561
  "remarks": "I.e. who owns/develops this project/service.",
4513
- "stability": "experimental",
4562
+ "stability": "stable",
4514
4563
  "summary": "Author information."
4515
4564
  },
4516
4565
  "fqn": "@alma-cdk/project.Author",
4517
4566
  "kind": "interface",
4518
4567
  "locationInModule": {
4519
4568
  "filename": "src/project/interfaces.ts",
4520
- "line": 46
4569
+ "line": 44
4521
4570
  },
4522
4571
  "name": "Author",
4523
4572
  "properties": [
@@ -4525,13 +4574,13 @@
4525
4574
  "abstract": true,
4526
4575
  "docs": {
4527
4576
  "example": "'Mad Scientists'",
4528
- "stability": "experimental",
4577
+ "stability": "stable",
4529
4578
  "summary": "Human-readable name for the team/contact responsible for this project/service."
4530
4579
  },
4531
4580
  "immutable": true,
4532
4581
  "locationInModule": {
4533
4582
  "filename": "src/project/interfaces.ts",
4534
- "line": 60
4583
+ "line": 57
4535
4584
  },
4536
4585
  "name": "name",
4537
4586
  "type": {
@@ -4542,13 +4591,13 @@
4542
4591
  "abstract": true,
4543
4592
  "docs": {
4544
4593
  "example": "'mad.scientists@acme.example.com'",
4545
- "stability": "experimental",
4594
+ "stability": "stable",
4546
4595
  "summary": "Email address for the team/contact responsible for this project/service."
4547
4596
  },
4548
4597
  "immutable": true,
4549
4598
  "locationInModule": {
4550
4599
  "filename": "src/project/interfaces.ts",
4551
- "line": 67
4600
+ "line": 64
4552
4601
  },
4553
4602
  "name": "email",
4554
4603
  "optional": true,
@@ -4560,13 +4609,13 @@
4560
4609
  "abstract": true,
4561
4610
  "docs": {
4562
4611
  "example": "'Acme Corp'",
4563
- "stability": "experimental",
4612
+ "stability": "stable",
4564
4613
  "summary": "Human-readable name for the organization responsible for this project/service."
4565
4614
  },
4566
4615
  "immutable": true,
4567
4616
  "locationInModule": {
4568
4617
  "filename": "src/project/interfaces.ts",
4569
- "line": 53
4618
+ "line": 50
4570
4619
  },
4571
4620
  "name": "organization",
4572
4621
  "optional": true,
@@ -4580,16 +4629,16 @@
4580
4629
  "@alma-cdk/project.EnvRegExp": {
4581
4630
  "assembly": "@alma-cdk/project",
4582
4631
  "docs": {
4583
- "stability": "experimental"
4632
+ "stability": "stable"
4584
4633
  },
4585
4634
  "fqn": "@alma-cdk/project.EnvRegExp",
4586
4635
  "initializer": {
4587
4636
  "docs": {
4588
- "stability": "experimental"
4637
+ "stability": "stable"
4589
4638
  },
4590
4639
  "locationInModule": {
4591
4640
  "filename": "src/project/envregexp.ts",
4592
- "line": 6
4641
+ "line": 4
4593
4642
  },
4594
4643
  "parameters": [
4595
4644
  {
@@ -4603,16 +4652,16 @@
4603
4652
  "kind": "class",
4604
4653
  "locationInModule": {
4605
4654
  "filename": "src/project/envregexp.ts",
4606
- "line": 3
4655
+ "line": 1
4607
4656
  },
4608
4657
  "methods": [
4609
4658
  {
4610
4659
  "docs": {
4611
- "stability": "experimental"
4660
+ "stability": "stable"
4612
4661
  },
4613
4662
  "locationInModule": {
4614
4663
  "filename": "src/project/envregexp.ts",
4615
- "line": 10
4664
+ "line": 8
4616
4665
  },
4617
4666
  "name": "test",
4618
4667
  "parameters": [
@@ -4637,43 +4686,43 @@
4637
4686
  "assembly": "@alma-cdk/project",
4638
4687
  "docs": {
4639
4688
  "remarks": "Categories are useful grouping to make distinction between `stable`\nenvironments (`staging` & `production`) from `feature` or `verification`\nenvironments (such as `test` or `preproduction`).",
4640
- "stability": "experimental",
4689
+ "stability": "stable",
4641
4690
  "summary": "Availalbe Enviroment Categories."
4642
4691
  },
4643
4692
  "fqn": "@alma-cdk/project.EnvironmentCategory",
4644
4693
  "kind": "enum",
4645
4694
  "locationInModule": {
4646
4695
  "filename": "src/configurations/environments.ts",
4647
- "line": 22
4696
+ "line": 20
4648
4697
  },
4649
4698
  "members": [
4650
4699
  {
4651
4700
  "docs": {
4652
- "stability": "experimental"
4701
+ "stability": "stable"
4653
4702
  },
4654
4703
  "name": "MOCK"
4655
4704
  },
4656
4705
  {
4657
4706
  "docs": {
4658
- "stability": "experimental"
4707
+ "stability": "stable"
4659
4708
  },
4660
4709
  "name": "DEVELOPMENT"
4661
4710
  },
4662
4711
  {
4663
4712
  "docs": {
4664
- "stability": "experimental"
4713
+ "stability": "stable"
4665
4714
  },
4666
4715
  "name": "FEATURE"
4667
4716
  },
4668
4717
  {
4669
4718
  "docs": {
4670
- "stability": "experimental"
4719
+ "stability": "stable"
4671
4720
  },
4672
4721
  "name": "VERIFICATION"
4673
4722
  },
4674
4723
  {
4675
4724
  "docs": {
4676
- "stability": "experimental"
4725
+ "stability": "stable"
4677
4726
  },
4678
4727
  "name": "STABLE"
4679
4728
  }
@@ -4684,18 +4733,18 @@
4684
4733
  "@alma-cdk/project.EnvironmentContext": {
4685
4734
  "assembly": "@alma-cdk/project",
4686
4735
  "docs": {
4687
- "stability": "experimental"
4736
+ "stability": "stable"
4688
4737
  },
4689
4738
  "fqn": "@alma-cdk/project.EnvironmentContext",
4690
4739
  "initializer": {
4691
4740
  "docs": {
4692
- "stability": "experimental"
4741
+ "stability": "stable"
4693
4742
  }
4694
4743
  },
4695
4744
  "kind": "class",
4696
4745
  "locationInModule": {
4697
4746
  "filename": "src/context/environment.ts",
4698
- "line": 6
4747
+ "line": 11
4699
4748
  },
4700
4749
  "methods": [
4701
4750
  {
@@ -4703,12 +4752,12 @@
4703
4752
  "example": "'mock'\n'development'\n'feature'\n'verification'\n'stable'",
4704
4753
  "remarks": "Categories are useful grouping to make distinction between `stable`\nenvironments (`staging` & `production`) from `feature` or `verification`\nenvironments (such as `test` or `preproduction`).",
4705
4754
  "returns": "Environment Category",
4706
- "stability": "experimental",
4755
+ "stability": "stable",
4707
4756
  "summary": "Get Environment Category."
4708
4757
  },
4709
4758
  "locationInModule": {
4710
4759
  "filename": "src/context/environment.ts",
4711
- "line": 102
4760
+ "line": 106
4712
4761
  },
4713
4762
  "name": "getCategory",
4714
4763
  "parameters": [
@@ -4733,12 +4782,12 @@
4733
4782
  "docs": {
4734
4783
  "remarks": "If environment belongs to `feature` category,\nthis will return a string describing the feature (sting after `feature/`-prefix).\n\nIf environment is not a feature environment, will return an empty string.",
4735
4784
  "returns": "string indicating the feature this environment relates to, if not feature environment returns an empty string",
4736
- "stability": "experimental",
4785
+ "stability": "stable",
4737
4786
  "summary": "Get Feature Info."
4738
4787
  },
4739
4788
  "locationInModule": {
4740
4789
  "filename": "src/context/environment.ts",
4741
- "line": 176
4790
+ "line": 195
4742
4791
  },
4743
4792
  "name": "getFeatureInfo",
4744
4793
  "parameters": [
@@ -4764,12 +4813,12 @@
4764
4813
  "example": "'mock'\n'development'\n'feature'\n'test'\n'staging'\n'qa'\n'preproduction'\n'production'",
4765
4814
  "remarks": "Labels are useful since Environment Name can be complex,\nsuch as `feature/foo-bar` or `qa3`,\nbut we need to be able to “label” all `feature/*` and `qaN` environments\nas either `feature` or `qa`.",
4766
4815
  "returns": "Environment Label",
4767
- "stability": "experimental",
4816
+ "stability": "stable",
4768
4817
  "summary": "Get Environment Label."
4769
4818
  },
4770
4819
  "locationInModule": {
4771
4820
  "filename": "src/context/environment.ts",
4772
- "line": 80
4821
+ "line": 84
4773
4822
  },
4774
4823
  "name": "getLabel",
4775
4824
  "parameters": [
@@ -4794,12 +4843,12 @@
4794
4843
  "docs": {
4795
4844
  "example": "'mock1'\n'mock2'\n'mock3'\n'development'\n'feature/foo-bar'\n'feature/ABC-123/new-stuff'\n'test'\n'staging'\n'qa1'\n'qa2'\n'qa3'\n'preproduction'\n'production'",
4796
4845
  "returns": "Environment Name (as given via `--context environment`)",
4797
- "stability": "experimental",
4846
+ "stability": "stable",
4798
4847
  "summary": "Get Environment Name."
4799
4848
  },
4800
4849
  "locationInModule": {
4801
4850
  "filename": "src/context/environment.ts",
4802
- "line": 29
4851
+ "line": 33
4803
4852
  },
4804
4853
  "name": "getName",
4805
4854
  "parameters": [
@@ -4824,12 +4873,12 @@
4824
4873
  "docs": {
4825
4874
  "example": "'mock1'\n'mock2'\n'mock3'\n'development'\n'feature-foo-bar'\n'feature-abc-123-new-stuff'\n'test'\n'staging'\n'qa1'\n'qa2'\n'qa3'\n'preproduction'\n'production'",
4826
4875
  "returns": "Environment URL/DNS Compatible Name (as given via `--context environment` but `param-cased`)",
4827
- "stability": "experimental",
4876
+ "stability": "stable",
4828
4877
  "summary": "Get Environment URL/DNS Compatible Name."
4829
4878
  },
4830
4879
  "locationInModule": {
4831
4880
  "filename": "src/context/environment.ts",
4832
- "line": 54
4881
+ "line": 58
4833
4882
  },
4834
4883
  "name": "getUrlName",
4835
4884
  "parameters": [
@@ -4854,12 +4903,12 @@
4854
4903
  "docs": {
4855
4904
  "remarks": "Returns true for `development`, otherwise `false`.",
4856
4905
  "returns": "boolean indicating does Environment belong to `development` category",
4857
- "stability": "experimental",
4906
+ "stability": "stable",
4858
4907
  "summary": "Check if Environment is part of `development` category."
4859
4908
  },
4860
4909
  "locationInModule": {
4861
4910
  "filename": "src/context/environment.ts",
4862
- "line": 125
4911
+ "line": 132
4863
4912
  },
4864
4913
  "name": "isDevelopment",
4865
4914
  "parameters": [
@@ -4884,12 +4933,12 @@
4884
4933
  "docs": {
4885
4934
  "remarks": "Returns `true` for environments with name beginning with `feature/`-prefix, otherwise `false`.",
4886
4935
  "returns": "boolean indicating does Environment belong to `feature` category",
4887
- "stability": "experimental",
4936
+ "stability": "stable",
4888
4937
  "summary": "Check if Environment is part of `feature` category."
4889
4938
  },
4890
4939
  "locationInModule": {
4891
4940
  "filename": "src/context/environment.ts",
4892
- "line": 137
4941
+ "line": 147
4893
4942
  },
4894
4943
  "name": "isFeature",
4895
4944
  "parameters": [
@@ -4913,12 +4962,12 @@
4913
4962
  {
4914
4963
  "docs": {
4915
4964
  "returns": "boolean indicating does Environment belong to `mock` category",
4916
- "stability": "experimental",
4965
+ "stability": "stable",
4917
4966
  "summary": "Check if Environment is part of `mock` category."
4918
4967
  },
4919
4968
  "locationInModule": {
4920
4969
  "filename": "src/context/environment.ts",
4921
- "line": 113
4970
+ "line": 117
4922
4971
  },
4923
4972
  "name": "isMock",
4924
4973
  "parameters": [
@@ -4943,12 +4992,12 @@
4943
4992
  "docs": {
4944
4993
  "remarks": "Returns `true` for `staging` & `production`, otherwise `false`.",
4945
4994
  "returns": "boolean indicating does Environment belong to `stable` category",
4946
- "stability": "experimental",
4995
+ "stability": "stable",
4947
4996
  "summary": "Check if Environment is part of `stable` category."
4948
4997
  },
4949
4998
  "locationInModule": {
4950
4999
  "filename": "src/context/environment.ts",
4951
- "line": 161
5000
+ "line": 177
4952
5001
  },
4953
5002
  "name": "isStable",
4954
5003
  "parameters": [
@@ -4973,12 +5022,12 @@
4973
5022
  "docs": {
4974
5023
  "remarks": "Returns `true` for `test` & `preproduction`, otherwise `false`.",
4975
5024
  "returns": "boolean indicating does Environment belong to `verification` category",
4976
- "stability": "experimental",
5025
+ "stability": "stable",
4977
5026
  "summary": "Check if Environment is part of `verification` category."
4978
5027
  },
4979
5028
  "locationInModule": {
4980
5029
  "filename": "src/context/environment.ts",
4981
- "line": 149
5030
+ "line": 162
4982
5031
  },
4983
5032
  "name": "isVerification",
4984
5033
  "parameters": [
@@ -5007,61 +5056,61 @@
5007
5056
  "assembly": "@alma-cdk/project",
5008
5057
  "docs": {
5009
5058
  "remarks": "Labels are useful since Environment Name can be complex,\nsuch as `feature/foo-bar` or `qa3`,\nbut we need to be able to “label” all `feature/*` and `qaN` environments\nas either `feature` or `qa`.",
5010
- "stability": "experimental",
5059
+ "stability": "stable",
5011
5060
  "summary": "Available Environment Labels."
5012
5061
  },
5013
5062
  "fqn": "@alma-cdk/project.EnvironmentLabel",
5014
5063
  "kind": "enum",
5015
5064
  "locationInModule": {
5016
5065
  "filename": "src/configurations/environments.ts",
5017
- "line": 38
5066
+ "line": 36
5018
5067
  },
5019
5068
  "members": [
5020
5069
  {
5021
5070
  "docs": {
5022
- "stability": "experimental"
5071
+ "stability": "stable"
5023
5072
  },
5024
5073
  "name": "MOCK"
5025
5074
  },
5026
5075
  {
5027
5076
  "docs": {
5028
- "stability": "experimental"
5077
+ "stability": "stable"
5029
5078
  },
5030
5079
  "name": "DEVELOPMENT"
5031
5080
  },
5032
5081
  {
5033
5082
  "docs": {
5034
- "stability": "experimental"
5083
+ "stability": "stable"
5035
5084
  },
5036
5085
  "name": "FEATURE"
5037
5086
  },
5038
5087
  {
5039
5088
  "docs": {
5040
- "stability": "experimental"
5089
+ "stability": "stable"
5041
5090
  },
5042
5091
  "name": "TEST"
5043
5092
  },
5044
5093
  {
5045
5094
  "docs": {
5046
- "stability": "experimental"
5095
+ "stability": "stable"
5047
5096
  },
5048
5097
  "name": "STAGING"
5049
5098
  },
5050
5099
  {
5051
5100
  "docs": {
5052
- "stability": "experimental"
5101
+ "stability": "stable"
5053
5102
  },
5054
5103
  "name": "QA"
5055
5104
  },
5056
5105
  {
5057
5106
  "docs": {
5058
- "stability": "experimental"
5107
+ "stability": "stable"
5059
5108
  },
5060
5109
  "name": "PREPRODUCTION"
5061
5110
  },
5062
5111
  {
5063
5112
  "docs": {
5064
- "stability": "experimental"
5113
+ "stability": "stable"
5065
5114
  },
5066
5115
  "name": "PRODUCTION"
5067
5116
  }
@@ -5072,28 +5121,28 @@
5072
5121
  "@alma-cdk/project.EnvironmentType": {
5073
5122
  "assembly": "@alma-cdk/project",
5074
5123
  "docs": {
5075
- "stability": "experimental",
5124
+ "stability": "stable",
5076
5125
  "summary": "Internal class to handle set/get operations for Environment Type."
5077
5126
  },
5078
5127
  "fqn": "@alma-cdk/project.EnvironmentType",
5079
5128
  "initializer": {
5080
5129
  "docs": {
5081
- "stability": "experimental"
5130
+ "stability": "stable"
5082
5131
  }
5083
5132
  },
5084
5133
  "kind": "class",
5085
5134
  "locationInModule": {
5086
5135
  "filename": "src/project/environment-type.ts",
5087
- "line": 9
5136
+ "line": 8
5088
5137
  },
5089
5138
  "methods": [
5090
5139
  {
5091
5140
  "docs": {
5092
- "stability": "experimental"
5141
+ "stability": "stable"
5093
5142
  },
5094
5143
  "locationInModule": {
5095
5144
  "filename": "src/project/environment-type.ts",
5096
- "line": 26
5145
+ "line": 24
5097
5146
  },
5098
5147
  "name": "get",
5099
5148
  "parameters": [
@@ -5124,11 +5173,11 @@
5124
5173
  },
5125
5174
  {
5126
5175
  "docs": {
5127
- "stability": "experimental"
5176
+ "stability": "stable"
5128
5177
  },
5129
5178
  "locationInModule": {
5130
5179
  "filename": "src/project/environment-type.ts",
5131
- "line": 11
5180
+ "line": 9
5132
5181
  },
5133
5182
  "name": "set",
5134
5183
  "parameters": [
@@ -5149,11 +5198,11 @@
5149
5198
  },
5150
5199
  {
5151
5200
  "docs": {
5152
- "stability": "experimental"
5201
+ "stability": "stable"
5153
5202
  },
5154
5203
  "locationInModule": {
5155
5204
  "filename": "src/project/environment-type.ts",
5156
- "line": 17
5205
+ "line": 15
5157
5206
  },
5158
5207
  "name": "tryGet",
5159
5208
  "parameters": [
@@ -5180,13 +5229,13 @@
5180
5229
  "assembly": "@alma-cdk/project",
5181
5230
  "base": "constructs.Construct",
5182
5231
  "docs": {
5183
- "stability": "experimental",
5232
+ "stability": "stable",
5184
5233
  "summary": "Wrapper for environmental stacks."
5185
5234
  },
5186
5235
  "fqn": "@alma-cdk/project.EnvironmentWrapper",
5187
5236
  "initializer": {
5188
5237
  "docs": {
5189
- "stability": "experimental"
5238
+ "stability": "stable"
5190
5239
  },
5191
5240
  "locationInModule": {
5192
5241
  "filename": "src/wrapper/environment.ts",
@@ -5213,12 +5262,12 @@
5213
5262
  "abstract": true,
5214
5263
  "assembly": "@alma-cdk/project",
5215
5264
  "docs": {
5216
- "stability": "experimental"
5265
+ "stability": "stable"
5217
5266
  },
5218
5267
  "fqn": "@alma-cdk/project.Name",
5219
5268
  "initializer": {
5220
5269
  "docs": {
5221
- "stability": "experimental"
5270
+ "stability": "stable"
5222
5271
  }
5223
5272
  },
5224
5273
  "kind": "class",
@@ -5229,12 +5278,12 @@
5229
5278
  "methods": [
5230
5279
  {
5231
5280
  "docs": {
5232
- "stability": "experimental",
5281
+ "stability": "stable",
5233
5282
  "summary": "PascalCase naming with global prefixes (org, project…)."
5234
5283
  },
5235
5284
  "locationInModule": {
5236
5285
  "filename": "src/name/name.ts",
5237
- "line": 40
5286
+ "line": 47
5238
5287
  },
5239
5288
  "name": "globally",
5240
5289
  "parameters": [
@@ -5267,11 +5316,11 @@
5267
5316
  },
5268
5317
  {
5269
5318
  "docs": {
5270
- "stability": "experimental"
5319
+ "stability": "stable"
5271
5320
  },
5272
5321
  "locationInModule": {
5273
5322
  "filename": "src/name/name.ts",
5274
- "line": 16
5323
+ "line": 15
5275
5324
  },
5276
5325
  "name": "it",
5277
5326
  "parameters": [
@@ -5304,11 +5353,11 @@
5304
5353
  },
5305
5354
  {
5306
5355
  "docs": {
5307
- "stability": "experimental"
5356
+ "stability": "stable"
5308
5357
  },
5309
5358
  "locationInModule": {
5310
5359
  "filename": "src/name/name.ts",
5311
- "line": 26
5360
+ "line": 29
5312
5361
  },
5313
5362
  "name": "withProject",
5314
5363
  "parameters": [
@@ -5347,25 +5396,25 @@
5347
5396
  "assembly": "@alma-cdk/project",
5348
5397
  "datatype": true,
5349
5398
  "docs": {
5350
- "stability": "experimental"
5399
+ "stability": "stable"
5351
5400
  },
5352
5401
  "fqn": "@alma-cdk/project.NameProps",
5353
5402
  "kind": "interface",
5354
5403
  "locationInModule": {
5355
5404
  "filename": "src/name/interfaces.ts",
5356
- "line": 3
5405
+ "line": 1
5357
5406
  },
5358
5407
  "name": "NameProps",
5359
5408
  "properties": [
5360
5409
  {
5361
5410
  "abstract": true,
5362
5411
  "docs": {
5363
- "stability": "experimental"
5412
+ "stability": "stable"
5364
5413
  },
5365
5414
  "immutable": true,
5366
5415
  "locationInModule": {
5367
5416
  "filename": "src/name/interfaces.ts",
5368
- "line": 4
5417
+ "line": 2
5369
5418
  },
5370
5419
  "name": "maxLength",
5371
5420
  "optional": true,
@@ -5376,12 +5425,12 @@
5376
5425
  {
5377
5426
  "abstract": true,
5378
5427
  "docs": {
5379
- "stability": "experimental"
5428
+ "stability": "stable"
5380
5429
  },
5381
5430
  "immutable": true,
5382
5431
  "locationInModule": {
5383
5432
  "filename": "src/name/interfaces.ts",
5384
- "line": 5
5433
+ "line": 3
5385
5434
  },
5386
5435
  "name": "trim",
5387
5436
  "optional": true,
@@ -5397,12 +5446,12 @@
5397
5446
  "assembly": "@alma-cdk/project",
5398
5447
  "base": "@alma-cdk/project.UrlName",
5399
5448
  "docs": {
5400
- "stability": "experimental"
5449
+ "stability": "stable"
5401
5450
  },
5402
5451
  "fqn": "@alma-cdk/project.PathName",
5403
5452
  "initializer": {
5404
5453
  "docs": {
5405
- "stability": "experimental"
5454
+ "stability": "stable"
5406
5455
  }
5407
5456
  },
5408
5457
  "kind": "class",
@@ -5413,12 +5462,12 @@
5413
5462
  "methods": [
5414
5463
  {
5415
5464
  "docs": {
5416
- "stability": "experimental",
5465
+ "stability": "stable",
5417
5466
  "summary": "PascalCase naming with global prefixes (org, project…)."
5418
5467
  },
5419
5468
  "locationInModule": {
5420
5469
  "filename": "src/name/name-path.ts",
5421
- "line": 20
5470
+ "line": 28
5422
5471
  },
5423
5472
  "name": "globally",
5424
5473
  "overrides": "@alma-cdk/project.UrlName",
@@ -5452,7 +5501,7 @@
5452
5501
  },
5453
5502
  {
5454
5503
  "docs": {
5455
- "stability": "experimental"
5504
+ "stability": "stable"
5456
5505
  },
5457
5506
  "locationInModule": {
5458
5507
  "filename": "src/name/name-path.ts",
@@ -5490,11 +5539,11 @@
5490
5539
  },
5491
5540
  {
5492
5541
  "docs": {
5493
- "stability": "experimental"
5542
+ "stability": "stable"
5494
5543
  },
5495
5544
  "locationInModule": {
5496
5545
  "filename": "src/name/name-path.ts",
5497
- "line": 14
5546
+ "line": 18
5498
5547
  },
5499
5548
  "name": "withProject",
5500
5549
  "overrides": "@alma-cdk/project.UrlName",
@@ -5536,18 +5585,18 @@
5536
5585
  "docs": {
5537
5586
  "example": "// new Project instead of new App\nconst project = new Project({\n name: 'my-cool-project',\n author: {\n organization: 'Acme Corp',\n name: 'Mad Scientists',\n email: 'mad.scientists@acme.example.com',\n },\n defaultRegion: 'eu-west-1', // defaults to one of: $CDK_DEFAULT_REGION, $AWS_REGION or us-east-1\n accounts: {\n dev: {\n id: '111111111111',\n environments: ['development', 'feature/.*', 'staging'],\n config: {\n baseDomain: 'example.net',\n },\n },\n prod: {\n id: '222222222222',\n environments: ['production'],\n config: {\n baseDomain: 'example.com',\n },\n },\n },\n})",
5538
5587
  "remarks": "Use it like you would `cdk.App` and assign stacks into it.",
5539
- "stability": "experimental",
5588
+ "stability": "stable",
5540
5589
  "summary": "High-level wrapper for `cdk.App` with specific requirements for props."
5541
5590
  },
5542
5591
  "fqn": "@alma-cdk/project.Project",
5543
5592
  "initializer": {
5544
5593
  "docs": {
5545
- "stability": "experimental",
5594
+ "stability": "stable",
5546
5595
  "summary": "Initializes a new Project (which can be used in place of cdk.App)."
5547
5596
  },
5548
5597
  "locationInModule": {
5549
5598
  "filename": "src/project/project.ts",
5550
- "line": 77
5599
+ "line": 86
5551
5600
  },
5552
5601
  "parameters": [
5553
5602
  {
@@ -5561,17 +5610,17 @@
5561
5610
  "kind": "class",
5562
5611
  "locationInModule": {
5563
5612
  "filename": "src/project/project.ts",
5564
- "line": 45
5613
+ "line": 53
5565
5614
  },
5566
5615
  "methods": [
5567
5616
  {
5568
5617
  "docs": {
5569
- "stability": "experimental",
5618
+ "stability": "stable",
5570
5619
  "summary": "Return account configuration."
5571
5620
  },
5572
5621
  "locationInModule": {
5573
5622
  "filename": "src/project/project.ts",
5574
- "line": 64
5623
+ "line": 72
5575
5624
  },
5576
5625
  "name": "getAccount",
5577
5626
  "parameters": [
@@ -5597,12 +5646,12 @@
5597
5646
  },
5598
5647
  {
5599
5648
  "docs": {
5600
- "stability": "experimental",
5649
+ "stability": "stable",
5601
5650
  "summary": "Return the project configuration as given in ProjectProps."
5602
5651
  },
5603
5652
  "locationInModule": {
5604
5653
  "filename": "src/project/project.ts",
5605
- "line": 51
5654
+ "line": 58
5606
5655
  },
5607
5656
  "name": "getConfiguration",
5608
5657
  "parameters": [
@@ -5619,6 +5668,30 @@
5619
5668
  }
5620
5669
  },
5621
5670
  "static": true
5671
+ },
5672
+ {
5673
+ "docs": {
5674
+ "stability": "stable",
5675
+ "summary": "Acknowledge warnings for all stacks in the project."
5676
+ },
5677
+ "locationInModule": {
5678
+ "filename": "src/project/project.ts",
5679
+ "line": 111
5680
+ },
5681
+ "name": "acknowledgeWarnings",
5682
+ "parameters": [
5683
+ {
5684
+ "name": "acknowledgements",
5685
+ "type": {
5686
+ "collection": {
5687
+ "elementtype": {
5688
+ "fqn": "@alma-cdk/project.Acknowledgeable"
5689
+ },
5690
+ "kind": "array"
5691
+ }
5692
+ }
5693
+ }
5694
+ ]
5622
5695
  }
5623
5696
  ],
5624
5697
  "name": "Project",
@@ -5626,13 +5699,13 @@
5626
5699
  {
5627
5700
  "const": true,
5628
5701
  "docs": {
5629
- "stability": "experimental",
5702
+ "stability": "stable",
5630
5703
  "summary": "Namespace/key how this tool internally keeps track of the project configuration."
5631
5704
  },
5632
5705
  "immutable": true,
5633
5706
  "locationInModule": {
5634
5707
  "filename": "src/project/project.ts",
5635
- "line": 48
5708
+ "line": 55
5636
5709
  },
5637
5710
  "name": "CONTEXT_SCOPE",
5638
5711
  "static": true,
@@ -5647,13 +5720,13 @@
5647
5720
  "assembly": "@alma-cdk/project",
5648
5721
  "datatype": true,
5649
5722
  "docs": {
5650
- "stability": "experimental"
5723
+ "stability": "stable"
5651
5724
  },
5652
5725
  "fqn": "@alma-cdk/project.ProjectConfiguration",
5653
5726
  "kind": "interface",
5654
5727
  "locationInModule": {
5655
5728
  "filename": "src/project/interfaces.ts",
5656
- "line": 70
5729
+ "line": 67
5657
5730
  },
5658
5731
  "name": "ProjectConfiguration",
5659
5732
  "properties": [
@@ -5662,13 +5735,13 @@
5662
5735
  "docs": {
5663
5736
  "example": "accounts: {\n dev: {\n id: '111111111111',\n config: {\n baseDomain: 'example.net',\n },\n },\n prod: {\n id: '222222222222',\n config: {\n baseDomain: 'example.com',\n },\n },\n},",
5664
5737
  "remarks": "The key value can be anything (such as AWS Account alias), but it's recommended to keep it short such as `dev` or `prod`.",
5665
- "stability": "experimental",
5738
+ "stability": "stable",
5666
5739
  "summary": "Dictionary of AWS account specific configuration."
5667
5740
  },
5668
5741
  "immutable": true,
5669
5742
  "locationInModule": {
5670
5743
  "filename": "src/project/interfaces.ts",
5671
- "line": 114
5744
+ "line": 110
5672
5745
  },
5673
5746
  "name": "accounts",
5674
5747
  "type": {
@@ -5684,13 +5757,13 @@
5684
5757
  "abstract": true,
5685
5758
  "docs": {
5686
5759
  "remarks": "I.e. who owns/develops this project/service.",
5687
- "stability": "experimental",
5760
+ "stability": "stable",
5688
5761
  "summary": "Author information."
5689
5762
  },
5690
5763
  "immutable": true,
5691
5764
  "locationInModule": {
5692
5765
  "filename": "src/project/interfaces.ts",
5693
- "line": 82
5766
+ "line": 78
5694
5767
  },
5695
5768
  "name": "author",
5696
5769
  "type": {
@@ -5702,13 +5775,13 @@
5702
5775
  "docs": {
5703
5776
  "example": "'my-cool-project'",
5704
5777
  "remarks": "Prefer `hyphen-case`.",
5705
- "stability": "experimental",
5778
+ "stability": "stable",
5706
5779
  "summary": "Name of your project/service."
5707
5780
  },
5708
5781
  "immutable": true,
5709
5782
  "locationInModule": {
5710
5783
  "filename": "src/project/interfaces.ts",
5711
- "line": 79
5784
+ "line": 75
5712
5785
  },
5713
5786
  "name": "name",
5714
5787
  "type": {
@@ -5719,13 +5792,13 @@
5719
5792
  "abstract": true,
5720
5793
  "docs": {
5721
5794
  "remarks": "If left empty will default to one of the following in order:\n1. `$CDK_DEFAULT_REGION`\n2. `$AWS_REGION`\n3. 'us-east-1'",
5722
- "stability": "experimental",
5795
+ "stability": "stable",
5723
5796
  "summary": "Specify default region you wish to use."
5724
5797
  },
5725
5798
  "immutable": true,
5726
5799
  "locationInModule": {
5727
5800
  "filename": "src/project/interfaces.ts",
5728
- "line": 92
5801
+ "line": 88
5729
5802
  },
5730
5803
  "name": "defaultRegion",
5731
5804
  "optional": true,
@@ -5739,12 +5812,12 @@
5739
5812
  "@alma-cdk/project.ProjectContext": {
5740
5813
  "assembly": "@alma-cdk/project",
5741
5814
  "docs": {
5742
- "stability": "experimental"
5815
+ "stability": "stable"
5743
5816
  },
5744
5817
  "fqn": "@alma-cdk/project.ProjectContext",
5745
5818
  "initializer": {
5746
5819
  "docs": {
5747
- "stability": "experimental"
5820
+ "stability": "stable"
5748
5821
  }
5749
5822
  },
5750
5823
  "kind": "class",
@@ -5755,7 +5828,7 @@
5755
5828
  "methods": [
5756
5829
  {
5757
5830
  "docs": {
5758
- "stability": "experimental"
5831
+ "stability": "stable"
5759
5832
  },
5760
5833
  "locationInModule": {
5761
5834
  "filename": "src/project/project-context.ts",
@@ -5792,7 +5865,7 @@
5792
5865
  },
5793
5866
  {
5794
5867
  "docs": {
5795
- "stability": "experimental"
5868
+ "stability": "stable"
5796
5869
  },
5797
5870
  "locationInModule": {
5798
5871
  "filename": "src/project/project-context.ts",
@@ -5816,7 +5889,7 @@
5816
5889
  },
5817
5890
  {
5818
5891
  "docs": {
5819
- "stability": "experimental",
5892
+ "stability": "stable",
5820
5893
  "summary": "Returns the account type given in runtime/CLI context."
5821
5894
  },
5822
5895
  "locationInModule": {
@@ -5841,11 +5914,11 @@
5841
5914
  },
5842
5915
  {
5843
5916
  "docs": {
5844
- "stability": "experimental"
5917
+ "stability": "stable"
5845
5918
  },
5846
5919
  "locationInModule": {
5847
5920
  "filename": "src/project/project-context.ts",
5848
- "line": 59
5921
+ "line": 66
5849
5922
  },
5850
5923
  "name": "getAllowedEnvironments",
5851
5924
  "parameters": [
@@ -5870,11 +5943,11 @@
5870
5943
  },
5871
5944
  {
5872
5945
  "docs": {
5873
- "stability": "experimental"
5946
+ "stability": "stable"
5874
5947
  },
5875
5948
  "locationInModule": {
5876
5949
  "filename": "src/project/project-context.ts",
5877
- "line": 54
5950
+ "line": 61
5878
5951
  },
5879
5952
  "name": "getAuthorEmail",
5880
5953
  "parameters": [
@@ -5895,11 +5968,11 @@
5895
5968
  },
5896
5969
  {
5897
5970
  "docs": {
5898
- "stability": "experimental"
5971
+ "stability": "stable"
5899
5972
  },
5900
5973
  "locationInModule": {
5901
5974
  "filename": "src/project/project-context.ts",
5902
- "line": 49
5975
+ "line": 56
5903
5976
  },
5904
5977
  "name": "getAuthorName",
5905
5978
  "parameters": [
@@ -5919,11 +5992,11 @@
5919
5992
  },
5920
5993
  {
5921
5994
  "docs": {
5922
- "stability": "experimental"
5995
+ "stability": "stable"
5923
5996
  },
5924
5997
  "locationInModule": {
5925
5998
  "filename": "src/project/project-context.ts",
5926
- "line": 44
5999
+ "line": 51
5927
6000
  },
5928
6001
  "name": "getAuthorOrganization",
5929
6002
  "parameters": [
@@ -5944,11 +6017,11 @@
5944
6017
  },
5945
6018
  {
5946
6019
  "docs": {
5947
- "stability": "experimental"
6020
+ "stability": "stable"
5948
6021
  },
5949
6022
  "locationInModule": {
5950
6023
  "filename": "src/project/project-context.ts",
5951
- "line": 34
6024
+ "line": 41
5952
6025
  },
5953
6026
  "name": "getDefaultRegion",
5954
6027
  "parameters": [
@@ -5968,11 +6041,11 @@
5968
6041
  },
5969
6042
  {
5970
6043
  "docs": {
5971
- "stability": "experimental"
6044
+ "stability": "stable"
5972
6045
  },
5973
6046
  "locationInModule": {
5974
6047
  "filename": "src/project/project-context.ts",
5975
- "line": 68
6048
+ "line": 75
5976
6049
  },
5977
6050
  "name": "getEnvironment",
5978
6051
  "parameters": [
@@ -5992,11 +6065,11 @@
5992
6065
  },
5993
6066
  {
5994
6067
  "docs": {
5995
- "stability": "experimental"
6068
+ "stability": "stable"
5996
6069
  },
5997
6070
  "locationInModule": {
5998
6071
  "filename": "src/project/project-context.ts",
5999
- "line": 39
6072
+ "line": 46
6000
6073
  },
6001
6074
  "name": "getName",
6002
6075
  "parameters": [
@@ -6016,11 +6089,11 @@
6016
6089
  },
6017
6090
  {
6018
6091
  "docs": {
6019
- "stability": "experimental"
6092
+ "stability": "stable"
6020
6093
  },
6021
6094
  "locationInModule": {
6022
6095
  "filename": "src/project/project-context.ts",
6023
- "line": 64
6096
+ "line": 71
6024
6097
  },
6025
6098
  "name": "tryGetEnvironment",
6026
6099
  "parameters": [
@@ -6048,7 +6121,7 @@
6048
6121
  "datatype": true,
6049
6122
  "docs": {
6050
6123
  "remarks": "I.e. custom props for this construct and the usual props given to `cdk.App`.",
6051
- "stability": "experimental",
6124
+ "stability": "stable",
6052
6125
  "summary": "Props given to `Project`."
6053
6126
  },
6054
6127
  "fqn": "@alma-cdk/project.ProjectProps",
@@ -6059,7 +6132,7 @@
6059
6132
  "kind": "interface",
6060
6133
  "locationInModule": {
6061
6134
  "filename": "src/project/project.ts",
6062
- "line": 11
6135
+ "line": 19
6063
6136
  },
6064
6137
  "name": "ProjectProps",
6065
6138
  "symbolId": "src/project/project:ProjectProps"
@@ -6068,16 +6141,16 @@
6068
6141
  "assembly": "@alma-cdk/project",
6069
6142
  "base": "aws-cdk-lib.Stack",
6070
6143
  "docs": {
6071
- "stability": "experimental"
6144
+ "stability": "stable"
6072
6145
  },
6073
6146
  "fqn": "@alma-cdk/project.SmartStack",
6074
6147
  "initializer": {
6075
6148
  "docs": {
6076
- "stability": "experimental"
6149
+ "stability": "stable"
6077
6150
  },
6078
6151
  "locationInModule": {
6079
6152
  "filename": "src/smartstack/stack.ts",
6080
- "line": 17
6153
+ "line": 21
6081
6154
  },
6082
6155
  "parameters": [
6083
6156
  {
@@ -6103,7 +6176,7 @@
6103
6176
  "kind": "class",
6104
6177
  "locationInModule": {
6105
6178
  "filename": "src/smartstack/stack.ts",
6106
- "line": 12
6179
+ "line": 17
6107
6180
  },
6108
6181
  "name": "SmartStack",
6109
6182
  "symbolId": "src/smartstack/stack:SmartStack"
@@ -6113,12 +6186,12 @@
6113
6186
  "assembly": "@alma-cdk/project",
6114
6187
  "base": "@alma-cdk/project.Name",
6115
6188
  "docs": {
6116
- "stability": "experimental"
6189
+ "stability": "stable"
6117
6190
  },
6118
6191
  "fqn": "@alma-cdk/project.UrlName",
6119
6192
  "initializer": {
6120
6193
  "docs": {
6121
- "stability": "experimental"
6194
+ "stability": "stable"
6122
6195
  }
6123
6196
  },
6124
6197
  "kind": "class",
@@ -6129,12 +6202,12 @@
6129
6202
  "methods": [
6130
6203
  {
6131
6204
  "docs": {
6132
- "stability": "experimental",
6205
+ "stability": "stable",
6133
6206
  "summary": "PascalCase naming with global prefixes (org, project…)."
6134
6207
  },
6135
6208
  "locationInModule": {
6136
6209
  "filename": "src/name/name-url.ts",
6137
- "line": 21
6210
+ "line": 29
6138
6211
  },
6139
6212
  "name": "globally",
6140
6213
  "overrides": "@alma-cdk/project.Name",
@@ -6168,7 +6241,7 @@
6168
6241
  },
6169
6242
  {
6170
6243
  "docs": {
6171
- "stability": "experimental"
6244
+ "stability": "stable"
6172
6245
  },
6173
6246
  "locationInModule": {
6174
6247
  "filename": "src/name/name-url.ts",
@@ -6206,11 +6279,11 @@
6206
6279
  },
6207
6280
  {
6208
6281
  "docs": {
6209
- "stability": "experimental"
6282
+ "stability": "stable"
6210
6283
  },
6211
6284
  "locationInModule": {
6212
6285
  "filename": "src/name/name-url.ts",
6213
- "line": 15
6286
+ "line": 19
6214
6287
  },
6215
6288
  "name": "withProject",
6216
6289
  "overrides": "@alma-cdk/project.Name",
@@ -6247,6 +6320,6 @@
6247
6320
  "symbolId": "src/name/name-url:UrlName"
6248
6321
  }
6249
6322
  },
6250
- "version": "1.0.0-beta.8",
6251
- "fingerprint": "PazDajBjitt5rmJaM40aaMoAzWGufiO3yerLxJ5XTV8="
6323
+ "version": "1.0.0",
6324
+ "fingerprint": "5sNcA8I+dXCZtRB5J3+kQZVuSiAb8B5PgB2ZV0m5qlE="
6252
6325
  }