cdktn 0.25.0-pre.4 → 0.25.0-pre.40

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 (93) hide show
  1. package/.jsii +2152 -434
  2. package/lib/annotations.js +4 -4
  3. package/lib/app.js +54 -5
  4. package/lib/aspect.js +3 -4
  5. package/lib/asset-hash.d.ts +75 -0
  6. package/lib/asset-hash.js +129 -0
  7. package/lib/asset-staging.d.ts +177 -0
  8. package/lib/asset-staging.js +461 -0
  9. package/lib/assets.d.ts +401 -0
  10. package/lib/assets.js +333 -0
  11. package/lib/backends/azurerm-backend.js +4 -6
  12. package/lib/backends/cloud-backend.js +15 -12
  13. package/lib/backends/consul-backend.js +4 -6
  14. package/lib/backends/cos-backend.js +4 -6
  15. package/lib/backends/gcs-backend.js +4 -6
  16. package/lib/backends/http-backend.js +4 -6
  17. package/lib/backends/local-backend.js +38 -7
  18. package/lib/backends/oss-backend.js +4 -6
  19. package/lib/backends/pg-backend.js +4 -6
  20. package/lib/backends/remote-backend.js +8 -10
  21. package/lib/backends/s3-backend.js +4 -6
  22. package/lib/backends/swift-backend.js +4 -6
  23. package/lib/complex-computed-list.js +114 -65
  24. package/lib/errors.d.ts +15 -0
  25. package/lib/errors.js +48 -3
  26. package/lib/functions/provider-function.js +2 -4
  27. package/lib/functions/terraform-functions.generated.js +2 -4
  28. package/lib/ignore-strategy.d.ts +82 -0
  29. package/lib/ignore-strategy.js +29 -0
  30. package/lib/importable-resource.js +8 -6
  31. package/lib/index.d.ts +4 -0
  32. package/lib/index.js +28 -2
  33. package/lib/manifest.js +49 -11
  34. package/lib/private/fs.d.ts +74 -2
  35. package/lib/private/fs.js +129 -17
  36. package/lib/private/unique.js +35 -2
  37. package/lib/resource.js +3 -4
  38. package/lib/synthesize/synthesizer.js +51 -25
  39. package/lib/terraform-asset.d.ts +52 -5
  40. package/lib/terraform-asset.js +126 -40
  41. package/lib/terraform-backend.js +3 -4
  42. package/lib/terraform-count.js +3 -4
  43. package/lib/terraform-data-resource.d.ts +1 -1
  44. package/lib/terraform-data-resource.js +18 -13
  45. package/lib/terraform-data-source.js +10 -4
  46. package/lib/terraform-dynamic-block.js +5 -2
  47. package/lib/terraform-dynamic-expression.js +4 -1
  48. package/lib/terraform-element.js +34 -6
  49. package/lib/terraform-ephemeral-resource.js +10 -4
  50. package/lib/terraform-functions.js +2 -4
  51. package/lib/terraform-hcl-module.js +3 -4
  52. package/lib/terraform-iterator.js +11 -12
  53. package/lib/terraform-local.js +3 -4
  54. package/lib/terraform-module-asset.js +39 -4
  55. package/lib/terraform-module.js +8 -4
  56. package/lib/terraform-operators.js +2 -4
  57. package/lib/terraform-output.js +7 -4
  58. package/lib/terraform-provider.js +5 -4
  59. package/lib/terraform-provisioner.js +2 -4
  60. package/lib/terraform-remote-state.js +5 -5
  61. package/lib/terraform-resource-targets.js +3 -7
  62. package/lib/terraform-resource.js +23 -7
  63. package/lib/terraform-stack.js +38 -38
  64. package/lib/terraform-variable.js +25 -22
  65. package/lib/testing/index.js +42 -8
  66. package/lib/testing/matchers.js +39 -6
  67. package/lib/tfExpression.js +25 -8
  68. package/lib/tokens/lazy.js +11 -7
  69. package/lib/tokens/private/dependency.js +2 -2
  70. package/lib/tokens/private/encoding.js +6 -1
  71. package/lib/tokens/private/intrinsic.js +6 -1
  72. package/lib/tokens/private/resolve.js +2 -5
  73. package/lib/tokens/private/token-map.js +4 -6
  74. package/lib/tokens/private/uniqueid.js +35 -2
  75. package/lib/tokens/resolvable.js +4 -6
  76. package/lib/tokens/string-fragments.js +6 -10
  77. package/lib/tokens/token.js +15 -18
  78. package/lib/upgrade-id-aspect.js +37 -6
  79. package/lib/validations/index.d.ts +0 -1
  80. package/lib/validations/index.js +1 -2
  81. package/lib/validations/target-versions.js +39 -2
  82. package/lib/validations/validate-function-version-support.js +2 -1
  83. package/lib/validations/validate-provider-function-target-support.js +2 -1
  84. package/lib/validations/validate-provider-presence.js +10 -9
  85. package/package.json +5 -5
  86. package/scripts/pack.mjs +27 -12
  87. package/lib/tsconfig.tsbuildinfo +0 -1
  88. package/lib/validations/validate-binary-version.d.ts +0 -23
  89. package/lib/validations/validate-binary-version.js +0 -54
  90. package/lib/validations/validate-terraform-version.d.ts +0 -13
  91. package/lib/validations/validate-terraform-version.js +0 -21
  92. package/tsconfig.json +0 -40
  93. package/tsconfig.test.json +0 -12
package/.jsii CHANGED
@@ -12,7 +12,7 @@
12
12
  "semver": "7.8.5"
13
13
  },
14
14
  "dependencies": {
15
- "constructs": ">=10.6.0 <10.8.0"
15
+ "constructs": "^10.6.0"
16
16
  },
17
17
  "dependencyClosure": {
18
18
  "constructs": {
@@ -46,7 +46,7 @@
46
46
  "stability": "experimental"
47
47
  },
48
48
  "homepage": "https://github.com/open-constructs/cdk-terrain",
49
- "jsiiVersion": "5.9.43",
49
+ "jsiiVersion": "6.0.12",
50
50
  "keywords": [
51
51
  "cdk",
52
52
  "cdktf",
@@ -60,6 +60,7 @@
60
60
  "hasDefaultInterfaces": true
61
61
  }
62
62
  },
63
+ "tscOutDir": "lib",
63
64
  "tscRootDir": "src"
64
65
  },
65
66
  "name": "cdktn",
@@ -1407,6 +1408,577 @@
1407
1408
  ],
1408
1409
  "symbolId": "src/aspect:Aspects"
1409
1410
  },
1411
+ "cdktn.AssetHash": {
1412
+ "assembly": "cdktn",
1413
+ "docs": {
1414
+ "remarks": "Providers that read a local path directly — a Docker build `context`, for\nexample — need a content hash to drive `triggers`, but have no use for a\nstaged copy of the source. `Asset` and `TerraformAsset` always produce a\nstaged copy; this is the identity half without the staging half.",
1415
+ "stability": "experimental",
1416
+ "summary": "Computes a content hash of a file or directory without staging it."
1417
+ },
1418
+ "fqn": "cdktn.AssetHash",
1419
+ "kind": "class",
1420
+ "locationInModule": {
1421
+ "filename": "src/asset-hash.ts",
1422
+ "line": 49
1423
+ },
1424
+ "methods": [
1425
+ {
1426
+ "docs": {
1427
+ "remarks": "This is a hash of the source tree, and it does not depend on how the\nsource is later packaged. `hashPath` is always called with `archive`\nunset, so directory records are part of the digest; the hash of a given\ntree is therefore the same whether it is later copied, zipped, or packed\nby a custom `IAssetPackaging` such as `tar.bz2`.\n\nA consequence worth stating: this does not equal\n`TerraformAsset(dir, { type: ARCHIVE }).assetHash` for a directory with\nsubdirectories. That asset frames its hash to the emitted ZIP, which has\nno directory entries (see #323), so directory-only changes move it and\nnot this. It equals a `FILE` / `DIRECTORY` `TerraformAsset` hash only\nwhen the `canonicalAssetHashes` flag is enabled, since that flag is what\nputs the asset on this same canonical scheme.\n\nA relative `filePath` is resolved against the directory containing\n`cdktf.json`, the same base `TerraformAsset` uses, so both hash the same\nsource regardless of the process working directory. Absolute paths are\nused as-is. Throws if `filePath` is relative and no `cdktf.json` is found\nabove the working directory.",
1428
+ "stability": "experimental",
1429
+ "summary": "Content hash of a file or directory, without staging it."
1430
+ },
1431
+ "locationInModule": {
1432
+ "filename": "src/asset-hash.ts",
1433
+ "line": 75
1434
+ },
1435
+ "name": "of",
1436
+ "parameters": [
1437
+ {
1438
+ "docs": {
1439
+ "summary": "- path to a file or directory to hash."
1440
+ },
1441
+ "name": "filePath",
1442
+ "type": {
1443
+ "primitive": "string"
1444
+ }
1445
+ },
1446
+ {
1447
+ "docs": {
1448
+ "summary": "- see {@link AssetHashOptions}."
1449
+ },
1450
+ "name": "options",
1451
+ "optional": true,
1452
+ "type": {
1453
+ "fqn": "cdktn.AssetHashOptions"
1454
+ }
1455
+ }
1456
+ ],
1457
+ "returns": {
1458
+ "type": {
1459
+ "primitive": "string"
1460
+ }
1461
+ },
1462
+ "static": true
1463
+ }
1464
+ ],
1465
+ "name": "AssetHash",
1466
+ "symbolId": "src/asset-hash:AssetHash"
1467
+ },
1468
+ "cdktn.AssetHashOptions": {
1469
+ "assembly": "cdktn",
1470
+ "datatype": true,
1471
+ "docs": {
1472
+ "stability": "experimental",
1473
+ "summary": "Options for {@link AssetHash.of}."
1474
+ },
1475
+ "fqn": "cdktn.AssetHashOptions",
1476
+ "kind": "interface",
1477
+ "locationInModule": {
1478
+ "filename": "src/asset-hash.ts",
1479
+ "line": 15
1480
+ },
1481
+ "name": "AssetHashOptions",
1482
+ "properties": [
1483
+ {
1484
+ "abstract": true,
1485
+ "docs": {
1486
+ "default": "- nothing is excluded",
1487
+ "remarks": "Cannot be combined with\n`ignoreStrategy`, which replaces this matcher rather than layering on\ntop of it.",
1488
+ "stability": "experimental",
1489
+ "summary": "Paths to exclude, relative to the hashed path."
1490
+ },
1491
+ "immutable": true,
1492
+ "locationInModule": {
1493
+ "filename": "src/asset-hash.ts",
1494
+ "line": 23
1495
+ },
1496
+ "name": "exclude",
1497
+ "optional": true,
1498
+ "type": {
1499
+ "collection": {
1500
+ "elementtype": {
1501
+ "primitive": "string"
1502
+ },
1503
+ "kind": "array"
1504
+ }
1505
+ }
1506
+ },
1507
+ {
1508
+ "abstract": true,
1509
+ "docs": {
1510
+ "default": "- no extra data",
1511
+ "stability": "experimental",
1512
+ "summary": "Extra information to fold into the hash."
1513
+ },
1514
+ "immutable": true,
1515
+ "locationInModule": {
1516
+ "filename": "src/asset-hash.ts",
1517
+ "line": 30
1518
+ },
1519
+ "name": "extraHash",
1520
+ "optional": true,
1521
+ "type": {
1522
+ "primitive": "string"
1523
+ }
1524
+ },
1525
+ {
1526
+ "abstract": true,
1527
+ "docs": {
1528
+ "default": "- `exclude` is used with the built-in matcher",
1529
+ "stability": "experimental",
1530
+ "summary": "Exclusion matching, for callers that need `.gitignore` / `.dockerignore` parity rather than the built-in exact-path / suffix / directory matcher."
1531
+ },
1532
+ "immutable": true,
1533
+ "locationInModule": {
1534
+ "filename": "src/asset-hash.ts",
1535
+ "line": 38
1536
+ },
1537
+ "name": "ignoreStrategy",
1538
+ "optional": true,
1539
+ "type": {
1540
+ "fqn": "cdktn.IIgnoreStrategy"
1541
+ }
1542
+ }
1543
+ ],
1544
+ "symbolId": "src/asset-hash:AssetHashOptions"
1545
+ },
1546
+ "cdktn.AssetHashType": {
1547
+ "assembly": "cdktn",
1548
+ "docs": {
1549
+ "remarks": "The hash identifies a specific revision of the asset and caches deployment\nwork such as packaging and uploading.",
1550
+ "stability": "experimental",
1551
+ "summary": "The type of asset hash."
1552
+ },
1553
+ "fqn": "cdktn.AssetHashType",
1554
+ "kind": "enum",
1555
+ "locationInModule": {
1556
+ "filename": "src/assets.ts",
1557
+ "line": 63
1558
+ },
1559
+ "members": [
1560
+ {
1561
+ "docs": {
1562
+ "remarks": "Use `SOURCE` to track changes to the source files directly.",
1563
+ "stability": "experimental",
1564
+ "summary": "Based on the content of the source path."
1565
+ },
1566
+ "name": "SOURCE"
1567
+ },
1568
+ {
1569
+ "docs": {
1570
+ "remarks": "Use `OUTPUT` when the source is a top-level folder holding code and/or\ndependencies not directly linked to the asset.",
1571
+ "stability": "experimental",
1572
+ "summary": "Based on the content of the bundling output."
1573
+ },
1574
+ "name": "OUTPUT"
1575
+ },
1576
+ {
1577
+ "docs": {
1578
+ "stability": "experimental",
1579
+ "summary": "Use a custom hash."
1580
+ },
1581
+ "name": "CUSTOM"
1582
+ }
1583
+ ],
1584
+ "name": "AssetHashType",
1585
+ "symbolId": "src/assets:AssetHashType"
1586
+ },
1587
+ "cdktn.AssetOptions": {
1588
+ "assembly": "cdktn",
1589
+ "datatype": true,
1590
+ "docs": {
1591
+ "stability": "experimental",
1592
+ "summary": "Options controlling how an asset's hash is derived."
1593
+ },
1594
+ "fqn": "cdktn.AssetOptions",
1595
+ "kind": "interface",
1596
+ "locationInModule": {
1597
+ "filename": "src/assets.ts",
1598
+ "line": 30
1599
+ },
1600
+ "name": "AssetOptions",
1601
+ "properties": [
1602
+ {
1603
+ "abstract": true,
1604
+ "docs": {
1605
+ "default": "- based on `assetHashType`",
1606
+ "remarks": "If `assetHashType` is set it must\nbe set to `AssetHashType.CUSTOM`. The value is used verbatim as the asset\nhash, and because it names the staged asset file it may only contain\nletters, digits, `_`, `.` and `-`.\n\nThe hash identifies a specific revision of the asset and caches deployment\nwork (packaging, uploading). A custom hash must be updated whenever the\nasset changes, or some deployments will not be invalidated.",
1607
+ "stability": "experimental",
1608
+ "summary": "Specify a custom hash for this asset."
1609
+ },
1610
+ "immutable": true,
1611
+ "locationInModule": {
1612
+ "filename": "src/assets.ts",
1613
+ "line": 43
1614
+ },
1615
+ "name": "assetHash",
1616
+ "optional": true,
1617
+ "type": {
1618
+ "primitive": "string"
1619
+ }
1620
+ },
1621
+ {
1622
+ "abstract": true,
1623
+ "docs": {
1624
+ "default": "- the default is `AssetHashType.SOURCE`, but if `assetHash` is\nexplicitly specified this value defaults to `AssetHashType.CUSTOM`.",
1625
+ "remarks": "If `assetHash` is configured, this option must be `undefined` or\n`AssetHashType.CUSTOM`.",
1626
+ "stability": "experimental",
1627
+ "summary": "Specifies the type of hash to calculate for this asset."
1628
+ },
1629
+ "immutable": true,
1630
+ "locationInModule": {
1631
+ "filename": "src/assets.ts",
1632
+ "line": 54
1633
+ },
1634
+ "name": "assetHashType",
1635
+ "optional": true,
1636
+ "type": {
1637
+ "fqn": "cdktn.AssetHashType"
1638
+ }
1639
+ }
1640
+ ],
1641
+ "symbolId": "src/assets:AssetOptions"
1642
+ },
1643
+ "cdktn.AssetPackaging": {
1644
+ "assembly": "cdktn",
1645
+ "docs": {
1646
+ "remarks": "Custom formats implement `IAssetPackaging`\ndirectly rather than extending this class.",
1647
+ "stability": "experimental",
1648
+ "summary": "Built-in packaging strategies."
1649
+ },
1650
+ "fqn": "cdktn.AssetPackaging",
1651
+ "kind": "class",
1652
+ "locationInModule": {
1653
+ "filename": "src/assets.ts",
1654
+ "line": 223
1655
+ },
1656
+ "name": "AssetPackaging",
1657
+ "properties": [
1658
+ {
1659
+ "const": true,
1660
+ "docs": {
1661
+ "stability": "experimental",
1662
+ "summary": "Copy a directory tree as-is, without archiving."
1663
+ },
1664
+ "immutable": true,
1665
+ "locationInModule": {
1666
+ "filename": "src/assets.ts",
1667
+ "line": 232
1668
+ },
1669
+ "name": "DIRECTORY",
1670
+ "static": true,
1671
+ "type": {
1672
+ "fqn": "cdktn.IAssetPackaging"
1673
+ }
1674
+ },
1675
+ {
1676
+ "const": true,
1677
+ "docs": {
1678
+ "stability": "experimental",
1679
+ "summary": "Copy a single file as-is."
1680
+ },
1681
+ "immutable": true,
1682
+ "locationInModule": {
1683
+ "filename": "src/assets.ts",
1684
+ "line": 227
1685
+ },
1686
+ "name": "FILE",
1687
+ "static": true,
1688
+ "type": {
1689
+ "fqn": "cdktn.IAssetPackaging"
1690
+ }
1691
+ },
1692
+ {
1693
+ "const": true,
1694
+ "docs": {
1695
+ "stability": "experimental",
1696
+ "summary": "Archive a directory tree into a single zip file."
1697
+ },
1698
+ "immutable": true,
1699
+ "locationInModule": {
1700
+ "filename": "src/assets.ts",
1701
+ "line": 237
1702
+ },
1703
+ "name": "ZIP",
1704
+ "static": true,
1705
+ "type": {
1706
+ "fqn": "cdktn.IAssetPackaging"
1707
+ }
1708
+ }
1709
+ ],
1710
+ "symbolId": "src/assets:AssetPackaging"
1711
+ },
1712
+ "cdktn.AssetStaging": {
1713
+ "assembly": "cdktn",
1714
+ "base": "constructs.Construct",
1715
+ "docs": {
1716
+ "remarks": "The hash is available immediately after construction; the filesystem write\nis deferred to `stage()`, the one window where it is safe. Hashing is\ncached per synth (see {@link hashCachesByRoot}) so an asset referenced from\nseveral places is walked once. Without a bundler, `SOURCE` and `OUTPUT` both\nhash the source; with one they diverge, as `AssetStagingOptions.bundler`\ndescribes.",
1717
+ "stability": "experimental",
1718
+ "summary": "Resolves an asset's identity and stages its content to disk."
1719
+ },
1720
+ "fqn": "cdktn.AssetStaging",
1721
+ "initializer": {
1722
+ "docs": {
1723
+ "stability": "experimental"
1724
+ },
1725
+ "locationInModule": {
1726
+ "filename": "src/asset-staging.ts",
1727
+ "line": 231
1728
+ },
1729
+ "parameters": [
1730
+ {
1731
+ "name": "scope",
1732
+ "type": {
1733
+ "fqn": "constructs.Construct"
1734
+ }
1735
+ },
1736
+ {
1737
+ "name": "id",
1738
+ "type": {
1739
+ "primitive": "string"
1740
+ }
1741
+ },
1742
+ {
1743
+ "name": "props",
1744
+ "type": {
1745
+ "fqn": "cdktn.AssetStagingOptions"
1746
+ }
1747
+ }
1748
+ ]
1749
+ },
1750
+ "interfaces": [
1751
+ "cdktn.IAsset"
1752
+ ],
1753
+ "kind": "class",
1754
+ "locationInModule": {
1755
+ "filename": "src/asset-staging.ts",
1756
+ "line": 200
1757
+ },
1758
+ "methods": [
1759
+ {
1760
+ "docs": {
1761
+ "remarks": "Called from the owning construct's `onSynthesize` hook. Without a bundler\nthe source is packaged verbatim; with one, the bundler's output is, built\neagerly for `OUTPUT` hashing or deferred to here for `SOURCE`.",
1762
+ "stability": "experimental",
1763
+ "summary": "Stage the asset's content to `targetPath`."
1764
+ },
1765
+ "locationInModule": {
1766
+ "filename": "src/asset-staging.ts",
1767
+ "line": 499
1768
+ },
1769
+ "name": "stage",
1770
+ "parameters": [
1771
+ {
1772
+ "name": "targetPath",
1773
+ "type": {
1774
+ "primitive": "string"
1775
+ }
1776
+ }
1777
+ ]
1778
+ }
1779
+ ],
1780
+ "name": "AssetStaging",
1781
+ "properties": [
1782
+ {
1783
+ "docs": {
1784
+ "remarks": "Being a plain string, it can be used in construct IDs to force a new\nresource when the content hash changes.",
1785
+ "stability": "experimental",
1786
+ "summary": "A hash of this asset, available at construction time."
1787
+ },
1788
+ "immutable": true,
1789
+ "locationInModule": {
1790
+ "filename": "src/asset-staging.ts",
1791
+ "line": 229
1792
+ },
1793
+ "name": "assetHash",
1794
+ "overrides": "cdktn.IAsset",
1795
+ "type": {
1796
+ "primitive": "string"
1797
+ }
1798
+ },
1799
+ {
1800
+ "docs": {
1801
+ "stability": "experimental"
1802
+ },
1803
+ "immutable": true,
1804
+ "locationInModule": {
1805
+ "filename": "src/asset-staging.ts",
1806
+ "line": 228
1807
+ },
1808
+ "name": "isDirectory",
1809
+ "type": {
1810
+ "primitive": "boolean"
1811
+ }
1812
+ },
1813
+ {
1814
+ "docs": {
1815
+ "stability": "experimental"
1816
+ },
1817
+ "immutable": true,
1818
+ "locationInModule": {
1819
+ "filename": "src/asset-staging.ts",
1820
+ "line": 227
1821
+ },
1822
+ "name": "packaging",
1823
+ "type": {
1824
+ "fqn": "cdktn.IAssetPackaging"
1825
+ }
1826
+ }
1827
+ ],
1828
+ "symbolId": "src/asset-staging:AssetStaging"
1829
+ },
1830
+ "cdktn.AssetStagingOptions": {
1831
+ "assembly": "cdktn",
1832
+ "datatype": true,
1833
+ "docs": {
1834
+ "stability": "experimental",
1835
+ "summary": "Options for {@link AssetStaging}."
1836
+ },
1837
+ "fqn": "cdktn.AssetStagingOptions",
1838
+ "interfaces": [
1839
+ "cdktn.AssetOptions"
1840
+ ],
1841
+ "kind": "interface",
1842
+ "locationInModule": {
1843
+ "filename": "src/asset-staging.ts",
1844
+ "line": 128
1845
+ },
1846
+ "name": "AssetStagingOptions",
1847
+ "properties": [
1848
+ {
1849
+ "abstract": true,
1850
+ "docs": {
1851
+ "remarks": "The caller decides this\n(e.g. from its own `AssetType`) — `AssetStaging` never infers or changes\nit based on `exclude`/`extraHash`.",
1852
+ "stability": "experimental",
1853
+ "summary": "How the staged result is produced and shaped."
1854
+ },
1855
+ "immutable": true,
1856
+ "locationInModule": {
1857
+ "filename": "src/asset-staging.ts",
1858
+ "line": 140
1859
+ },
1860
+ "name": "packaging",
1861
+ "type": {
1862
+ "fqn": "cdktn.IAssetPackaging"
1863
+ }
1864
+ },
1865
+ {
1866
+ "abstract": true,
1867
+ "docs": {
1868
+ "remarks": "Resolving a relative path\nagainst `cdktf.json` is the caller's responsibility.",
1869
+ "stability": "experimental",
1870
+ "summary": "Absolute path to the source file or directory."
1871
+ },
1872
+ "immutable": true,
1873
+ "locationInModule": {
1874
+ "filename": "src/asset-staging.ts",
1875
+ "line": 133
1876
+ },
1877
+ "name": "sourcePath",
1878
+ "type": {
1879
+ "primitive": "string"
1880
+ }
1881
+ },
1882
+ {
1883
+ "abstract": true,
1884
+ "docs": {
1885
+ "default": "- the source is staged verbatim, with no build step",
1886
+ "remarks": "Under the default `SOURCE` hashing the build is deferred to `stage()` and\nstays skippable; `OUTPUT` hashing builds eagerly at construction time to\nhash the artifact, forgoing skippability. The bundler's declared output\nshape must match the packaging: a `BundleResult.directory` needs a\ndirectory-accepting packaging, a `BundleResult.file` a single-file one\n(`AssetType.FILE`). The mismatch is caught once the build runs.",
1887
+ "stability": "experimental",
1888
+ "summary": "A bundler that builds the source into an artifact before staging."
1889
+ },
1890
+ "immutable": true,
1891
+ "locationInModule": {
1892
+ "filename": "src/asset-staging.ts",
1893
+ "line": 179
1894
+ },
1895
+ "name": "bundler",
1896
+ "optional": true,
1897
+ "type": {
1898
+ "fqn": "cdktn.IAssetBundler"
1899
+ }
1900
+ },
1901
+ {
1902
+ "abstract": true,
1903
+ "docs": {
1904
+ "default": "- the staging construct's own id",
1905
+ "stability": "experimental",
1906
+ "summary": "Identifier used in error messages, so they name the user-facing construct (e.g. the `TerraformAsset`) rather than this internal staging child."
1907
+ },
1908
+ "immutable": true,
1909
+ "locationInModule": {
1910
+ "filename": "src/asset-staging.ts",
1911
+ "line": 187
1912
+ },
1913
+ "name": "displayName",
1914
+ "optional": true,
1915
+ "type": {
1916
+ "primitive": "string"
1917
+ }
1918
+ },
1919
+ {
1920
+ "abstract": true,
1921
+ "docs": {
1922
+ "default": "- nothing is excluded",
1923
+ "remarks": "Cannot be combined with\n`ignoreStrategy`, which replaces this matcher rather than layering on\ntop of it.",
1924
+ "stability": "experimental",
1925
+ "summary": "Paths to exclude, relative to `sourcePath`."
1926
+ },
1927
+ "immutable": true,
1928
+ "locationInModule": {
1929
+ "filename": "src/asset-staging.ts",
1930
+ "line": 149
1931
+ },
1932
+ "name": "exclude",
1933
+ "optional": true,
1934
+ "type": {
1935
+ "collection": {
1936
+ "elementtype": {
1937
+ "primitive": "string"
1938
+ },
1939
+ "kind": "array"
1940
+ }
1941
+ }
1942
+ },
1943
+ {
1944
+ "abstract": true,
1945
+ "docs": {
1946
+ "default": "- no extra hash",
1947
+ "stability": "experimental",
1948
+ "summary": "Extra information to fold into the hash (e.g. build instructions and other inputs)."
1949
+ },
1950
+ "immutable": true,
1951
+ "locationInModule": {
1952
+ "filename": "src/asset-staging.ts",
1953
+ "line": 165
1954
+ },
1955
+ "name": "extraHash",
1956
+ "optional": true,
1957
+ "type": {
1958
+ "primitive": "string"
1959
+ }
1960
+ },
1961
+ {
1962
+ "abstract": true,
1963
+ "docs": {
1964
+ "default": "- `exclude` is used with the built-in matcher",
1965
+ "stability": "experimental",
1966
+ "summary": "Exclusion matching, for callers that need `.gitignore` / `.dockerignore` parity rather than the built-in exact-path / suffix / directory matcher."
1967
+ },
1968
+ "immutable": true,
1969
+ "locationInModule": {
1970
+ "filename": "src/asset-staging.ts",
1971
+ "line": 157
1972
+ },
1973
+ "name": "ignoreStrategy",
1974
+ "optional": true,
1975
+ "type": {
1976
+ "fqn": "cdktn.IIgnoreStrategy"
1977
+ }
1978
+ }
1979
+ ],
1980
+ "symbolId": "src/asset-staging:AssetStagingOptions"
1981
+ },
1410
1982
  "cdktn.AssetType": {
1411
1983
  "assembly": "cdktn",
1412
1984
  "docs": {
@@ -1416,7 +1988,7 @@
1416
1988
  "kind": "enum",
1417
1989
  "locationInModule": {
1418
1990
  "filename": "src/terraform-asset.ts",
1419
- "line": 31
1991
+ "line": 78
1420
1992
  },
1421
1993
  "members": [
1422
1994
  {
@@ -2014,29 +2586,145 @@
2014
2586
  "filename": "src/backends/azurerm-backend.ts",
2015
2587
  "line": 202
2016
2588
  },
2017
- "name": "useOidc",
2018
- "optional": true,
2589
+ "name": "useOidc",
2590
+ "optional": true,
2591
+ "type": {
2592
+ "primitive": "boolean"
2593
+ }
2594
+ }
2595
+ ],
2596
+ "symbolId": "src/backends/azurerm-backend:AzurermBackendConfig"
2597
+ },
2598
+ "cdktn.BooleanList": {
2599
+ "assembly": "cdktn",
2600
+ "base": "cdktn.ComplexList",
2601
+ "docs": {
2602
+ "stability": "experimental"
2603
+ },
2604
+ "fqn": "cdktn.BooleanList",
2605
+ "initializer": {
2606
+ "docs": {
2607
+ "stability": "experimental"
2608
+ },
2609
+ "locationInModule": {
2610
+ "filename": "src/complex-computed-list.ts",
2611
+ "line": 421
2612
+ },
2613
+ "parameters": [
2614
+ {
2615
+ "name": "terraformResource",
2616
+ "type": {
2617
+ "fqn": "cdktn.IInterpolatingParent"
2618
+ }
2619
+ },
2620
+ {
2621
+ "name": "terraformAttribute",
2622
+ "type": {
2623
+ "primitive": "string"
2624
+ }
2625
+ },
2626
+ {
2627
+ "name": "wrapsSet",
2628
+ "type": {
2629
+ "primitive": "boolean"
2630
+ }
2631
+ }
2632
+ ]
2633
+ },
2634
+ "kind": "class",
2635
+ "locationInModule": {
2636
+ "filename": "src/complex-computed-list.ts",
2637
+ "line": 420
2638
+ },
2639
+ "methods": [
2640
+ {
2641
+ "docs": {
2642
+ "stability": "experimental"
2643
+ },
2644
+ "locationInModule": {
2645
+ "filename": "src/complex-computed-list.ts",
2646
+ "line": 429
2647
+ },
2648
+ "name": "get",
2649
+ "parameters": [
2650
+ {
2651
+ "name": "index",
2652
+ "type": {
2653
+ "primitive": "number"
2654
+ }
2655
+ }
2656
+ ],
2657
+ "returns": {
2658
+ "type": {
2659
+ "fqn": "cdktn.IResolvable"
2660
+ }
2661
+ }
2662
+ }
2663
+ ],
2664
+ "name": "BooleanList",
2665
+ "properties": [
2666
+ {
2667
+ "docs": {
2668
+ "stability": "experimental"
2669
+ },
2670
+ "locationInModule": {
2671
+ "filename": "src/complex-computed-list.ts",
2672
+ "line": 423
2673
+ },
2674
+ "name": "terraformAttribute",
2675
+ "overrides": "cdktn.ComplexList",
2676
+ "protected": true,
2677
+ "type": {
2678
+ "primitive": "string"
2679
+ }
2680
+ },
2681
+ {
2682
+ "docs": {
2683
+ "stability": "experimental"
2684
+ },
2685
+ "locationInModule": {
2686
+ "filename": "src/complex-computed-list.ts",
2687
+ "line": 422
2688
+ },
2689
+ "name": "terraformResource",
2690
+ "overrides": "cdktn.ComplexList",
2691
+ "protected": true,
2692
+ "type": {
2693
+ "fqn": "cdktn.IInterpolatingParent"
2694
+ }
2695
+ },
2696
+ {
2697
+ "docs": {
2698
+ "stability": "experimental"
2699
+ },
2700
+ "locationInModule": {
2701
+ "filename": "src/complex-computed-list.ts",
2702
+ "line": 424
2703
+ },
2704
+ "name": "wrapsSet",
2705
+ "overrides": "cdktn.ComplexList",
2706
+ "protected": true,
2019
2707
  "type": {
2020
2708
  "primitive": "boolean"
2021
2709
  }
2022
2710
  }
2023
2711
  ],
2024
- "symbolId": "src/backends/azurerm-backend:AzurermBackendConfig"
2712
+ "symbolId": "src/complex-computed-list:BooleanList"
2025
2713
  },
2026
- "cdktn.BooleanList": {
2714
+ "cdktn.BooleanListList": {
2027
2715
  "assembly": "cdktn",
2028
2716
  "base": "cdktn.ComplexList",
2029
2717
  "docs": {
2030
2718
  "stability": "experimental"
2031
2719
  },
2032
- "fqn": "cdktn.BooleanList",
2720
+ "fqn": "cdktn.BooleanListList",
2033
2721
  "initializer": {
2034
2722
  "docs": {
2035
2723
  "stability": "experimental"
2036
2724
  },
2037
2725
  "locationInModule": {
2038
2726
  "filename": "src/complex-computed-list.ts",
2039
- "line": 421
2727
+ "line": 474
2040
2728
  },
2041
2729
  "parameters": [
2042
2730
  {
@@ -2062,7 +2750,7 @@
2062
2750
  "kind": "class",
2063
2751
  "locationInModule": {
2064
2752
  "filename": "src/complex-computed-list.ts",
2065
- "line": 420
2753
+ "line": 473
2066
2754
  },
2067
2755
  "methods": [
2068
2756
  {
@@ -2071,7 +2759,7 @@
2071
2759
  },
2072
2760
  "locationInModule": {
2073
2761
  "filename": "src/complex-computed-list.ts",
2074
- "line": 429
2762
+ "line": 482
2075
2763
  },
2076
2764
  "name": "get",
2077
2765
  "parameters": [
@@ -2089,7 +2777,7 @@
2089
2777
  }
2090
2778
  }
2091
2779
  ],
2092
- "name": "BooleanList",
2780
+ "name": "BooleanListList",
2093
2781
  "properties": [
2094
2782
  {
2095
2783
  "docs": {
@@ -2097,7 +2785,7 @@
2097
2785
  },
2098
2786
  "locationInModule": {
2099
2787
  "filename": "src/complex-computed-list.ts",
2100
- "line": 423
2788
+ "line": 476
2101
2789
  },
2102
2790
  "name": "terraformAttribute",
2103
2791
  "overrides": "cdktn.ComplexList",
@@ -2112,7 +2800,7 @@
2112
2800
  },
2113
2801
  "locationInModule": {
2114
2802
  "filename": "src/complex-computed-list.ts",
2115
- "line": 422
2803
+ "line": 475
2116
2804
  },
2117
2805
  "name": "terraformResource",
2118
2806
  "overrides": "cdktn.ComplexList",
@@ -2127,7 +2815,7 @@
2127
2815
  },
2128
2816
  "locationInModule": {
2129
2817
  "filename": "src/complex-computed-list.ts",
2130
- "line": 424
2818
+ "line": 477
2131
2819
  },
2132
2820
  "name": "wrapsSet",
2133
2821
  "overrides": "cdktn.ComplexList",
@@ -2137,22 +2825,22 @@
2137
2825
  }
2138
2826
  }
2139
2827
  ],
2140
- "symbolId": "src/complex-computed-list:BooleanList"
2828
+ "symbolId": "src/complex-computed-list:BooleanListList"
2141
2829
  },
2142
- "cdktn.BooleanListList": {
2830
+ "cdktn.BooleanListMap": {
2143
2831
  "assembly": "cdktn",
2144
- "base": "cdktn.ComplexList",
2832
+ "base": "cdktn.ComplexMap",
2145
2833
  "docs": {
2146
2834
  "stability": "experimental"
2147
2835
  },
2148
- "fqn": "cdktn.BooleanListList",
2836
+ "fqn": "cdktn.BooleanListMap",
2149
2837
  "initializer": {
2150
2838
  "docs": {
2151
2839
  "stability": "experimental"
2152
2840
  },
2153
2841
  "locationInModule": {
2154
2842
  "filename": "src/complex-computed-list.ts",
2155
- "line": 474
2843
+ "line": 751
2156
2844
  },
2157
2845
  "parameters": [
2158
2846
  {
@@ -2166,19 +2854,13 @@
2166
2854
  "type": {
2167
2855
  "primitive": "string"
2168
2856
  }
2169
- },
2170
- {
2171
- "name": "wrapsSet",
2172
- "type": {
2173
- "primitive": "boolean"
2174
- }
2175
2857
  }
2176
2858
  ]
2177
2859
  },
2178
2860
  "kind": "class",
2179
2861
  "locationInModule": {
2180
2862
  "filename": "src/complex-computed-list.ts",
2181
- "line": 473
2863
+ "line": 750
2182
2864
  },
2183
2865
  "methods": [
2184
2866
  {
@@ -2187,14 +2869,14 @@
2187
2869
  },
2188
2870
  "locationInModule": {
2189
2871
  "filename": "src/complex-computed-list.ts",
2190
- "line": 482
2872
+ "line": 758
2191
2873
  },
2192
2874
  "name": "get",
2193
2875
  "parameters": [
2194
2876
  {
2195
- "name": "index",
2877
+ "name": "key",
2196
2878
  "type": {
2197
- "primitive": "number"
2879
+ "primitive": "string"
2198
2880
  }
2199
2881
  }
2200
2882
  ],
@@ -2205,7 +2887,7 @@
2205
2887
  }
2206
2888
  }
2207
2889
  ],
2208
- "name": "BooleanListList",
2890
+ "name": "BooleanListMap",
2209
2891
  "properties": [
2210
2892
  {
2211
2893
  "docs": {
@@ -2213,10 +2895,10 @@
2213
2895
  },
2214
2896
  "locationInModule": {
2215
2897
  "filename": "src/complex-computed-list.ts",
2216
- "line": 476
2898
+ "line": 753
2217
2899
  },
2218
2900
  "name": "terraformAttribute",
2219
- "overrides": "cdktn.ComplexList",
2901
+ "overrides": "cdktn.ComplexMap",
2220
2902
  "protected": true,
2221
2903
  "type": {
2222
2904
  "primitive": "string"
@@ -2228,14 +2910,71 @@
2228
2910
  },
2229
2911
  "locationInModule": {
2230
2912
  "filename": "src/complex-computed-list.ts",
2231
- "line": 475
2913
+ "line": 752
2232
2914
  },
2233
2915
  "name": "terraformResource",
2234
- "overrides": "cdktn.ComplexList",
2916
+ "overrides": "cdktn.ComplexMap",
2235
2917
  "protected": true,
2236
2918
  "type": {
2237
2919
  "fqn": "cdktn.IInterpolatingParent"
2238
2920
  }
2921
+ }
2922
+ ],
2923
+ "symbolId": "src/complex-computed-list:BooleanListMap"
2924
+ },
2925
+ "cdktn.BooleanMap": {
2926
+ "assembly": "cdktn",
2927
+ "docs": {
2928
+ "stability": "experimental"
2929
+ },
2930
+ "fqn": "cdktn.BooleanMap",
2931
+ "initializer": {
2932
+ "docs": {
2933
+ "stability": "experimental"
2934
+ },
2935
+ "locationInModule": {
2936
+ "filename": "src/complex-computed-list.ts",
2937
+ "line": 170
2938
+ },
2939
+ "parameters": [
2940
+ {
2941
+ "name": "terraformResource",
2942
+ "type": {
2943
+ "fqn": "cdktn.IInterpolatingParent"
2944
+ }
2945
+ },
2946
+ {
2947
+ "name": "terraformAttribute",
2948
+ "type": {
2949
+ "primitive": "string"
2950
+ }
2951
+ }
2952
+ ]
2953
+ },
2954
+ "interfaces": [
2955
+ "cdktn.ITerraformAddressable",
2956
+ "cdktn.IResolvable"
2957
+ ],
2958
+ "kind": "class",
2959
+ "locationInModule": {
2960
+ "filename": "src/complex-computed-list.ts",
2961
+ "line": 166
2962
+ },
2963
+ "methods": [
2964
+ {
2965
+ "docs": {
2966
+ "stability": "experimental"
2967
+ },
2968
+ "locationInModule": {
2969
+ "filename": "src/complex-computed-list.ts",
2970
+ "line": 183
2971
+ },
2972
+ "name": "computeFqn",
2973
+ "returns": {
2974
+ "type": {
2975
+ "primitive": "string"
2976
+ }
2977
+ }
2239
2978
  },
2240
2979
  {
2241
2980
  "docs": {
@@ -2243,32 +2982,151 @@
2243
2982
  },
2244
2983
  "locationInModule": {
2245
2984
  "filename": "src/complex-computed-list.ts",
2246
- "line": 477
2985
+ "line": 177
2247
2986
  },
2248
- "name": "wrapsSet",
2249
- "overrides": "cdktn.ComplexList",
2987
+ "name": "lookup",
2988
+ "parameters": [
2989
+ {
2990
+ "name": "key",
2991
+ "type": {
2992
+ "primitive": "string"
2993
+ }
2994
+ }
2995
+ ],
2996
+ "returns": {
2997
+ "type": {
2998
+ "fqn": "cdktn.IResolvable"
2999
+ }
3000
+ }
3001
+ },
3002
+ {
3003
+ "docs": {
3004
+ "stability": "experimental",
3005
+ "summary": "Produce the Token's value at resolution time."
3006
+ },
3007
+ "locationInModule": {
3008
+ "filename": "src/complex-computed-list.ts",
3009
+ "line": 43
3010
+ },
3011
+ "name": "resolve",
3012
+ "overrides": "cdktn.IResolvable",
3013
+ "parameters": [
3014
+ {
3015
+ "name": "_context",
3016
+ "type": {
3017
+ "fqn": "cdktn.IResolveContext"
3018
+ }
3019
+ }
3020
+ ],
3021
+ "returns": {
3022
+ "type": {
3023
+ "primitive": "any"
3024
+ }
3025
+ }
3026
+ },
3027
+ {
3028
+ "docs": {
3029
+ "remarks": "Returns a reversible string representation.",
3030
+ "stability": "experimental",
3031
+ "summary": "Return a string representation of this resolvable object."
3032
+ },
3033
+ "locationInModule": {
3034
+ "filename": "src/complex-computed-list.ts",
3035
+ "line": 47
3036
+ },
3037
+ "name": "toString",
3038
+ "overrides": "cdktn.IResolvable",
3039
+ "returns": {
3040
+ "type": {
3041
+ "primitive": "string"
3042
+ }
3043
+ }
3044
+ }
3045
+ ],
3046
+ "name": "BooleanMap",
3047
+ "properties": [
3048
+ {
3049
+ "docs": {
3050
+ "remarks": "If this returns an empty array the stack will not be attached.",
3051
+ "stability": "experimental",
3052
+ "summary": "The creation stack of this resolvable which will be appended to errors thrown during resolution."
3053
+ },
3054
+ "immutable": true,
3055
+ "locationInModule": {
3056
+ "filename": "src/complex-computed-list.ts",
3057
+ "line": 19
3058
+ },
3059
+ "name": "creationStack",
3060
+ "overrides": "cdktn.IResolvable",
3061
+ "type": {
3062
+ "collection": {
3063
+ "elementtype": {
3064
+ "primitive": "string"
3065
+ },
3066
+ "kind": "array"
3067
+ }
3068
+ }
3069
+ },
3070
+ {
3071
+ "docs": {
3072
+ "stability": "experimental"
3073
+ },
3074
+ "immutable": true,
3075
+ "locationInModule": {
3076
+ "filename": "src/complex-computed-list.ts",
3077
+ "line": 35
3078
+ },
3079
+ "name": "fqn",
3080
+ "overrides": "cdktn.ITerraformAddressable",
3081
+ "type": {
3082
+ "primitive": "string"
3083
+ }
3084
+ },
3085
+ {
3086
+ "docs": {
3087
+ "stability": "experimental"
3088
+ },
3089
+ "locationInModule": {
3090
+ "filename": "src/complex-computed-list.ts",
3091
+ "line": 172
3092
+ },
3093
+ "name": "terraformAttribute",
2250
3094
  "protected": true,
2251
3095
  "type": {
2252
- "primitive": "boolean"
3096
+ "primitive": "string"
3097
+ }
3098
+ },
3099
+ {
3100
+ "docs": {
3101
+ "stability": "experimental"
3102
+ },
3103
+ "locationInModule": {
3104
+ "filename": "src/complex-computed-list.ts",
3105
+ "line": 171
3106
+ },
3107
+ "name": "terraformResource",
3108
+ "protected": true,
3109
+ "type": {
3110
+ "fqn": "cdktn.IInterpolatingParent"
2253
3111
  }
2254
3112
  }
2255
3113
  ],
2256
- "symbolId": "src/complex-computed-list:BooleanListList"
3114
+ "symbolId": "src/complex-computed-list:BooleanMap"
2257
3115
  },
2258
- "cdktn.BooleanListMap": {
3116
+ "cdktn.BooleanMapList": {
2259
3117
  "assembly": "cdktn",
2260
- "base": "cdktn.ComplexMap",
3118
+ "base": "cdktn.MapList",
2261
3119
  "docs": {
2262
3120
  "stability": "experimental"
2263
3121
  },
2264
- "fqn": "cdktn.BooleanListMap",
3122
+ "fqn": "cdktn.BooleanMapList",
2265
3123
  "initializer": {
2266
3124
  "docs": {
2267
3125
  "stability": "experimental"
2268
3126
  },
2269
3127
  "locationInModule": {
2270
3128
  "filename": "src/complex-computed-list.ts",
2271
- "line": 751
3129
+ "line": 685
2272
3130
  },
2273
3131
  "parameters": [
2274
3132
  {
@@ -2282,13 +3140,19 @@
2282
3140
  "type": {
2283
3141
  "primitive": "string"
2284
3142
  }
3143
+ },
3144
+ {
3145
+ "name": "wrapsSet",
3146
+ "type": {
3147
+ "primitive": "boolean"
3148
+ }
2285
3149
  }
2286
3150
  ]
2287
3151
  },
2288
3152
  "kind": "class",
2289
3153
  "locationInModule": {
2290
3154
  "filename": "src/complex-computed-list.ts",
2291
- "line": 750
3155
+ "line": 684
2292
3156
  },
2293
3157
  "methods": [
2294
3158
  {
@@ -2297,25 +3161,25 @@
2297
3161
  },
2298
3162
  "locationInModule": {
2299
3163
  "filename": "src/complex-computed-list.ts",
2300
- "line": 758
3164
+ "line": 693
2301
3165
  },
2302
3166
  "name": "get",
2303
3167
  "parameters": [
2304
3168
  {
2305
- "name": "key",
3169
+ "name": "index",
2306
3170
  "type": {
2307
- "primitive": "string"
3171
+ "primitive": "number"
2308
3172
  }
2309
3173
  }
2310
3174
  ],
2311
3175
  "returns": {
2312
3176
  "type": {
2313
- "fqn": "cdktn.IResolvable"
3177
+ "fqn": "cdktn.BooleanMap"
2314
3178
  }
2315
3179
  }
2316
3180
  }
2317
3181
  ],
2318
- "name": "BooleanListMap",
3182
+ "name": "BooleanMapList",
2319
3183
  "properties": [
2320
3184
  {
2321
3185
  "docs": {
@@ -2323,10 +3187,10 @@
2323
3187
  },
2324
3188
  "locationInModule": {
2325
3189
  "filename": "src/complex-computed-list.ts",
2326
- "line": 753
3190
+ "line": 687
2327
3191
  },
2328
3192
  "name": "terraformAttribute",
2329
- "overrides": "cdktn.ComplexMap",
3193
+ "overrides": "cdktn.MapList",
2330
3194
  "protected": true,
2331
3195
  "type": {
2332
3196
  "primitive": "string"
@@ -2338,31 +3202,46 @@
2338
3202
  },
2339
3203
  "locationInModule": {
2340
3204
  "filename": "src/complex-computed-list.ts",
2341
- "line": 752
3205
+ "line": 686
2342
3206
  },
2343
3207
  "name": "terraformResource",
2344
- "overrides": "cdktn.ComplexMap",
3208
+ "overrides": "cdktn.MapList",
2345
3209
  "protected": true,
2346
3210
  "type": {
2347
3211
  "fqn": "cdktn.IInterpolatingParent"
2348
3212
  }
3213
+ },
3214
+ {
3215
+ "docs": {
3216
+ "stability": "experimental"
3217
+ },
3218
+ "locationInModule": {
3219
+ "filename": "src/complex-computed-list.ts",
3220
+ "line": 688
3221
+ },
3222
+ "name": "wrapsSet",
3223
+ "overrides": "cdktn.MapList",
3224
+ "protected": true,
3225
+ "type": {
3226
+ "primitive": "boolean"
3227
+ }
2349
3228
  }
2350
3229
  ],
2351
- "symbolId": "src/complex-computed-list:BooleanListMap"
3230
+ "symbolId": "src/complex-computed-list:BooleanMapList"
2352
3231
  },
2353
- "cdktn.BooleanMap": {
3232
+ "cdktn.BooleanMapMap": {
2354
3233
  "assembly": "cdktn",
2355
3234
  "docs": {
2356
3235
  "stability": "experimental"
2357
3236
  },
2358
- "fqn": "cdktn.BooleanMap",
3237
+ "fqn": "cdktn.BooleanMapMap",
2359
3238
  "initializer": {
2360
3239
  "docs": {
2361
3240
  "stability": "experimental"
2362
3241
  },
2363
3242
  "locationInModule": {
2364
3243
  "filename": "src/complex-computed-list.ts",
2365
- "line": 170
3244
+ "line": 271
2366
3245
  },
2367
3246
  "parameters": [
2368
3247
  {
@@ -2386,7 +3265,7 @@
2386
3265
  "kind": "class",
2387
3266
  "locationInModule": {
2388
3267
  "filename": "src/complex-computed-list.ts",
2389
- "line": 166
3268
+ "line": 267
2390
3269
  },
2391
3270
  "methods": [
2392
3271
  {
@@ -2395,7 +3274,7 @@
2395
3274
  },
2396
3275
  "locationInModule": {
2397
3276
  "filename": "src/complex-computed-list.ts",
2398
- "line": 183
3277
+ "line": 285
2399
3278
  },
2400
3279
  "name": "computeFqn",
2401
3280
  "returns": {
@@ -2410,7 +3289,7 @@
2410
3289
  },
2411
3290
  "locationInModule": {
2412
3291
  "filename": "src/complex-computed-list.ts",
2413
- "line": 177
3292
+ "line": 278
2414
3293
  },
2415
3294
  "name": "lookup",
2416
3295
  "parameters": [
@@ -2423,7 +3302,7 @@
2423
3302
  ],
2424
3303
  "returns": {
2425
3304
  "type": {
2426
- "fqn": "cdktn.IResolvable"
3305
+ "fqn": "cdktn.BooleanMap"
2427
3306
  }
2428
3307
  }
2429
3308
  },
@@ -2471,7 +3350,7 @@
2471
3350
  }
2472
3351
  }
2473
3352
  ],
2474
- "name": "BooleanMap",
3353
+ "name": "BooleanMapMap",
2475
3354
  "properties": [
2476
3355
  {
2477
3356
  "docs": {
@@ -2516,7 +3395,7 @@
2516
3395
  },
2517
3396
  "locationInModule": {
2518
3397
  "filename": "src/complex-computed-list.ts",
2519
- "line": 172
3398
+ "line": 273
2520
3399
  },
2521
3400
  "name": "terraformAttribute",
2522
3401
  "protected": true,
@@ -2530,7 +3409,7 @@
2530
3409
  },
2531
3410
  "locationInModule": {
2532
3411
  "filename": "src/complex-computed-list.ts",
2533
- "line": 171
3412
+ "line": 272
2534
3413
  },
2535
3414
  "name": "terraformResource",
2536
3415
  "protected": true,
@@ -2539,314 +3418,459 @@
2539
3418
  }
2540
3419
  }
2541
3420
  ],
2542
- "symbolId": "src/complex-computed-list:BooleanMap"
3421
+ "symbolId": "src/complex-computed-list:BooleanMapMap"
2543
3422
  },
2544
- "cdktn.BooleanMapList": {
3423
+ "cdktn.BundleOptions": {
2545
3424
  "assembly": "cdktn",
2546
- "base": "cdktn.MapList",
3425
+ "datatype": true,
2547
3426
  "docs": {
2548
- "stability": "experimental"
3427
+ "remarks": "A struct rather than positional parameters: adding a field is additive,\nadding a method parameter is not, and `bundle` is called through JSII where\nthat distinction is a breaking-change boundary.",
3428
+ "stability": "experimental",
3429
+ "summary": "Options handed to an {@link IAssetBundler} when it runs."
2549
3430
  },
2550
- "fqn": "cdktn.BooleanMapList",
2551
- "initializer": {
2552
- "docs": {
2553
- "stability": "experimental"
2554
- },
2555
- "locationInModule": {
2556
- "filename": "src/complex-computed-list.ts",
2557
- "line": 685
3431
+ "fqn": "cdktn.BundleOptions",
3432
+ "kind": "interface",
3433
+ "locationInModule": {
3434
+ "filename": "src/assets.ts",
3435
+ "line": 249
3436
+ },
3437
+ "name": "BundleOptions",
3438
+ "properties": [
3439
+ {
3440
+ "abstract": true,
3441
+ "docs": {
3442
+ "remarks": "The bundler produces its output here (or in a subdirectory) and\nreturns a {@link BundleResult} pointing at the finished artifact — see\n{@link IAssetBundler.bundle}.",
3443
+ "stability": "experimental",
3444
+ "summary": "A scratch directory the bundler may write into, owned and created by the caller."
3445
+ },
3446
+ "immutable": true,
3447
+ "locationInModule": {
3448
+ "filename": "src/assets.ts",
3449
+ "line": 266
3450
+ },
3451
+ "name": "outputDir",
3452
+ "type": {
3453
+ "primitive": "string"
3454
+ }
2558
3455
  },
2559
- "parameters": [
2560
- {
2561
- "name": "terraformResource",
2562
- "type": {
2563
- "fqn": "cdktn.IInterpolatingParent"
2564
- }
3456
+ {
3457
+ "abstract": true,
3458
+ "docs": {
3459
+ "remarks": "Exclusions (`exclude` / `ignoreStrategy`) are already applied: when any\nare configured this points at a filtered copy, not the original tree, so\nthe bundler reads exactly the file set the asset hash was taken over.",
3460
+ "stability": "experimental",
3461
+ "summary": "Absolute path to the asset's source file or directory. The bundler reads from here and must not modify it."
2565
3462
  },
2566
- {
2567
- "name": "terraformAttribute",
2568
- "type": {
2569
- "primitive": "string"
2570
- }
3463
+ "immutable": true,
3464
+ "locationInModule": {
3465
+ "filename": "src/assets.ts",
3466
+ "line": 258
2571
3467
  },
2572
- {
2573
- "name": "wrapsSet",
2574
- "type": {
2575
- "primitive": "boolean"
2576
- }
3468
+ "name": "source",
3469
+ "type": {
3470
+ "primitive": "string"
2577
3471
  }
2578
- ]
3472
+ }
3473
+ ],
3474
+ "symbolId": "src/assets:BundleOptions"
3475
+ },
3476
+ "cdktn.BundleOutputType": {
3477
+ "assembly": "cdktn",
3478
+ "docs": {
3479
+ "stability": "experimental",
3480
+ "summary": "The shape of a bundler's output, so staging and packaging can treat a single-file artifact (a tarball, a `.zip`) differently from a directory tree without inferring it from the path."
3481
+ },
3482
+ "fqn": "cdktn.BundleOutputType",
3483
+ "kind": "enum",
3484
+ "locationInModule": {
3485
+ "filename": "src/assets.ts",
3486
+ "line": 274
3487
+ },
3488
+ "members": [
3489
+ {
3490
+ "docs": {
3491
+ "remarks": "Packaged like an unbundled source directory. The default, and the only\nshape that predates archive support.",
3492
+ "stability": "experimental",
3493
+ "summary": "The output is a directory tree."
3494
+ },
3495
+ "name": "DIRECTORY"
3496
+ },
3497
+ {
3498
+ "docs": {
3499
+ "remarks": "A tarball or a deterministic `.zip`. Staged verbatim rather than\nre-archived, so `AssetType.FILE` no longer has to reject a bundler.",
3500
+ "stability": "experimental",
3501
+ "summary": "The output is a single file the bundler already produced in its final form."
3502
+ },
3503
+ "name": "FILE"
3504
+ }
3505
+ ],
3506
+ "name": "BundleOutputType",
3507
+ "symbolId": "src/assets:BundleOutputType"
3508
+ },
3509
+ "cdktn.BundleResult": {
3510
+ "assembly": "cdktn",
3511
+ "docs": {
3512
+ "remarks": "Carries the artifact path and its shape, or a declined state signalling the\ncaller should fall back. See {@link declined} for the decline protocol.",
3513
+ "stability": "experimental",
3514
+ "summary": "What a bundler produced, returned from {@link IAssetBundler.bundle}."
2579
3515
  },
3516
+ "fqn": "cdktn.BundleResult",
2580
3517
  "kind": "class",
2581
3518
  "locationInModule": {
2582
- "filename": "src/complex-computed-list.ts",
2583
- "line": 684
3519
+ "filename": "src/assets.ts",
3520
+ "line": 299
2584
3521
  },
2585
3522
  "methods": [
2586
3523
  {
2587
3524
  "docs": {
2588
- "stability": "experimental"
3525
+ "remarks": "Distinct from a thrown error, which is a hard failure.",
3526
+ "stability": "experimental",
3527
+ "summary": "The bundler declined to run here; the caller should fall back."
2589
3528
  },
2590
3529
  "locationInModule": {
2591
- "filename": "src/complex-computed-list.ts",
2592
- "line": 693
3530
+ "filename": "src/assets.ts",
3531
+ "line": 319
2593
3532
  },
2594
- "name": "get",
3533
+ "name": "declined",
3534
+ "returns": {
3535
+ "type": {
3536
+ "fqn": "cdktn.BundleResult"
3537
+ }
3538
+ },
3539
+ "static": true
3540
+ },
3541
+ {
3542
+ "docs": {
3543
+ "stability": "experimental",
3544
+ "summary": "A directory-tree artifact at `path`."
3545
+ },
3546
+ "locationInModule": {
3547
+ "filename": "src/assets.ts",
3548
+ "line": 303
3549
+ },
3550
+ "name": "directory",
2595
3551
  "parameters": [
2596
3552
  {
2597
- "name": "index",
3553
+ "name": "path",
2598
3554
  "type": {
2599
- "primitive": "number"
3555
+ "primitive": "string"
2600
3556
  }
2601
3557
  }
2602
3558
  ],
2603
3559
  "returns": {
2604
3560
  "type": {
2605
- "fqn": "cdktn.BooleanMap"
3561
+ "fqn": "cdktn.BundleResult"
2606
3562
  }
2607
- }
2608
- }
2609
- ],
2610
- "name": "BooleanMapList",
2611
- "properties": [
3563
+ },
3564
+ "static": true
3565
+ },
2612
3566
  {
2613
3567
  "docs": {
2614
- "stability": "experimental"
3568
+ "stability": "experimental",
3569
+ "summary": "A single-file artifact at `path` (a tarball, a `.zip`), staged verbatim."
2615
3570
  },
2616
3571
  "locationInModule": {
2617
- "filename": "src/complex-computed-list.ts",
2618
- "line": 687
3572
+ "filename": "src/assets.ts",
3573
+ "line": 310
2619
3574
  },
2620
- "name": "terraformAttribute",
2621
- "overrides": "cdktn.MapList",
2622
- "protected": true,
2623
- "type": {
2624
- "primitive": "string"
2625
- }
2626
- },
3575
+ "name": "file",
3576
+ "parameters": [
3577
+ {
3578
+ "name": "path",
3579
+ "type": {
3580
+ "primitive": "string"
3581
+ }
3582
+ }
3583
+ ],
3584
+ "returns": {
3585
+ "type": {
3586
+ "fqn": "cdktn.BundleResult"
3587
+ }
3588
+ },
3589
+ "static": true
3590
+ }
3591
+ ],
3592
+ "name": "BundleResult",
3593
+ "properties": [
2627
3594
  {
2628
3595
  "docs": {
2629
- "stability": "experimental"
3596
+ "stability": "experimental",
3597
+ "summary": "Whether the bundler declined to run, signalling the caller to fall back."
2630
3598
  },
3599
+ "immutable": true,
2631
3600
  "locationInModule": {
2632
- "filename": "src/complex-computed-list.ts",
2633
- "line": 686
3601
+ "filename": "src/assets.ts",
3602
+ "line": 336
2634
3603
  },
2635
- "name": "terraformResource",
2636
- "overrides": "cdktn.MapList",
2637
- "protected": true,
3604
+ "name": "isDeclined",
2638
3605
  "type": {
2639
- "fqn": "cdktn.IInterpolatingParent"
3606
+ "primitive": "boolean"
2640
3607
  }
2641
3608
  },
2642
3609
  {
2643
3610
  "docs": {
2644
- "stability": "experimental"
3611
+ "stability": "experimental",
3612
+ "summary": "The artifact's shape, or undefined when {@link isDeclined}."
2645
3613
  },
3614
+ "immutable": true,
2646
3615
  "locationInModule": {
2647
- "filename": "src/complex-computed-list.ts",
2648
- "line": 688
3616
+ "filename": "src/assets.ts",
3617
+ "line": 326
2649
3618
  },
2650
- "name": "wrapsSet",
2651
- "overrides": "cdktn.MapList",
2652
- "protected": true,
3619
+ "name": "outputType",
3620
+ "optional": true,
2653
3621
  "type": {
2654
- "primitive": "boolean"
3622
+ "fqn": "cdktn.BundleOutputType"
2655
3623
  }
2656
- }
2657
- ],
2658
- "symbolId": "src/complex-computed-list:BooleanMapList"
2659
- },
2660
- "cdktn.BooleanMapMap": {
2661
- "assembly": "cdktn",
2662
- "docs": {
2663
- "stability": "experimental"
2664
- },
2665
- "fqn": "cdktn.BooleanMapMap",
2666
- "initializer": {
2667
- "docs": {
2668
- "stability": "experimental"
2669
- },
2670
- "locationInModule": {
2671
- "filename": "src/complex-computed-list.ts",
2672
- "line": 271
2673
3624
  },
2674
- "parameters": [
2675
- {
2676
- "name": "terraformResource",
2677
- "type": {
2678
- "fqn": "cdktn.IInterpolatingParent"
2679
- }
3625
+ {
3626
+ "docs": {
3627
+ "stability": "experimental",
3628
+ "summary": "The artifact path, or undefined when {@link isDeclined}."
2680
3629
  },
2681
- {
2682
- "name": "terraformAttribute",
2683
- "type": {
2684
- "primitive": "string"
2685
- }
3630
+ "immutable": true,
3631
+ "locationInModule": {
3632
+ "filename": "src/assets.ts",
3633
+ "line": 331
3634
+ },
3635
+ "name": "path",
3636
+ "optional": true,
3637
+ "type": {
3638
+ "primitive": "string"
2686
3639
  }
2687
- ]
2688
- },
2689
- "interfaces": [
2690
- "cdktn.ITerraformAddressable",
2691
- "cdktn.IResolvable"
3640
+ }
2692
3641
  ],
3642
+ "symbolId": "src/assets:BundleResult"
3643
+ },
3644
+ "cdktn.BundlerKey": {
3645
+ "assembly": "cdktn",
3646
+ "docs": {
3647
+ "example": "const key = BundlerKey.of(\"docker\", image, command)\n .withEnv({ NODE_ENV: nodeEnv })\n .toString();",
3648
+ "remarks": "A `bundlerKey` has to serialize everything that can move a build's output;\ndone ad hoc, every bundler invents its own delimiter and forgets an input\ndifferently. This gives the convention one implementation: parts are joined\nwith a separator that is escaped inside values, so distinct inputs cannot\ncollide into the same key.",
3649
+ "stability": "experimental",
3650
+ "summary": "Builds an {@link IAssetBundler.bundlerKey} from an ordered set of parts."
3651
+ },
3652
+ "fqn": "cdktn.BundlerKey",
2693
3653
  "kind": "class",
2694
3654
  "locationInModule": {
2695
- "filename": "src/complex-computed-list.ts",
2696
- "line": 267
3655
+ "filename": "src/assets.ts",
3656
+ "line": 432
2697
3657
  },
2698
3658
  "methods": [
2699
3659
  {
2700
3660
  "docs": {
2701
- "stability": "experimental"
3661
+ "remarks": "Order is significant: it is part of what the key identifies.",
3662
+ "stability": "experimental",
3663
+ "summary": "Start a key from an ordered list of parts."
2702
3664
  },
2703
3665
  "locationInModule": {
2704
- "filename": "src/complex-computed-list.ts",
2705
- "line": 285
3666
+ "filename": "src/assets.ts",
3667
+ "line": 438
2706
3668
  },
2707
- "name": "computeFqn",
3669
+ "name": "of",
3670
+ "parameters": [
3671
+ {
3672
+ "name": "parts",
3673
+ "type": {
3674
+ "primitive": "string"
3675
+ },
3676
+ "variadic": true
3677
+ }
3678
+ ],
2708
3679
  "returns": {
2709
3680
  "type": {
2710
- "primitive": "string"
3681
+ "fqn": "cdktn.BundlerKey"
2711
3682
  }
2712
- }
3683
+ },
3684
+ "static": true,
3685
+ "variadic": true
2713
3686
  },
2714
3687
  {
2715
3688
  "docs": {
2716
- "stability": "experimental"
3689
+ "stability": "experimental",
3690
+ "summary": "Append parts, returning a new key."
2717
3691
  },
2718
3692
  "locationInModule": {
2719
- "filename": "src/complex-computed-list.ts",
2720
- "line": 278
3693
+ "filename": "src/assets.ts",
3694
+ "line": 451
2721
3695
  },
2722
- "name": "lookup",
3696
+ "name": "add",
2723
3697
  "parameters": [
2724
3698
  {
2725
- "name": "key",
3699
+ "name": "parts",
2726
3700
  "type": {
2727
3701
  "primitive": "string"
2728
- }
3702
+ },
3703
+ "variadic": true
2729
3704
  }
2730
3705
  ],
2731
3706
  "returns": {
2732
3707
  "type": {
2733
- "fqn": "cdktn.BooleanMap"
3708
+ "fqn": "cdktn.BundlerKey"
2734
3709
  }
2735
- }
3710
+ },
3711
+ "variadic": true
2736
3712
  },
2737
3713
  {
2738
3714
  "docs": {
2739
3715
  "stability": "experimental",
2740
- "summary": "Produce the Token's value at resolution time."
3716
+ "summary": "Render the collected parts to the string passed as `bundlerKey`."
2741
3717
  },
2742
3718
  "locationInModule": {
2743
- "filename": "src/complex-computed-list.ts",
2744
- "line": 43
3719
+ "filename": "src/assets.ts",
3720
+ "line": 469
2745
3721
  },
2746
- "name": "resolve",
2747
- "overrides": "cdktn.IResolvable",
2748
- "parameters": [
2749
- {
2750
- "name": "_context",
2751
- "type": {
2752
- "fqn": "cdktn.IResolveContext"
2753
- }
2754
- }
2755
- ],
3722
+ "name": "toString",
2756
3723
  "returns": {
2757
3724
  "type": {
2758
- "primitive": "any"
3725
+ "primitive": "string"
2759
3726
  }
2760
3727
  }
2761
3728
  },
2762
3729
  {
2763
3730
  "docs": {
2764
- "remarks": "Returns a reversible string representation.",
2765
3731
  "stability": "experimental",
2766
- "summary": "Return a string representation of this resolvable object."
3732
+ "summary": "Append `key=value` parts for a record, sorted by key so the result does not depend on property order."
2767
3733
  },
2768
3734
  "locationInModule": {
2769
- "filename": "src/complex-computed-list.ts",
2770
- "line": 47
3735
+ "filename": "src/assets.ts",
3736
+ "line": 459
2771
3737
  },
2772
- "name": "toString",
2773
- "overrides": "cdktn.IResolvable",
3738
+ "name": "withEnv",
3739
+ "parameters": [
3740
+ {
3741
+ "name": "entries",
3742
+ "type": {
3743
+ "collection": {
3744
+ "elementtype": {
3745
+ "primitive": "string"
3746
+ },
3747
+ "kind": "map"
3748
+ }
3749
+ }
3750
+ }
3751
+ ],
2774
3752
  "returns": {
2775
3753
  "type": {
2776
- "primitive": "string"
3754
+ "fqn": "cdktn.BundlerKey"
2777
3755
  }
2778
3756
  }
2779
3757
  }
2780
3758
  ],
2781
- "name": "BooleanMapMap",
2782
- "properties": [
3759
+ "name": "BundlerKey",
3760
+ "symbolId": "src/assets:BundlerKey"
3761
+ },
3762
+ "cdktn.ChainBundler": {
3763
+ "assembly": "cdktn",
3764
+ "docs": {
3765
+ "remarks": "This is how a local bundler and a Docker bundler compose without being\nrewritten as one: each leg declines (`BundleResult.declined()`) when it\ncannot run here, and the chain moves to the next. The first non-declining\nresult wins; if all decline, `bundle` throws, since staging has nothing to\nfall back to. Each leg builds into its own output directory, so a leg that\nwrites before declining cannot leak partial files into the leg that wins.\n\nThe chain's `bundlerKey` folds in *every* leg's key, so identity is the same\nregardless of which leg ends up running — a build that could have gone local\nor Docker is one asset, not two.\n\nThis makes the legs interchangeable only if they produce equivalent output.\nUnder `SOURCE` hashing they must: a machine with a host tool and one without\nrun different legs, and non-equivalent legs would stage different bytes under\nthe same hash. Use `OUTPUT` hashing when legs may diverge, so identity tracks\nthe artifact each leg actually produced.",
3766
+ "stability": "experimental",
3767
+ "summary": "Composes bundlers into a \"try each in order until one runs\" chain."
3768
+ },
3769
+ "fqn": "cdktn.ChainBundler",
3770
+ "interfaces": [
3771
+ "cdktn.IAssetBundler"
3772
+ ],
3773
+ "kind": "class",
3774
+ "locationInModule": {
3775
+ "filename": "src/assets.ts",
3776
+ "line": 494
3777
+ },
3778
+ "methods": [
2783
3779
  {
2784
3780
  "docs": {
2785
- "remarks": "If this returns an empty array the stack will not be attached.",
3781
+ "remarks": "earlier bundlers are preferred.",
2786
3782
  "stability": "experimental",
2787
- "summary": "The creation stack of this resolvable which will be appended to errors thrown during resolution."
3783
+ "summary": "Chain bundlers in the order given;"
2788
3784
  },
2789
- "immutable": true,
2790
3785
  "locationInModule": {
2791
- "filename": "src/complex-computed-list.ts",
2792
- "line": 19
3786
+ "filename": "src/assets.ts",
3787
+ "line": 498
2793
3788
  },
2794
- "name": "creationStack",
2795
- "overrides": "cdktn.IResolvable",
2796
- "type": {
2797
- "collection": {
2798
- "elementtype": {
2799
- "primitive": "string"
3789
+ "name": "of",
3790
+ "parameters": [
3791
+ {
3792
+ "name": "bundlers",
3793
+ "type": {
3794
+ "fqn": "cdktn.IAssetBundler"
2800
3795
  },
2801
- "kind": "array"
3796
+ "variadic": true
2802
3797
  }
2803
- }
3798
+ ],
3799
+ "returns": {
3800
+ "type": {
3801
+ "fqn": "cdktn.ChainBundler"
3802
+ }
3803
+ },
3804
+ "static": true,
3805
+ "variadic": true
2804
3806
  },
2805
3807
  {
2806
3808
  "docs": {
2807
- "stability": "experimental"
3809
+ "remarks": "Implementations write into `options.outputDir` and never write back to\n`options.source`. The returned path must exist and match its declared\nshape, or staging rejects it.\n\nA bundler that cannot run in this environment returns\n`BundleResult.declined()` so a {@link ChainBundler} can fall through to\nthe next; a thrown error is a hard failure, not a decline.",
3810
+ "stability": "experimental",
3811
+ "summary": "Produce the artifact and return a {@link BundleResult} describing it."
2808
3812
  },
2809
- "immutable": true,
2810
3813
  "locationInModule": {
2811
- "filename": "src/complex-computed-list.ts",
2812
- "line": 35
3814
+ "filename": "src/assets.ts",
3815
+ "line": 532
2813
3816
  },
2814
- "name": "fqn",
2815
- "overrides": "cdktn.ITerraformAddressable",
2816
- "type": {
2817
- "primitive": "string"
3817
+ "name": "bundle",
3818
+ "overrides": "cdktn.IAssetBundler",
3819
+ "parameters": [
3820
+ {
3821
+ "name": "options",
3822
+ "type": {
3823
+ "fqn": "cdktn.BundleOptions"
3824
+ }
3825
+ }
3826
+ ],
3827
+ "returns": {
3828
+ "type": {
3829
+ "fqn": "cdktn.BundleResult"
3830
+ }
2818
3831
  }
2819
- },
3832
+ }
3833
+ ],
3834
+ "name": "ChainBundler",
3835
+ "properties": [
2820
3836
  {
2821
3837
  "docs": {
2822
- "stability": "experimental"
3838
+ "remarks": "The source tree alone cannot see the build, so swapping a `node:18` base\nimage for `node:20` would otherwise leave identity unchanged. Under\n`SOURCE` hashing this is the only channel by which the build reaches\nidentity, so it must serialize every input that can move the output, or a\nchanged build silently reuses a stale artifact. {@link BundlerKey} builds\none from an ordered set of parts.\n\nMirrors {@link IIgnoreStrategy.cacheKey}: omit it when the build cannot be\nsummarized as a string, and fall back to `extraHash`.",
3839
+ "stability": "experimental",
3840
+ "summary": "A value identifying the build, folded into the asset hash."
2823
3841
  },
3842
+ "immutable": true,
2824
3843
  "locationInModule": {
2825
- "filename": "src/complex-computed-list.ts",
2826
- "line": 273
3844
+ "filename": "src/assets.ts",
3845
+ "line": 502
2827
3846
  },
2828
- "name": "terraformAttribute",
2829
- "protected": true,
3847
+ "name": "bundlerKey",
3848
+ "optional": true,
3849
+ "overrides": "cdktn.IAssetBundler",
2830
3850
  "type": {
2831
3851
  "primitive": "string"
2832
3852
  }
2833
3853
  },
2834
3854
  {
2835
3855
  "docs": {
2836
- "stability": "experimental"
3856
+ "remarks": "A file-producing bundler (`BundleResult.file`) staged with\n`AssetType.FILE` would otherwise take the source path's basename, which is\na directory name when the source is a directory. Declaring the name here\nlets the artifact reflect what the bundler produces. It is static\nconfiguration, needed at construction before a deferred `SOURCE` build\nruns, not the file's runtime name.\n\nValid only for a file-producing bundler: setting it with a directory\npackaging (anything but `AssetType.FILE`) is rejected at construction.",
3857
+ "stability": "experimental",
3858
+ "summary": "The name a single-file artifact is staged under (e.g. `archive.zip`)."
2837
3859
  },
3860
+ "immutable": true,
2838
3861
  "locationInModule": {
2839
- "filename": "src/complex-computed-list.ts",
2840
- "line": 272
3862
+ "filename": "src/assets.ts",
3863
+ "line": 504
2841
3864
  },
2842
- "name": "terraformResource",
2843
- "protected": true,
3865
+ "name": "outputFileName",
3866
+ "optional": true,
3867
+ "overrides": "cdktn.IAssetBundler",
2844
3868
  "type": {
2845
- "fqn": "cdktn.IInterpolatingParent"
3869
+ "primitive": "string"
2846
3870
  }
2847
3871
  }
2848
3872
  ],
2849
- "symbolId": "src/complex-computed-list:BooleanMapMap"
3873
+ "symbolId": "src/assets:ChainBundler"
2850
3874
  },
2851
3875
  "cdktn.CloudBackend": {
2852
3876
  "assembly": "cdktn",
@@ -5408,7 +6432,7 @@
5408
6432
  "assembly": "cdktn",
5409
6433
  "base": "cdktn.TerraformResource",
5410
6434
  "docs": {
5411
- "remarks": "You can use the DataResource resource without requiring or configuring a provider.\n\nThe DataResource resource is useful for storing values which need to follow a manage resource lifecycle, and for triggering provisioners when there is no other logical managed resource in which to place them.\n\nIt requires Terraform 1.4 or later.\n\nIt is also possible to generate these bindings by adding \"terraform.io/builtin/terraform\" to the \"terraformProviders\" key in your cdktf.json file and running \"cdktn get\".\n\nhttps://developer.hashicorp.com/terraform/language/resources/terraform-data",
6435
+ "remarks": "You can use the DataResource resource without requiring or configuring a provider.\n\nThe DataResource resource is useful for storing values which need to follow a manage resource lifecycle, and for triggering provisioners when there is no other logical managed resource in which to place them.\n\nIt requires Terraform >=1.4.0 or OpenTofu >=1.6.0.\n\nIt is also possible to generate these bindings by adding \"terraform.io/builtin/terraform\" to the \"terraformProviders\" key in your cdktf.json file and running \"cdktn get\".\n\nhttps://developer.hashicorp.com/terraform/language/resources/terraform-data",
5412
6436
  "stability": "experimental",
5413
6437
  "summary": "The DataResource implements the standard resource lifecycle, but does not directly take any other actions."
5414
6438
  },
@@ -6686,7 +7710,7 @@
6686
7710
  },
6687
7711
  "locationInModule": {
6688
7712
  "filename": "src/terraform-iterator.ts",
6689
- "line": 506
7713
+ "line": 503
6690
7714
  },
6691
7715
  "parameters": [
6692
7716
  {
@@ -6745,7 +7769,7 @@
6745
7769
  "kind": "class",
6746
7770
  "locationInModule": {
6747
7771
  "filename": "src/terraform-iterator.ts",
6748
- "line": 505
7772
+ "line": 502
6749
7773
  },
6750
7774
  "name": "DynamicListTerraformIterator",
6751
7775
  "symbolId": "src/terraform-iterator:DynamicListTerraformIterator"
@@ -6777,14 +7801,119 @@
6777
7801
  "filename": "src/tokens/token.ts",
6778
7802
  "line": 345
6779
7803
  },
6780
- "name": "displayHint",
7804
+ "name": "displayHint",
7805
+ "optional": true,
7806
+ "type": {
7807
+ "primitive": "string"
7808
+ }
7809
+ }
7810
+ ],
7811
+ "symbolId": "src/tokens/token:EncodingOptions"
7812
+ },
7813
+ "cdktn.ExcludeIgnoreStrategy": {
7814
+ "assembly": "cdktn",
7815
+ "docs": {
7816
+ "stability": "experimental",
7817
+ "summary": "The default ignore strategy: exact paths, `*.ext` suffixes, and directories (with everything inside them)."
7818
+ },
7819
+ "fqn": "cdktn.ExcludeIgnoreStrategy",
7820
+ "initializer": {
7821
+ "docs": {
7822
+ "stability": "experimental"
7823
+ },
7824
+ "locationInModule": {
7825
+ "filename": "src/ignore-strategy.ts",
7826
+ "line": 94
7827
+ },
7828
+ "parameters": [
7829
+ {
7830
+ "name": "exclude",
7831
+ "type": {
7832
+ "collection": {
7833
+ "elementtype": {
7834
+ "primitive": "string"
7835
+ },
7836
+ "kind": "array"
7837
+ }
7838
+ }
7839
+ }
7840
+ ]
7841
+ },
7842
+ "interfaces": [
7843
+ "cdktn.IIgnoreStrategy"
7844
+ ],
7845
+ "kind": "class",
7846
+ "locationInModule": {
7847
+ "filename": "src/ignore-strategy.ts",
7848
+ "line": 85
7849
+ },
7850
+ "methods": [
7851
+ {
7852
+ "docs": {
7853
+ "stability": "experimental",
7854
+ "summary": "Whether the given entry should be excluded."
7855
+ },
7856
+ "locationInModule": {
7857
+ "filename": "src/ignore-strategy.ts",
7858
+ "line": 99
7859
+ },
7860
+ "name": "ignores",
7861
+ "overrides": "cdktn.IIgnoreStrategy",
7862
+ "parameters": [
7863
+ {
7864
+ "name": "query",
7865
+ "type": {
7866
+ "fqn": "cdktn.IgnoreQuery"
7867
+ }
7868
+ }
7869
+ ],
7870
+ "returns": {
7871
+ "type": {
7872
+ "primitive": "boolean"
7873
+ }
7874
+ }
7875
+ }
7876
+ ],
7877
+ "name": "ExcludeIgnoreStrategy",
7878
+ "properties": [
7879
+ {
7880
+ "docs": {
7881
+ "remarks": "Two strategies that return the same\n`cacheKey` must exclude the same paths.\n\nCallers such as `AssetStaging`'s result cache key on a JSON-serializable\nrepresentation of their inputs, which a strategy instance is not. Omit\nthis when the strategy's behavior can't be summarized this way; the\ncaller then has to treat every call as uncacheable.",
7882
+ "stability": "experimental",
7883
+ "summary": "A value identifying this strategy's exclusion behavior, suitable for folding into a cache key."
7884
+ },
7885
+ "immutable": true,
7886
+ "locationInModule": {
7887
+ "filename": "src/ignore-strategy.ts",
7888
+ "line": 88
7889
+ },
7890
+ "name": "cacheKey",
7891
+ "optional": true,
7892
+ "overrides": "cdktn.IIgnoreStrategy",
7893
+ "type": {
7894
+ "primitive": "string"
7895
+ }
7896
+ },
7897
+ {
7898
+ "docs": {
7899
+ "remarks": "When `true` (the default), the walkers stop descending as soon as a\ndirectory is excluded — cheaper, and correct for a strategy whose\npatterns never re-include a path below an excluded parent.\n\nA strategy with negation patterns must set this to `false`:\n`.gitignore` / `.dockerignore` allow `node_modules` followed by\n`!node_modules/keep`, which is only reachable if the walk descends into\nthe excluded `node_modules` and asks about `node_modules/keep`. The\nexcluded directory entry itself is still omitted; only the descent\nchanges. Opting out costs a full walk of excluded subtrees.",
7900
+ "stability": "experimental",
7901
+ "summary": "Whether excluding a directory also excludes everything beneath it."
7902
+ },
7903
+ "immutable": true,
7904
+ "locationInModule": {
7905
+ "filename": "src/ignore-strategy.ts",
7906
+ "line": 92
7907
+ },
7908
+ "name": "pruneExcludedDirectories",
6781
7909
  "optional": true,
7910
+ "overrides": "cdktn.IIgnoreStrategy",
6782
7911
  "type": {
6783
- "primitive": "string"
7912
+ "primitive": "boolean"
6784
7913
  }
6785
7914
  }
6786
7915
  ],
6787
- "symbolId": "src/tokens/token:EncodingOptions"
7916
+ "symbolId": "src/ignore-strategy:ExcludeIgnoreStrategy"
6788
7917
  },
6789
7918
  "cdktn.FileProvisioner": {
6790
7919
  "assembly": "cdktn",
@@ -11253,35 +12382,340 @@
11253
12382
  {
11254
12383
  "abstract": true,
11255
12384
  "docs": {
11256
- "remarks": "Defaults to disabled.",
12385
+ "remarks": "Defaults to disabled.",
12386
+ "stability": "experimental",
12387
+ "summary": "(Optional) The address of the unlock REST endpoint."
12388
+ },
12389
+ "immutable": true,
12390
+ "locationInModule": {
12391
+ "filename": "src/backends/http-backend.ts",
12392
+ "line": 82
12393
+ },
12394
+ "name": "unlockAddress",
12395
+ "optional": true,
12396
+ "type": {
12397
+ "primitive": "string"
12398
+ }
12399
+ },
12400
+ {
12401
+ "abstract": true,
12402
+ "docs": {
12403
+ "remarks": "Defaults to UNLOCK.",
12404
+ "stability": "experimental",
12405
+ "summary": "(Optional) The HTTP method to use when unlocking."
12406
+ },
12407
+ "immutable": true,
12408
+ "locationInModule": {
12409
+ "filename": "src/backends/http-backend.ts",
12410
+ "line": 86
12411
+ },
12412
+ "name": "unlockMethod",
12413
+ "optional": true,
12414
+ "type": {
12415
+ "primitive": "string"
12416
+ }
12417
+ },
12418
+ {
12419
+ "abstract": true,
12420
+ "docs": {
12421
+ "remarks": "Defaults to POST.",
12422
+ "stability": "experimental",
12423
+ "summary": "(Optional) HTTP method to use when updating state."
12424
+ },
12425
+ "immutable": true,
12426
+ "locationInModule": {
12427
+ "filename": "src/backends/http-backend.ts",
12428
+ "line": 70
12429
+ },
12430
+ "name": "updateMethod",
12431
+ "optional": true,
12432
+ "type": {
12433
+ "primitive": "string"
12434
+ }
12435
+ },
12436
+ {
12437
+ "abstract": true,
12438
+ "docs": {
12439
+ "stability": "experimental",
12440
+ "summary": "(Optional) The username for HTTP basic authentication."
12441
+ },
12442
+ "immutable": true,
12443
+ "locationInModule": {
12444
+ "filename": "src/backends/http-backend.ts",
12445
+ "line": 90
12446
+ },
12447
+ "name": "username",
12448
+ "optional": true,
12449
+ "type": {
12450
+ "primitive": "string"
12451
+ }
12452
+ }
12453
+ ],
12454
+ "symbolId": "src/backends/http-backend:HttpBackendConfig"
12455
+ },
12456
+ "cdktn.IAnyProducer": {
12457
+ "assembly": "cdktn",
12458
+ "docs": {
12459
+ "stability": "experimental",
12460
+ "summary": "Interface for lazy untyped value producers."
12461
+ },
12462
+ "fqn": "cdktn.IAnyProducer",
12463
+ "kind": "interface",
12464
+ "locationInModule": {
12465
+ "filename": "src/tokens/lazy.ts",
12466
+ "line": 41
12467
+ },
12468
+ "methods": [
12469
+ {
12470
+ "abstract": true,
12471
+ "docs": {
12472
+ "stability": "experimental",
12473
+ "summary": "Produce the value."
12474
+ },
12475
+ "locationInModule": {
12476
+ "filename": "src/tokens/lazy.ts",
12477
+ "line": 45
12478
+ },
12479
+ "name": "produce",
12480
+ "parameters": [
12481
+ {
12482
+ "name": "context",
12483
+ "type": {
12484
+ "fqn": "cdktn.IResolveContext"
12485
+ }
12486
+ }
12487
+ ],
12488
+ "returns": {
12489
+ "type": {
12490
+ "primitive": "any"
12491
+ }
12492
+ }
12493
+ }
12494
+ ],
12495
+ "name": "IAnyProducer",
12496
+ "symbolId": "src/tokens/lazy:IAnyProducer"
12497
+ },
12498
+ "cdktn.IAspect": {
12499
+ "assembly": "cdktn",
12500
+ "docs": {
12501
+ "stability": "experimental",
12502
+ "summary": "Represents an Aspect."
12503
+ },
12504
+ "fqn": "cdktn.IAspect",
12505
+ "kind": "interface",
12506
+ "locationInModule": {
12507
+ "filename": "src/aspect.ts",
12508
+ "line": 12
12509
+ },
12510
+ "methods": [
12511
+ {
12512
+ "abstract": true,
12513
+ "docs": {
12514
+ "stability": "experimental",
12515
+ "summary": "All aspects can visit an IConstruct."
12516
+ },
12517
+ "locationInModule": {
12518
+ "filename": "src/aspect.ts",
12519
+ "line": 16
12520
+ },
12521
+ "name": "visit",
12522
+ "parameters": [
12523
+ {
12524
+ "name": "node",
12525
+ "type": {
12526
+ "fqn": "constructs.IConstruct"
12527
+ }
12528
+ }
12529
+ ]
12530
+ }
12531
+ ],
12532
+ "name": "IAspect",
12533
+ "symbolId": "src/aspect:IAspect"
12534
+ },
12535
+ "cdktn.IAsset": {
12536
+ "assembly": "cdktn",
12537
+ "docs": {
12538
+ "stability": "experimental",
12539
+ "summary": "Common interface for all assets."
12540
+ },
12541
+ "fqn": "cdktn.IAsset",
12542
+ "kind": "interface",
12543
+ "locationInModule": {
12544
+ "filename": "src/assets.ts",
12545
+ "line": 17
12546
+ },
12547
+ "name": "IAsset",
12548
+ "properties": [
12549
+ {
12550
+ "abstract": true,
12551
+ "docs": {
12552
+ "remarks": "Being a plain string, it can be used in construct IDs to force a new\nresource when the content hash changes.",
12553
+ "stability": "experimental",
12554
+ "summary": "A hash of this asset, available at construction time."
12555
+ },
12556
+ "immutable": true,
12557
+ "locationInModule": {
12558
+ "filename": "src/assets.ts",
12559
+ "line": 24
12560
+ },
12561
+ "name": "assetHash",
12562
+ "type": {
12563
+ "primitive": "string"
12564
+ }
12565
+ }
12566
+ ],
12567
+ "symbolId": "src/assets:IAsset"
12568
+ },
12569
+ "cdktn.IAssetBundler": {
12570
+ "assembly": "cdktn",
12571
+ "docs": {
12572
+ "remarks": "This is the extension point for asset bundling: core ships no bundler.\nDocker, esbuild, pip, `go build`, and similar are an open-ended, non\ncloud-specific set, so each lives in its own package and implements this\none interface — the same way {@link IIgnoreStrategy} lets richer exclusion\nlive outside core. Users pass an instance via the consuming construct's\n`bundler` option.\n\n`bundle` runs during the owning construct's `onSynthesize` hook and may\ntouch the filesystem. Deferring it there keeps it skippable when the asset's\nstack is not being synthesized, which holds as long as the hash is taken\nover the source rather than the built output.\n\nBundlers compose through {@link ChainBundler} rather than a hierarchy: a\nbundler declines (see {@link BundleResult.declined}) instead of failing when\nit cannot run, and the chain falls through to the next.",
12573
+ "stability": "experimental",
12574
+ "summary": "Transforms a source tree into a built artifact. Runs at synth, before the output is packaged and staged."
12575
+ },
12576
+ "fqn": "cdktn.IAssetBundler",
12577
+ "kind": "interface",
12578
+ "locationInModule": {
12579
+ "filename": "src/assets.ts",
12580
+ "line": 369
12581
+ },
12582
+ "methods": [
12583
+ {
12584
+ "abstract": true,
12585
+ "docs": {
12586
+ "remarks": "Implementations write into `options.outputDir` and never write back to\n`options.source`. The returned path must exist and match its declared\nshape, or staging rejects it.\n\nA bundler that cannot run in this environment returns\n`BundleResult.declined()` so a {@link ChainBundler} can fall through to\nthe next; a thrown error is a hard failure, not a decline.",
12587
+ "stability": "experimental",
12588
+ "summary": "Produce the artifact and return a {@link BundleResult} describing it."
12589
+ },
12590
+ "locationInModule": {
12591
+ "filename": "src/assets.ts",
12592
+ "line": 415
12593
+ },
12594
+ "name": "bundle",
12595
+ "parameters": [
12596
+ {
12597
+ "name": "options",
12598
+ "type": {
12599
+ "fqn": "cdktn.BundleOptions"
12600
+ }
12601
+ }
12602
+ ],
12603
+ "returns": {
12604
+ "type": {
12605
+ "fqn": "cdktn.BundleResult"
12606
+ }
12607
+ }
12608
+ }
12609
+ ],
12610
+ "name": "IAssetBundler",
12611
+ "properties": [
12612
+ {
12613
+ "abstract": true,
12614
+ "docs": {
12615
+ "default": "- the build does not contribute to the hash",
12616
+ "remarks": "The source tree alone cannot see the build, so swapping a `node:18` base\nimage for `node:20` would otherwise leave identity unchanged. Under\n`SOURCE` hashing this is the only channel by which the build reaches\nidentity, so it must serialize every input that can move the output, or a\nchanged build silently reuses a stale artifact. {@link BundlerKey} builds\none from an ordered set of parts.\n\nMirrors {@link IIgnoreStrategy.cacheKey}: omit it when the build cannot be\nsummarized as a string, and fall back to `extraHash`.",
12617
+ "stability": "experimental",
12618
+ "summary": "A value identifying the build, folded into the asset hash."
12619
+ },
12620
+ "immutable": true,
12621
+ "locationInModule": {
12622
+ "filename": "src/assets.ts",
12623
+ "line": 385
12624
+ },
12625
+ "name": "bundlerKey",
12626
+ "optional": true,
12627
+ "type": {
12628
+ "primitive": "string"
12629
+ }
12630
+ },
12631
+ {
12632
+ "abstract": true,
12633
+ "docs": {
12634
+ "default": "- the source path's basename",
12635
+ "remarks": "A file-producing bundler (`BundleResult.file`) staged with\n`AssetType.FILE` would otherwise take the source path's basename, which is\na directory name when the source is a directory. Declaring the name here\nlets the artifact reflect what the bundler produces. It is static\nconfiguration, needed at construction before a deferred `SOURCE` build\nruns, not the file's runtime name.\n\nValid only for a file-producing bundler: setting it with a directory\npackaging (anything but `AssetType.FILE`) is rejected at construction.",
12636
+ "stability": "experimental",
12637
+ "summary": "The name a single-file artifact is staged under (e.g. `archive.zip`)."
12638
+ },
12639
+ "immutable": true,
12640
+ "locationInModule": {
12641
+ "filename": "src/assets.ts",
12642
+ "line": 402
12643
+ },
12644
+ "name": "outputFileName",
12645
+ "optional": true,
12646
+ "type": {
12647
+ "primitive": "string"
12648
+ }
12649
+ }
12650
+ ],
12651
+ "symbolId": "src/assets:IAssetBundler"
12652
+ },
12653
+ "cdktn.IAssetPackaging": {
12654
+ "assembly": "cdktn",
12655
+ "docs": {
12656
+ "remarks": "Packaging answers two independent questions: how the artifact is produced\n(copy, zip, tar.gz, ...) and whether the result is a directory or a single\nfile. A closed enum can only ever answer the second one, so it is an\ninterface rather than an enum — custom formats (e.g. `tar.bz2`) need no\ncore change.",
12657
+ "stability": "experimental",
12658
+ "summary": "How a staged asset is produced and what shape it takes on disk."
12659
+ },
12660
+ "fqn": "cdktn.IAssetPackaging",
12661
+ "kind": "interface",
12662
+ "locationInModule": {
12663
+ "filename": "src/assets.ts",
12664
+ "line": 94
12665
+ },
12666
+ "methods": [
12667
+ {
12668
+ "abstract": true,
12669
+ "docs": {
12670
+ "stability": "experimental",
12671
+ "summary": "Write the packaged result to `options.target`."
12672
+ },
12673
+ "locationInModule": {
12674
+ "filename": "src/assets.ts",
12675
+ "line": 134
12676
+ },
12677
+ "name": "pack",
12678
+ "parameters": [
12679
+ {
12680
+ "name": "options",
12681
+ "type": {
12682
+ "fqn": "cdktn.PackOptions"
12683
+ }
12684
+ }
12685
+ ]
12686
+ }
12687
+ ],
12688
+ "name": "IAssetPackaging",
12689
+ "properties": [
12690
+ {
12691
+ "abstract": true,
12692
+ "docs": {
12693
+ "remarks": "Independent of `producesDirectory` and `omitsDirectoryEntries`, both of\nwhich describe the output: a `tar.gz` packaging takes a directory source\nyet emits a single file. Bundler output is always a directory, so a\npackaging that is `false` here cannot stage it.",
11257
12694
  "stability": "experimental",
11258
- "summary": "(Optional) The address of the unlock REST endpoint."
12695
+ "summary": "Whether `pack` accepts a directory as its `source`."
11259
12696
  },
11260
12697
  "immutable": true,
11261
12698
  "locationInModule": {
11262
- "filename": "src/backends/http-backend.ts",
11263
- "line": 82
12699
+ "filename": "src/assets.ts",
12700
+ "line": 116
11264
12701
  },
11265
- "name": "unlockAddress",
11266
- "optional": true,
12702
+ "name": "acceptsDirectorySource",
11267
12703
  "type": {
11268
- "primitive": "string"
12704
+ "primitive": "boolean"
11269
12705
  }
11270
12706
  },
11271
12707
  {
11272
12708
  "abstract": true,
11273
12709
  "docs": {
11274
- "remarks": "Defaults to UNLOCK.",
11275
12710
  "stability": "experimental",
11276
- "summary": "(Optional) The HTTP method to use when unlocking."
12711
+ "summary": "Appended to the staged artifact name, e.g. \".zip\", \"\", \".tar.bz2\"."
11277
12712
  },
11278
12713
  "immutable": true,
11279
12714
  "locationInModule": {
11280
- "filename": "src/backends/http-backend.ts",
11281
- "line": 86
12715
+ "filename": "src/assets.ts",
12716
+ "line": 98
11282
12717
  },
11283
- "name": "unlockMethod",
11284
- "optional": true,
12718
+ "name": "extension",
11285
12719
  "type": {
11286
12720
  "primitive": "string"
11287
12721
  }
@@ -11289,70 +12723,76 @@
11289
12723
  {
11290
12724
  "abstract": true,
11291
12725
  "docs": {
11292
- "remarks": "Defaults to POST.",
12726
+ "remarks": "`hashPath`'s `archive` frame\nmust agree with this or the hash and the artifact describe different\nfile sets.\n\n`ZipPackaging` sets this because `archiveSync` never emits ZIP directory\nentries. A directory-producing packaging that mirrors the source tree\n(e.g. `DirectoryPackaging`) leaves this false, since its directories are\nreal entries on disk.",
11293
12727
  "stability": "experimental",
11294
- "summary": "(Optional) HTTP method to use when updating state."
12728
+ "summary": "Whether `pack` emits an artifact with no directory entries of its own — only the ignore-strategy-aware source walk."
11295
12729
  },
11296
12730
  "immutable": true,
11297
12731
  "locationInModule": {
11298
- "filename": "src/backends/http-backend.ts",
11299
- "line": 70
12732
+ "filename": "src/assets.ts",
12733
+ "line": 129
11300
12734
  },
11301
- "name": "updateMethod",
11302
- "optional": true,
12735
+ "name": "omitsDirectoryEntries",
11303
12736
  "type": {
11304
- "primitive": "string"
12737
+ "primitive": "boolean"
11305
12738
  }
11306
12739
  },
11307
12740
  {
11308
12741
  "abstract": true,
11309
12742
  "docs": {
12743
+ "remarks": "Publishers branch on this to decide whether they upload one object or\nsync a tree.",
11310
12744
  "stability": "experimental",
11311
- "summary": "(Optional) The username for HTTP basic authentication."
12745
+ "summary": "Whether the staged result is a directory rather than a single file."
11312
12746
  },
11313
12747
  "immutable": true,
11314
12748
  "locationInModule": {
11315
- "filename": "src/backends/http-backend.ts",
11316
- "line": 90
12749
+ "filename": "src/assets.ts",
12750
+ "line": 106
11317
12751
  },
11318
- "name": "username",
11319
- "optional": true,
12752
+ "name": "producesDirectory",
11320
12753
  "type": {
11321
- "primitive": "string"
12754
+ "primitive": "boolean"
11322
12755
  }
11323
12756
  }
11324
12757
  ],
11325
- "symbolId": "src/backends/http-backend:HttpBackendConfig"
12758
+ "symbolId": "src/assets:IAssetPackaging"
11326
12759
  },
11327
- "cdktn.IAnyProducer": {
12760
+ "cdktn.IFragmentConcatenator": {
11328
12761
  "assembly": "cdktn",
11329
12762
  "docs": {
12763
+ "remarks": "Interface so it could potentially be exposed over jsii.",
11330
12764
  "stability": "experimental",
11331
- "summary": "Interface for lazy untyped value producers."
12765
+ "summary": "Function used to concatenate symbols in the target document language."
11332
12766
  },
11333
- "fqn": "cdktn.IAnyProducer",
12767
+ "fqn": "cdktn.IFragmentConcatenator",
11334
12768
  "kind": "interface",
11335
12769
  "locationInModule": {
11336
- "filename": "src/tokens/lazy.ts",
11337
- "line": 41
12770
+ "filename": "src/tokens/resolvable.ts",
12771
+ "line": 144
11338
12772
  },
11339
12773
  "methods": [
11340
12774
  {
11341
12775
  "abstract": true,
11342
12776
  "docs": {
11343
12777
  "stability": "experimental",
11344
- "summary": "Produce the value."
12778
+ "summary": "Join the fragment on the left and on the right."
11345
12779
  },
11346
12780
  "locationInModule": {
11347
- "filename": "src/tokens/lazy.ts",
11348
- "line": 45
12781
+ "filename": "src/tokens/resolvable.ts",
12782
+ "line": 148
11349
12783
  },
11350
- "name": "produce",
12784
+ "name": "join",
11351
12785
  "parameters": [
11352
12786
  {
11353
- "name": "context",
12787
+ "name": "left",
11354
12788
  "type": {
11355
- "fqn": "cdktn.IResolveContext"
12789
+ "primitive": "any"
12790
+ }
12791
+ },
12792
+ {
12793
+ "name": "right",
12794
+ "type": {
12795
+ "primitive": "any"
11356
12796
  }
11357
12797
  }
11358
12798
  ],
@@ -11363,94 +12803,94 @@
11363
12803
  }
11364
12804
  }
11365
12805
  ],
11366
- "name": "IAnyProducer",
11367
- "symbolId": "src/tokens/lazy:IAnyProducer"
12806
+ "name": "IFragmentConcatenator",
12807
+ "symbolId": "src/tokens/resolvable:IFragmentConcatenator"
11368
12808
  },
11369
- "cdktn.IAspect": {
12809
+ "cdktn.IIgnoreStrategy": {
11370
12810
  "assembly": "cdktn",
11371
12811
  "docs": {
12812
+ "remarks": "Core ships only the exact-path / `*.ext` / directory matcher used by\n`exclude` today (`ExcludeIgnoreStrategy`). Full glob, `.gitignore`, and\n`.dockerignore` parity can be implemented against this interface without\ncore taking on a glob parser.",
11372
12813
  "stability": "experimental",
11373
- "summary": "Represents an Aspect."
12814
+ "summary": "Decides whether a path relative to an asset root is excluded from staging and hashing."
11374
12815
  },
11375
- "fqn": "cdktn.IAspect",
12816
+ "fqn": "cdktn.IIgnoreStrategy",
11376
12817
  "kind": "interface",
11377
12818
  "locationInModule": {
11378
- "filename": "src/aspect.ts",
11379
- "line": 12
12819
+ "filename": "src/ignore-strategy.ts",
12820
+ "line": 41
11380
12821
  },
11381
12822
  "methods": [
11382
12823
  {
11383
12824
  "abstract": true,
11384
12825
  "docs": {
11385
12826
  "stability": "experimental",
11386
- "summary": "All aspects can visit an IConstruct."
12827
+ "summary": "Whether the given entry should be excluded."
11387
12828
  },
11388
12829
  "locationInModule": {
11389
- "filename": "src/aspect.ts",
11390
- "line": 16
12830
+ "filename": "src/ignore-strategy.ts",
12831
+ "line": 46
11391
12832
  },
11392
- "name": "visit",
12833
+ "name": "ignores",
11393
12834
  "parameters": [
11394
12835
  {
11395
- "name": "node",
12836
+ "docs": {
12837
+ "summary": "- the entry under consideration, see {@link IgnoreQuery}."
12838
+ },
12839
+ "name": "query",
11396
12840
  "type": {
11397
- "fqn": "constructs.IConstruct"
12841
+ "fqn": "cdktn.IgnoreQuery"
11398
12842
  }
11399
12843
  }
11400
- ]
12844
+ ],
12845
+ "returns": {
12846
+ "type": {
12847
+ "primitive": "boolean"
12848
+ }
12849
+ }
11401
12850
  }
11402
12851
  ],
11403
- "name": "IAspect",
11404
- "symbolId": "src/aspect:IAspect"
11405
- },
11406
- "cdktn.IFragmentConcatenator": {
11407
- "assembly": "cdktn",
11408
- "docs": {
11409
- "remarks": "Interface so it could potentially be exposed over jsii.",
11410
- "stability": "experimental",
11411
- "summary": "Function used to concatenate symbols in the target document language."
11412
- },
11413
- "fqn": "cdktn.IFragmentConcatenator",
11414
- "kind": "interface",
11415
- "locationInModule": {
11416
- "filename": "src/tokens/resolvable.ts",
11417
- "line": 144
11418
- },
11419
- "methods": [
12852
+ "name": "IIgnoreStrategy",
12853
+ "properties": [
11420
12854
  {
11421
12855
  "abstract": true,
11422
12856
  "docs": {
12857
+ "default": "- this strategy cannot be represented in a cache key",
12858
+ "remarks": "Two strategies that return the same\n`cacheKey` must exclude the same paths.\n\nCallers such as `AssetStaging`'s result cache key on a JSON-serializable\nrepresentation of their inputs, which a strategy instance is not. Omit\nthis when the strategy's behavior can't be summarized this way; the\ncaller then has to treat every call as uncacheable.",
11423
12859
  "stability": "experimental",
11424
- "summary": "Join the fragment on the left and on the right."
12860
+ "summary": "A value identifying this strategy's exclusion behavior, suitable for folding into a cache key."
11425
12861
  },
12862
+ "immutable": true,
11426
12863
  "locationInModule": {
11427
- "filename": "src/tokens/resolvable.ts",
11428
- "line": 148
12864
+ "filename": "src/ignore-strategy.ts",
12865
+ "line": 78
11429
12866
  },
11430
- "name": "join",
11431
- "parameters": [
11432
- {
11433
- "name": "left",
11434
- "type": {
11435
- "primitive": "any"
11436
- }
11437
- },
11438
- {
11439
- "name": "right",
11440
- "type": {
11441
- "primitive": "any"
11442
- }
11443
- }
11444
- ],
11445
- "returns": {
11446
- "type": {
11447
- "primitive": "any"
11448
- }
12867
+ "name": "cacheKey",
12868
+ "optional": true,
12869
+ "type": {
12870
+ "primitive": "string"
12871
+ }
12872
+ },
12873
+ {
12874
+ "abstract": true,
12875
+ "docs": {
12876
+ "default": "true",
12877
+ "remarks": "When `true` (the default), the walkers stop descending as soon as a\ndirectory is excluded — cheaper, and correct for a strategy whose\npatterns never re-include a path below an excluded parent.\n\nA strategy with negation patterns must set this to `false`:\n`.gitignore` / `.dockerignore` allow `node_modules` followed by\n`!node_modules/keep`, which is only reachable if the walk descends into\nthe excluded `node_modules` and asks about `node_modules/keep`. The\nexcluded directory entry itself is still omitted; only the descent\nchanges. Opting out costs a full walk of excluded subtrees.",
12878
+ "stability": "experimental",
12879
+ "summary": "Whether excluding a directory also excludes everything beneath it."
12880
+ },
12881
+ "immutable": true,
12882
+ "locationInModule": {
12883
+ "filename": "src/ignore-strategy.ts",
12884
+ "line": 64
12885
+ },
12886
+ "name": "pruneExcludedDirectories",
12887
+ "optional": true,
12888
+ "type": {
12889
+ "primitive": "boolean"
11449
12890
  }
11450
12891
  }
11451
12892
  ],
11452
- "name": "IFragmentConcatenator",
11453
- "symbolId": "src/tokens/resolvable:IFragmentConcatenator"
12893
+ "symbolId": "src/ignore-strategy:IIgnoreStrategy"
11454
12894
  },
11455
12895
  "cdktn.IImportableConfig": {
11456
12896
  "assembly": "cdktn",
@@ -12652,7 +14092,7 @@
12652
14092
  "kind": "interface",
12653
14093
  "locationInModule": {
12654
14094
  "filename": "src/tokens/string-fragments.ts",
12655
- "line": 218
14095
+ "line": 215
12656
14096
  },
12657
14097
  "methods": [
12658
14098
  {
@@ -12663,7 +14103,7 @@
12663
14103
  },
12664
14104
  "locationInModule": {
12665
14105
  "filename": "src/tokens/string-fragments.ts",
12666
- "line": 222
14106
+ "line": 219
12667
14107
  },
12668
14108
  "name": "mapToken",
12669
14109
  "parameters": [
@@ -12878,6 +14318,58 @@
12878
14318
  "name": "ITokenResolver",
12879
14319
  "symbolId": "src/tokens/resolvable:ITokenResolver"
12880
14320
  },
14321
+ "cdktn.IgnoreQuery": {
14322
+ "assembly": "cdktn",
14323
+ "datatype": true,
14324
+ "docs": {
14325
+ "remarks": "A struct rather than a positional `relativePath` string so the shape can\nevolve. `isDirectory` is carried from the outset because `.gitignore` /\n`.dockerignore` semantics turn on it: a `foo/` pattern matches a\ndirectory but not a file named `foo`, and a matcher cannot recover\nthat distinction from the path text alone.",
14326
+ "stability": "experimental",
14327
+ "summary": "A single entry presented to an {@link IIgnoreStrategy}."
14328
+ },
14329
+ "fqn": "cdktn.IgnoreQuery",
14330
+ "kind": "interface",
14331
+ "locationInModule": {
14332
+ "filename": "src/ignore-strategy.ts",
14333
+ "line": 14
14334
+ },
14335
+ "name": "IgnoreQuery",
14336
+ "properties": [
14337
+ {
14338
+ "abstract": true,
14339
+ "docs": {
14340
+ "remarks": "The tree walkers set this from `lstat`, so a strategy can honor\ndirectory-only patterns without stat-ing the path itself (which it has\nno root to resolve against). Excluding a directory also excludes\neverything below it, since the walkers stop descending once a directory\nis excluded.",
14341
+ "stability": "experimental",
14342
+ "summary": "Whether this entry is a directory rather than a file or symlink."
14343
+ },
14344
+ "immutable": true,
14345
+ "locationInModule": {
14346
+ "filename": "src/ignore-strategy.ts",
14347
+ "line": 29
14348
+ },
14349
+ "name": "isDirectory",
14350
+ "type": {
14351
+ "primitive": "boolean"
14352
+ }
14353
+ },
14354
+ {
14355
+ "abstract": true,
14356
+ "docs": {
14357
+ "stability": "experimental",
14358
+ "summary": "`/`-separated path relative to the asset root."
14359
+ },
14360
+ "immutable": true,
14361
+ "locationInModule": {
14362
+ "filename": "src/ignore-strategy.ts",
14363
+ "line": 18
14364
+ },
14365
+ "name": "relativePath",
14366
+ "type": {
14367
+ "primitive": "string"
14368
+ }
14369
+ }
14370
+ ],
14371
+ "symbolId": "src/ignore-strategy:IgnoreQuery"
14372
+ },
12881
14373
  "cdktn.ImportableResource": {
12882
14374
  "assembly": "cdktn",
12883
14375
  "base": "cdktn.TerraformElement",
@@ -13456,7 +14948,7 @@
13456
14948
  },
13457
14949
  "locationInModule": {
13458
14950
  "filename": "src/terraform-iterator.ts",
13459
- "line": 406
14951
+ "line": 403
13460
14952
  },
13461
14953
  "parameters": [
13462
14954
  {
@@ -13509,7 +15001,7 @@
13509
15001
  "kind": "class",
13510
15002
  "locationInModule": {
13511
15003
  "filename": "src/terraform-iterator.ts",
13512
- "line": 405
15004
+ "line": 402
13513
15005
  },
13514
15006
  "name": "ListTerraformIterator",
13515
15007
  "properties": [
@@ -13522,7 +15014,7 @@
13522
15014
  "immutable": true,
13523
15015
  "locationInModule": {
13524
15016
  "filename": "src/terraform-iterator.ts",
13525
- "line": 416
15017
+ "line": 413
13526
15018
  },
13527
15019
  "name": "key",
13528
15020
  "type": {
@@ -13537,7 +15029,7 @@
13537
15029
  "immutable": true,
13538
15030
  "locationInModule": {
13539
15031
  "filename": "src/terraform-iterator.ts",
13540
- "line": 423
15032
+ "line": 420
13541
15033
  },
13542
15034
  "name": "value",
13543
15035
  "type": {
@@ -14306,7 +15798,7 @@
14306
15798
  },
14307
15799
  "locationInModule": {
14308
15800
  "filename": "src/terraform-iterator.ts",
14309
- "line": 438
15801
+ "line": 435
14310
15802
  },
14311
15803
  "parameters": [
14312
15804
  {
@@ -14362,7 +15854,7 @@
14362
15854
  "kind": "class",
14363
15855
  "locationInModule": {
14364
15856
  "filename": "src/terraform-iterator.ts",
14365
- "line": 437
15857
+ "line": 434
14366
15858
  },
14367
15859
  "name": "MapTerraformIterator",
14368
15860
  "properties": [
@@ -14374,7 +15866,7 @@
14374
15866
  "immutable": true,
14375
15867
  "locationInModule": {
14376
15868
  "filename": "src/terraform-iterator.ts",
14377
- "line": 453
15869
+ "line": 450
14378
15870
  },
14379
15871
  "name": "key",
14380
15872
  "type": {
@@ -14389,7 +15881,7 @@
14389
15881
  "immutable": true,
14390
15882
  "locationInModule": {
14391
15883
  "filename": "src/terraform-iterator.ts",
14392
- "line": 460
15884
+ "line": 457
14393
15885
  },
14394
15886
  "name": "value",
14395
15887
  "type": {
@@ -16293,9 +17785,60 @@
16293
17785
  "immutable": true,
16294
17786
  "locationInModule": {
16295
17787
  "filename": "src/backends/oss-backend.ts",
16296
- "line": 62
17788
+ "line": 62
17789
+ },
17790
+ "name": "securityToken",
17791
+ "optional": true,
17792
+ "type": {
17793
+ "primitive": "string"
17794
+ }
17795
+ },
17796
+ {
17797
+ "abstract": true,
17798
+ "docs": {
17799
+ "stability": "experimental",
17800
+ "summary": "(Optional, Available in 0.12.8+) This is the path to the shared credentials file. It can also be sourced from the ALICLOUD_SHARED_CREDENTIALS_FILE environment variable. If this is not set and a profile is specified, ~/.aliyun/config.json will be used."
17801
+ },
17802
+ "immutable": true,
17803
+ "locationInModule": {
17804
+ "filename": "src/backends/oss-backend.ts",
17805
+ "line": 118
17806
+ },
17807
+ "name": "sharedCredentialsFile",
17808
+ "optional": true,
17809
+ "type": {
17810
+ "primitive": "string"
17811
+ }
17812
+ },
17813
+ {
17814
+ "abstract": true,
17815
+ "docs": {
17816
+ "stability": "experimental",
17817
+ "summary": "(Optional, Available in 1.0.11+) Custom endpoint for the AliCloud Security Token Service (STS) API. It supports environment variable ALICLOUD_STS_ENDPOINT."
17818
+ },
17819
+ "immutable": true,
17820
+ "locationInModule": {
17821
+ "filename": "src/backends/oss-backend.ts",
17822
+ "line": 103
17823
+ },
17824
+ "name": "stsEndpoint",
17825
+ "optional": true,
17826
+ "type": {
17827
+ "primitive": "string"
17828
+ }
17829
+ },
17830
+ {
17831
+ "abstract": true,
17832
+ "docs": {
17833
+ "stability": "experimental",
17834
+ "summary": "(Optional) A custom endpoint for the TableStore API."
17835
+ },
17836
+ "immutable": true,
17837
+ "locationInModule": {
17838
+ "filename": "src/backends/oss-backend.ts",
17839
+ "line": 93
16297
17840
  },
16298
- "name": "securityToken",
17841
+ "name": "tablestoreEndpoint",
16299
17842
  "optional": true,
16300
17843
  "type": {
16301
17844
  "primitive": "string"
@@ -16304,33 +17847,52 @@
16304
17847
  {
16305
17848
  "abstract": true,
16306
17849
  "docs": {
17850
+ "remarks": "The table must have a primary key named LockID of type String.",
16307
17851
  "stability": "experimental",
16308
- "summary": "(Optional, Available in 0.12.8+) This is the path to the shared credentials file. It can also be sourced from the ALICLOUD_SHARED_CREDENTIALS_FILE environment variable. If this is not set and a profile is specified, ~/.aliyun/config.json will be used."
17852
+ "summary": "(Optional) A TableStore table for state locking and consistency."
16309
17853
  },
16310
17854
  "immutable": true,
16311
17855
  "locationInModule": {
16312
17856
  "filename": "src/backends/oss-backend.ts",
16313
- "line": 118
17857
+ "line": 98
16314
17858
  },
16315
- "name": "sharedCredentialsFile",
17859
+ "name": "tablestoreTable",
16316
17860
  "optional": true,
16317
17861
  "type": {
16318
17862
  "primitive": "string"
16319
17863
  }
16320
- },
17864
+ }
17865
+ ],
17866
+ "symbolId": "src/backends/oss-backend:OssBackendConfig"
17867
+ },
17868
+ "cdktn.PackOptions": {
17869
+ "assembly": "cdktn",
17870
+ "datatype": true,
17871
+ "docs": {
17872
+ "remarks": "A struct rather than positional parameters: adding a struct field is\nadditive, adding a method parameter is not, and `pack` is called through\nJSII where that distinction is a breaking-change boundary.",
17873
+ "stability": "experimental",
17874
+ "summary": "Options for {@link IAssetPackaging.pack}."
17875
+ },
17876
+ "fqn": "cdktn.PackOptions",
17877
+ "kind": "interface",
17878
+ "locationInModule": {
17879
+ "filename": "src/assets.ts",
17880
+ "line": 144
17881
+ },
17882
+ "name": "PackOptions",
17883
+ "properties": [
16321
17884
  {
16322
17885
  "abstract": true,
16323
17886
  "docs": {
16324
17887
  "stability": "experimental",
16325
- "summary": "(Optional, Available in 1.0.11+) Custom endpoint for the AliCloud Security Token Service (STS) API. It supports environment variable ALICLOUD_STS_ENDPOINT."
17888
+ "summary": "Path to the resolved (already bundled, if applicable) source."
16326
17889
  },
16327
17890
  "immutable": true,
16328
17891
  "locationInModule": {
16329
- "filename": "src/backends/oss-backend.ts",
16330
- "line": 103
17892
+ "filename": "src/assets.ts",
17893
+ "line": 148
16331
17894
  },
16332
- "name": "stsEndpoint",
16333
- "optional": true,
17895
+ "name": "source",
16334
17896
  "type": {
16335
17897
  "primitive": "string"
16336
17898
  }
@@ -16339,15 +17901,14 @@
16339
17901
  "abstract": true,
16340
17902
  "docs": {
16341
17903
  "stability": "experimental",
16342
- "summary": "(Optional) A custom endpoint for the TableStore API."
17904
+ "summary": "Path the packaged result should be written to."
16343
17905
  },
16344
17906
  "immutable": true,
16345
17907
  "locationInModule": {
16346
- "filename": "src/backends/oss-backend.ts",
16347
- "line": 93
17908
+ "filename": "src/assets.ts",
17909
+ "line": 153
16348
17910
  },
16349
- "name": "tablestoreEndpoint",
16350
- "optional": true,
17911
+ "name": "target",
16351
17912
  "type": {
16352
17913
  "primitive": "string"
16353
17914
  }
@@ -16355,23 +17916,24 @@
16355
17916
  {
16356
17917
  "abstract": true,
16357
17918
  "docs": {
16358
- "remarks": "The table must have a primary key named LockID of type String.",
17919
+ "default": "- nothing is excluded",
17920
+ "remarks": "Must match the strategy used\nto hash the same source, or the hash and the artifact describe\ndifferent sets of files.",
16359
17921
  "stability": "experimental",
16360
- "summary": "(Optional) A TableStore table for state locking and consistency."
17922
+ "summary": "Entries to omit from the packaged result."
16361
17923
  },
16362
17924
  "immutable": true,
16363
17925
  "locationInModule": {
16364
- "filename": "src/backends/oss-backend.ts",
16365
- "line": 98
17926
+ "filename": "src/assets.ts",
17927
+ "line": 162
16366
17928
  },
16367
- "name": "tablestoreTable",
17929
+ "name": "ignoreStrategy",
16368
17930
  "optional": true,
16369
17931
  "type": {
16370
- "primitive": "string"
17932
+ "fqn": "cdktn.IIgnoreStrategy"
16371
17933
  }
16372
17934
  }
16373
17935
  ],
16374
- "symbolId": "src/backends/oss-backend:OssBackendConfig"
17936
+ "symbolId": "src/assets:PackOptions"
16375
17937
  },
16376
17938
  "cdktn.PgBackend": {
16377
17939
  "assembly": "cdktn",
@@ -17219,7 +18781,7 @@
17219
18781
  },
17220
18782
  "locationInModule": {
17221
18783
  "filename": "src/terraform-iterator.ts",
17222
- "line": 467
18784
+ "line": 464
17223
18785
  },
17224
18786
  "parameters": [
17225
18787
  {
@@ -17233,7 +18795,7 @@
17233
18795
  "kind": "class",
17234
18796
  "locationInModule": {
17235
18797
  "filename": "src/terraform-iterator.ts",
17236
- "line": 466
18798
+ "line": 463
17237
18799
  },
17238
18800
  "name": "ResourceTerraformIterator",
17239
18801
  "properties": [
@@ -17246,7 +18808,7 @@
17246
18808
  "immutable": true,
17247
18809
  "locationInModule": {
17248
18810
  "filename": "src/terraform-iterator.ts",
17249
- "line": 485
18811
+ "line": 482
17250
18812
  },
17251
18813
  "name": "key",
17252
18814
  "type": {
@@ -17261,7 +18823,7 @@
17261
18823
  "immutable": true,
17262
18824
  "locationInModule": {
17263
18825
  "filename": "src/terraform-iterator.ts",
17264
- "line": 492
18826
+ "line": 489
17265
18827
  },
17266
18828
  "name": "value",
17267
18829
  "type": {
@@ -19469,6 +21031,75 @@
19469
21031
  ],
19470
21032
  "symbolId": "src/manifest:StackManifest"
19471
21033
  },
21034
+ "cdktn.StagedAsset": {
21035
+ "assembly": "cdktn",
21036
+ "datatype": true,
21037
+ "docs": {
21038
+ "remarks": "Deliberately narrower than a location: `path` and `isDirectory` are known\nonce staging runs, at synth time, before anything is published. Where an\nasset ends up — a bucket name, an object key, a URL — is resolved at\napply time and belongs on the publisher's own reference type instead.",
21039
+ "stability": "experimental",
21040
+ "summary": "A staged artifact, ready to hand to an `IAssetPublisher`."
21041
+ },
21042
+ "fqn": "cdktn.StagedAsset",
21043
+ "kind": "interface",
21044
+ "locationInModule": {
21045
+ "filename": "src/assets.ts",
21046
+ "line": 560
21047
+ },
21048
+ "name": "StagedAsset",
21049
+ "properties": [
21050
+ {
21051
+ "abstract": true,
21052
+ "docs": {
21053
+ "remarks": "The asset is not rebuilt or republished while this value is unchanged.",
21054
+ "stability": "experimental",
21055
+ "summary": "A hash on the content source, uniquely identifying this asset."
21056
+ },
21057
+ "immutable": true,
21058
+ "locationInModule": {
21059
+ "filename": "src/assets.ts",
21060
+ "line": 566
21061
+ },
21062
+ "name": "assetHash",
21063
+ "type": {
21064
+ "primitive": "string"
21065
+ }
21066
+ },
21067
+ {
21068
+ "abstract": true,
21069
+ "docs": {
21070
+ "remarks": "Publishers branch on this to decide whether they upload one object or\nsync a tree; see `IAssetPackaging.producesDirectory`.",
21071
+ "stability": "experimental",
21072
+ "summary": "Whether the staged artifact is a directory rather than a single file."
21073
+ },
21074
+ "immutable": true,
21075
+ "locationInModule": {
21076
+ "filename": "src/assets.ts",
21077
+ "line": 579
21078
+ },
21079
+ "name": "isDirectory",
21080
+ "type": {
21081
+ "primitive": "boolean"
21082
+ }
21083
+ },
21084
+ {
21085
+ "abstract": true,
21086
+ "docs": {
21087
+ "stability": "experimental",
21088
+ "summary": "The path to the staged artifact, relative to the stack directory."
21089
+ },
21090
+ "immutable": true,
21091
+ "locationInModule": {
21092
+ "filename": "src/assets.ts",
21093
+ "line": 571
21094
+ },
21095
+ "name": "path",
21096
+ "type": {
21097
+ "primitive": "string"
21098
+ }
21099
+ }
21100
+ ],
21101
+ "symbolId": "src/assets:StagedAsset"
21102
+ },
19472
21103
  "cdktn.StringConcat": {
19473
21104
  "assembly": "cdktn",
19474
21105
  "docs": {
@@ -20944,7 +22575,7 @@
20944
22575
  },
20945
22576
  "locationInModule": {
20946
22577
  "filename": "src/terraform-asset.ts",
20947
- "line": 56
22578
+ "line": 125
20948
22579
  },
20949
22580
  "parameters": [
20950
22581
  {
@@ -20967,24 +22598,29 @@
20967
22598
  }
20968
22599
  ]
20969
22600
  },
22601
+ "interfaces": [
22602
+ "cdktn.IAsset"
22603
+ ],
20970
22604
  "kind": "class",
20971
22605
  "locationInModule": {
20972
22606
  "filename": "src/terraform-asset.ts",
20973
- "line": 41
22607
+ "line": 108
20974
22608
  },
20975
22609
  "name": "TerraformAsset",
20976
22610
  "properties": [
20977
22611
  {
20978
22612
  "docs": {
22613
+ "remarks": "Being a plain string, it can be used in construct IDs to force a new\nresource when the content hash changes.",
20979
22614
  "stability": "experimental",
20980
- "summary": "Name of the asset."
22615
+ "summary": "A hash of this asset, available at construction time."
20981
22616
  },
20982
22617
  "immutable": true,
20983
22618
  "locationInModule": {
20984
22619
  "filename": "src/terraform-asset.ts",
20985
- "line": 124
22620
+ "line": 112
20986
22621
  },
20987
- "name": "fileName",
22622
+ "name": "assetHash",
22623
+ "overrides": "cdktn.IAsset",
20988
22624
  "type": {
20989
22625
  "primitive": "string"
20990
22626
  }
@@ -20992,27 +22628,29 @@
20992
22628
  {
20993
22629
  "docs": {
20994
22630
  "stability": "experimental",
20995
- "summary": "The path relative to the root of the terraform directory in posix format Use this property to reference the asset."
22631
+ "summary": "Name of the asset."
20996
22632
  },
20997
22633
  "immutable": true,
20998
22634
  "locationInModule": {
20999
22635
  "filename": "src/terraform-asset.ts",
21000
- "line": 113
22636
+ "line": 230
21001
22637
  },
21002
- "name": "path",
22638
+ "name": "fileName",
21003
22639
  "type": {
21004
22640
  "primitive": "string"
21005
22641
  }
21006
22642
  },
21007
22643
  {
21008
22644
  "docs": {
21009
- "stability": "experimental"
22645
+ "stability": "experimental",
22646
+ "summary": "The path relative to the root of the terraform directory in posix format Use this property to reference the asset."
21010
22647
  },
22648
+ "immutable": true,
21011
22649
  "locationInModule": {
21012
22650
  "filename": "src/terraform-asset.ts",
21013
- "line": 45
22651
+ "line": 217
21014
22652
  },
21015
- "name": "assetHash",
22653
+ "name": "path",
21016
22654
  "type": {
21017
22655
  "primitive": "string"
21018
22656
  }
@@ -21023,7 +22661,7 @@
21023
22661
  },
21024
22662
  "locationInModule": {
21025
22663
  "filename": "src/terraform-asset.ts",
21026
- "line": 47
22664
+ "line": 114
21027
22665
  },
21028
22666
  "name": "type",
21029
22667
  "type": {
@@ -21043,7 +22681,7 @@
21043
22681
  "kind": "interface",
21044
22682
  "locationInModule": {
21045
22683
  "filename": "src/terraform-asset.ts",
21046
- "line": 22
22684
+ "line": 26
21047
22685
  },
21048
22686
  "name": "TerraformAssetConfig",
21049
22687
  "properties": [
@@ -21055,7 +22693,7 @@
21055
22693
  "immutable": true,
21056
22694
  "locationInModule": {
21057
22695
  "filename": "src/terraform-asset.ts",
21058
- "line": 24
22696
+ "line": 28
21059
22697
  },
21060
22698
  "name": "path",
21061
22699
  "type": {
@@ -21070,7 +22708,7 @@
21070
22708
  "immutable": true,
21071
22709
  "locationInModule": {
21072
22710
  "filename": "src/terraform-asset.ts",
21073
- "line": 28
22711
+ "line": 32
21074
22712
  },
21075
22713
  "name": "assetHash",
21076
22714
  "optional": true,
@@ -21078,6 +22716,86 @@
21078
22716
  "primitive": "string"
21079
22717
  }
21080
22718
  },
22719
+ {
22720
+ "abstract": true,
22721
+ "docs": {
22722
+ "default": "AssetHashType.SOURCE",
22723
+ "remarks": "`SOURCE` (the default) hashes the source path. `CUSTOM` uses the\n`assetHash` value verbatim and requires it to be set. `OUTPUT` hashes the\nsource too, unless a `bundler` is set — then it hashes the bundler's\nbuilt output, which forces an eager build (see `bundler`).\n\nIf `assetHash` is set, this must be `undefined` or `AssetHashType.CUSTOM`.",
22724
+ "stability": "experimental",
22725
+ "summary": "How the `assetHash` is derived."
22726
+ },
22727
+ "immutable": true,
22728
+ "locationInModule": {
22729
+ "filename": "src/terraform-asset.ts",
22730
+ "line": 45
22731
+ },
22732
+ "name": "assetHashType",
22733
+ "optional": true,
22734
+ "type": {
22735
+ "fqn": "cdktn.AssetHashType"
22736
+ }
22737
+ },
22738
+ {
22739
+ "abstract": true,
22740
+ "docs": {
22741
+ "default": "- the source is staged verbatim, with no build step",
22742
+ "remarks": "Core ships no bundler; implement `IAssetBundler` or use one from a bundler\npackage. Under the default `SOURCE` hashing the build is deferred to synth\nand stays skippable; `OUTPUT` hashing builds eagerly to hash the artifact.\nThe bundler's output shape must match `type`. See\n`AssetStagingOptions.bundler`.",
22743
+ "stability": "experimental",
22744
+ "summary": "A bundler that builds the source into an artifact before staging."
22745
+ },
22746
+ "immutable": true,
22747
+ "locationInModule": {
22748
+ "filename": "src/terraform-asset.ts",
22749
+ "line": 75
22750
+ },
22751
+ "name": "bundler",
22752
+ "optional": true,
22753
+ "type": {
22754
+ "fqn": "cdktn.IAssetBundler"
22755
+ }
22756
+ },
22757
+ {
22758
+ "abstract": true,
22759
+ "docs": {
22760
+ "default": "- nothing is excluded",
22761
+ "remarks": "See\n`AssetStagingOptions.exclude` for the accepted forms. Both the computed\nhash and the staged/packed content honor the exclusion.",
22762
+ "stability": "experimental",
22763
+ "summary": "Paths to exclude from the asset, relative to `path`."
22764
+ },
22765
+ "immutable": true,
22766
+ "locationInModule": {
22767
+ "filename": "src/terraform-asset.ts",
22768
+ "line": 54
22769
+ },
22770
+ "name": "exclude",
22771
+ "optional": true,
22772
+ "type": {
22773
+ "collection": {
22774
+ "elementtype": {
22775
+ "primitive": "string"
22776
+ },
22777
+ "kind": "array"
22778
+ }
22779
+ }
22780
+ },
22781
+ {
22782
+ "abstract": true,
22783
+ "docs": {
22784
+ "default": "- no extra hash",
22785
+ "stability": "experimental",
22786
+ "summary": "Extra information to fold into the hash (e.g. build instructions and other inputs)."
22787
+ },
22788
+ "immutable": true,
22789
+ "locationInModule": {
22790
+ "filename": "src/terraform-asset.ts",
22791
+ "line": 62
22792
+ },
22793
+ "name": "extraHash",
22794
+ "optional": true,
22795
+ "type": {
22796
+ "primitive": "string"
22797
+ }
22798
+ },
21081
22799
  {
21082
22800
  "abstract": true,
21083
22801
  "docs": {
@@ -21086,7 +22804,7 @@
21086
22804
  "immutable": true,
21087
22805
  "locationInModule": {
21088
22806
  "filename": "src/terraform-asset.ts",
21089
- "line": 26
22807
+ "line": 30
21090
22808
  },
21091
22809
  "name": "type",
21092
22810
  "optional": true,
@@ -23465,7 +25183,7 @@
23465
25183
  "kind": "class",
23466
25184
  "locationInModule": {
23467
25185
  "filename": "src/terraform-iterator.ts",
23468
- "line": 70
25186
+ "line": 67
23469
25187
  },
23470
25188
  "methods": [
23471
25189
  {
@@ -23477,7 +25195,7 @@
23477
25195
  },
23478
25196
  "locationInModule": {
23479
25197
  "filename": "src/terraform-iterator.ts",
23480
- "line": 125
25198
+ "line": 122
23481
25199
  },
23482
25200
  "name": "fromComplexList",
23483
25201
  "parameters": [
@@ -23536,7 +25254,7 @@
23536
25254
  },
23537
25255
  "locationInModule": {
23538
25256
  "filename": "src/terraform-iterator.ts",
23539
- "line": 160
25257
+ "line": 157
23540
25258
  },
23541
25259
  "name": "fromDataSources",
23542
25260
  "parameters": [
@@ -23561,7 +25279,7 @@
23561
25279
  },
23562
25280
  "locationInModule": {
23563
25281
  "filename": "src/terraform-iterator.ts",
23564
- "line": 90
25282
+ "line": 87
23565
25283
  },
23566
25284
  "name": "fromList",
23567
25285
  "parameters": [
@@ -23625,7 +25343,7 @@
23625
25343
  },
23626
25344
  "locationInModule": {
23627
25345
  "filename": "src/terraform-iterator.ts",
23628
- "line": 135
25346
+ "line": 132
23629
25347
  },
23630
25348
  "name": "fromMap",
23631
25349
  "parameters": [
@@ -23688,7 +25406,7 @@
23688
25406
  },
23689
25407
  "locationInModule": {
23690
25408
  "filename": "src/terraform-iterator.ts",
23691
- "line": 150
25409
+ "line": 147
23692
25410
  },
23693
25411
  "name": "fromResources",
23694
25412
  "parameters": [
@@ -23714,7 +25432,7 @@
23714
25432
  },
23715
25433
  "locationInModule": {
23716
25434
  "filename": "src/terraform-iterator.ts",
23717
- "line": 307
25435
+ "line": 304
23718
25436
  },
23719
25437
  "name": "dynamic",
23720
25438
  "parameters": [
@@ -23744,7 +25462,7 @@
23744
25462
  },
23745
25463
  "locationInModule": {
23746
25464
  "filename": "src/terraform-iterator.ts",
23747
- "line": 369
25465
+ "line": 366
23748
25466
  },
23749
25467
  "name": "forExpressionForList",
23750
25468
  "parameters": [
@@ -23781,7 +25499,7 @@
23781
25499
  },
23782
25500
  "locationInModule": {
23783
25501
  "filename": "src/terraform-iterator.ts",
23784
- "line": 390
25502
+ "line": 387
23785
25503
  },
23786
25504
  "name": "forExpressionForMap",
23787
25505
  "parameters": [
@@ -23835,7 +25553,7 @@
23835
25553
  },
23836
25554
  "locationInModule": {
23837
25555
  "filename": "src/terraform-iterator.ts",
23838
- "line": 194
25556
+ "line": 191
23839
25557
  },
23840
25558
  "name": "getAny",
23841
25559
  "parameters": [
@@ -23862,7 +25580,7 @@
23862
25580
  },
23863
25581
  "locationInModule": {
23864
25582
  "filename": "src/terraform-iterator.ts",
23865
- "line": 250
25583
+ "line": 247
23866
25584
  },
23867
25585
  "name": "getAnyMap",
23868
25586
  "parameters": [
@@ -23894,7 +25612,7 @@
23894
25612
  },
23895
25613
  "locationInModule": {
23896
25614
  "filename": "src/terraform-iterator.ts",
23897
- "line": 186
25615
+ "line": 183
23898
25616
  },
23899
25617
  "name": "getBoolean",
23900
25618
  "parameters": [
@@ -23921,7 +25639,7 @@
23921
25639
  },
23922
25640
  "locationInModule": {
23923
25641
  "filename": "src/terraform-iterator.ts",
23924
- "line": 242
25642
+ "line": 239
23925
25643
  },
23926
25644
  "name": "getBooleanMap",
23927
25645
  "parameters": [
@@ -23953,7 +25671,7 @@
23953
25671
  },
23954
25672
  "locationInModule": {
23955
25673
  "filename": "src/terraform-iterator.ts",
23956
- "line": 202
25674
+ "line": 199
23957
25675
  },
23958
25676
  "name": "getList",
23959
25677
  "parameters": [
@@ -23985,7 +25703,7 @@
23985
25703
  },
23986
25704
  "locationInModule": {
23987
25705
  "filename": "src/terraform-iterator.ts",
23988
- "line": 218
25706
+ "line": 215
23989
25707
  },
23990
25708
  "name": "getMap",
23991
25709
  "parameters": [
@@ -24017,7 +25735,7 @@
24017
25735
  },
24018
25736
  "locationInModule": {
24019
25737
  "filename": "src/terraform-iterator.ts",
24020
- "line": 178
25738
+ "line": 175
24021
25739
  },
24022
25740
  "name": "getNumber",
24023
25741
  "parameters": [
@@ -24044,7 +25762,7 @@
24044
25762
  },
24045
25763
  "locationInModule": {
24046
25764
  "filename": "src/terraform-iterator.ts",
24047
- "line": 210
25765
+ "line": 207
24048
25766
  },
24049
25767
  "name": "getNumberList",
24050
25768
  "parameters": [
@@ -24076,7 +25794,7 @@
24076
25794
  },
24077
25795
  "locationInModule": {
24078
25796
  "filename": "src/terraform-iterator.ts",
24079
- "line": 234
25797
+ "line": 231
24080
25798
  },
24081
25799
  "name": "getNumberMap",
24082
25800
  "parameters": [
@@ -24108,7 +25826,7 @@
24108
25826
  },
24109
25827
  "locationInModule": {
24110
25828
  "filename": "src/terraform-iterator.ts",
24111
- "line": 170
25829
+ "line": 167
24112
25830
  },
24113
25831
  "name": "getString",
24114
25832
  "parameters": [
@@ -24135,7 +25853,7 @@
24135
25853
  },
24136
25854
  "locationInModule": {
24137
25855
  "filename": "src/terraform-iterator.ts",
24138
- "line": 226
25856
+ "line": 223
24139
25857
  },
24140
25858
  "name": "getStringMap",
24141
25859
  "parameters": [
@@ -24168,7 +25886,7 @@
24168
25886
  },
24169
25887
  "locationInModule": {
24170
25888
  "filename": "src/terraform-iterator.ts",
24171
- "line": 322
25889
+ "line": 319
24172
25890
  },
24173
25891
  "name": "keys",
24174
25892
  "returns": {
@@ -24185,7 +25903,7 @@
24185
25903
  },
24186
25904
  "locationInModule": {
24187
25905
  "filename": "src/terraform-iterator.ts",
24188
- "line": 346
25906
+ "line": 343
24189
25907
  },
24190
25908
  "name": "pluckProperty",
24191
25909
  "parameters": [
@@ -24213,7 +25931,7 @@
24213
25931
  },
24214
25932
  "locationInModule": {
24215
25933
  "filename": "src/terraform-iterator.ts",
24216
- "line": 334
25934
+ "line": 331
24217
25935
  },
24218
25936
  "name": "values",
24219
25937
  "returns": {
@@ -26328,7 +28046,7 @@
26328
28046
  },
26329
28047
  "locationInModule": {
26330
28048
  "filename": "src/terraform-resource.ts",
26331
- "line": 559
28049
+ "line": 561
26332
28050
  },
26333
28051
  "name": "addMoveTarget",
26334
28052
  "parameters": [
@@ -26688,7 +28406,7 @@
26688
28406
  },
26689
28407
  "locationInModule": {
26690
28408
  "filename": "src/terraform-resource.ts",
26691
- "line": 590
28409
+ "line": 592
26692
28410
  },
26693
28411
  "name": "moveFromId",
26694
28412
  "parameters": [
@@ -26710,7 +28428,7 @@
26710
28428
  },
26711
28429
  "locationInModule": {
26712
28430
  "filename": "src/terraform-resource.ts",
26713
- "line": 543
28431
+ "line": 545
26714
28432
  },
26715
28433
  "name": "moveTo",
26716
28434
  "parameters": [
@@ -26751,7 +28469,7 @@
26751
28469
  },
26752
28470
  "locationInModule": {
26753
28471
  "filename": "src/terraform-resource.ts",
26754
- "line": 567
28472
+ "line": 569
26755
28473
  },
26756
28474
  "name": "moveToId",
26757
28475
  "parameters": [
@@ -29944,7 +31662,7 @@
29944
31662
  "kind": "class",
29945
31663
  "locationInModule": {
29946
31664
  "filename": "src/tokens/string-fragments.ts",
29947
- "line": 30
31665
+ "line": 27
29948
31666
  },
29949
31667
  "methods": [
29950
31668
  {
@@ -29953,7 +31671,7 @@
29953
31671
  },
29954
31672
  "locationInModule": {
29955
31673
  "filename": "src/tokens/string-fragments.ts",
29956
- "line": 85
31674
+ "line": 82
29957
31675
  },
29958
31676
  "name": "addEscape",
29959
31677
  "parameters": [
@@ -29972,7 +31690,7 @@
29972
31690
  },
29973
31691
  "locationInModule": {
29974
31692
  "filename": "src/tokens/string-fragments.ts",
29975
- "line": 81
31693
+ "line": 78
29976
31694
  },
29977
31695
  "name": "addIntrinsic",
29978
31696
  "parameters": [
@@ -29994,7 +31712,7 @@
29994
31712
  },
29995
31713
  "locationInModule": {
29996
31714
  "filename": "src/tokens/string-fragments.ts",
29997
- "line": 65
31715
+ "line": 62
29998
31716
  },
29999
31717
  "name": "addLiteral",
30000
31718
  "parameters": [
@@ -30016,7 +31734,7 @@
30016
31734
  },
30017
31735
  "locationInModule": {
30018
31736
  "filename": "src/tokens/string-fragments.ts",
30019
- "line": 73
31737
+ "line": 70
30020
31738
  },
30021
31739
  "name": "addToken",
30022
31740
  "parameters": [
@@ -30037,7 +31755,7 @@
30037
31755
  },
30038
31756
  "locationInModule": {
30039
31757
  "filename": "src/tokens/string-fragments.ts",
30040
- "line": 89
31758
+ "line": 86
30041
31759
  },
30042
31760
  "name": "concat",
30043
31761
  "parameters": [
@@ -30057,7 +31775,7 @@
30057
31775
  },
30058
31776
  "locationInModule": {
30059
31777
  "filename": "src/tokens/string-fragments.ts",
30060
- "line": 194
31778
+ "line": 191
30061
31779
  },
30062
31780
  "name": "join",
30063
31781
  "parameters": [
@@ -30081,7 +31799,7 @@
30081
31799
  },
30082
31800
  "locationInModule": {
30083
31801
  "filename": "src/tokens/string-fragments.ts",
30084
- "line": 149
31802
+ "line": 146
30085
31803
  },
30086
31804
  "name": "mapTokens",
30087
31805
  "parameters": [
@@ -30109,7 +31827,7 @@
30109
31827
  "immutable": true,
30110
31828
  "locationInModule": {
30111
31829
  "filename": "src/tokens/string-fragments.ts",
30112
- "line": 135
31830
+ "line": 132
30113
31831
  },
30114
31832
  "name": "escapes",
30115
31833
  "type": {
@@ -30129,7 +31847,7 @@
30129
31847
  "immutable": true,
30130
31848
  "locationInModule": {
30131
31849
  "filename": "src/tokens/string-fragments.ts",
30132
- "line": 50
31850
+ "line": 47
30133
31851
  },
30134
31852
  "name": "firstValue",
30135
31853
  "type": {
@@ -30144,7 +31862,7 @@
30144
31862
  "immutable": true,
30145
31863
  "locationInModule": {
30146
31864
  "filename": "src/tokens/string-fragments.ts",
30147
- "line": 122
31865
+ "line": 119
30148
31866
  },
30149
31867
  "name": "intrinsic",
30150
31868
  "type": {
@@ -30164,7 +31882,7 @@
30164
31882
  "immutable": true,
30165
31883
  "locationInModule": {
30166
31884
  "filename": "src/tokens/string-fragments.ts",
30167
- "line": 57
31885
+ "line": 54
30168
31886
  },
30169
31887
  "name": "length",
30170
31888
  "type": {
@@ -30179,7 +31897,7 @@
30179
31897
  "immutable": true,
30180
31898
  "locationInModule": {
30181
31899
  "filename": "src/tokens/string-fragments.ts",
30182
- "line": 109
31900
+ "line": 106
30183
31901
  },
30184
31902
  "name": "literals",
30185
31903
  "type": {
@@ -30199,7 +31917,7 @@
30199
31917
  "immutable": true,
30200
31918
  "locationInModule": {
30201
31919
  "filename": "src/tokens/string-fragments.ts",
30202
- "line": 96
31920
+ "line": 93
30203
31921
  },
30204
31922
  "name": "tokens",
30205
31923
  "type": {
@@ -30219,7 +31937,7 @@
30219
31937
  "immutable": true,
30220
31938
  "locationInModule": {
30221
31939
  "filename": "src/tokens/string-fragments.ts",
30222
- "line": 39
31940
+ "line": 36
30223
31941
  },
30224
31942
  "name": "firstToken",
30225
31943
  "optional": true,
@@ -30960,6 +32678,6 @@
30960
32678
  "symbolId": "src/testing/matchers:TerraformConstructor"
30961
32679
  }
30962
32680
  },
30963
- "version": "0.25.0-pre.4",
30964
- "fingerprint": "fbpUz0D5Tv9rr/Z9PoBARXDBlke0AyNG9dx+lawkmY4="
32681
+ "version": "0.25.0-pre.40",
32682
+ "fingerprint": "lR7vQ8gGX2mBVajufxSJpn696SpU1DOPGaPmPp7v32k="
30965
32683
  }