@btc-embedded/cdk-extensions 0.20.10 → 0.21.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 (85) hide show
  1. package/.jsii +286 -121
  2. package/API.md +1464 -194
  3. package/CHANGELOG.md +15 -0
  4. package/README.md +45 -0
  5. package/assets/constructs/api-keys/lambdas/pre-token.lambda/index.js +16 -13
  6. package/lib/constructs/EventPipe.js +1 -1
  7. package/lib/constructs/ExportedService.js +4 -4
  8. package/lib/constructs/S3Bucket.js +1 -1
  9. package/lib/constructs/SecureRestApi.d.ts +1 -1
  10. package/lib/constructs/SecureRestApi.js +9 -5
  11. package/lib/constructs/SecureRestApiV2.d.ts +1 -1
  12. package/lib/constructs/SecureRestApiV2.js +2 -2
  13. package/lib/constructs/api-keys/ApiKeyClientAuthorization.js +1 -1
  14. package/lib/constructs/api-keys/ApiKeyManagement.js +1 -1
  15. package/lib/constructs/api-keys/ApiKeyPreTokenHandler.js +1 -1
  16. package/lib/constructs/api-keys/ApiKeyStore.js +1 -1
  17. package/lib/constructs/api-keys/lambdas/pre-token.lambda.js +16 -17
  18. package/lib/extensions/ApiGatewayExtension.d.ts +1 -1
  19. package/lib/extensions/ApiGatewayExtension.js +33 -11
  20. package/lib/extensions/ApplicationLoadBalancerExtension.d.ts +2 -2
  21. package/lib/extensions/ApplicationLoadBalancerExtension.js +28 -9
  22. package/lib/extensions/ApplicationLoadBalancerExtensionV2.d.ts +1 -1
  23. package/lib/extensions/ApplicationLoadBalancerExtensionV2.js +5 -5
  24. package/lib/extensions/CloudMapExtension.d.ts +1 -1
  25. package/lib/extensions/CloudMapExtension.js +3 -3
  26. package/lib/extensions/DeactivatableServiceExtension.js +1 -1
  27. package/lib/extensions/DeploymentConfigExtension.js +1 -1
  28. package/lib/extensions/DocumentDbAccessExtension.d.ts +1 -1
  29. package/lib/extensions/DocumentDbAccessExtension.js +2 -2
  30. package/lib/extensions/DomainEventMessagingExtension.js +1 -1
  31. package/lib/extensions/EfsMountExtension.js +1 -1
  32. package/lib/extensions/ExtraContainerExtension.js +1 -1
  33. package/lib/extensions/HTTPApiExtension.d.ts +1 -1
  34. package/lib/extensions/HTTPApiExtension.js +5 -5
  35. package/lib/extensions/LogExtension.d.ts +1 -1
  36. package/lib/extensions/LogExtension.js +5 -5
  37. package/lib/extensions/ModifyContainerDefinitionExtension.js +1 -1
  38. package/lib/extensions/ModifyTaskDefinitionExtension.js +1 -1
  39. package/lib/extensions/OpenIdExtension.d.ts +1 -1
  40. package/lib/extensions/OpenIdExtension.js +3 -3
  41. package/lib/extensions/OpenTelemetryExtension.js +1 -1
  42. package/lib/extensions/PostgresDbAccessExtension.d.ts +1 -1
  43. package/lib/extensions/PostgresDbAccessExtension.js +22 -6
  44. package/lib/extensions/SharedVolumeExtension.js +1 -1
  45. package/lib/extensions/TcpKeepAliveExtension.js +1 -1
  46. package/lib/index.d.ts +1 -0
  47. package/lib/index.js +2 -1
  48. package/lib/platform/ApiGateway.js +1 -1
  49. package/lib/platform/ApiGatewayVpcLink.d.ts +1 -1
  50. package/lib/platform/ApiGatewayVpcLink.js +6 -6
  51. package/lib/platform/ApplicationLoadBalancer.js +1 -1
  52. package/lib/platform/ApplicationLoadBalancerV2.d.ts +2 -2
  53. package/lib/platform/ApplicationLoadBalancerV2.js +6 -6
  54. package/lib/platform/BTCLogGroup.d.ts +2 -2
  55. package/lib/platform/BTCLogGroup.js +4 -4
  56. package/lib/platform/CognitoUserPool.d.ts +1 -1
  57. package/lib/platform/CognitoUserPool.js +9 -9
  58. package/lib/platform/DefaultUserPoolClients.js +1 -1
  59. package/lib/platform/DocumentDB.d.ts +1 -1
  60. package/lib/platform/DocumentDB.js +5 -5
  61. package/lib/platform/EcsCluster.d.ts +1 -1
  62. package/lib/platform/EcsCluster.js +3 -3
  63. package/lib/platform/EfsFileSystem.d.ts +2 -2
  64. package/lib/platform/EfsFileSystem.js +4 -4
  65. package/lib/platform/HostedZone.d.ts +1 -1
  66. package/lib/platform/HostedZone.js +4 -4
  67. package/lib/platform/PrivateDnsNamespace.d.ts +1 -1
  68. package/lib/platform/PrivateDnsNamespace.js +5 -5
  69. package/lib/platform/ResourceServer.js +1 -1
  70. package/lib/platform/Vpc.d.ts +1 -1
  71. package/lib/platform/Vpc.js +4 -4
  72. package/lib/platform/VpcV2.js +1 -1
  73. package/lib/stacks/ApplicationStack.d.ts +8 -0
  74. package/lib/stacks/ApplicationStack.js +17 -0
  75. package/lib/stacks/index.d.ts +1 -0
  76. package/lib/stacks/index.js +18 -0
  77. package/lib/utils/BasePlatformStackResolver.d.ts +5 -0
  78. package/lib/utils/BasePlatformStackResolver.js +24 -0
  79. package/lib/utils/StackParameter.d.ts +8 -1
  80. package/lib/utils/StackParameter.js +13 -4
  81. package/lib/utils/configFileParsing.d.ts +26 -0
  82. package/lib/utils/configFileParsing.js +36 -1
  83. package/lib/utils/index.d.ts +1 -0
  84. package/lib/utils/index.js +2 -1
  85. package/package.json +1 -1
package/API.md CHANGED
@@ -1562,6 +1562,933 @@ public readonly targetGroup: IApplicationTargetGroup;
1562
1562
  ---
1563
1563
 
1564
1564
 
1565
+ ### ApplicationStack <a name="ApplicationStack" id="@btc-embedded/cdk-extensions.ApplicationStack"></a>
1566
+
1567
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.ApplicationStack.Initializer"></a>
1568
+
1569
+ ```typescript
1570
+ import { ApplicationStack } from '@btc-embedded/cdk-extensions'
1571
+
1572
+ new ApplicationStack(scope: Construct, id: string, props: ApplicationStackProps)
1573
+ ```
1574
+
1575
+ | **Name** | **Type** | **Description** |
1576
+ | --- | --- | --- |
1577
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
1578
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
1579
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.Initializer.parameter.props">props</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStackProps">ApplicationStackProps</a></code> | *No description.* |
1580
+
1581
+ ---
1582
+
1583
+ ##### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.ApplicationStack.Initializer.parameter.scope"></a>
1584
+
1585
+ - *Type:* constructs.Construct
1586
+
1587
+ ---
1588
+
1589
+ ##### `id`<sup>Required</sup> <a name="id" id="@btc-embedded/cdk-extensions.ApplicationStack.Initializer.parameter.id"></a>
1590
+
1591
+ - *Type:* string
1592
+
1593
+ ---
1594
+
1595
+ ##### `props`<sup>Required</sup> <a name="props" id="@btc-embedded/cdk-extensions.ApplicationStack.Initializer.parameter.props"></a>
1596
+
1597
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ApplicationStackProps">ApplicationStackProps</a>
1598
+
1599
+ ---
1600
+
1601
+ #### Methods <a name="Methods" id="Methods"></a>
1602
+
1603
+ | **Name** | **Description** |
1604
+ | --- | --- |
1605
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.toString">toString</a></code> | Returns a string representation of this construct. |
1606
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.addDependency">addDependency</a></code> | Add a dependency between this stack and another stack. |
1607
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.addMetadata">addMetadata</a></code> | Adds an arbitrary key-value pair, with information you want to record about the stack. |
1608
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.addStackTag">addStackTag</a></code> | Configure a stack tag. |
1609
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.addTransform">addTransform</a></code> | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
1610
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.exportStringListValue">exportStringListValue</a></code> | Create a CloudFormation Export for a string list value. |
1611
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.exportValue">exportValue</a></code> | Create a CloudFormation Export for a string value. |
1612
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.formatArn">formatArn</a></code> | Creates an ARN from components. |
1613
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.getLogicalId">getLogicalId</a></code> | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
1614
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.regionalFact">regionalFact</a></code> | Look up a fact value for the given fact for the region of this stack. |
1615
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.removeStackTag">removeStackTag</a></code> | Remove a stack tag. |
1616
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.renameLogicalId">renameLogicalId</a></code> | Rename a generated logical identities. |
1617
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.reportMissingContextKey">reportMissingContextKey</a></code> | Indicate that a context key was expected. |
1618
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.resolve">resolve</a></code> | Resolve a tokenized value in the context of the current stack. |
1619
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.splitArn">splitArn</a></code> | Splits the provided ARN into its components. |
1620
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.toJsonString">toJsonString</a></code> | Convert an object, potentially containing tokens, to a JSON string. |
1621
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.toYamlString">toYamlString</a></code> | Convert an object, potentially containing tokens, to a YAML string. |
1622
+
1623
+ ---
1624
+
1625
+ ##### `toString` <a name="toString" id="@btc-embedded/cdk-extensions.ApplicationStack.toString"></a>
1626
+
1627
+ ```typescript
1628
+ public toString(): string
1629
+ ```
1630
+
1631
+ Returns a string representation of this construct.
1632
+
1633
+ ##### `addDependency` <a name="addDependency" id="@btc-embedded/cdk-extensions.ApplicationStack.addDependency"></a>
1634
+
1635
+ ```typescript
1636
+ public addDependency(target: Stack, reason?: string): void
1637
+ ```
1638
+
1639
+ Add a dependency between this stack and another stack.
1640
+
1641
+ This can be used to define dependencies between any two stacks within an
1642
+ app, and also supports nested stacks.
1643
+
1644
+ ###### `target`<sup>Required</sup> <a name="target" id="@btc-embedded/cdk-extensions.ApplicationStack.addDependency.parameter.target"></a>
1645
+
1646
+ - *Type:* aws-cdk-lib.Stack
1647
+
1648
+ ---
1649
+
1650
+ ###### `reason`<sup>Optional</sup> <a name="reason" id="@btc-embedded/cdk-extensions.ApplicationStack.addDependency.parameter.reason"></a>
1651
+
1652
+ - *Type:* string
1653
+
1654
+ ---
1655
+
1656
+ ##### `addMetadata` <a name="addMetadata" id="@btc-embedded/cdk-extensions.ApplicationStack.addMetadata"></a>
1657
+
1658
+ ```typescript
1659
+ public addMetadata(key: string, value: any): void
1660
+ ```
1661
+
1662
+ Adds an arbitrary key-value pair, with information you want to record about the stack.
1663
+
1664
+ These get translated to the Metadata section of the generated template.
1665
+
1666
+ > [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html)
1667
+
1668
+ ###### `key`<sup>Required</sup> <a name="key" id="@btc-embedded/cdk-extensions.ApplicationStack.addMetadata.parameter.key"></a>
1669
+
1670
+ - *Type:* string
1671
+
1672
+ ---
1673
+
1674
+ ###### `value`<sup>Required</sup> <a name="value" id="@btc-embedded/cdk-extensions.ApplicationStack.addMetadata.parameter.value"></a>
1675
+
1676
+ - *Type:* any
1677
+
1678
+ ---
1679
+
1680
+ ##### `addStackTag` <a name="addStackTag" id="@btc-embedded/cdk-extensions.ApplicationStack.addStackTag"></a>
1681
+
1682
+ ```typescript
1683
+ public addStackTag(tagName: string, tagValue: string): void
1684
+ ```
1685
+
1686
+ Configure a stack tag.
1687
+
1688
+ At deploy time, CloudFormation will automatically apply all stack tags to all resources in the stack.
1689
+
1690
+ ###### `tagName`<sup>Required</sup> <a name="tagName" id="@btc-embedded/cdk-extensions.ApplicationStack.addStackTag.parameter.tagName"></a>
1691
+
1692
+ - *Type:* string
1693
+
1694
+ ---
1695
+
1696
+ ###### `tagValue`<sup>Required</sup> <a name="tagValue" id="@btc-embedded/cdk-extensions.ApplicationStack.addStackTag.parameter.tagValue"></a>
1697
+
1698
+ - *Type:* string
1699
+
1700
+ ---
1701
+
1702
+ ##### `addTransform` <a name="addTransform" id="@btc-embedded/cdk-extensions.ApplicationStack.addTransform"></a>
1703
+
1704
+ ```typescript
1705
+ public addTransform(transform: string): void
1706
+ ```
1707
+
1708
+ Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
1709
+
1710
+ Duplicate values are removed when stack is synthesized.
1711
+
1712
+ > [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html)
1713
+
1714
+ *Example*
1715
+
1716
+ ```typescript
1717
+ declare const stack: Stack;
1718
+
1719
+ stack.addTransform('AWS::Serverless-2016-10-31')
1720
+ ```
1721
+
1722
+
1723
+ ###### `transform`<sup>Required</sup> <a name="transform" id="@btc-embedded/cdk-extensions.ApplicationStack.addTransform.parameter.transform"></a>
1724
+
1725
+ - *Type:* string
1726
+
1727
+ The transform to add.
1728
+
1729
+ ---
1730
+
1731
+ ##### `exportStringListValue` <a name="exportStringListValue" id="@btc-embedded/cdk-extensions.ApplicationStack.exportStringListValue"></a>
1732
+
1733
+ ```typescript
1734
+ public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
1735
+ ```
1736
+
1737
+ Create a CloudFormation Export for a string list value.
1738
+
1739
+ Returns a string list representing the corresponding `Fn.importValue()`
1740
+ expression for this Export. The export expression is automatically wrapped with an
1741
+ `Fn::Join` and the import value with an `Fn::Split`, since CloudFormation can only
1742
+ export strings. You can control the name for the export by passing the `name` option.
1743
+
1744
+ If you don't supply a value for `name`, the value you're exporting must be
1745
+ a Resource attribute (for example: `bucket.bucketName`) and it will be
1746
+ given the same name as the automatic cross-stack reference that would be created
1747
+ if you used the attribute in another Stack.
1748
+
1749
+ One of the uses for this method is to *remove* the relationship between
1750
+ two Stacks established by automatic cross-stack references. It will
1751
+ temporarily ensure that the CloudFormation Export still exists while you
1752
+ remove the reference from the consuming stack. After that, you can remove
1753
+ the resource and the manual export.
1754
+
1755
+ See `exportValue` for an example of this process.
1756
+
1757
+ ###### `exportedValue`<sup>Required</sup> <a name="exportedValue" id="@btc-embedded/cdk-extensions.ApplicationStack.exportStringListValue.parameter.exportedValue"></a>
1758
+
1759
+ - *Type:* any
1760
+
1761
+ ---
1762
+
1763
+ ###### `options`<sup>Optional</sup> <a name="options" id="@btc-embedded/cdk-extensions.ApplicationStack.exportStringListValue.parameter.options"></a>
1764
+
1765
+ - *Type:* aws-cdk-lib.ExportValueOptions
1766
+
1767
+ ---
1768
+
1769
+ ##### `exportValue` <a name="exportValue" id="@btc-embedded/cdk-extensions.ApplicationStack.exportValue"></a>
1770
+
1771
+ ```typescript
1772
+ public exportValue(exportedValue: any, options?: ExportValueOptions): string
1773
+ ```
1774
+
1775
+ Create a CloudFormation Export for a string value.
1776
+
1777
+ Returns a string representing the corresponding `Fn.importValue()`
1778
+ expression for this Export. You can control the name for the export by
1779
+ passing the `name` option.
1780
+
1781
+ If you don't supply a value for `name`, the value you're exporting must be
1782
+ a Resource attribute (for example: `bucket.bucketName`) and it will be
1783
+ given the same name as the automatic cross-stack reference that would be created
1784
+ if you used the attribute in another Stack.
1785
+
1786
+ One of the uses for this method is to *remove* the relationship between
1787
+ two Stacks established by automatic cross-stack references. It will
1788
+ temporarily ensure that the CloudFormation Export still exists while you
1789
+ remove the reference from the consuming stack. After that, you can remove
1790
+ the resource and the manual export.
1791
+
1792
+ Here is how the process works. Let's say there are two stacks,
1793
+ `producerStack` and `consumerStack`, and `producerStack` has a bucket
1794
+ called `bucket`, which is referenced by `consumerStack` (perhaps because
1795
+ an AWS Lambda Function writes into it, or something like that).
1796
+
1797
+ It is not safe to remove `producerStack.bucket` because as the bucket is being
1798
+ deleted, `consumerStack` might still be using it.
1799
+
1800
+ Instead, the process takes two deployments:
1801
+
1802
+ **Deployment 1: break the relationship**:
1803
+
1804
+ - Make sure `consumerStack` no longer references `bucket.bucketName` (maybe the consumer
1805
+ stack now uses its own bucket, or it writes to an AWS DynamoDB table, or maybe you just
1806
+ remove the Lambda Function altogether).
1807
+ - In the `ProducerStack` class, call `this.exportValue(this.bucket.bucketName)`. This
1808
+ will make sure the CloudFormation Export continues to exist while the relationship
1809
+ between the two stacks is being broken.
1810
+ - Deploy (this will effectively only change the `consumerStack`, but it's safe to deploy both).
1811
+
1812
+ **Deployment 2: remove the bucket resource**:
1813
+
1814
+ - You are now free to remove the `bucket` resource from `producerStack`.
1815
+ - Don't forget to remove the `exportValue()` call as well.
1816
+ - Deploy again (this time only the `producerStack` will be changed -- the bucket will be deleted).
1817
+
1818
+ ###### `exportedValue`<sup>Required</sup> <a name="exportedValue" id="@btc-embedded/cdk-extensions.ApplicationStack.exportValue.parameter.exportedValue"></a>
1819
+
1820
+ - *Type:* any
1821
+
1822
+ ---
1823
+
1824
+ ###### `options`<sup>Optional</sup> <a name="options" id="@btc-embedded/cdk-extensions.ApplicationStack.exportValue.parameter.options"></a>
1825
+
1826
+ - *Type:* aws-cdk-lib.ExportValueOptions
1827
+
1828
+ ---
1829
+
1830
+ ##### `formatArn` <a name="formatArn" id="@btc-embedded/cdk-extensions.ApplicationStack.formatArn"></a>
1831
+
1832
+ ```typescript
1833
+ public formatArn(components: ArnComponents): string
1834
+ ```
1835
+
1836
+ Creates an ARN from components.
1837
+
1838
+ If `partition`, `region` or `account` are not specified, the stack's
1839
+ partition, region and account will be used.
1840
+
1841
+ If any component is the empty string, an empty string will be inserted
1842
+ into the generated ARN at the location that component corresponds to.
1843
+
1844
+ The ARN will be formatted as follows:
1845
+
1846
+ arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
1847
+
1848
+ The required ARN pieces that are omitted will be taken from the stack that
1849
+ the 'scope' is attached to. If all ARN pieces are supplied, the supplied scope
1850
+ can be 'undefined'.
1851
+
1852
+ ###### `components`<sup>Required</sup> <a name="components" id="@btc-embedded/cdk-extensions.ApplicationStack.formatArn.parameter.components"></a>
1853
+
1854
+ - *Type:* aws-cdk-lib.ArnComponents
1855
+
1856
+ ---
1857
+
1858
+ ##### `getLogicalId` <a name="getLogicalId" id="@btc-embedded/cdk-extensions.ApplicationStack.getLogicalId"></a>
1859
+
1860
+ ```typescript
1861
+ public getLogicalId(element: CfnElement): string
1862
+ ```
1863
+
1864
+ Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.
1865
+
1866
+ This method is called when a `CfnElement` is created and used to render the
1867
+ initial logical identity of resources. Logical ID renames are applied at
1868
+ this stage.
1869
+
1870
+ This method uses the protected method `allocateLogicalId` to render the
1871
+ logical ID for an element. To modify the naming scheme, extend the `Stack`
1872
+ class and override this method.
1873
+
1874
+ ###### `element`<sup>Required</sup> <a name="element" id="@btc-embedded/cdk-extensions.ApplicationStack.getLogicalId.parameter.element"></a>
1875
+
1876
+ - *Type:* aws-cdk-lib.CfnElement
1877
+
1878
+ The CloudFormation element for which a logical identity is needed.
1879
+
1880
+ ---
1881
+
1882
+ ##### `regionalFact` <a name="regionalFact" id="@btc-embedded/cdk-extensions.ApplicationStack.regionalFact"></a>
1883
+
1884
+ ```typescript
1885
+ public regionalFact(factName: string, defaultValue?: string): string
1886
+ ```
1887
+
1888
+ Look up a fact value for the given fact for the region of this stack.
1889
+
1890
+ Will return a definite value only if the region of the current stack is resolved.
1891
+ If not, a lookup map will be added to the stack and the lookup will be done at
1892
+ CDK deployment time.
1893
+
1894
+ What regions will be included in the lookup map is controlled by the
1895
+ `@aws-cdk/core:target-partitions` context value: it must be set to a list
1896
+ of partitions, and only regions from the given partitions will be included.
1897
+ If no such context key is set, all regions will be included.
1898
+
1899
+ This function is intended to be used by construct library authors. Application
1900
+ builders can rely on the abstractions offered by construct libraries and do
1901
+ not have to worry about regional facts.
1902
+
1903
+ If `defaultValue` is not given, it is an error if the fact is unknown for
1904
+ the given region.
1905
+
1906
+ ###### `factName`<sup>Required</sup> <a name="factName" id="@btc-embedded/cdk-extensions.ApplicationStack.regionalFact.parameter.factName"></a>
1907
+
1908
+ - *Type:* string
1909
+
1910
+ ---
1911
+
1912
+ ###### `defaultValue`<sup>Optional</sup> <a name="defaultValue" id="@btc-embedded/cdk-extensions.ApplicationStack.regionalFact.parameter.defaultValue"></a>
1913
+
1914
+ - *Type:* string
1915
+
1916
+ ---
1917
+
1918
+ ##### `removeStackTag` <a name="removeStackTag" id="@btc-embedded/cdk-extensions.ApplicationStack.removeStackTag"></a>
1919
+
1920
+ ```typescript
1921
+ public removeStackTag(tagName: string): void
1922
+ ```
1923
+
1924
+ Remove a stack tag.
1925
+
1926
+ At deploy time, CloudFormation will automatically apply all stack tags to all resources in the stack.
1927
+
1928
+ ###### `tagName`<sup>Required</sup> <a name="tagName" id="@btc-embedded/cdk-extensions.ApplicationStack.removeStackTag.parameter.tagName"></a>
1929
+
1930
+ - *Type:* string
1931
+
1932
+ ---
1933
+
1934
+ ##### `renameLogicalId` <a name="renameLogicalId" id="@btc-embedded/cdk-extensions.ApplicationStack.renameLogicalId"></a>
1935
+
1936
+ ```typescript
1937
+ public renameLogicalId(oldId: string, newId: string): void
1938
+ ```
1939
+
1940
+ Rename a generated logical identities.
1941
+
1942
+ To modify the naming scheme strategy, extend the `Stack` class and
1943
+ override the `allocateLogicalId` method.
1944
+
1945
+ ###### `oldId`<sup>Required</sup> <a name="oldId" id="@btc-embedded/cdk-extensions.ApplicationStack.renameLogicalId.parameter.oldId"></a>
1946
+
1947
+ - *Type:* string
1948
+
1949
+ ---
1950
+
1951
+ ###### `newId`<sup>Required</sup> <a name="newId" id="@btc-embedded/cdk-extensions.ApplicationStack.renameLogicalId.parameter.newId"></a>
1952
+
1953
+ - *Type:* string
1954
+
1955
+ ---
1956
+
1957
+ ##### `reportMissingContextKey` <a name="reportMissingContextKey" id="@btc-embedded/cdk-extensions.ApplicationStack.reportMissingContextKey"></a>
1958
+
1959
+ ```typescript
1960
+ public reportMissingContextKey(report: MissingContext): void
1961
+ ```
1962
+
1963
+ Indicate that a context key was expected.
1964
+
1965
+ Contains instructions which will be emitted into the cloud assembly on how
1966
+ the key should be supplied.
1967
+
1968
+ ###### `report`<sup>Required</sup> <a name="report" id="@btc-embedded/cdk-extensions.ApplicationStack.reportMissingContextKey.parameter.report"></a>
1969
+
1970
+ - *Type:* aws-cdk-lib.cloud_assembly_schema.MissingContext
1971
+
1972
+ The set of parameters needed to obtain the context.
1973
+
1974
+ ---
1975
+
1976
+ ##### `resolve` <a name="resolve" id="@btc-embedded/cdk-extensions.ApplicationStack.resolve"></a>
1977
+
1978
+ ```typescript
1979
+ public resolve(obj: any): any
1980
+ ```
1981
+
1982
+ Resolve a tokenized value in the context of the current stack.
1983
+
1984
+ ###### `obj`<sup>Required</sup> <a name="obj" id="@btc-embedded/cdk-extensions.ApplicationStack.resolve.parameter.obj"></a>
1985
+
1986
+ - *Type:* any
1987
+
1988
+ ---
1989
+
1990
+ ##### `splitArn` <a name="splitArn" id="@btc-embedded/cdk-extensions.ApplicationStack.splitArn"></a>
1991
+
1992
+ ```typescript
1993
+ public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
1994
+ ```
1995
+
1996
+ Splits the provided ARN into its components.
1997
+
1998
+ Works both if 'arn' is a string like 'arn:aws:s3:::bucket',
1999
+ and a Token representing a dynamic CloudFormation expression
2000
+ (in which case the returned components will also be dynamic CloudFormation expressions,
2001
+ encoded as Tokens).
2002
+
2003
+ ###### `arn`<sup>Required</sup> <a name="arn" id="@btc-embedded/cdk-extensions.ApplicationStack.splitArn.parameter.arn"></a>
2004
+
2005
+ - *Type:* string
2006
+
2007
+ the ARN to split into its components.
2008
+
2009
+ ---
2010
+
2011
+ ###### `arnFormat`<sup>Required</sup> <a name="arnFormat" id="@btc-embedded/cdk-extensions.ApplicationStack.splitArn.parameter.arnFormat"></a>
2012
+
2013
+ - *Type:* aws-cdk-lib.ArnFormat
2014
+
2015
+ the expected format of 'arn' - depends on what format the service 'arn' represents uses.
2016
+
2017
+ ---
2018
+
2019
+ ##### `toJsonString` <a name="toJsonString" id="@btc-embedded/cdk-extensions.ApplicationStack.toJsonString"></a>
2020
+
2021
+ ```typescript
2022
+ public toJsonString(obj: any, space?: number): string
2023
+ ```
2024
+
2025
+ Convert an object, potentially containing tokens, to a JSON string.
2026
+
2027
+ ###### `obj`<sup>Required</sup> <a name="obj" id="@btc-embedded/cdk-extensions.ApplicationStack.toJsonString.parameter.obj"></a>
2028
+
2029
+ - *Type:* any
2030
+
2031
+ ---
2032
+
2033
+ ###### `space`<sup>Optional</sup> <a name="space" id="@btc-embedded/cdk-extensions.ApplicationStack.toJsonString.parameter.space"></a>
2034
+
2035
+ - *Type:* number
2036
+
2037
+ ---
2038
+
2039
+ ##### `toYamlString` <a name="toYamlString" id="@btc-embedded/cdk-extensions.ApplicationStack.toYamlString"></a>
2040
+
2041
+ ```typescript
2042
+ public toYamlString(obj: any): string
2043
+ ```
2044
+
2045
+ Convert an object, potentially containing tokens, to a YAML string.
2046
+
2047
+ ###### `obj`<sup>Required</sup> <a name="obj" id="@btc-embedded/cdk-extensions.ApplicationStack.toYamlString.parameter.obj"></a>
2048
+
2049
+ - *Type:* any
2050
+
2051
+ ---
2052
+
2053
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
2054
+
2055
+ | **Name** | **Description** |
2056
+ | --- | --- |
2057
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
2058
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.isStack">isStack</a></code> | Return whether the given object is a Stack. |
2059
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.of">of</a></code> | Looks up the first stack scope in which `construct` is defined. |
2060
+
2061
+ ---
2062
+
2063
+ ##### `isConstruct` <a name="isConstruct" id="@btc-embedded/cdk-extensions.ApplicationStack.isConstruct"></a>
2064
+
2065
+ ```typescript
2066
+ import { ApplicationStack } from '@btc-embedded/cdk-extensions'
2067
+
2068
+ ApplicationStack.isConstruct(x: any)
2069
+ ```
2070
+
2071
+ Checks if `x` is a construct.
2072
+
2073
+ Use this method instead of `instanceof` to properly detect `Construct`
2074
+ instances, even when the construct library is symlinked.
2075
+
2076
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
2077
+ disk are seen as independent, completely different libraries. As a
2078
+ consequence, the class `Construct` in each copy of the `constructs` library
2079
+ is seen as a different class, and an instance of one class will not test as
2080
+ `instanceof` the other class. `npm install` will not create installations
2081
+ like this, but users may manually symlink construct libraries together or
2082
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
2083
+ library can be accidentally installed, and `instanceof` will behave
2084
+ unpredictably. It is safest to avoid using `instanceof`, and using
2085
+ this type-testing method instead.
2086
+
2087
+ ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.ApplicationStack.isConstruct.parameter.x"></a>
2088
+
2089
+ - *Type:* any
2090
+
2091
+ Any object.
2092
+
2093
+ ---
2094
+
2095
+ ##### `isStack` <a name="isStack" id="@btc-embedded/cdk-extensions.ApplicationStack.isStack"></a>
2096
+
2097
+ ```typescript
2098
+ import { ApplicationStack } from '@btc-embedded/cdk-extensions'
2099
+
2100
+ ApplicationStack.isStack(x: any)
2101
+ ```
2102
+
2103
+ Return whether the given object is a Stack.
2104
+
2105
+ We do attribute detection since we can't reliably use 'instanceof'.
2106
+
2107
+ ###### `x`<sup>Required</sup> <a name="x" id="@btc-embedded/cdk-extensions.ApplicationStack.isStack.parameter.x"></a>
2108
+
2109
+ - *Type:* any
2110
+
2111
+ ---
2112
+
2113
+ ##### `of` <a name="of" id="@btc-embedded/cdk-extensions.ApplicationStack.of"></a>
2114
+
2115
+ ```typescript
2116
+ import { ApplicationStack } from '@btc-embedded/cdk-extensions'
2117
+
2118
+ ApplicationStack.of(construct: IConstruct)
2119
+ ```
2120
+
2121
+ Looks up the first stack scope in which `construct` is defined.
2122
+
2123
+ Fails if there is no stack up the tree.
2124
+
2125
+ ###### `construct`<sup>Required</sup> <a name="construct" id="@btc-embedded/cdk-extensions.ApplicationStack.of.parameter.construct"></a>
2126
+
2127
+ - *Type:* constructs.IConstruct
2128
+
2129
+ The construct to start the search from.
2130
+
2131
+ ---
2132
+
2133
+ #### Properties <a name="Properties" id="Properties"></a>
2134
+
2135
+ | **Name** | **Type** | **Description** |
2136
+ | --- | --- | --- |
2137
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
2138
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.account">account</a></code> | <code>string</code> | The AWS account into which this stack will be deployed. |
2139
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.artifactId">artifactId</a></code> | <code>string</code> | The ID of the cloud assembly artifact for this stack. |
2140
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.availabilityZones">availabilityZones</a></code> | <code>string[]</code> | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
2141
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.bundlingRequired">bundlingRequired</a></code> | <code>boolean</code> | Indicates whether the stack requires bundling or not. |
2142
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.dependencies">dependencies</a></code> | <code>aws-cdk-lib.Stack[]</code> | Return the stacks this stack depends on. |
2143
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.environment">environment</a></code> | <code>string</code> | The environment coordinates in which this stack is deployed. |
2144
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.nested">nested</a></code> | <code>boolean</code> | Indicates if this is a nested stack, in which case `parentStack` will include a reference to it's parent. |
2145
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.notificationArns">notificationArns</a></code> | <code>string[]</code> | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
2146
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.partition">partition</a></code> | <code>string</code> | The partition in which this stack is defined. |
2147
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.region">region</a></code> | <code>string</code> | The AWS region into which this stack will be deployed (e.g. `us-west-2`). |
2148
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.stackId">stackId</a></code> | <code>string</code> | The ID of the stack. |
2149
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.stackName">stackName</a></code> | <code>string</code> | The concrete CloudFormation physical stack name. |
2150
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.synthesizer">synthesizer</a></code> | <code>aws-cdk-lib.IStackSynthesizer</code> | Synthesis method for this stack. |
2151
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.tags">tags</a></code> | <code>aws-cdk-lib.TagManager</code> | Tags to be applied to the stack. |
2152
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.templateFile">templateFile</a></code> | <code>string</code> | The name of the CloudFormation template file emitted to the output directory during synthesis. |
2153
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.templateOptions">templateOptions</a></code> | <code>aws-cdk-lib.ITemplateOptions</code> | Options for CloudFormation template (like version, transform, description). |
2154
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.urlSuffix">urlSuffix</a></code> | <code>string</code> | The Amazon domain suffix for the region in which this stack is defined. |
2155
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.nestedStackParent">nestedStackParent</a></code> | <code>aws-cdk-lib.Stack</code> | If this is a nested stack, returns it's parent stack. |
2156
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.nestedStackResource">nestedStackResource</a></code> | <code>aws-cdk-lib.CfnResource</code> | If this is a nested stack, this represents its `AWS::CloudFormation::Stack` resource. |
2157
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStack.property.terminationProtection">terminationProtection</a></code> | <code>boolean</code> | Whether termination protection is enabled for this stack. |
2158
+
2159
+ ---
2160
+
2161
+ ##### `node`<sup>Required</sup> <a name="node" id="@btc-embedded/cdk-extensions.ApplicationStack.property.node"></a>
2162
+
2163
+ ```typescript
2164
+ public readonly node: Node;
2165
+ ```
2166
+
2167
+ - *Type:* constructs.Node
2168
+
2169
+ The tree node.
2170
+
2171
+ ---
2172
+
2173
+ ##### `account`<sup>Required</sup> <a name="account" id="@btc-embedded/cdk-extensions.ApplicationStack.property.account"></a>
2174
+
2175
+ ```typescript
2176
+ public readonly account: string;
2177
+ ```
2178
+
2179
+ - *Type:* string
2180
+
2181
+ The AWS account into which this stack will be deployed.
2182
+
2183
+ This value is resolved according to the following rules:
2184
+
2185
+ 1. The value provided to `env.account` when the stack is defined. This can
2186
+ either be a concrete account (e.g. `585695031111`) or the
2187
+ `Aws.ACCOUNT_ID` token.
2188
+ 3. `Aws.ACCOUNT_ID`, which represents the CloudFormation intrinsic reference
2189
+ `{ "Ref": "AWS::AccountId" }` encoded as a string token.
2190
+
2191
+ Preferably, you should use the return value as an opaque string and not
2192
+ attempt to parse it to implement your logic. If you do, you must first
2193
+ check that it is a concrete value an not an unresolved token. If this
2194
+ value is an unresolved token (`Token.isUnresolved(stack.account)` returns
2195
+ `true`), this implies that the user wishes that this stack will synthesize
2196
+ into an **account-agnostic template**. In this case, your code should either
2197
+ fail (throw an error, emit a synth error using `Annotations.of(construct).addError()`) or
2198
+ implement some other account-agnostic behavior.
2199
+
2200
+ ---
2201
+
2202
+ ##### `artifactId`<sup>Required</sup> <a name="artifactId" id="@btc-embedded/cdk-extensions.ApplicationStack.property.artifactId"></a>
2203
+
2204
+ ```typescript
2205
+ public readonly artifactId: string;
2206
+ ```
2207
+
2208
+ - *Type:* string
2209
+
2210
+ The ID of the cloud assembly artifact for this stack.
2211
+
2212
+ ---
2213
+
2214
+ ##### `availabilityZones`<sup>Required</sup> <a name="availabilityZones" id="@btc-embedded/cdk-extensions.ApplicationStack.property.availabilityZones"></a>
2215
+
2216
+ ```typescript
2217
+ public readonly availabilityZones: string[];
2218
+ ```
2219
+
2220
+ - *Type:* string[]
2221
+
2222
+ Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.
2223
+
2224
+ If the stack is environment-agnostic (either account and/or region are
2225
+ tokens), this property will return an array with 2 tokens that will resolve
2226
+ at deploy-time to the first two availability zones returned from CloudFormation's
2227
+ `Fn::GetAZs` intrinsic function.
2228
+
2229
+ If they are not available in the context, returns a set of dummy values and
2230
+ reports them as missing, and let the CLI resolve them by calling EC2
2231
+ `DescribeAvailabilityZones` on the target environment.
2232
+
2233
+ To specify a different strategy for selecting availability zones override this method.
2234
+
2235
+ ---
2236
+
2237
+ ##### `bundlingRequired`<sup>Required</sup> <a name="bundlingRequired" id="@btc-embedded/cdk-extensions.ApplicationStack.property.bundlingRequired"></a>
2238
+
2239
+ ```typescript
2240
+ public readonly bundlingRequired: boolean;
2241
+ ```
2242
+
2243
+ - *Type:* boolean
2244
+
2245
+ Indicates whether the stack requires bundling or not.
2246
+
2247
+ ---
2248
+
2249
+ ##### `dependencies`<sup>Required</sup> <a name="dependencies" id="@btc-embedded/cdk-extensions.ApplicationStack.property.dependencies"></a>
2250
+
2251
+ ```typescript
2252
+ public readonly dependencies: Stack[];
2253
+ ```
2254
+
2255
+ - *Type:* aws-cdk-lib.Stack[]
2256
+
2257
+ Return the stacks this stack depends on.
2258
+
2259
+ ---
2260
+
2261
+ ##### `environment`<sup>Required</sup> <a name="environment" id="@btc-embedded/cdk-extensions.ApplicationStack.property.environment"></a>
2262
+
2263
+ ```typescript
2264
+ public readonly environment: string;
2265
+ ```
2266
+
2267
+ - *Type:* string
2268
+
2269
+ The environment coordinates in which this stack is deployed.
2270
+
2271
+ In the form
2272
+ `aws://account/region`. Use `stack.account` and `stack.region` to obtain
2273
+ the specific values, no need to parse.
2274
+
2275
+ You can use this value to determine if two stacks are targeting the same
2276
+ environment.
2277
+
2278
+ If either `stack.account` or `stack.region` are not concrete values (e.g.
2279
+ `Aws.ACCOUNT_ID` or `Aws.REGION`) the special strings `unknown-account` and/or
2280
+ `unknown-region` will be used respectively to indicate this stack is
2281
+ region/account-agnostic.
2282
+
2283
+ ---
2284
+
2285
+ ##### `nested`<sup>Required</sup> <a name="nested" id="@btc-embedded/cdk-extensions.ApplicationStack.property.nested"></a>
2286
+
2287
+ ```typescript
2288
+ public readonly nested: boolean;
2289
+ ```
2290
+
2291
+ - *Type:* boolean
2292
+
2293
+ Indicates if this is a nested stack, in which case `parentStack` will include a reference to it's parent.
2294
+
2295
+ ---
2296
+
2297
+ ##### `notificationArns`<sup>Required</sup> <a name="notificationArns" id="@btc-embedded/cdk-extensions.ApplicationStack.property.notificationArns"></a>
2298
+
2299
+ ```typescript
2300
+ public readonly notificationArns: string[];
2301
+ ```
2302
+
2303
+ - *Type:* string[]
2304
+
2305
+ Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
2306
+
2307
+ ---
2308
+
2309
+ ##### `partition`<sup>Required</sup> <a name="partition" id="@btc-embedded/cdk-extensions.ApplicationStack.property.partition"></a>
2310
+
2311
+ ```typescript
2312
+ public readonly partition: string;
2313
+ ```
2314
+
2315
+ - *Type:* string
2316
+
2317
+ The partition in which this stack is defined.
2318
+
2319
+ ---
2320
+
2321
+ ##### `region`<sup>Required</sup> <a name="region" id="@btc-embedded/cdk-extensions.ApplicationStack.property.region"></a>
2322
+
2323
+ ```typescript
2324
+ public readonly region: string;
2325
+ ```
2326
+
2327
+ - *Type:* string
2328
+
2329
+ The AWS region into which this stack will be deployed (e.g. `us-west-2`).
2330
+
2331
+ This value is resolved according to the following rules:
2332
+
2333
+ 1. The value provided to `env.region` when the stack is defined. This can
2334
+ either be a concrete region (e.g. `us-west-2`) or the `Aws.REGION`
2335
+ token.
2336
+ 3. `Aws.REGION`, which is represents the CloudFormation intrinsic reference
2337
+ `{ "Ref": "AWS::Region" }` encoded as a string token.
2338
+
2339
+ Preferably, you should use the return value as an opaque string and not
2340
+ attempt to parse it to implement your logic. If you do, you must first
2341
+ check that it is a concrete value an not an unresolved token. If this
2342
+ value is an unresolved token (`Token.isUnresolved(stack.region)` returns
2343
+ `true`), this implies that the user wishes that this stack will synthesize
2344
+ into a **region-agnostic template**. In this case, your code should either
2345
+ fail (throw an error, emit a synth error using `Annotations.of(construct).addError()`) or
2346
+ implement some other region-agnostic behavior.
2347
+
2348
+ ---
2349
+
2350
+ ##### `stackId`<sup>Required</sup> <a name="stackId" id="@btc-embedded/cdk-extensions.ApplicationStack.property.stackId"></a>
2351
+
2352
+ ```typescript
2353
+ public readonly stackId: string;
2354
+ ```
2355
+
2356
+ - *Type:* string
2357
+
2358
+ The ID of the stack.
2359
+
2360
+ ---
2361
+
2362
+ *Example*
2363
+
2364
+ ```typescript
2365
+ // After resolving, looks like
2366
+ 'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
2367
+ ```
2368
+
2369
+
2370
+ ##### `stackName`<sup>Required</sup> <a name="stackName" id="@btc-embedded/cdk-extensions.ApplicationStack.property.stackName"></a>
2371
+
2372
+ ```typescript
2373
+ public readonly stackName: string;
2374
+ ```
2375
+
2376
+ - *Type:* string
2377
+
2378
+ The concrete CloudFormation physical stack name.
2379
+
2380
+ This is either the name defined explicitly in the `stackName` prop or
2381
+ allocated based on the stack's location in the construct tree. Stacks that
2382
+ are directly defined under the app use their construct `id` as their stack
2383
+ name. Stacks that are defined deeper within the tree will use a hashed naming
2384
+ scheme based on the construct path to ensure uniqueness.
2385
+
2386
+ If you wish to obtain the deploy-time AWS::StackName intrinsic,
2387
+ you can use `Aws.STACK_NAME` directly.
2388
+
2389
+ ---
2390
+
2391
+ ##### `synthesizer`<sup>Required</sup> <a name="synthesizer" id="@btc-embedded/cdk-extensions.ApplicationStack.property.synthesizer"></a>
2392
+
2393
+ ```typescript
2394
+ public readonly synthesizer: IStackSynthesizer;
2395
+ ```
2396
+
2397
+ - *Type:* aws-cdk-lib.IStackSynthesizer
2398
+
2399
+ Synthesis method for this stack.
2400
+
2401
+ ---
2402
+
2403
+ ##### `tags`<sup>Required</sup> <a name="tags" id="@btc-embedded/cdk-extensions.ApplicationStack.property.tags"></a>
2404
+
2405
+ ```typescript
2406
+ public readonly tags: TagManager;
2407
+ ```
2408
+
2409
+ - *Type:* aws-cdk-lib.TagManager
2410
+
2411
+ Tags to be applied to the stack.
2412
+
2413
+ ---
2414
+
2415
+ ##### `templateFile`<sup>Required</sup> <a name="templateFile" id="@btc-embedded/cdk-extensions.ApplicationStack.property.templateFile"></a>
2416
+
2417
+ ```typescript
2418
+ public readonly templateFile: string;
2419
+ ```
2420
+
2421
+ - *Type:* string
2422
+
2423
+ The name of the CloudFormation template file emitted to the output directory during synthesis.
2424
+
2425
+ Example value: `MyStack.template.json`
2426
+
2427
+ ---
2428
+
2429
+ ##### `templateOptions`<sup>Required</sup> <a name="templateOptions" id="@btc-embedded/cdk-extensions.ApplicationStack.property.templateOptions"></a>
2430
+
2431
+ ```typescript
2432
+ public readonly templateOptions: ITemplateOptions;
2433
+ ```
2434
+
2435
+ - *Type:* aws-cdk-lib.ITemplateOptions
2436
+
2437
+ Options for CloudFormation template (like version, transform, description).
2438
+
2439
+ ---
2440
+
2441
+ ##### `urlSuffix`<sup>Required</sup> <a name="urlSuffix" id="@btc-embedded/cdk-extensions.ApplicationStack.property.urlSuffix"></a>
2442
+
2443
+ ```typescript
2444
+ public readonly urlSuffix: string;
2445
+ ```
2446
+
2447
+ - *Type:* string
2448
+
2449
+ The Amazon domain suffix for the region in which this stack is defined.
2450
+
2451
+ ---
2452
+
2453
+ ##### `nestedStackParent`<sup>Optional</sup> <a name="nestedStackParent" id="@btc-embedded/cdk-extensions.ApplicationStack.property.nestedStackParent"></a>
2454
+
2455
+ ```typescript
2456
+ public readonly nestedStackParent: Stack;
2457
+ ```
2458
+
2459
+ - *Type:* aws-cdk-lib.Stack
2460
+
2461
+ If this is a nested stack, returns it's parent stack.
2462
+
2463
+ ---
2464
+
2465
+ ##### `nestedStackResource`<sup>Optional</sup> <a name="nestedStackResource" id="@btc-embedded/cdk-extensions.ApplicationStack.property.nestedStackResource"></a>
2466
+
2467
+ ```typescript
2468
+ public readonly nestedStackResource: CfnResource;
2469
+ ```
2470
+
2471
+ - *Type:* aws-cdk-lib.CfnResource
2472
+
2473
+ If this is a nested stack, this represents its `AWS::CloudFormation::Stack` resource.
2474
+
2475
+ `undefined` for top-level (non-nested) stacks.
2476
+
2477
+ ---
2478
+
2479
+ ##### `terminationProtection`<sup>Required</sup> <a name="terminationProtection" id="@btc-embedded/cdk-extensions.ApplicationStack.property.terminationProtection"></a>
2480
+
2481
+ ```typescript
2482
+ public readonly terminationProtection: boolean;
2483
+ ```
2484
+
2485
+ - *Type:* boolean
2486
+
2487
+ Whether termination protection is enabled for this stack.
2488
+
2489
+ ---
2490
+
2491
+
1565
2492
  ### BTCLogGroup <a name="BTCLogGroup" id="@btc-embedded/cdk-extensions.BTCLogGroup"></a>
1566
2493
 
1567
2494
  A log group with sensible defaults.
@@ -2322,7 +3249,7 @@ Any object.
2322
3249
  ```typescript
2323
3250
  import { CognitoUserPool } from '@btc-embedded/cdk-extensions'
2324
3251
 
2325
- CognitoUserPool.fromBasePlatform(scope: Construct, id: string, basePlatform: string)
3252
+ CognitoUserPool.fromBasePlatform(scope: Construct, id: string, basePlatformStackName?: string)
2326
3253
  ```
2327
3254
 
2328
3255
  ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.CognitoUserPool.fromBasePlatform.parameter.scope"></a>
@@ -2337,7 +3264,7 @@ CognitoUserPool.fromBasePlatform(scope: Construct, id: string, basePlatform: str
2337
3264
 
2338
3265
  ---
2339
3266
 
2340
- ###### `basePlatform`<sup>Required</sup> <a name="basePlatform" id="@btc-embedded/cdk-extensions.CognitoUserPool.fromBasePlatform.parameter.basePlatform"></a>
3267
+ ###### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.CognitoUserPool.fromBasePlatform.parameter.basePlatformStackName"></a>
2341
3268
 
2342
3269
  - *Type:* string
2343
3270
 
@@ -2871,7 +3798,7 @@ Any object.
2871
3798
  ```typescript
2872
3799
  import { DocumentDB } from '@btc-embedded/cdk-extensions'
2873
3800
 
2874
- DocumentDB.fromBasePlatform(scope: Construct, id: string, name: string)
3801
+ DocumentDB.fromBasePlatform(scope: Construct, id: string, name?: string)
2875
3802
  ```
2876
3803
 
2877
3804
  ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.DocumentDB.fromBasePlatform.parameter.scope"></a>
@@ -2886,7 +3813,7 @@ DocumentDB.fromBasePlatform(scope: Construct, id: string, name: string)
2886
3813
 
2887
3814
  ---
2888
3815
 
2889
- ###### `name`<sup>Required</sup> <a name="name" id="@btc-embedded/cdk-extensions.DocumentDB.fromBasePlatform.parameter.name"></a>
3816
+ ###### `name`<sup>Optional</sup> <a name="name" id="@btc-embedded/cdk-extensions.DocumentDB.fromBasePlatform.parameter.name"></a>
2890
3817
 
2891
3818
  - *Type:* string
2892
3819
 
@@ -4067,7 +4994,7 @@ Any object.
4067
4994
  ```typescript
4068
4995
  import { PrivateDnsNamespace } from '@btc-embedded/cdk-extensions'
4069
4996
 
4070
- PrivateDnsNamespace.fromBasePlatform(scope: Construct, id: string, stackName: string)
4997
+ PrivateDnsNamespace.fromBasePlatform(scope: Construct, id: string, stackName?: string)
4071
4998
  ```
4072
4999
 
4073
5000
  ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.fromBasePlatform.parameter.scope"></a>
@@ -4082,7 +5009,7 @@ PrivateDnsNamespace.fromBasePlatform(scope: Construct, id: string, stackName: st
4082
5009
 
4083
5010
  ---
4084
5011
 
4085
- ###### `stackName`<sup>Required</sup> <a name="stackName" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.fromBasePlatform.parameter.stackName"></a>
5012
+ ###### `stackName`<sup>Optional</sup> <a name="stackName" id="@btc-embedded/cdk-extensions.PrivateDnsNamespace.fromBasePlatform.parameter.stackName"></a>
4086
5013
 
4087
5014
  - *Type:* string
4088
5015
 
@@ -5962,7 +6889,7 @@ Any object.
5962
6889
  ```typescript
5963
6890
  import { Vpc } from '@btc-embedded/cdk-extensions'
5964
6891
 
5965
- Vpc.fromBasePlatform(scope: Construct, id: string, stackName: string)
6892
+ Vpc.fromBasePlatform(scope: Construct, id: string, stackName?: string)
5966
6893
  ```
5967
6894
 
5968
6895
  ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.Vpc.fromBasePlatform.parameter.scope"></a>
@@ -5977,7 +6904,7 @@ Vpc.fromBasePlatform(scope: Construct, id: string, stackName: string)
5977
6904
 
5978
6905
  ---
5979
6906
 
5980
- ###### `stackName`<sup>Required</sup> <a name="stackName" id="@btc-embedded/cdk-extensions.Vpc.fromBasePlatform.parameter.stackName"></a>
6907
+ ###### `stackName`<sup>Optional</sup> <a name="stackName" id="@btc-embedded/cdk-extensions.Vpc.fromBasePlatform.parameter.stackName"></a>
5981
6908
 
5982
6909
  - *Type:* string
5983
6910
 
@@ -6247,45 +7174,45 @@ const apiGatewayExtensionProps: ApiGatewayExtensionProps = { ... }
6247
7174
 
6248
7175
  | **Name** | **Type** | **Description** |
6249
7176
  | --- | --- | --- |
6250
- | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.platformStackName">platformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
6251
7177
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.prefix">prefix</a></code> | <code>string</code> | The prefix for the API Gateway endpoint. |
6252
7178
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.securityGroupId">securityGroupId</a></code> | <code>string</code> | The security group ID of the API Gateway which should be allowed to connect to the service. |
7179
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
6253
7180
 
6254
7181
  ---
6255
7182
 
6256
- ##### `platformStackName`<sup>Required</sup> <a name="platformStackName" id="@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.platformStackName"></a>
7183
+ ##### `prefix`<sup>Required</sup> <a name="prefix" id="@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.prefix"></a>
6257
7184
 
6258
7185
  ```typescript
6259
- public readonly platformStackName: string;
7186
+ public readonly prefix: string;
6260
7187
  ```
6261
7188
 
6262
7189
  - *Type:* string
6263
7190
 
6264
- The name of the base platform stack.
7191
+ The prefix for the API Gateway endpoint.
6265
7192
 
6266
7193
  ---
6267
7194
 
6268
- ##### `prefix`<sup>Required</sup> <a name="prefix" id="@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.prefix"></a>
7195
+ ##### `securityGroupId`<sup>Required</sup> <a name="securityGroupId" id="@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.securityGroupId"></a>
6269
7196
 
6270
7197
  ```typescript
6271
- public readonly prefix: string;
7198
+ public readonly securityGroupId: string;
6272
7199
  ```
6273
7200
 
6274
7201
  - *Type:* string
6275
7202
 
6276
- The prefix for the API Gateway endpoint.
7203
+ The security group ID of the API Gateway which should be allowed to connect to the service.
6277
7204
 
6278
7205
  ---
6279
7206
 
6280
- ##### `securityGroupId`<sup>Required</sup> <a name="securityGroupId" id="@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.securityGroupId"></a>
7207
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.ApiGatewayExtensionProps.property.basePlatformStackName"></a>
6281
7208
 
6282
7209
  ```typescript
6283
- public readonly securityGroupId: string;
7210
+ public readonly basePlatformStackName: string;
6284
7211
  ```
6285
7212
 
6286
7213
  - *Type:* string
6287
7214
 
6288
- The security group ID of the API Gateway which should be allowed to connect to the service.
7215
+ The name of the base platform stack.
6289
7216
 
6290
7217
  ---
6291
7218
 
@@ -6411,28 +7338,28 @@ const apiGatewayVpcLinkLookupOptions: ApiGatewayVpcLinkLookupOptions = { ... }
6411
7338
 
6412
7339
  | **Name** | **Type** | **Description** |
6413
7340
  | --- | --- | --- |
6414
- | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayVpcLinkLookupOptions.property.basePlatform">basePlatform</a></code> | <code>string</code> | *No description.* |
6415
7341
  | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayVpcLinkLookupOptions.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | *No description.* |
7342
+ | <code><a href="#@btc-embedded/cdk-extensions.ApiGatewayVpcLinkLookupOptions.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | *No description.* |
6416
7343
 
6417
7344
  ---
6418
7345
 
6419
- ##### `basePlatform`<sup>Required</sup> <a name="basePlatform" id="@btc-embedded/cdk-extensions.ApiGatewayVpcLinkLookupOptions.property.basePlatform"></a>
7346
+ ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.ApiGatewayVpcLinkLookupOptions.property.vpc"></a>
6420
7347
 
6421
7348
  ```typescript
6422
- public readonly basePlatform: string;
7349
+ public readonly vpc: IVpc;
6423
7350
  ```
6424
7351
 
6425
- - *Type:* string
7352
+ - *Type:* aws-cdk-lib.aws_ec2.IVpc
6426
7353
 
6427
7354
  ---
6428
7355
 
6429
- ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.ApiGatewayVpcLinkLookupOptions.property.vpc"></a>
7356
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.ApiGatewayVpcLinkLookupOptions.property.basePlatformStackName"></a>
6430
7357
 
6431
7358
  ```typescript
6432
- public readonly vpc: IVpc;
7359
+ public readonly basePlatformStackName: string;
6433
7360
  ```
6434
7361
 
6435
- - *Type:* aws-cdk-lib.aws_ec2.IVpc
7362
+ - *Type:* string
6436
7363
 
6437
7364
  ---
6438
7365
 
@@ -6823,9 +7750,9 @@ const applicationLoadBalancerExtensionProps: ApplicationLoadBalancerExtensionPro
6823
7750
  | **Name** | **Type** | **Description** |
6824
7751
  | --- | --- | --- |
6825
7752
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.clientScope">clientScope</a></code> | <code>string</code> | *No description.* |
6826
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.platformStackName">platformStackName</a></code> | <code>string</code> | *No description.* |
6827
7753
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.securityGroupId">securityGroupId</a></code> | <code>string</code> | *No description.* |
6828
7754
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.userPoolClientSecret">userPoolClientSecret</a></code> | <code>string</code> | *No description.* |
7755
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | *No description.* |
6829
7756
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.healtCheckPath">healtCheckPath</a></code> | <code>string</code> | *No description.* |
6830
7757
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.listener">listener</a></code> | <code>aws-cdk-lib.aws_elasticloadbalancingv2.IApplicationListener</code> | *No description.* |
6831
7758
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.path">path</a></code> | <code>string</code> | *No description.* |
@@ -6842,30 +7769,30 @@ public readonly clientScope: string;
6842
7769
 
6843
7770
  ---
6844
7771
 
6845
- ##### `platformStackName`<sup>Required</sup> <a name="platformStackName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.platformStackName"></a>
7772
+ ##### `securityGroupId`<sup>Required</sup> <a name="securityGroupId" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.securityGroupId"></a>
6846
7773
 
6847
7774
  ```typescript
6848
- public readonly platformStackName: string;
7775
+ public readonly securityGroupId: string;
6849
7776
  ```
6850
7777
 
6851
7778
  - *Type:* string
6852
7779
 
6853
7780
  ---
6854
7781
 
6855
- ##### `securityGroupId`<sup>Required</sup> <a name="securityGroupId" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.securityGroupId"></a>
7782
+ ##### `userPoolClientSecret`<sup>Required</sup> <a name="userPoolClientSecret" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.userPoolClientSecret"></a>
6856
7783
 
6857
7784
  ```typescript
6858
- public readonly securityGroupId: string;
7785
+ public readonly userPoolClientSecret: string;
6859
7786
  ```
6860
7787
 
6861
7788
  - *Type:* string
6862
7789
 
6863
7790
  ---
6864
7791
 
6865
- ##### `userPoolClientSecret`<sup>Required</sup> <a name="userPoolClientSecret" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.userPoolClientSecret"></a>
7792
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionProps.property.basePlatformStackName"></a>
6866
7793
 
6867
7794
  ```typescript
6868
- public readonly userPoolClientSecret: string;
7795
+ public readonly basePlatformStackName: string;
6869
7796
  ```
6870
7797
 
6871
7798
  - *Type:* string
@@ -6916,8 +7843,18 @@ const applicationLoadBalancerExtensionPropsV2: ApplicationLoadBalancerExtensionP
6916
7843
 
6917
7844
  | **Name** | **Type** | **Description** |
6918
7845
  | --- | --- | --- |
7846
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | *No description.* |
6919
7847
  | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.loadBalancer">loadBalancer</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2">ApplicationLoadBalancerV2</a></code> | *No description.* |
6920
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.platformStackName">platformStackName</a></code> | <code>string</code> | *No description.* |
7848
+
7849
+ ---
7850
+
7851
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.basePlatformStackName"></a>
7852
+
7853
+ ```typescript
7854
+ public readonly basePlatformStackName: string;
7855
+ ```
7856
+
7857
+ - *Type:* string
6921
7858
 
6922
7859
  ---
6923
7860
 
@@ -6927,224 +7864,498 @@ const applicationLoadBalancerExtensionPropsV2: ApplicationLoadBalancerExtensionP
6927
7864
  public readonly loadBalancer: ApplicationLoadBalancerV2;
6928
7865
  ```
6929
7866
 
6930
- - *Type:* <a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2">ApplicationLoadBalancerV2</a>
7867
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2">ApplicationLoadBalancerV2</a>
7868
+
7869
+ ---
7870
+
7871
+ ### ApplicationLoadBalancerProps <a name="ApplicationLoadBalancerProps" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps"></a>
7872
+
7873
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.Initializer"></a>
7874
+
7875
+ ```typescript
7876
+ import { ApplicationLoadBalancerProps } from '@btc-embedded/cdk-extensions'
7877
+
7878
+ const applicationLoadBalancerProps: ApplicationLoadBalancerProps = { ... }
7879
+ ```
7880
+
7881
+ #### Properties <a name="Properties" id="Properties"></a>
7882
+
7883
+ | **Name** | **Type** | **Description** |
7884
+ | --- | --- | --- |
7885
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.fqdn">fqdn</a></code> | <code>string</code> | *No description.* |
7886
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.hostedZone">hostedZone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | *No description.* |
7887
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPool">userPool</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPool</code> | *No description.* |
7888
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolClient">userPoolClient</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient</code> | *No description.* |
7889
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolDomain">userPoolDomain</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolDomain</code> | *No description.* |
7890
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | *No description.* |
7891
+
7892
+ ---
7893
+
7894
+ ##### `fqdn`<sup>Required</sup> <a name="fqdn" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.fqdn"></a>
7895
+
7896
+ ```typescript
7897
+ public readonly fqdn: string;
7898
+ ```
7899
+
7900
+ - *Type:* string
7901
+
7902
+ ---
7903
+
7904
+ ##### `hostedZone`<sup>Required</sup> <a name="hostedZone" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.hostedZone"></a>
7905
+
7906
+ ```typescript
7907
+ public readonly hostedZone: IHostedZone;
7908
+ ```
7909
+
7910
+ - *Type:* aws-cdk-lib.aws_route53.IHostedZone
7911
+
7912
+ ---
7913
+
7914
+ ##### `userPool`<sup>Required</sup> <a name="userPool" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPool"></a>
7915
+
7916
+ ```typescript
7917
+ public readonly userPool: IUserPool;
7918
+ ```
7919
+
7920
+ - *Type:* aws-cdk-lib.aws_cognito.IUserPool
7921
+
7922
+ ---
7923
+
7924
+ ##### `userPoolClient`<sup>Required</sup> <a name="userPoolClient" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolClient"></a>
7925
+
7926
+ ```typescript
7927
+ public readonly userPoolClient: IUserPoolClient;
7928
+ ```
7929
+
7930
+ - *Type:* aws-cdk-lib.aws_cognito.IUserPoolClient
7931
+
7932
+ ---
7933
+
7934
+ ##### `userPoolDomain`<sup>Required</sup> <a name="userPoolDomain" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolDomain"></a>
7935
+
7936
+ ```typescript
7937
+ public readonly userPoolDomain: IUserPoolDomain;
7938
+ ```
7939
+
7940
+ - *Type:* aws-cdk-lib.aws_cognito.IUserPoolDomain
7941
+
7942
+ ---
7943
+
7944
+ ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.vpc"></a>
7945
+
7946
+ ```typescript
7947
+ public readonly vpc: IVpc;
7948
+ ```
7949
+
7950
+ - *Type:* aws-cdk-lib.aws_ec2.IVpc
7951
+
7952
+ ---
7953
+
7954
+ ### ApplicationLoadBalancerPropsV2 <a name="ApplicationLoadBalancerPropsV2" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2"></a>
7955
+
7956
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.Initializer"></a>
7957
+
7958
+ ```typescript
7959
+ import { ApplicationLoadBalancerPropsV2 } from '@btc-embedded/cdk-extensions'
7960
+
7961
+ const applicationLoadBalancerPropsV2: ApplicationLoadBalancerPropsV2 = { ... }
7962
+ ```
7963
+
7964
+ #### Properties <a name="Properties" id="Properties"></a>
7965
+
7966
+ | **Name** | **Type** | **Description** |
7967
+ | --- | --- | --- |
7968
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.healtCheckPath">healtCheckPath</a></code> | <code>string</code> | The health check path for the target group. |
7969
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.hostedZone">hostedZone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | The Route 53 hosted zone where the ALB's DNS record will be created. |
7970
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.trafficPort">trafficPort</a></code> | <code>number</code> | The port on which the target group will receive traffic. |
7971
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.userPool">userPool</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a></code> | The Cognito User Pool of this base platform. |
7972
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | The VPC in which the Application Load Balancer will be deployed. |
7973
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.recordName">recordName</a></code> | <code>string</code> | The domain prefix or record name for configuring the ALB domain. |
7974
+
7975
+ ---
7976
+
7977
+ ##### `healtCheckPath`<sup>Required</sup> <a name="healtCheckPath" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.healtCheckPath"></a>
7978
+
7979
+ ```typescript
7980
+ public readonly healtCheckPath: string;
7981
+ ```
7982
+
7983
+ - *Type:* string
7984
+
7985
+ The health check path for the target group.
7986
+
7987
+ ---
7988
+
7989
+ ##### `hostedZone`<sup>Required</sup> <a name="hostedZone" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.hostedZone"></a>
7990
+
7991
+ ```typescript
7992
+ public readonly hostedZone: IHostedZone;
7993
+ ```
7994
+
7995
+ - *Type:* aws-cdk-lib.aws_route53.IHostedZone
7996
+
7997
+ The Route 53 hosted zone where the ALB's DNS record will be created.
7998
+
7999
+ ---
8000
+
8001
+ ##### `trafficPort`<sup>Required</sup> <a name="trafficPort" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.trafficPort"></a>
8002
+
8003
+ ```typescript
8004
+ public readonly trafficPort: number;
8005
+ ```
8006
+
8007
+ - *Type:* number
8008
+
8009
+ The port on which the target group will receive traffic.
8010
+
8011
+ ---
8012
+
8013
+ ##### `userPool`<sup>Required</sup> <a name="userPool" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.userPool"></a>
8014
+
8015
+ ```typescript
8016
+ public readonly userPool: ICognitoUserPool;
8017
+ ```
8018
+
8019
+ - *Type:* <a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a>
8020
+
8021
+ The Cognito User Pool of this base platform.
8022
+
8023
+ ---
8024
+
8025
+ ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.vpc"></a>
8026
+
8027
+ ```typescript
8028
+ public readonly vpc: IVpc;
8029
+ ```
8030
+
8031
+ - *Type:* aws-cdk-lib.aws_ec2.IVpc
8032
+
8033
+ The VPC in which the Application Load Balancer will be deployed.
8034
+
8035
+ ---
8036
+
8037
+ ##### `recordName`<sup>Optional</sup> <a name="recordName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.recordName"></a>
8038
+
8039
+ ```typescript
8040
+ public readonly recordName: string;
8041
+ ```
8042
+
8043
+ - *Type:* string
8044
+ - *Default:* zone root
8045
+
8046
+ The domain prefix or record name for configuring the ALB domain.
8047
+
8048
+ This name is used to register an A record in the given hosted zone. If not
8049
+ provided, the zone's root will be used.
8050
+
8051
+ ---
8052
+
8053
+ ### ApplicationLoadBalancerV2LookupOptions <a name="ApplicationLoadBalancerV2LookupOptions" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2LookupOptions"></a>
8054
+
8055
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2LookupOptions.Initializer"></a>
8056
+
8057
+ ```typescript
8058
+ import { ApplicationLoadBalancerV2LookupOptions } from '@btc-embedded/cdk-extensions'
8059
+
8060
+ const applicationLoadBalancerV2LookupOptions: ApplicationLoadBalancerV2LookupOptions = { ... }
8061
+ ```
8062
+
8063
+ #### Properties <a name="Properties" id="Properties"></a>
8064
+
8065
+ | **Name** | **Type** | **Description** |
8066
+ | --- | --- | --- |
8067
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2LookupOptions.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | *No description.* |
6931
8068
 
6932
8069
  ---
6933
8070
 
6934
- ##### `platformStackName`<sup>Optional</sup> <a name="platformStackName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerExtensionPropsV2.property.platformStackName"></a>
8071
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2LookupOptions.property.basePlatformStackName"></a>
6935
8072
 
6936
8073
  ```typescript
6937
- public readonly platformStackName: string;
8074
+ public readonly basePlatformStackName: string;
6938
8075
  ```
6939
8076
 
6940
8077
  - *Type:* string
6941
8078
 
6942
8079
  ---
6943
8080
 
6944
- ### ApplicationLoadBalancerProps <a name="ApplicationLoadBalancerProps" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps"></a>
8081
+ ### ApplicationStackProps <a name="ApplicationStackProps" id="@btc-embedded/cdk-extensions.ApplicationStackProps"></a>
6945
8082
 
6946
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.Initializer"></a>
8083
+ #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationStackProps.Initializer"></a>
6947
8084
 
6948
8085
  ```typescript
6949
- import { ApplicationLoadBalancerProps } from '@btc-embedded/cdk-extensions'
8086
+ import { ApplicationStackProps } from '@btc-embedded/cdk-extensions'
6950
8087
 
6951
- const applicationLoadBalancerProps: ApplicationLoadBalancerProps = { ... }
8088
+ const applicationStackProps: ApplicationStackProps = { ... }
6952
8089
  ```
6953
8090
 
6954
8091
  #### Properties <a name="Properties" id="Properties"></a>
6955
8092
 
6956
8093
  | **Name** | **Type** | **Description** |
6957
8094
  | --- | --- | --- |
6958
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.fqdn">fqdn</a></code> | <code>string</code> | *No description.* |
6959
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.hostedZone">hostedZone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | *No description.* |
6960
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPool">userPool</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPool</code> | *No description.* |
6961
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolClient">userPoolClient</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolClient</code> | *No description.* |
6962
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolDomain">userPoolDomain</a></code> | <code>aws-cdk-lib.aws_cognito.IUserPoolDomain</code> | *No description.* |
6963
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | *No description.* |
8095
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStackProps.property.analyticsReporting">analyticsReporting</a></code> | <code>boolean</code> | Include runtime versioning information in this Stack. |
8096
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStackProps.property.crossRegionReferences">crossRegionReferences</a></code> | <code>boolean</code> | Enable this flag to allow native cross region stack references. |
8097
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStackProps.property.description">description</a></code> | <code>string</code> | A description of the stack. |
8098
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStackProps.property.env">env</a></code> | <code>aws-cdk-lib.Environment</code> | The AWS environment (account/region) where this stack will be deployed. |
8099
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStackProps.property.notificationArns">notificationArns</a></code> | <code>string[]</code> | SNS Topic ARNs that will receive stack events. |
8100
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStackProps.property.permissionsBoundary">permissionsBoundary</a></code> | <code>aws-cdk-lib.PermissionsBoundary</code> | Options for applying a permissions boundary to all IAM Roles and Users created within this Stage. |
8101
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStackProps.property.propertyInjectors">propertyInjectors</a></code> | <code>aws-cdk-lib.IPropertyInjector[]</code> | A list of IPropertyInjector attached to this Stack. |
8102
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStackProps.property.stackName">stackName</a></code> | <code>string</code> | Name to deploy the stack with. |
8103
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStackProps.property.suppressTemplateIndentation">suppressTemplateIndentation</a></code> | <code>boolean</code> | Enable this flag to suppress indentation in generated CloudFormation templates. |
8104
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStackProps.property.synthesizer">synthesizer</a></code> | <code>aws-cdk-lib.IStackSynthesizer</code> | Synthesis method to use while deploying this stack. |
8105
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStackProps.property.tags">tags</a></code> | <code>{[ key: string ]: string}</code> | Tags that will be applied to the Stack. |
8106
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStackProps.property.terminationProtection">terminationProtection</a></code> | <code>boolean</code> | Whether to enable termination protection for this stack. |
8107
+ | <code><a href="#@btc-embedded/cdk-extensions.ApplicationStackProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | *No description.* |
6964
8108
 
6965
8109
  ---
6966
8110
 
6967
- ##### `fqdn`<sup>Required</sup> <a name="fqdn" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.fqdn"></a>
8111
+ ##### `analyticsReporting`<sup>Optional</sup> <a name="analyticsReporting" id="@btc-embedded/cdk-extensions.ApplicationStackProps.property.analyticsReporting"></a>
6968
8112
 
6969
8113
  ```typescript
6970
- public readonly fqdn: string;
8114
+ public readonly analyticsReporting: boolean;
6971
8115
  ```
6972
8116
 
6973
- - *Type:* string
8117
+ - *Type:* boolean
8118
+ - *Default:* `analyticsReporting` setting of containing `App`, or value of 'aws:cdk:version-reporting' context key
8119
+
8120
+ Include runtime versioning information in this Stack.
6974
8121
 
6975
8122
  ---
6976
8123
 
6977
- ##### `hostedZone`<sup>Required</sup> <a name="hostedZone" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.hostedZone"></a>
8124
+ ##### `crossRegionReferences`<sup>Optional</sup> <a name="crossRegionReferences" id="@btc-embedded/cdk-extensions.ApplicationStackProps.property.crossRegionReferences"></a>
6978
8125
 
6979
8126
  ```typescript
6980
- public readonly hostedZone: IHostedZone;
8127
+ public readonly crossRegionReferences: boolean;
6981
8128
  ```
6982
8129
 
6983
- - *Type:* aws-cdk-lib.aws_route53.IHostedZone
8130
+ - *Type:* boolean
8131
+ - *Default:* false
8132
+
8133
+ Enable this flag to allow native cross region stack references.
8134
+
8135
+ Enabling this will create a CloudFormation custom resource
8136
+ in both the producing stack and consuming stack in order to perform the export/import
8137
+
8138
+ This feature is currently experimental
6984
8139
 
6985
8140
  ---
6986
8141
 
6987
- ##### `userPool`<sup>Required</sup> <a name="userPool" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPool"></a>
8142
+ ##### `description`<sup>Optional</sup> <a name="description" id="@btc-embedded/cdk-extensions.ApplicationStackProps.property.description"></a>
6988
8143
 
6989
8144
  ```typescript
6990
- public readonly userPool: IUserPool;
8145
+ public readonly description: string;
6991
8146
  ```
6992
8147
 
6993
- - *Type:* aws-cdk-lib.aws_cognito.IUserPool
8148
+ - *Type:* string
8149
+ - *Default:* No description.
8150
+
8151
+ A description of the stack.
6994
8152
 
6995
8153
  ---
6996
8154
 
6997
- ##### `userPoolClient`<sup>Required</sup> <a name="userPoolClient" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolClient"></a>
8155
+ ##### `env`<sup>Optional</sup> <a name="env" id="@btc-embedded/cdk-extensions.ApplicationStackProps.property.env"></a>
6998
8156
 
6999
8157
  ```typescript
7000
- public readonly userPoolClient: IUserPoolClient;
8158
+ public readonly env: Environment;
7001
8159
  ```
7002
8160
 
7003
- - *Type:* aws-cdk-lib.aws_cognito.IUserPoolClient
8161
+ - *Type:* aws-cdk-lib.Environment
8162
+ - *Default:* The environment of the containing `Stage` if available, otherwise create the stack will be environment-agnostic.
7004
8163
 
7005
- ---
8164
+ The AWS environment (account/region) where this stack will be deployed.
7006
8165
 
7007
- ##### `userPoolDomain`<sup>Required</sup> <a name="userPoolDomain" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.userPoolDomain"></a>
8166
+ Set the `region`/`account` fields of `env` to either a concrete value to
8167
+ select the indicated environment (recommended for production stacks), or to
8168
+ the values of environment variables
8169
+ `CDK_DEFAULT_REGION`/`CDK_DEFAULT_ACCOUNT` to let the target environment
8170
+ depend on the AWS credentials/configuration that the CDK CLI is executed
8171
+ under (recommended for development stacks).
7008
8172
 
7009
- ```typescript
7010
- public readonly userPoolDomain: IUserPoolDomain;
7011
- ```
8173
+ If the `Stack` is instantiated inside a `Stage`, any undefined
8174
+ `region`/`account` fields from `env` will default to the same field on the
8175
+ encompassing `Stage`, if configured there.
7012
8176
 
7013
- - *Type:* aws-cdk-lib.aws_cognito.IUserPoolDomain
8177
+ If either `region` or `account` are not set nor inherited from `Stage`, the
8178
+ Stack will be considered "*environment-agnostic*"". Environment-agnostic
8179
+ stacks can be deployed to any environment but may not be able to take
8180
+ advantage of all features of the CDK. For example, they will not be able to
8181
+ use environmental context lookups such as `ec2.Vpc.fromLookup` and will not
8182
+ automatically translate Service Principals to the right format based on the
8183
+ environment's AWS partition, and other such enhancements.
7014
8184
 
7015
8185
  ---
7016
8186
 
7017
- ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerProps.property.vpc"></a>
8187
+ *Example*
7018
8188
 
7019
8189
  ```typescript
7020
- public readonly vpc: IVpc;
7021
- ```
8190
+ // Use a concrete account and region to deploy this stack to:
8191
+ // `.account` and `.region` will simply return these values.
8192
+ new Stack(app, 'Stack1', {
8193
+ env: {
8194
+ account: '123456789012',
8195
+ region: 'us-east-1'
8196
+ },
8197
+ });
7022
8198
 
7023
- - *Type:* aws-cdk-lib.aws_ec2.IVpc
8199
+ // Use the CLI's current credentials to determine the target environment:
8200
+ // `.account` and `.region` will reflect the account+region the CLI
8201
+ // is configured to use (based on the user CLI credentials)
8202
+ new Stack(app, 'Stack2', {
8203
+ env: {
8204
+ account: process.env.CDK_DEFAULT_ACCOUNT,
8205
+ region: process.env.CDK_DEFAULT_REGION
8206
+ },
8207
+ });
7024
8208
 
7025
- ---
8209
+ // Define multiple stacks stage associated with an environment
8210
+ const myStage = new Stage(app, 'MyStage', {
8211
+ env: {
8212
+ account: '123456789012',
8213
+ region: 'us-east-1'
8214
+ }
8215
+ });
7026
8216
 
7027
- ### ApplicationLoadBalancerPropsV2 <a name="ApplicationLoadBalancerPropsV2" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2"></a>
8217
+ // both of these stacks will use the stage's account/region:
8218
+ // `.account` and `.region` will resolve to the concrete values as above
8219
+ new MyStack(myStage, 'Stack1');
8220
+ new YourStack(myStage, 'Stack2');
7028
8221
 
7029
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.Initializer"></a>
8222
+ // Define an environment-agnostic stack:
8223
+ // `.account` and `.region` will resolve to `{ "Ref": "AWS::AccountId" }` and `{ "Ref": "AWS::Region" }` respectively.
8224
+ // which will only resolve to actual values by CloudFormation during deployment.
8225
+ new MyStack(app, 'Stack1');
8226
+ ```
7030
8227
 
7031
- ```typescript
7032
- import { ApplicationLoadBalancerPropsV2 } from '@btc-embedded/cdk-extensions'
7033
8228
 
7034
- const applicationLoadBalancerPropsV2: ApplicationLoadBalancerPropsV2 = { ... }
8229
+ ##### `notificationArns`<sup>Optional</sup> <a name="notificationArns" id="@btc-embedded/cdk-extensions.ApplicationStackProps.property.notificationArns"></a>
8230
+
8231
+ ```typescript
8232
+ public readonly notificationArns: string[];
7035
8233
  ```
7036
8234
 
7037
- #### Properties <a name="Properties" id="Properties"></a>
8235
+ - *Type:* string[]
8236
+ - *Default:* no notification arns.
7038
8237
 
7039
- | **Name** | **Type** | **Description** |
7040
- | --- | --- | --- |
7041
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.healtCheckPath">healtCheckPath</a></code> | <code>string</code> | The health check path for the target group. |
7042
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.hostedZone">hostedZone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | The Route 53 hosted zone where the ALB's DNS record will be created. |
7043
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.trafficPort">trafficPort</a></code> | <code>number</code> | The port on which the target group will receive traffic. |
7044
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.userPool">userPool</a></code> | <code><a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a></code> | The Cognito User Pool of this base platform. |
7045
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | The VPC in which the Application Load Balancer will be deployed. |
7046
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.recordName">recordName</a></code> | <code>string</code> | The domain prefix or record name for configuring the ALB domain. |
8238
+ SNS Topic ARNs that will receive stack events.
7047
8239
 
7048
8240
  ---
7049
8241
 
7050
- ##### `healtCheckPath`<sup>Required</sup> <a name="healtCheckPath" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.healtCheckPath"></a>
8242
+ ##### `permissionsBoundary`<sup>Optional</sup> <a name="permissionsBoundary" id="@btc-embedded/cdk-extensions.ApplicationStackProps.property.permissionsBoundary"></a>
7051
8243
 
7052
8244
  ```typescript
7053
- public readonly healtCheckPath: string;
8245
+ public readonly permissionsBoundary: PermissionsBoundary;
7054
8246
  ```
7055
8247
 
7056
- - *Type:* string
8248
+ - *Type:* aws-cdk-lib.PermissionsBoundary
8249
+ - *Default:* no permissions boundary is applied
7057
8250
 
7058
- The health check path for the target group.
8251
+ Options for applying a permissions boundary to all IAM Roles and Users created within this Stage.
7059
8252
 
7060
8253
  ---
7061
8254
 
7062
- ##### `hostedZone`<sup>Required</sup> <a name="hostedZone" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.hostedZone"></a>
8255
+ ##### `propertyInjectors`<sup>Optional</sup> <a name="propertyInjectors" id="@btc-embedded/cdk-extensions.ApplicationStackProps.property.propertyInjectors"></a>
7063
8256
 
7064
8257
  ```typescript
7065
- public readonly hostedZone: IHostedZone;
8258
+ public readonly propertyInjectors: IPropertyInjector[];
7066
8259
  ```
7067
8260
 
7068
- - *Type:* aws-cdk-lib.aws_route53.IHostedZone
8261
+ - *Type:* aws-cdk-lib.IPropertyInjector[]
8262
+ - *Default:* no PropertyInjectors
7069
8263
 
7070
- The Route 53 hosted zone where the ALB's DNS record will be created.
8264
+ A list of IPropertyInjector attached to this Stack.
7071
8265
 
7072
8266
  ---
7073
8267
 
7074
- ##### `trafficPort`<sup>Required</sup> <a name="trafficPort" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.trafficPort"></a>
8268
+ ##### `stackName`<sup>Optional</sup> <a name="stackName" id="@btc-embedded/cdk-extensions.ApplicationStackProps.property.stackName"></a>
7075
8269
 
7076
8270
  ```typescript
7077
- public readonly trafficPort: number;
8271
+ public readonly stackName: string;
7078
8272
  ```
7079
8273
 
7080
- - *Type:* number
8274
+ - *Type:* string
8275
+ - *Default:* Derived from construct path.
7081
8276
 
7082
- The port on which the target group will receive traffic.
8277
+ Name to deploy the stack with.
7083
8278
 
7084
8279
  ---
7085
8280
 
7086
- ##### `userPool`<sup>Required</sup> <a name="userPool" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.userPool"></a>
8281
+ ##### `suppressTemplateIndentation`<sup>Optional</sup> <a name="suppressTemplateIndentation" id="@btc-embedded/cdk-extensions.ApplicationStackProps.property.suppressTemplateIndentation"></a>
7087
8282
 
7088
8283
  ```typescript
7089
- public readonly userPool: ICognitoUserPool;
8284
+ public readonly suppressTemplateIndentation: boolean;
7090
8285
  ```
7091
8286
 
7092
- - *Type:* <a href="#@btc-embedded/cdk-extensions.ICognitoUserPool">ICognitoUserPool</a>
8287
+ - *Type:* boolean
8288
+ - *Default:* the value of `@aws-cdk/core:suppressTemplateIndentation`, or `false` if that is not set.
7093
8289
 
7094
- The Cognito User Pool of this base platform.
8290
+ Enable this flag to suppress indentation in generated CloudFormation templates.
8291
+
8292
+ If not specified, the value of the `@aws-cdk/core:suppressTemplateIndentation`
8293
+ context key will be used. If that is not specified, then the
8294
+ default value `false` will be used.
7095
8295
 
7096
8296
  ---
7097
8297
 
7098
- ##### `vpc`<sup>Required</sup> <a name="vpc" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.vpc"></a>
8298
+ ##### `synthesizer`<sup>Optional</sup> <a name="synthesizer" id="@btc-embedded/cdk-extensions.ApplicationStackProps.property.synthesizer"></a>
7099
8299
 
7100
8300
  ```typescript
7101
- public readonly vpc: IVpc;
8301
+ public readonly synthesizer: IStackSynthesizer;
7102
8302
  ```
7103
8303
 
7104
- - *Type:* aws-cdk-lib.aws_ec2.IVpc
8304
+ - *Type:* aws-cdk-lib.IStackSynthesizer
8305
+ - *Default:* The synthesizer specified on `App`, or `DefaultStackSynthesizer` otherwise.
7105
8306
 
7106
- The VPC in which the Application Load Balancer will be deployed.
8307
+ Synthesis method to use while deploying this stack.
8308
+
8309
+ The Stack Synthesizer controls aspects of synthesis and deployment,
8310
+ like how assets are referenced and what IAM roles to use. For more
8311
+ information, see the README of the main CDK package.
8312
+
8313
+ If not specified, the `defaultStackSynthesizer` from `App` will be used.
8314
+ If that is not specified, `DefaultStackSynthesizer` is used if
8315
+ `@aws-cdk/core:newStyleStackSynthesis` is set to `true` or the CDK major
8316
+ version is v2. In CDK v1 `LegacyStackSynthesizer` is the default if no
8317
+ other synthesizer is specified.
7107
8318
 
7108
8319
  ---
7109
8320
 
7110
- ##### `recordName`<sup>Optional</sup> <a name="recordName" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerPropsV2.property.recordName"></a>
8321
+ ##### `tags`<sup>Optional</sup> <a name="tags" id="@btc-embedded/cdk-extensions.ApplicationStackProps.property.tags"></a>
7111
8322
 
7112
8323
  ```typescript
7113
- public readonly recordName: string;
8324
+ public readonly tags: {[ key: string ]: string};
7114
8325
  ```
7115
8326
 
7116
- - *Type:* string
7117
- - *Default:* zone root
8327
+ - *Type:* {[ key: string ]: string}
8328
+ - *Default:* {}
7118
8329
 
7119
- The domain prefix or record name for configuring the ALB domain.
8330
+ Tags that will be applied to the Stack.
7120
8331
 
7121
- This name is used to register an A record in the given hosted zone. If not
7122
- provided, the zone's root will be used.
8332
+ These tags are applied to the CloudFormation Stack itself. They will not
8333
+ appear in the CloudFormation template.
7123
8334
 
7124
- ---
8335
+ However, at deployment time, CloudFormation will apply these tags to all
8336
+ resources in the stack that support tagging. You will not be able to exempt
8337
+ resources from tagging (using the `excludeResourceTypes` property of
8338
+ `Tags.of(...).add()`) for tags applied in this way.
7125
8339
 
7126
- ### ApplicationLoadBalancerV2LookupOptions <a name="ApplicationLoadBalancerV2LookupOptions" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2LookupOptions"></a>
8340
+ ---
7127
8341
 
7128
- #### Initializer <a name="Initializer" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2LookupOptions.Initializer"></a>
8342
+ ##### `terminationProtection`<sup>Optional</sup> <a name="terminationProtection" id="@btc-embedded/cdk-extensions.ApplicationStackProps.property.terminationProtection"></a>
7129
8343
 
7130
8344
  ```typescript
7131
- import { ApplicationLoadBalancerV2LookupOptions } from '@btc-embedded/cdk-extensions'
7132
-
7133
- const applicationLoadBalancerV2LookupOptions: ApplicationLoadBalancerV2LookupOptions = { ... }
8345
+ public readonly terminationProtection: boolean;
7134
8346
  ```
7135
8347
 
7136
- #### Properties <a name="Properties" id="Properties"></a>
8348
+ - *Type:* boolean
8349
+ - *Default:* false
7137
8350
 
7138
- | **Name** | **Type** | **Description** |
7139
- | --- | --- | --- |
7140
- | <code><a href="#@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2LookupOptions.property.basePlatform">basePlatform</a></code> | <code>string</code> | *No description.* |
8351
+ Whether to enable termination protection for this stack.
7141
8352
 
7142
8353
  ---
7143
8354
 
7144
- ##### `basePlatform`<sup>Required</sup> <a name="basePlatform" id="@btc-embedded/cdk-extensions.ApplicationLoadBalancerV2LookupOptions.property.basePlatform"></a>
8355
+ ##### `basePlatformStackName`<sup>Required</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.ApplicationStackProps.property.basePlatformStackName"></a>
7145
8356
 
7146
8357
  ```typescript
7147
- public readonly basePlatform: string;
8358
+ public readonly basePlatformStackName: string;
7148
8359
  ```
7149
8360
 
7150
8361
  - *Type:* string
@@ -7226,14 +8437,14 @@ const bTCLogGroupLookupOptions: BTCLogGroupLookupOptions = { ... }
7226
8437
 
7227
8438
  | **Name** | **Type** | **Description** |
7228
8439
  | --- | --- | --- |
7229
- | <code><a href="#@btc-embedded/cdk-extensions.BTCLogGroupLookupOptions.property.basePlatform">basePlatform</a></code> | <code>string</code> | *No description.* |
8440
+ | <code><a href="#@btc-embedded/cdk-extensions.BTCLogGroupLookupOptions.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | *No description.* |
7230
8441
 
7231
8442
  ---
7232
8443
 
7233
- ##### `basePlatform`<sup>Required</sup> <a name="basePlatform" id="@btc-embedded/cdk-extensions.BTCLogGroupLookupOptions.property.basePlatform"></a>
8444
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.BTCLogGroupLookupOptions.property.basePlatformStackName"></a>
7234
8445
 
7235
8446
  ```typescript
7236
- public readonly basePlatform: string;
8447
+ public readonly basePlatformStackName: string;
7237
8448
  ```
7238
8449
 
7239
8450
  - *Type:* string
@@ -7389,15 +8600,15 @@ const cloudMapExtensionProps: CloudMapExtensionProps = { ... }
7389
8600
 
7390
8601
  | **Name** | **Type** | **Description** |
7391
8602
  | --- | --- | --- |
7392
- | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtensionProps.property.platformStackName">platformStackName</a></code> | <code>string</code> | The name of the platform stack to import the namespace parameter details from. |
8603
+ | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the platform stack to import the namespace parameter details from. |
7393
8604
  | <code><a href="#@btc-embedded/cdk-extensions.CloudMapExtensionProps.property.exportService">exportService</a></code> | <code>boolean</code> | Whether to export this service for cross-stack consumption. |
7394
8605
 
7395
8606
  ---
7396
8607
 
7397
- ##### `platformStackName`<sup>Required</sup> <a name="platformStackName" id="@btc-embedded/cdk-extensions.CloudMapExtensionProps.property.platformStackName"></a>
8608
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.CloudMapExtensionProps.property.basePlatformStackName"></a>
7398
8609
 
7399
8610
  ```typescript
7400
- public readonly platformStackName: string;
8611
+ public readonly basePlatformStackName: string;
7401
8612
  ```
7402
8613
 
7403
8614
  - *Type:* string
@@ -9189,25 +10400,25 @@ const documentDbAccessExtensionProps: DocumentDbAccessExtensionProps = { ... }
9189
10400
 
9190
10401
  | **Name** | **Type** | **Description** |
9191
10402
  | --- | --- | --- |
9192
- | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | *No description.* |
9193
10403
  | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.securityGroupId">securityGroupId</a></code> | <code>string</code> | *No description.* |
10404
+ | <code><a href="#@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | *No description.* |
9194
10405
 
9195
10406
  ---
9196
10407
 
9197
- ##### `basePlatformStackName`<sup>Required</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.basePlatformStackName"></a>
10408
+ ##### `securityGroupId`<sup>Required</sup> <a name="securityGroupId" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.securityGroupId"></a>
9198
10409
 
9199
10410
  ```typescript
9200
- public readonly basePlatformStackName: string;
10411
+ public readonly securityGroupId: string;
9201
10412
  ```
9202
10413
 
9203
10414
  - *Type:* string
9204
10415
 
9205
10416
  ---
9206
10417
 
9207
- ##### `securityGroupId`<sup>Required</sup> <a name="securityGroupId" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.securityGroupId"></a>
10418
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.DocumentDbAccessExtensionProps.property.basePlatformStackName"></a>
9208
10419
 
9209
10420
  ```typescript
9210
- public readonly securityGroupId: string;
10421
+ public readonly basePlatformStackName: string;
9211
10422
  ```
9212
10423
 
9213
10424
  - *Type:* string
@@ -9291,38 +10502,38 @@ const ecsClusterAttributes: EcsClusterAttributes = { ... }
9291
10502
 
9292
10503
  | **Name** | **Type** | **Description** |
9293
10504
  | --- | --- | --- |
9294
- | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterAttributes.property.stackName">stackName</a></code> | <code>string</code> | The name of the stack where the ECS cluster is defined. |
9295
10505
  | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterAttributes.property.vpcId">vpcId</a></code> | <code>string</code> | The ID of the VPC where the ECS cluster is located. |
10506
+ | <code><a href="#@btc-embedded/cdk-extensions.EcsClusterAttributes.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the stack where the ECS cluster is defined. |
9296
10507
 
9297
10508
  ---
9298
10509
 
9299
- ##### `stackName`<sup>Required</sup> <a name="stackName" id="@btc-embedded/cdk-extensions.EcsClusterAttributes.property.stackName"></a>
10510
+ ##### `vpcId`<sup>Required</sup> <a name="vpcId" id="@btc-embedded/cdk-extensions.EcsClusterAttributes.property.vpcId"></a>
9300
10511
 
9301
10512
  ```typescript
9302
- public readonly stackName: string;
10513
+ public readonly vpcId: string;
9303
10514
  ```
9304
10515
 
9305
10516
  - *Type:* string
9306
10517
 
9307
- The name of the stack where the ECS cluster is defined.
10518
+ The ID of the VPC where the ECS cluster is located.
9308
10519
 
9309
- This is usually the
9310
- base platform stack.
10520
+ This id used to look
10521
+ up the VPC when importing the cluster.
9311
10522
 
9312
10523
  ---
9313
10524
 
9314
- ##### `vpcId`<sup>Required</sup> <a name="vpcId" id="@btc-embedded/cdk-extensions.EcsClusterAttributes.property.vpcId"></a>
10525
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.EcsClusterAttributes.property.basePlatformStackName"></a>
9315
10526
 
9316
10527
  ```typescript
9317
- public readonly vpcId: string;
10528
+ public readonly basePlatformStackName: string;
9318
10529
  ```
9319
10530
 
9320
10531
  - *Type:* string
9321
10532
 
9322
- The ID of the VPC where the ECS cluster is located.
10533
+ The name of the stack where the ECS cluster is defined.
9323
10534
 
9324
- This id used to look
9325
- up the VPC when importing the cluster.
10535
+ This is usually the
10536
+ base platform stack.
9326
10537
 
9327
10538
  ---
9328
10539
 
@@ -9424,32 +10635,32 @@ const efsFileSystemLookupOptions: EfsFileSystemLookupOptions = { ... }
9424
10635
 
9425
10636
  | **Name** | **Type** | **Description** |
9426
10637
  | --- | --- | --- |
9427
- | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.property.basePlatformName">basePlatformName</a></code> | <code>string</code> | The name of the base platform. |
9428
10638
  | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.property.filesystemName">filesystemName</a></code> | <code>string</code> | The name of the filesystem to be imported. |
10639
+ | <code><a href="#@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
9429
10640
 
9430
10641
  ---
9431
10642
 
9432
- ##### `basePlatformName`<sup>Required</sup> <a name="basePlatformName" id="@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.property.basePlatformName"></a>
10643
+ ##### `filesystemName`<sup>Required</sup> <a name="filesystemName" id="@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.property.filesystemName"></a>
9433
10644
 
9434
10645
  ```typescript
9435
- public readonly basePlatformName: string;
10646
+ public readonly filesystemName: string;
9436
10647
  ```
9437
10648
 
9438
10649
  - *Type:* string
9439
10650
 
9440
- The name of the base platform.
10651
+ The name of the filesystem to be imported.
9441
10652
 
9442
10653
  ---
9443
10654
 
9444
- ##### `filesystemName`<sup>Required</sup> <a name="filesystemName" id="@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.property.filesystemName"></a>
10655
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.EfsFileSystemLookupOptions.property.basePlatformStackName"></a>
9445
10656
 
9446
10657
  ```typescript
9447
- public readonly filesystemName: string;
10658
+ public readonly basePlatformStackName: string;
9448
10659
  ```
9449
10660
 
9450
10661
  - *Type:* string
9451
10662
 
9452
- The name of the filesystem to be imported.
10663
+ The name of the base platform stack.
9453
10664
 
9454
10665
  ---
9455
10666
 
@@ -10035,14 +11246,14 @@ const hostedZoneAttributes: HostedZoneAttributes = { ... }
10035
11246
 
10036
11247
  | **Name** | **Type** | **Description** |
10037
11248
  | --- | --- | --- |
10038
- | <code><a href="#@btc-embedded/cdk-extensions.HostedZoneAttributes.property.stackName">stackName</a></code> | <code>string</code> | The name of the stack where the hosted zone is defined. |
11249
+ | <code><a href="#@btc-embedded/cdk-extensions.HostedZoneAttributes.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the stack where the hosted zone is defined. |
10039
11250
 
10040
11251
  ---
10041
11252
 
10042
- ##### `stackName`<sup>Required</sup> <a name="stackName" id="@btc-embedded/cdk-extensions.HostedZoneAttributes.property.stackName"></a>
11253
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.HostedZoneAttributes.property.basePlatformStackName"></a>
10043
11254
 
10044
11255
  ```typescript
10045
- public readonly stackName: string;
11256
+ public readonly basePlatformStackName: string;
10046
11257
  ```
10047
11258
 
10048
11259
  - *Type:* string
@@ -10177,7 +11388,7 @@ const hTTPApiExtensionProps: HTTPApiExtensionProps = { ... }
10177
11388
 
10178
11389
  | **Name** | **Type** | **Description** |
10179
11390
  | --- | --- | --- |
10180
- | <code><a href="#@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.platformStackName">platformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
11391
+ | <code><a href="#@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
10181
11392
  | <code><a href="#@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.domainPrefix">domainPrefix</a></code> | <code>string</code> | Domain prefix for the API Gateway endpoint. |
10182
11393
  | <code><a href="#@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.enableAccessLogs">enableAccessLogs</a></code> | <code>boolean</code> | Enable access logs for the API Gateway. |
10183
11394
  | <code><a href="#@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.endpointPrefix">endpointPrefix</a></code> | <code>string</code> | The prefix for the API Gateway endpoint. |
@@ -10186,10 +11397,10 @@ const hTTPApiExtensionProps: HTTPApiExtensionProps = { ... }
10186
11397
 
10187
11398
  ---
10188
11399
 
10189
- ##### `platformStackName`<sup>Required</sup> <a name="platformStackName" id="@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.platformStackName"></a>
11400
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.HTTPApiExtensionProps.property.basePlatformStackName"></a>
10190
11401
 
10191
11402
  ```typescript
10192
- public readonly platformStackName: string;
11403
+ public readonly basePlatformStackName: string;
10193
11404
  ```
10194
11405
 
10195
11406
  - *Type:* string
@@ -10277,14 +11488,14 @@ const importLogGroupOption: ImportLogGroupOption = { ... }
10277
11488
 
10278
11489
  | **Name** | **Type** | **Description** |
10279
11490
  | --- | --- | --- |
10280
- | <code><a href="#@btc-embedded/cdk-extensions.ImportLogGroupOption.property.basePlatformName">basePlatformName</a></code> | <code>string</code> | *No description.* |
11491
+ | <code><a href="#@btc-embedded/cdk-extensions.ImportLogGroupOption.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | *No description.* |
10281
11492
 
10282
11493
  ---
10283
11494
 
10284
- ##### `basePlatformName`<sup>Required</sup> <a name="basePlatformName" id="@btc-embedded/cdk-extensions.ImportLogGroupOption.property.basePlatformName"></a>
11495
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.ImportLogGroupOption.property.basePlatformStackName"></a>
10285
11496
 
10286
11497
  ```typescript
10287
- public readonly basePlatformName: string;
11498
+ public readonly basePlatformStackName: string;
10288
11499
  ```
10289
11500
 
10290
11501
  - *Type:* string
@@ -10321,15 +11532,15 @@ const openIdExtensionProps: OpenIdExtensionProps = { ... }
10321
11532
 
10322
11533
  | **Name** | **Type** | **Description** |
10323
11534
  | --- | --- | --- |
10324
- | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtensionProps.property.platformStackName">platformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
11535
+ | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
10325
11536
  | <code><a href="#@btc-embedded/cdk-extensions.OpenIdExtensionProps.property.redirectUri">redirectUri</a></code> | <code>string</code> | Adds OIDC_REDIRECT_URI environment variable to the container if set. |
10326
11537
 
10327
11538
  ---
10328
11539
 
10329
- ##### `platformStackName`<sup>Required</sup> <a name="platformStackName" id="@btc-embedded/cdk-extensions.OpenIdExtensionProps.property.platformStackName"></a>
11540
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.OpenIdExtensionProps.property.basePlatformStackName"></a>
10330
11541
 
10331
11542
  ```typescript
10332
- public readonly platformStackName: string;
11543
+ public readonly basePlatformStackName: string;
10333
11544
  ```
10334
11545
 
10335
11546
  - *Type:* string
@@ -10435,8 +11646,8 @@ const postgresDbAccessExtensionProps: PostgresDbAccessExtensionProps = { ... }
10435
11646
 
10436
11647
  | **Name** | **Type** | **Description** |
10437
11648
  | --- | --- | --- |
10438
- | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
10439
11649
  | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.dbName">dbName</a></code> | <code>string</code> | The name of the database. |
11650
+ | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the base platform stack. |
10440
11651
  | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.dbConnectionProperties">dbConnectionProperties</a></code> | <code>{[ key: string ]: string}</code> | Additional connection properties to be added to the database connection string as query parameters. |
10441
11652
  | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.enableMigration">enableMigration</a></code> | <code>boolean</code> | Enable database migration by calling the default image with the migration parameter. |
10442
11653
  | <code><a href="#@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.environmentVariableNames">environmentVariableNames</a></code> | <code><a href="#@btc-embedded/cdk-extensions.EnvironmentVariableNames">EnvironmentVariableNames</a></code> | Adjust the environment variables. |
@@ -10445,30 +11656,30 @@ const postgresDbAccessExtensionProps: PostgresDbAccessExtensionProps = { ... }
10445
11656
 
10446
11657
  ---
10447
11658
 
10448
- ##### `basePlatformStackName`<sup>Required</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.basePlatformStackName"></a>
11659
+ ##### `dbName`<sup>Required</sup> <a name="dbName" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.dbName"></a>
10449
11660
 
10450
11661
  ```typescript
10451
- public readonly basePlatformStackName: string;
11662
+ public readonly dbName: string;
10452
11663
  ```
10453
11664
 
10454
11665
  - *Type:* string
10455
11666
 
10456
- The name of the base platform stack.
10457
-
10458
- This name is used to look up output
10459
- parameters.
11667
+ The name of the database.
10460
11668
 
10461
11669
  ---
10462
11670
 
10463
- ##### `dbName`<sup>Required</sup> <a name="dbName" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.dbName"></a>
11671
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.PostgresDbAccessExtensionProps.property.basePlatformStackName"></a>
10464
11672
 
10465
11673
  ```typescript
10466
- public readonly dbName: string;
11674
+ public readonly basePlatformStackName: string;
10467
11675
  ```
10468
11676
 
10469
11677
  - *Type:* string
10470
11678
 
10471
- The name of the database.
11679
+ The name of the base platform stack.
11680
+
11681
+ This name is used to look up output
11682
+ parameters.
10472
11683
 
10473
11684
  ---
10474
11685
 
@@ -10734,8 +11945,8 @@ const secureRestApiProps: SecureRestApiProps = { ... }
10734
11945
  | **Name** | **Type** | **Description** |
10735
11946
  | --- | --- | --- |
10736
11947
  | <code><a href="#@btc-embedded/cdk-extensions.SecureRestApiProps.property.apiSubDomain">apiSubDomain</a></code> | <code>string</code> | Subdomain that is used for REST API props. |
10737
- | <code><a href="#@btc-embedded/cdk-extensions.SecureRestApiProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the Base platform Stack. |
10738
11948
  | <code><a href="#@btc-embedded/cdk-extensions.SecureRestApiProps.property.restApiProps">restApiProps</a></code> | <code>aws-cdk-lib.aws_apigateway.RestApiProps</code> | Props forwarded to the RestApi construct. |
11949
+ | <code><a href="#@btc-embedded/cdk-extensions.SecureRestApiProps.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the Base platform Stack. |
10739
11950
  | <code><a href="#@btc-embedded/cdk-extensions.SecureRestApiProps.property.hostedZone">hostedZone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | hosted zone for the subdomain An optional parameter. |
10740
11951
 
10741
11952
  ---
@@ -10752,27 +11963,27 @@ Subdomain that is used for REST API props.
10752
11963
 
10753
11964
  ---
10754
11965
 
10755
- ##### `basePlatformStackName`<sup>Required</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.SecureRestApiProps.property.basePlatformStackName"></a>
11966
+ ##### `restApiProps`<sup>Required</sup> <a name="restApiProps" id="@btc-embedded/cdk-extensions.SecureRestApiProps.property.restApiProps"></a>
10756
11967
 
10757
11968
  ```typescript
10758
- public readonly basePlatformStackName: string;
11969
+ public readonly restApiProps: RestApiProps;
10759
11970
  ```
10760
11971
 
10761
- - *Type:* string
11972
+ - *Type:* aws-cdk-lib.aws_apigateway.RestApiProps
10762
11973
 
10763
- The name of the Base platform Stack.
11974
+ Props forwarded to the RestApi construct.
10764
11975
 
10765
11976
  ---
10766
11977
 
10767
- ##### `restApiProps`<sup>Required</sup> <a name="restApiProps" id="@btc-embedded/cdk-extensions.SecureRestApiProps.property.restApiProps"></a>
11978
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.SecureRestApiProps.property.basePlatformStackName"></a>
10768
11979
 
10769
11980
  ```typescript
10770
- public readonly restApiProps: RestApiProps;
11981
+ public readonly basePlatformStackName: string;
10771
11982
  ```
10772
11983
 
10773
- - *Type:* aws-cdk-lib.aws_apigateway.RestApiProps
11984
+ - *Type:* string
10774
11985
 
10775
- Props forwarded to the RestApi construct.
11986
+ The name of the Base platform Stack.
10776
11987
 
10777
11988
  ---
10778
11989
 
@@ -10804,8 +12015,8 @@ const secureRestApiPropsV2: SecureRestApiPropsV2 = { ... }
10804
12015
  | **Name** | **Type** | **Description** |
10805
12016
  | --- | --- | --- |
10806
12017
  | <code><a href="#@btc-embedded/cdk-extensions.SecureRestApiPropsV2.property.apiSubDomain">apiSubDomain</a></code> | <code>string</code> | Subdomain that is used for REST API props. |
10807
- | <code><a href="#@btc-embedded/cdk-extensions.SecureRestApiPropsV2.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the Base platform Stack. |
10808
12018
  | <code><a href="#@btc-embedded/cdk-extensions.SecureRestApiPropsV2.property.restApiProps">restApiProps</a></code> | <code>aws-cdk-lib.aws_apigateway.RestApiProps</code> | Props forwarded to the RestApi construct. |
12019
+ | <code><a href="#@btc-embedded/cdk-extensions.SecureRestApiPropsV2.property.basePlatformStackName">basePlatformStackName</a></code> | <code>string</code> | The name of the Base platform Stack. |
10809
12020
  | <code><a href="#@btc-embedded/cdk-extensions.SecureRestApiPropsV2.property.hostedZone">hostedZone</a></code> | <code>aws-cdk-lib.aws_route53.IHostedZone</code> | hosted zone for the subdomain. |
10810
12021
 
10811
12022
  ---
@@ -10822,27 +12033,27 @@ Subdomain that is used for REST API props.
10822
12033
 
10823
12034
  ---
10824
12035
 
10825
- ##### `basePlatformStackName`<sup>Required</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.SecureRestApiPropsV2.property.basePlatformStackName"></a>
12036
+ ##### `restApiProps`<sup>Required</sup> <a name="restApiProps" id="@btc-embedded/cdk-extensions.SecureRestApiPropsV2.property.restApiProps"></a>
10826
12037
 
10827
12038
  ```typescript
10828
- public readonly basePlatformStackName: string;
12039
+ public readonly restApiProps: RestApiProps;
10829
12040
  ```
10830
12041
 
10831
- - *Type:* string
12042
+ - *Type:* aws-cdk-lib.aws_apigateway.RestApiProps
10832
12043
 
10833
- The name of the Base platform Stack.
12044
+ Props forwarded to the RestApi construct.
10834
12045
 
10835
12046
  ---
10836
12047
 
10837
- ##### `restApiProps`<sup>Required</sup> <a name="restApiProps" id="@btc-embedded/cdk-extensions.SecureRestApiPropsV2.property.restApiProps"></a>
12048
+ ##### `basePlatformStackName`<sup>Optional</sup> <a name="basePlatformStackName" id="@btc-embedded/cdk-extensions.SecureRestApiPropsV2.property.basePlatformStackName"></a>
10838
12049
 
10839
12050
  ```typescript
10840
- public readonly restApiProps: RestApiProps;
12051
+ public readonly basePlatformStackName: string;
10841
12052
  ```
10842
12053
 
10843
- - *Type:* aws-cdk-lib.aws_apigateway.RestApiProps
12054
+ - *Type:* string
10844
12055
 
10845
- Props forwarded to the RestApi construct.
12056
+ The name of the Base platform Stack.
10846
12057
 
10847
12058
  ---
10848
12059
 
@@ -12153,6 +13364,52 @@ connected to the service.
12153
13364
  ---
12154
13365
 
12155
13366
 
13367
+ ### BasePlatformStackResolver <a name="BasePlatformStackResolver" id="@btc-embedded/cdk-extensions.BasePlatformStackResolver"></a>
13368
+
13369
+ #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.BasePlatformStackResolver.Initializer"></a>
13370
+
13371
+ ```typescript
13372
+ import { BasePlatformStackResolver } from '@btc-embedded/cdk-extensions'
13373
+
13374
+ new BasePlatformStackResolver()
13375
+ ```
13376
+
13377
+ | **Name** | **Type** | **Description** |
13378
+ | --- | --- | --- |
13379
+
13380
+ ---
13381
+
13382
+
13383
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
13384
+
13385
+ | **Name** | **Description** |
13386
+ | --- | --- |
13387
+ | <code><a href="#@btc-embedded/cdk-extensions.BasePlatformStackResolver.resolve">resolve</a></code> | *No description.* |
13388
+
13389
+ ---
13390
+
13391
+ ##### `resolve` <a name="resolve" id="@btc-embedded/cdk-extensions.BasePlatformStackResolver.resolve"></a>
13392
+
13393
+ ```typescript
13394
+ import { BasePlatformStackResolver } from '@btc-embedded/cdk-extensions'
13395
+
13396
+ BasePlatformStackResolver.resolve(scope: Construct, propsValue?: string)
13397
+ ```
13398
+
13399
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.BasePlatformStackResolver.resolve.parameter.scope"></a>
13400
+
13401
+ - *Type:* constructs.Construct
13402
+
13403
+ ---
13404
+
13405
+ ###### `propsValue`<sup>Optional</sup> <a name="propsValue" id="@btc-embedded/cdk-extensions.BasePlatformStackResolver.resolve.parameter.propsValue"></a>
13406
+
13407
+ - *Type:* string
13408
+
13409
+ ---
13410
+
13411
+
13412
+
12156
13413
  ### CloudMapExtension <a name="CloudMapExtension" id="@btc-embedded/cdk-extensions.CloudMapExtension"></a>
12157
13414
 
12158
13415
  #### Initializers <a name="Initializers" id="@btc-embedded/cdk-extensions.CloudMapExtension.Initializer"></a>
@@ -16071,17 +17328,30 @@ v{version} is only emitted when the version is greater than 1.
16071
17328
  ##### `import` <a name="import" id="@btc-embedded/cdk-extensions.StackParameter.import"></a>
16072
17329
 
16073
17330
  ```typescript
16074
- public import(stackName: string): string
17331
+ public import(scope: Construct, stackName?: string): string
16075
17332
  ```
16076
17333
 
16077
17334
  Import the parameter as {stackName}:{prefix}-v{version}:{key}.
16078
17335
 
16079
- v{version} is only emitted when the version is greater than 1.
17336
+ The stack name can be provided explicitly, or resolved from the construct tree
17337
+ context (set by ApplicationStack).
16080
17338
 
16081
- ###### `stackName`<sup>Required</sup> <a name="stackName" id="@btc-embedded/cdk-extensions.StackParameter.import.parameter.stackName"></a>
17339
+ ###### `scope`<sup>Required</sup> <a name="scope" id="@btc-embedded/cdk-extensions.StackParameter.import.parameter.scope"></a>
17340
+
17341
+ - *Type:* constructs.Construct
17342
+
17343
+ The construct scope for context resolution.
17344
+
17345
+ ---
17346
+
17347
+ ###### `stackName`<sup>Optional</sup> <a name="stackName" id="@btc-embedded/cdk-extensions.StackParameter.import.parameter.stackName"></a>
16082
17348
 
16083
17349
  - *Type:* string
16084
17350
 
17351
+ Optional explicit stack name.
17352
+
17353
+ If not provided, will resolve from context.
17354
+
16085
17355
  ---
16086
17356
 
16087
17357