cdktn 0.25.0-pre.6 → 0.25.0-pre.61

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 (97) hide show
  1. package/.jsii +2194 -424
  2. package/README.md +12 -0
  3. package/lib/annotations.js +4 -4
  4. package/lib/app.js +54 -5
  5. package/lib/aspect.js +3 -4
  6. package/lib/asset-hash.d.ts +75 -0
  7. package/lib/asset-hash.js +129 -0
  8. package/lib/asset-staging.d.ts +180 -0
  9. package/lib/asset-staging.js +464 -0
  10. package/lib/assets.d.ts +401 -0
  11. package/lib/assets.js +333 -0
  12. package/lib/backends/azurerm-backend.js +4 -6
  13. package/lib/backends/cloud-backend.js +15 -12
  14. package/lib/backends/consul-backend.js +4 -6
  15. package/lib/backends/cos-backend.js +4 -6
  16. package/lib/backends/gcs-backend.js +4 -6
  17. package/lib/backends/http-backend.js +4 -6
  18. package/lib/backends/local-backend.js +38 -7
  19. package/lib/backends/oss-backend.js +4 -6
  20. package/lib/backends/pg-backend.js +4 -6
  21. package/lib/backends/remote-backend.js +8 -10
  22. package/lib/backends/s3-backend.js +4 -6
  23. package/lib/backends/swift-backend.js +4 -6
  24. package/lib/complex-computed-list.js +114 -65
  25. package/lib/errors.d.ts +16 -0
  26. package/lib/errors.js +51 -3
  27. package/lib/functions/provider-function.js +2 -4
  28. package/lib/functions/terraform-functions.generated.js +2 -4
  29. package/lib/ignore-strategy.d.ts +82 -0
  30. package/lib/ignore-strategy.js +29 -0
  31. package/lib/importable-resource.js +8 -6
  32. package/lib/index.d.ts +4 -0
  33. package/lib/index.js +28 -2
  34. package/lib/manifest.js +49 -11
  35. package/lib/private/fs.d.ts +74 -2
  36. package/lib/private/fs.js +129 -17
  37. package/lib/private/unique.js +35 -2
  38. package/lib/resource.js +3 -4
  39. package/lib/synthesize/synthesizer.js +51 -25
  40. package/lib/terraform-asset.d.ts +68 -5
  41. package/lib/terraform-asset.js +127 -40
  42. package/lib/terraform-backend.js +3 -4
  43. package/lib/terraform-count.js +3 -4
  44. package/lib/terraform-data-resource.d.ts +1 -1
  45. package/lib/terraform-data-resource.js +18 -13
  46. package/lib/terraform-data-source.js +10 -4
  47. package/lib/terraform-dynamic-block.js +5 -2
  48. package/lib/terraform-dynamic-expression.js +4 -1
  49. package/lib/terraform-element.js +34 -6
  50. package/lib/terraform-ephemeral-resource.js +10 -4
  51. package/lib/terraform-functions.js +2 -4
  52. package/lib/terraform-hcl-module.js +3 -4
  53. package/lib/terraform-iterator.js +11 -12
  54. package/lib/terraform-local.js +3 -4
  55. package/lib/terraform-module-asset.js +39 -4
  56. package/lib/terraform-module.js +8 -4
  57. package/lib/terraform-operators.js +2 -4
  58. package/lib/terraform-output.js +7 -4
  59. package/lib/terraform-provider.js +5 -4
  60. package/lib/terraform-provisioner.js +2 -4
  61. package/lib/terraform-remote-state.js +5 -5
  62. package/lib/terraform-resource-targets.js +3 -7
  63. package/lib/terraform-resource.js +23 -7
  64. package/lib/terraform-stack.js +38 -38
  65. package/lib/terraform-variable.js +25 -22
  66. package/lib/testing/adapters/jest.d.ts +2 -1
  67. package/lib/testing/adapters/jest.js +3 -3
  68. package/lib/testing/index.js +42 -8
  69. package/lib/testing/matchers.d.ts +34 -30
  70. package/lib/testing/matchers.js +329 -93
  71. package/lib/tfExpression.js +25 -8
  72. package/lib/tokens/lazy.js +11 -7
  73. package/lib/tokens/private/dependency.js +2 -2
  74. package/lib/tokens/private/encoding.js +6 -1
  75. package/lib/tokens/private/intrinsic.js +6 -1
  76. package/lib/tokens/private/resolve.js +2 -5
  77. package/lib/tokens/private/token-map.js +4 -6
  78. package/lib/tokens/private/uniqueid.js +35 -2
  79. package/lib/tokens/resolvable.js +4 -6
  80. package/lib/tokens/string-fragments.js +6 -10
  81. package/lib/tokens/token.js +15 -18
  82. package/lib/upgrade-id-aspect.js +37 -6
  83. package/lib/validations/index.d.ts +0 -1
  84. package/lib/validations/index.js +1 -2
  85. package/lib/validations/target-versions.js +39 -2
  86. package/lib/validations/validate-function-version-support.js +2 -1
  87. package/lib/validations/validate-provider-function-target-support.js +2 -1
  88. package/lib/validations/validate-provider-presence.js +10 -9
  89. package/package.json +21 -7
  90. package/scripts/pack.mjs +27 -12
  91. package/lib/tsconfig.tsbuildinfo +0 -1
  92. package/lib/validations/validate-binary-version.d.ts +0 -23
  93. package/lib/validations/validate-binary-version.js +0 -54
  94. package/lib/validations/validate-terraform-version.d.ts +0 -13
  95. package/lib/validations/validate-terraform-version.js +0 -21
  96. package/tsconfig.json +0 -40
  97. 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,12 +46,17 @@
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",
53
53
  "cdktn",
54
- "terraform"
54
+ "terraform",
55
+ "cdk for terraform",
56
+ "terraform-cdk",
57
+ "cdk terrain",
58
+ "opentofu",
59
+ "infrastructure as code"
55
60
  ],
56
61
  "license": "MPL-2.0",
57
62
  "metadata": {
@@ -60,11 +65,12 @@
60
65
  "hasDefaultInterfaces": true
61
66
  }
62
67
  },
68
+ "tscOutDir": "lib",
63
69
  "tscRootDir": "src"
64
70
  },
65
71
  "name": "cdktn",
66
72
  "readme": {
67
- "markdown": "# cdktn\n\ncdktn is a framework for defining cloud infrastructure using Terraform providers and modules. It allows for\nusers to define infrastructure resources using higher-level programming languages.\n\n## Build\n\nInstall dependencies\n\n```bash\npnpm install\n```\n\nBuild the package\n\n```bash\npnpm build\n```\n\n[Learn More](https://cdktn.io/docs)\n"
73
+ "markdown": "# cdktn\n\ncdktn is a framework for defining cloud infrastructure using Terraform providers and modules. It allows for\nusers to define infrastructure resources using higher-level programming languages.\n\nCDK Terrain (CDKTN) is the community-maintained successor to CDK for Terraform (CDKTF). Migrating from CDKTF? Follow the [migration guide](https://cdktn.io/docs/release/upgrade-guide-v0-22).\n\n## Use with AI agents\n\nThe CDKTN docs are served to AI coding agents by a hosted [MCP server](https://cdktn.io/docs/ai-agents) at `https://cdktn.io/docs/mcp` (streamable HTTP, no auth). Point your agent at it rather than relying on prior CDKTF knowledge:\n\n```bash\nclaude mcp add --transport http cdktn https://cdktn.io/docs/mcp\n```\n\nAn [agent skill](https://cdktn.io/docs/skill.md) and an [llms.txt index](https://cdktn.io/llms.txt) are also available.\n\n## Build\n\nInstall dependencies\n\n```bash\npnpm install\n```\n\nBuild the package\n\n```bash\npnpm build\n```\n\n[Learn More](https://cdktn.io/docs)\n"
68
74
  },
69
75
  "repository": {
70
76
  "directory": "packages/cdktn",
@@ -1407,6 +1413,577 @@
1407
1413
  ],
1408
1414
  "symbolId": "src/aspect:Aspects"
1409
1415
  },
1416
+ "cdktn.AssetHash": {
1417
+ "assembly": "cdktn",
1418
+ "docs": {
1419
+ "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.",
1420
+ "stability": "experimental",
1421
+ "summary": "Computes a content hash of a file or directory without staging it."
1422
+ },
1423
+ "fqn": "cdktn.AssetHash",
1424
+ "kind": "class",
1425
+ "locationInModule": {
1426
+ "filename": "src/asset-hash.ts",
1427
+ "line": 49
1428
+ },
1429
+ "methods": [
1430
+ {
1431
+ "docs": {
1432
+ "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.",
1433
+ "stability": "experimental",
1434
+ "summary": "Content hash of a file or directory, without staging it."
1435
+ },
1436
+ "locationInModule": {
1437
+ "filename": "src/asset-hash.ts",
1438
+ "line": 75
1439
+ },
1440
+ "name": "of",
1441
+ "parameters": [
1442
+ {
1443
+ "docs": {
1444
+ "summary": "- path to a file or directory to hash."
1445
+ },
1446
+ "name": "filePath",
1447
+ "type": {
1448
+ "primitive": "string"
1449
+ }
1450
+ },
1451
+ {
1452
+ "docs": {
1453
+ "summary": "- see {@link AssetHashOptions}."
1454
+ },
1455
+ "name": "options",
1456
+ "optional": true,
1457
+ "type": {
1458
+ "fqn": "cdktn.AssetHashOptions"
1459
+ }
1460
+ }
1461
+ ],
1462
+ "returns": {
1463
+ "type": {
1464
+ "primitive": "string"
1465
+ }
1466
+ },
1467
+ "static": true
1468
+ }
1469
+ ],
1470
+ "name": "AssetHash",
1471
+ "symbolId": "src/asset-hash:AssetHash"
1472
+ },
1473
+ "cdktn.AssetHashOptions": {
1474
+ "assembly": "cdktn",
1475
+ "datatype": true,
1476
+ "docs": {
1477
+ "stability": "experimental",
1478
+ "summary": "Options for {@link AssetHash.of}."
1479
+ },
1480
+ "fqn": "cdktn.AssetHashOptions",
1481
+ "kind": "interface",
1482
+ "locationInModule": {
1483
+ "filename": "src/asset-hash.ts",
1484
+ "line": 15
1485
+ },
1486
+ "name": "AssetHashOptions",
1487
+ "properties": [
1488
+ {
1489
+ "abstract": true,
1490
+ "docs": {
1491
+ "default": "- nothing is excluded",
1492
+ "remarks": "Cannot be combined with\n`ignoreStrategy`, which replaces this matcher rather than layering on\ntop of it.",
1493
+ "stability": "experimental",
1494
+ "summary": "Paths to exclude, relative to the hashed path."
1495
+ },
1496
+ "immutable": true,
1497
+ "locationInModule": {
1498
+ "filename": "src/asset-hash.ts",
1499
+ "line": 23
1500
+ },
1501
+ "name": "exclude",
1502
+ "optional": true,
1503
+ "type": {
1504
+ "collection": {
1505
+ "elementtype": {
1506
+ "primitive": "string"
1507
+ },
1508
+ "kind": "array"
1509
+ }
1510
+ }
1511
+ },
1512
+ {
1513
+ "abstract": true,
1514
+ "docs": {
1515
+ "default": "- no extra data",
1516
+ "stability": "experimental",
1517
+ "summary": "Extra information to fold into the hash."
1518
+ },
1519
+ "immutable": true,
1520
+ "locationInModule": {
1521
+ "filename": "src/asset-hash.ts",
1522
+ "line": 30
1523
+ },
1524
+ "name": "extraHash",
1525
+ "optional": true,
1526
+ "type": {
1527
+ "primitive": "string"
1528
+ }
1529
+ },
1530
+ {
1531
+ "abstract": true,
1532
+ "docs": {
1533
+ "default": "- `exclude` is used with the built-in matcher",
1534
+ "stability": "experimental",
1535
+ "summary": "Exclusion matching, for callers that need `.gitignore` / `.dockerignore` parity rather than the built-in exact-path / suffix / directory matcher."
1536
+ },
1537
+ "immutable": true,
1538
+ "locationInModule": {
1539
+ "filename": "src/asset-hash.ts",
1540
+ "line": 38
1541
+ },
1542
+ "name": "ignoreStrategy",
1543
+ "optional": true,
1544
+ "type": {
1545
+ "fqn": "cdktn.IIgnoreStrategy"
1546
+ }
1547
+ }
1548
+ ],
1549
+ "symbolId": "src/asset-hash:AssetHashOptions"
1550
+ },
1551
+ "cdktn.AssetHashType": {
1552
+ "assembly": "cdktn",
1553
+ "docs": {
1554
+ "remarks": "The hash identifies a specific revision of the asset and caches deployment\nwork such as packaging and uploading.",
1555
+ "stability": "experimental",
1556
+ "summary": "The type of asset hash."
1557
+ },
1558
+ "fqn": "cdktn.AssetHashType",
1559
+ "kind": "enum",
1560
+ "locationInModule": {
1561
+ "filename": "src/assets.ts",
1562
+ "line": 63
1563
+ },
1564
+ "members": [
1565
+ {
1566
+ "docs": {
1567
+ "remarks": "Use `SOURCE` to track changes to the source files directly.",
1568
+ "stability": "experimental",
1569
+ "summary": "Based on the content of the source path."
1570
+ },
1571
+ "name": "SOURCE"
1572
+ },
1573
+ {
1574
+ "docs": {
1575
+ "remarks": "Use `OUTPUT` when the source is a top-level folder holding code and/or\ndependencies not directly linked to the asset.",
1576
+ "stability": "experimental",
1577
+ "summary": "Based on the content of the bundling output."
1578
+ },
1579
+ "name": "OUTPUT"
1580
+ },
1581
+ {
1582
+ "docs": {
1583
+ "stability": "experimental",
1584
+ "summary": "Use a custom hash."
1585
+ },
1586
+ "name": "CUSTOM"
1587
+ }
1588
+ ],
1589
+ "name": "AssetHashType",
1590
+ "symbolId": "src/assets:AssetHashType"
1591
+ },
1592
+ "cdktn.AssetOptions": {
1593
+ "assembly": "cdktn",
1594
+ "datatype": true,
1595
+ "docs": {
1596
+ "stability": "experimental",
1597
+ "summary": "Options controlling how an asset's hash is derived."
1598
+ },
1599
+ "fqn": "cdktn.AssetOptions",
1600
+ "kind": "interface",
1601
+ "locationInModule": {
1602
+ "filename": "src/assets.ts",
1603
+ "line": 30
1604
+ },
1605
+ "name": "AssetOptions",
1606
+ "properties": [
1607
+ {
1608
+ "abstract": true,
1609
+ "docs": {
1610
+ "default": "- based on `assetHashType`",
1611
+ "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.",
1612
+ "stability": "experimental",
1613
+ "summary": "Specify a custom hash for this asset."
1614
+ },
1615
+ "immutable": true,
1616
+ "locationInModule": {
1617
+ "filename": "src/assets.ts",
1618
+ "line": 43
1619
+ },
1620
+ "name": "assetHash",
1621
+ "optional": true,
1622
+ "type": {
1623
+ "primitive": "string"
1624
+ }
1625
+ },
1626
+ {
1627
+ "abstract": true,
1628
+ "docs": {
1629
+ "default": "- the default is `AssetHashType.SOURCE`, but if `assetHash` is\nexplicitly specified this value defaults to `AssetHashType.CUSTOM`.",
1630
+ "remarks": "If `assetHash` is configured, this option must be `undefined` or\n`AssetHashType.CUSTOM`.",
1631
+ "stability": "experimental",
1632
+ "summary": "Specifies the type of hash to calculate for this asset."
1633
+ },
1634
+ "immutable": true,
1635
+ "locationInModule": {
1636
+ "filename": "src/assets.ts",
1637
+ "line": 54
1638
+ },
1639
+ "name": "assetHashType",
1640
+ "optional": true,
1641
+ "type": {
1642
+ "fqn": "cdktn.AssetHashType"
1643
+ }
1644
+ }
1645
+ ],
1646
+ "symbolId": "src/assets:AssetOptions"
1647
+ },
1648
+ "cdktn.AssetPackaging": {
1649
+ "assembly": "cdktn",
1650
+ "docs": {
1651
+ "remarks": "Custom formats implement `IAssetPackaging`\ndirectly rather than extending this class.",
1652
+ "stability": "experimental",
1653
+ "summary": "Built-in packaging strategies."
1654
+ },
1655
+ "fqn": "cdktn.AssetPackaging",
1656
+ "kind": "class",
1657
+ "locationInModule": {
1658
+ "filename": "src/assets.ts",
1659
+ "line": 223
1660
+ },
1661
+ "name": "AssetPackaging",
1662
+ "properties": [
1663
+ {
1664
+ "const": true,
1665
+ "docs": {
1666
+ "stability": "experimental",
1667
+ "summary": "Copy a directory tree as-is, without archiving."
1668
+ },
1669
+ "immutable": true,
1670
+ "locationInModule": {
1671
+ "filename": "src/assets.ts",
1672
+ "line": 232
1673
+ },
1674
+ "name": "DIRECTORY",
1675
+ "static": true,
1676
+ "type": {
1677
+ "fqn": "cdktn.IAssetPackaging"
1678
+ }
1679
+ },
1680
+ {
1681
+ "const": true,
1682
+ "docs": {
1683
+ "stability": "experimental",
1684
+ "summary": "Copy a single file as-is."
1685
+ },
1686
+ "immutable": true,
1687
+ "locationInModule": {
1688
+ "filename": "src/assets.ts",
1689
+ "line": 227
1690
+ },
1691
+ "name": "FILE",
1692
+ "static": true,
1693
+ "type": {
1694
+ "fqn": "cdktn.IAssetPackaging"
1695
+ }
1696
+ },
1697
+ {
1698
+ "const": true,
1699
+ "docs": {
1700
+ "stability": "experimental",
1701
+ "summary": "Archive a directory tree into a single zip file."
1702
+ },
1703
+ "immutable": true,
1704
+ "locationInModule": {
1705
+ "filename": "src/assets.ts",
1706
+ "line": 237
1707
+ },
1708
+ "name": "ZIP",
1709
+ "static": true,
1710
+ "type": {
1711
+ "fqn": "cdktn.IAssetPackaging"
1712
+ }
1713
+ }
1714
+ ],
1715
+ "symbolId": "src/assets:AssetPackaging"
1716
+ },
1717
+ "cdktn.AssetStaging": {
1718
+ "assembly": "cdktn",
1719
+ "base": "constructs.Construct",
1720
+ "docs": {
1721
+ "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.",
1722
+ "stability": "experimental",
1723
+ "summary": "Resolves an asset's identity and stages its content to disk."
1724
+ },
1725
+ "fqn": "cdktn.AssetStaging",
1726
+ "initializer": {
1727
+ "docs": {
1728
+ "stability": "experimental"
1729
+ },
1730
+ "locationInModule": {
1731
+ "filename": "src/asset-staging.ts",
1732
+ "line": 231
1733
+ },
1734
+ "parameters": [
1735
+ {
1736
+ "name": "scope",
1737
+ "type": {
1738
+ "fqn": "constructs.Construct"
1739
+ }
1740
+ },
1741
+ {
1742
+ "name": "id",
1743
+ "type": {
1744
+ "primitive": "string"
1745
+ }
1746
+ },
1747
+ {
1748
+ "name": "props",
1749
+ "type": {
1750
+ "fqn": "cdktn.AssetStagingOptions"
1751
+ }
1752
+ }
1753
+ ]
1754
+ },
1755
+ "interfaces": [
1756
+ "cdktn.IAsset"
1757
+ ],
1758
+ "kind": "class",
1759
+ "locationInModule": {
1760
+ "filename": "src/asset-staging.ts",
1761
+ "line": 200
1762
+ },
1763
+ "methods": [
1764
+ {
1765
+ "docs": {
1766
+ "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`.",
1767
+ "stability": "experimental",
1768
+ "summary": "Stage the asset's content to `targetPath`."
1769
+ },
1770
+ "locationInModule": {
1771
+ "filename": "src/asset-staging.ts",
1772
+ "line": 502
1773
+ },
1774
+ "name": "stage",
1775
+ "parameters": [
1776
+ {
1777
+ "name": "targetPath",
1778
+ "type": {
1779
+ "primitive": "string"
1780
+ }
1781
+ }
1782
+ ]
1783
+ }
1784
+ ],
1785
+ "name": "AssetStaging",
1786
+ "properties": [
1787
+ {
1788
+ "docs": {
1789
+ "remarks": "Being a plain string, it can be used in construct IDs to force a new\nresource when the content hash changes.",
1790
+ "stability": "experimental",
1791
+ "summary": "A hash of this asset, available at construction time."
1792
+ },
1793
+ "immutable": true,
1794
+ "locationInModule": {
1795
+ "filename": "src/asset-staging.ts",
1796
+ "line": 229
1797
+ },
1798
+ "name": "assetHash",
1799
+ "overrides": "cdktn.IAsset",
1800
+ "type": {
1801
+ "primitive": "string"
1802
+ }
1803
+ },
1804
+ {
1805
+ "docs": {
1806
+ "stability": "experimental"
1807
+ },
1808
+ "immutable": true,
1809
+ "locationInModule": {
1810
+ "filename": "src/asset-staging.ts",
1811
+ "line": 228
1812
+ },
1813
+ "name": "isDirectory",
1814
+ "type": {
1815
+ "primitive": "boolean"
1816
+ }
1817
+ },
1818
+ {
1819
+ "docs": {
1820
+ "stability": "experimental"
1821
+ },
1822
+ "immutable": true,
1823
+ "locationInModule": {
1824
+ "filename": "src/asset-staging.ts",
1825
+ "line": 227
1826
+ },
1827
+ "name": "packaging",
1828
+ "type": {
1829
+ "fqn": "cdktn.IAssetPackaging"
1830
+ }
1831
+ }
1832
+ ],
1833
+ "symbolId": "src/asset-staging:AssetStaging"
1834
+ },
1835
+ "cdktn.AssetStagingOptions": {
1836
+ "assembly": "cdktn",
1837
+ "datatype": true,
1838
+ "docs": {
1839
+ "stability": "experimental",
1840
+ "summary": "Options for {@link AssetStaging}."
1841
+ },
1842
+ "fqn": "cdktn.AssetStagingOptions",
1843
+ "interfaces": [
1844
+ "cdktn.AssetOptions"
1845
+ ],
1846
+ "kind": "interface",
1847
+ "locationInModule": {
1848
+ "filename": "src/asset-staging.ts",
1849
+ "line": 128
1850
+ },
1851
+ "name": "AssetStagingOptions",
1852
+ "properties": [
1853
+ {
1854
+ "abstract": true,
1855
+ "docs": {
1856
+ "remarks": "The caller decides this\n(e.g. from its own `AssetType`) — `AssetStaging` never infers or changes\nit based on `exclude`/`extraHash`.",
1857
+ "stability": "experimental",
1858
+ "summary": "How the staged result is produced and shaped."
1859
+ },
1860
+ "immutable": true,
1861
+ "locationInModule": {
1862
+ "filename": "src/asset-staging.ts",
1863
+ "line": 140
1864
+ },
1865
+ "name": "packaging",
1866
+ "type": {
1867
+ "fqn": "cdktn.IAssetPackaging"
1868
+ }
1869
+ },
1870
+ {
1871
+ "abstract": true,
1872
+ "docs": {
1873
+ "remarks": "Resolving a relative path\nagainst `cdktf.json` is the caller's responsibility.",
1874
+ "stability": "experimental",
1875
+ "summary": "Absolute path to the source file or directory."
1876
+ },
1877
+ "immutable": true,
1878
+ "locationInModule": {
1879
+ "filename": "src/asset-staging.ts",
1880
+ "line": 133
1881
+ },
1882
+ "name": "sourcePath",
1883
+ "type": {
1884
+ "primitive": "string"
1885
+ }
1886
+ },
1887
+ {
1888
+ "abstract": true,
1889
+ "docs": {
1890
+ "default": "- the source is staged verbatim, with no build step",
1891
+ "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.",
1892
+ "stability": "experimental",
1893
+ "summary": "A bundler that builds the source into an artifact before staging."
1894
+ },
1895
+ "immutable": true,
1896
+ "locationInModule": {
1897
+ "filename": "src/asset-staging.ts",
1898
+ "line": 179
1899
+ },
1900
+ "name": "bundler",
1901
+ "optional": true,
1902
+ "type": {
1903
+ "fqn": "cdktn.IAssetBundler"
1904
+ }
1905
+ },
1906
+ {
1907
+ "abstract": true,
1908
+ "docs": {
1909
+ "default": "- the staging construct's own id",
1910
+ "stability": "experimental",
1911
+ "summary": "Identifier used in error messages, so they name the user-facing construct (e.g. the `TerraformAsset`) rather than this internal staging child."
1912
+ },
1913
+ "immutable": true,
1914
+ "locationInModule": {
1915
+ "filename": "src/asset-staging.ts",
1916
+ "line": 187
1917
+ },
1918
+ "name": "displayName",
1919
+ "optional": true,
1920
+ "type": {
1921
+ "primitive": "string"
1922
+ }
1923
+ },
1924
+ {
1925
+ "abstract": true,
1926
+ "docs": {
1927
+ "default": "- nothing is excluded",
1928
+ "remarks": "Cannot be combined with\n`ignoreStrategy`, which replaces this matcher rather than layering on\ntop of it.",
1929
+ "stability": "experimental",
1930
+ "summary": "Paths to exclude, relative to `sourcePath`."
1931
+ },
1932
+ "immutable": true,
1933
+ "locationInModule": {
1934
+ "filename": "src/asset-staging.ts",
1935
+ "line": 149
1936
+ },
1937
+ "name": "exclude",
1938
+ "optional": true,
1939
+ "type": {
1940
+ "collection": {
1941
+ "elementtype": {
1942
+ "primitive": "string"
1943
+ },
1944
+ "kind": "array"
1945
+ }
1946
+ }
1947
+ },
1948
+ {
1949
+ "abstract": true,
1950
+ "docs": {
1951
+ "default": "- no extra hash",
1952
+ "stability": "experimental",
1953
+ "summary": "Extra information to fold into the hash (e.g. build instructions and other inputs)."
1954
+ },
1955
+ "immutable": true,
1956
+ "locationInModule": {
1957
+ "filename": "src/asset-staging.ts",
1958
+ "line": 165
1959
+ },
1960
+ "name": "extraHash",
1961
+ "optional": true,
1962
+ "type": {
1963
+ "primitive": "string"
1964
+ }
1965
+ },
1966
+ {
1967
+ "abstract": true,
1968
+ "docs": {
1969
+ "default": "- `exclude` is used with the built-in matcher",
1970
+ "stability": "experimental",
1971
+ "summary": "Exclusion matching, for callers that need `.gitignore` / `.dockerignore` parity rather than the built-in exact-path / suffix / directory matcher."
1972
+ },
1973
+ "immutable": true,
1974
+ "locationInModule": {
1975
+ "filename": "src/asset-staging.ts",
1976
+ "line": 157
1977
+ },
1978
+ "name": "ignoreStrategy",
1979
+ "optional": true,
1980
+ "type": {
1981
+ "fqn": "cdktn.IIgnoreStrategy"
1982
+ }
1983
+ }
1984
+ ],
1985
+ "symbolId": "src/asset-staging:AssetStagingOptions"
1986
+ },
1410
1987
  "cdktn.AssetType": {
1411
1988
  "assembly": "cdktn",
1412
1989
  "docs": {
@@ -1416,7 +1993,7 @@
1416
1993
  "kind": "enum",
1417
1994
  "locationInModule": {
1418
1995
  "filename": "src/terraform-asset.ts",
1419
- "line": 31
1996
+ "line": 95
1420
1997
  },
1421
1998
  "members": [
1422
1999
  {
@@ -2021,22 +2598,138 @@
2021
2598
  }
2022
2599
  }
2023
2600
  ],
2024
- "symbolId": "src/backends/azurerm-backend:AzurermBackendConfig"
2601
+ "symbolId": "src/backends/azurerm-backend:AzurermBackendConfig"
2602
+ },
2603
+ "cdktn.BooleanList": {
2604
+ "assembly": "cdktn",
2605
+ "base": "cdktn.ComplexList",
2606
+ "docs": {
2607
+ "stability": "experimental"
2608
+ },
2609
+ "fqn": "cdktn.BooleanList",
2610
+ "initializer": {
2611
+ "docs": {
2612
+ "stability": "experimental"
2613
+ },
2614
+ "locationInModule": {
2615
+ "filename": "src/complex-computed-list.ts",
2616
+ "line": 421
2617
+ },
2618
+ "parameters": [
2619
+ {
2620
+ "name": "terraformResource",
2621
+ "type": {
2622
+ "fqn": "cdktn.IInterpolatingParent"
2623
+ }
2624
+ },
2625
+ {
2626
+ "name": "terraformAttribute",
2627
+ "type": {
2628
+ "primitive": "string"
2629
+ }
2630
+ },
2631
+ {
2632
+ "name": "wrapsSet",
2633
+ "type": {
2634
+ "primitive": "boolean"
2635
+ }
2636
+ }
2637
+ ]
2638
+ },
2639
+ "kind": "class",
2640
+ "locationInModule": {
2641
+ "filename": "src/complex-computed-list.ts",
2642
+ "line": 420
2643
+ },
2644
+ "methods": [
2645
+ {
2646
+ "docs": {
2647
+ "stability": "experimental"
2648
+ },
2649
+ "locationInModule": {
2650
+ "filename": "src/complex-computed-list.ts",
2651
+ "line": 429
2652
+ },
2653
+ "name": "get",
2654
+ "parameters": [
2655
+ {
2656
+ "name": "index",
2657
+ "type": {
2658
+ "primitive": "number"
2659
+ }
2660
+ }
2661
+ ],
2662
+ "returns": {
2663
+ "type": {
2664
+ "fqn": "cdktn.IResolvable"
2665
+ }
2666
+ }
2667
+ }
2668
+ ],
2669
+ "name": "BooleanList",
2670
+ "properties": [
2671
+ {
2672
+ "docs": {
2673
+ "stability": "experimental"
2674
+ },
2675
+ "locationInModule": {
2676
+ "filename": "src/complex-computed-list.ts",
2677
+ "line": 423
2678
+ },
2679
+ "name": "terraformAttribute",
2680
+ "overrides": "cdktn.ComplexList",
2681
+ "protected": true,
2682
+ "type": {
2683
+ "primitive": "string"
2684
+ }
2685
+ },
2686
+ {
2687
+ "docs": {
2688
+ "stability": "experimental"
2689
+ },
2690
+ "locationInModule": {
2691
+ "filename": "src/complex-computed-list.ts",
2692
+ "line": 422
2693
+ },
2694
+ "name": "terraformResource",
2695
+ "overrides": "cdktn.ComplexList",
2696
+ "protected": true,
2697
+ "type": {
2698
+ "fqn": "cdktn.IInterpolatingParent"
2699
+ }
2700
+ },
2701
+ {
2702
+ "docs": {
2703
+ "stability": "experimental"
2704
+ },
2705
+ "locationInModule": {
2706
+ "filename": "src/complex-computed-list.ts",
2707
+ "line": 424
2708
+ },
2709
+ "name": "wrapsSet",
2710
+ "overrides": "cdktn.ComplexList",
2711
+ "protected": true,
2712
+ "type": {
2713
+ "primitive": "boolean"
2714
+ }
2715
+ }
2716
+ ],
2717
+ "symbolId": "src/complex-computed-list:BooleanList"
2025
2718
  },
2026
- "cdktn.BooleanList": {
2719
+ "cdktn.BooleanListList": {
2027
2720
  "assembly": "cdktn",
2028
2721
  "base": "cdktn.ComplexList",
2029
2722
  "docs": {
2030
2723
  "stability": "experimental"
2031
2724
  },
2032
- "fqn": "cdktn.BooleanList",
2725
+ "fqn": "cdktn.BooleanListList",
2033
2726
  "initializer": {
2034
2727
  "docs": {
2035
2728
  "stability": "experimental"
2036
2729
  },
2037
2730
  "locationInModule": {
2038
2731
  "filename": "src/complex-computed-list.ts",
2039
- "line": 421
2732
+ "line": 474
2040
2733
  },
2041
2734
  "parameters": [
2042
2735
  {
@@ -2062,7 +2755,7 @@
2062
2755
  "kind": "class",
2063
2756
  "locationInModule": {
2064
2757
  "filename": "src/complex-computed-list.ts",
2065
- "line": 420
2758
+ "line": 473
2066
2759
  },
2067
2760
  "methods": [
2068
2761
  {
@@ -2071,7 +2764,7 @@
2071
2764
  },
2072
2765
  "locationInModule": {
2073
2766
  "filename": "src/complex-computed-list.ts",
2074
- "line": 429
2767
+ "line": 482
2075
2768
  },
2076
2769
  "name": "get",
2077
2770
  "parameters": [
@@ -2089,7 +2782,7 @@
2089
2782
  }
2090
2783
  }
2091
2784
  ],
2092
- "name": "BooleanList",
2785
+ "name": "BooleanListList",
2093
2786
  "properties": [
2094
2787
  {
2095
2788
  "docs": {
@@ -2097,7 +2790,7 @@
2097
2790
  },
2098
2791
  "locationInModule": {
2099
2792
  "filename": "src/complex-computed-list.ts",
2100
- "line": 423
2793
+ "line": 476
2101
2794
  },
2102
2795
  "name": "terraformAttribute",
2103
2796
  "overrides": "cdktn.ComplexList",
@@ -2112,7 +2805,7 @@
2112
2805
  },
2113
2806
  "locationInModule": {
2114
2807
  "filename": "src/complex-computed-list.ts",
2115
- "line": 422
2808
+ "line": 475
2116
2809
  },
2117
2810
  "name": "terraformResource",
2118
2811
  "overrides": "cdktn.ComplexList",
@@ -2127,7 +2820,7 @@
2127
2820
  },
2128
2821
  "locationInModule": {
2129
2822
  "filename": "src/complex-computed-list.ts",
2130
- "line": 424
2823
+ "line": 477
2131
2824
  },
2132
2825
  "name": "wrapsSet",
2133
2826
  "overrides": "cdktn.ComplexList",
@@ -2137,22 +2830,22 @@
2137
2830
  }
2138
2831
  }
2139
2832
  ],
2140
- "symbolId": "src/complex-computed-list:BooleanList"
2833
+ "symbolId": "src/complex-computed-list:BooleanListList"
2141
2834
  },
2142
- "cdktn.BooleanListList": {
2835
+ "cdktn.BooleanListMap": {
2143
2836
  "assembly": "cdktn",
2144
- "base": "cdktn.ComplexList",
2837
+ "base": "cdktn.ComplexMap",
2145
2838
  "docs": {
2146
2839
  "stability": "experimental"
2147
2840
  },
2148
- "fqn": "cdktn.BooleanListList",
2841
+ "fqn": "cdktn.BooleanListMap",
2149
2842
  "initializer": {
2150
2843
  "docs": {
2151
2844
  "stability": "experimental"
2152
2845
  },
2153
2846
  "locationInModule": {
2154
2847
  "filename": "src/complex-computed-list.ts",
2155
- "line": 474
2848
+ "line": 751
2156
2849
  },
2157
2850
  "parameters": [
2158
2851
  {
@@ -2166,19 +2859,13 @@
2166
2859
  "type": {
2167
2860
  "primitive": "string"
2168
2861
  }
2169
- },
2170
- {
2171
- "name": "wrapsSet",
2172
- "type": {
2173
- "primitive": "boolean"
2174
- }
2175
2862
  }
2176
2863
  ]
2177
2864
  },
2178
2865
  "kind": "class",
2179
2866
  "locationInModule": {
2180
2867
  "filename": "src/complex-computed-list.ts",
2181
- "line": 473
2868
+ "line": 750
2182
2869
  },
2183
2870
  "methods": [
2184
2871
  {
@@ -2187,14 +2874,14 @@
2187
2874
  },
2188
2875
  "locationInModule": {
2189
2876
  "filename": "src/complex-computed-list.ts",
2190
- "line": 482
2877
+ "line": 758
2191
2878
  },
2192
2879
  "name": "get",
2193
2880
  "parameters": [
2194
2881
  {
2195
- "name": "index",
2882
+ "name": "key",
2196
2883
  "type": {
2197
- "primitive": "number"
2884
+ "primitive": "string"
2198
2885
  }
2199
2886
  }
2200
2887
  ],
@@ -2205,7 +2892,7 @@
2205
2892
  }
2206
2893
  }
2207
2894
  ],
2208
- "name": "BooleanListList",
2895
+ "name": "BooleanListMap",
2209
2896
  "properties": [
2210
2897
  {
2211
2898
  "docs": {
@@ -2213,10 +2900,10 @@
2213
2900
  },
2214
2901
  "locationInModule": {
2215
2902
  "filename": "src/complex-computed-list.ts",
2216
- "line": 476
2903
+ "line": 753
2217
2904
  },
2218
2905
  "name": "terraformAttribute",
2219
- "overrides": "cdktn.ComplexList",
2906
+ "overrides": "cdktn.ComplexMap",
2220
2907
  "protected": true,
2221
2908
  "type": {
2222
2909
  "primitive": "string"
@@ -2228,14 +2915,71 @@
2228
2915
  },
2229
2916
  "locationInModule": {
2230
2917
  "filename": "src/complex-computed-list.ts",
2231
- "line": 475
2918
+ "line": 752
2232
2919
  },
2233
2920
  "name": "terraformResource",
2234
- "overrides": "cdktn.ComplexList",
2921
+ "overrides": "cdktn.ComplexMap",
2235
2922
  "protected": true,
2236
2923
  "type": {
2237
2924
  "fqn": "cdktn.IInterpolatingParent"
2238
2925
  }
2926
+ }
2927
+ ],
2928
+ "symbolId": "src/complex-computed-list:BooleanListMap"
2929
+ },
2930
+ "cdktn.BooleanMap": {
2931
+ "assembly": "cdktn",
2932
+ "docs": {
2933
+ "stability": "experimental"
2934
+ },
2935
+ "fqn": "cdktn.BooleanMap",
2936
+ "initializer": {
2937
+ "docs": {
2938
+ "stability": "experimental"
2939
+ },
2940
+ "locationInModule": {
2941
+ "filename": "src/complex-computed-list.ts",
2942
+ "line": 170
2943
+ },
2944
+ "parameters": [
2945
+ {
2946
+ "name": "terraformResource",
2947
+ "type": {
2948
+ "fqn": "cdktn.IInterpolatingParent"
2949
+ }
2950
+ },
2951
+ {
2952
+ "name": "terraformAttribute",
2953
+ "type": {
2954
+ "primitive": "string"
2955
+ }
2956
+ }
2957
+ ]
2958
+ },
2959
+ "interfaces": [
2960
+ "cdktn.ITerraformAddressable",
2961
+ "cdktn.IResolvable"
2962
+ ],
2963
+ "kind": "class",
2964
+ "locationInModule": {
2965
+ "filename": "src/complex-computed-list.ts",
2966
+ "line": 166
2967
+ },
2968
+ "methods": [
2969
+ {
2970
+ "docs": {
2971
+ "stability": "experimental"
2972
+ },
2973
+ "locationInModule": {
2974
+ "filename": "src/complex-computed-list.ts",
2975
+ "line": 183
2976
+ },
2977
+ "name": "computeFqn",
2978
+ "returns": {
2979
+ "type": {
2980
+ "primitive": "string"
2981
+ }
2982
+ }
2239
2983
  },
2240
2984
  {
2241
2985
  "docs": {
@@ -2243,32 +2987,151 @@
2243
2987
  },
2244
2988
  "locationInModule": {
2245
2989
  "filename": "src/complex-computed-list.ts",
2246
- "line": 477
2990
+ "line": 177
2247
2991
  },
2248
- "name": "wrapsSet",
2249
- "overrides": "cdktn.ComplexList",
2992
+ "name": "lookup",
2993
+ "parameters": [
2994
+ {
2995
+ "name": "key",
2996
+ "type": {
2997
+ "primitive": "string"
2998
+ }
2999
+ }
3000
+ ],
3001
+ "returns": {
3002
+ "type": {
3003
+ "fqn": "cdktn.IResolvable"
3004
+ }
3005
+ }
3006
+ },
3007
+ {
3008
+ "docs": {
3009
+ "stability": "experimental",
3010
+ "summary": "Produce the Token's value at resolution time."
3011
+ },
3012
+ "locationInModule": {
3013
+ "filename": "src/complex-computed-list.ts",
3014
+ "line": 43
3015
+ },
3016
+ "name": "resolve",
3017
+ "overrides": "cdktn.IResolvable",
3018
+ "parameters": [
3019
+ {
3020
+ "name": "_context",
3021
+ "type": {
3022
+ "fqn": "cdktn.IResolveContext"
3023
+ }
3024
+ }
3025
+ ],
3026
+ "returns": {
3027
+ "type": {
3028
+ "primitive": "any"
3029
+ }
3030
+ }
3031
+ },
3032
+ {
3033
+ "docs": {
3034
+ "remarks": "Returns a reversible string representation.",
3035
+ "stability": "experimental",
3036
+ "summary": "Return a string representation of this resolvable object."
3037
+ },
3038
+ "locationInModule": {
3039
+ "filename": "src/complex-computed-list.ts",
3040
+ "line": 47
3041
+ },
3042
+ "name": "toString",
3043
+ "overrides": "cdktn.IResolvable",
3044
+ "returns": {
3045
+ "type": {
3046
+ "primitive": "string"
3047
+ }
3048
+ }
3049
+ }
3050
+ ],
3051
+ "name": "BooleanMap",
3052
+ "properties": [
3053
+ {
3054
+ "docs": {
3055
+ "remarks": "If this returns an empty array the stack will not be attached.",
3056
+ "stability": "experimental",
3057
+ "summary": "The creation stack of this resolvable which will be appended to errors thrown during resolution."
3058
+ },
3059
+ "immutable": true,
3060
+ "locationInModule": {
3061
+ "filename": "src/complex-computed-list.ts",
3062
+ "line": 19
3063
+ },
3064
+ "name": "creationStack",
3065
+ "overrides": "cdktn.IResolvable",
3066
+ "type": {
3067
+ "collection": {
3068
+ "elementtype": {
3069
+ "primitive": "string"
3070
+ },
3071
+ "kind": "array"
3072
+ }
3073
+ }
3074
+ },
3075
+ {
3076
+ "docs": {
3077
+ "stability": "experimental"
3078
+ },
3079
+ "immutable": true,
3080
+ "locationInModule": {
3081
+ "filename": "src/complex-computed-list.ts",
3082
+ "line": 35
3083
+ },
3084
+ "name": "fqn",
3085
+ "overrides": "cdktn.ITerraformAddressable",
3086
+ "type": {
3087
+ "primitive": "string"
3088
+ }
3089
+ },
3090
+ {
3091
+ "docs": {
3092
+ "stability": "experimental"
3093
+ },
3094
+ "locationInModule": {
3095
+ "filename": "src/complex-computed-list.ts",
3096
+ "line": 172
3097
+ },
3098
+ "name": "terraformAttribute",
2250
3099
  "protected": true,
2251
3100
  "type": {
2252
- "primitive": "boolean"
3101
+ "primitive": "string"
3102
+ }
3103
+ },
3104
+ {
3105
+ "docs": {
3106
+ "stability": "experimental"
3107
+ },
3108
+ "locationInModule": {
3109
+ "filename": "src/complex-computed-list.ts",
3110
+ "line": 171
3111
+ },
3112
+ "name": "terraformResource",
3113
+ "protected": true,
3114
+ "type": {
3115
+ "fqn": "cdktn.IInterpolatingParent"
2253
3116
  }
2254
3117
  }
2255
3118
  ],
2256
- "symbolId": "src/complex-computed-list:BooleanListList"
3119
+ "symbolId": "src/complex-computed-list:BooleanMap"
2257
3120
  },
2258
- "cdktn.BooleanListMap": {
3121
+ "cdktn.BooleanMapList": {
2259
3122
  "assembly": "cdktn",
2260
- "base": "cdktn.ComplexMap",
3123
+ "base": "cdktn.MapList",
2261
3124
  "docs": {
2262
3125
  "stability": "experimental"
2263
3126
  },
2264
- "fqn": "cdktn.BooleanListMap",
3127
+ "fqn": "cdktn.BooleanMapList",
2265
3128
  "initializer": {
2266
3129
  "docs": {
2267
3130
  "stability": "experimental"
2268
3131
  },
2269
3132
  "locationInModule": {
2270
3133
  "filename": "src/complex-computed-list.ts",
2271
- "line": 751
3134
+ "line": 685
2272
3135
  },
2273
3136
  "parameters": [
2274
3137
  {
@@ -2278,9 +3141,15 @@
2278
3141
  }
2279
3142
  },
2280
3143
  {
2281
- "name": "terraformAttribute",
3144
+ "name": "terraformAttribute",
3145
+ "type": {
3146
+ "primitive": "string"
3147
+ }
3148
+ },
3149
+ {
3150
+ "name": "wrapsSet",
2282
3151
  "type": {
2283
- "primitive": "string"
3152
+ "primitive": "boolean"
2284
3153
  }
2285
3154
  }
2286
3155
  ]
@@ -2288,7 +3157,7 @@
2288
3157
  "kind": "class",
2289
3158
  "locationInModule": {
2290
3159
  "filename": "src/complex-computed-list.ts",
2291
- "line": 750
3160
+ "line": 684
2292
3161
  },
2293
3162
  "methods": [
2294
3163
  {
@@ -2297,25 +3166,25 @@
2297
3166
  },
2298
3167
  "locationInModule": {
2299
3168
  "filename": "src/complex-computed-list.ts",
2300
- "line": 758
3169
+ "line": 693
2301
3170
  },
2302
3171
  "name": "get",
2303
3172
  "parameters": [
2304
3173
  {
2305
- "name": "key",
3174
+ "name": "index",
2306
3175
  "type": {
2307
- "primitive": "string"
3176
+ "primitive": "number"
2308
3177
  }
2309
3178
  }
2310
3179
  ],
2311
3180
  "returns": {
2312
3181
  "type": {
2313
- "fqn": "cdktn.IResolvable"
3182
+ "fqn": "cdktn.BooleanMap"
2314
3183
  }
2315
3184
  }
2316
3185
  }
2317
3186
  ],
2318
- "name": "BooleanListMap",
3187
+ "name": "BooleanMapList",
2319
3188
  "properties": [
2320
3189
  {
2321
3190
  "docs": {
@@ -2323,10 +3192,10 @@
2323
3192
  },
2324
3193
  "locationInModule": {
2325
3194
  "filename": "src/complex-computed-list.ts",
2326
- "line": 753
3195
+ "line": 687
2327
3196
  },
2328
3197
  "name": "terraformAttribute",
2329
- "overrides": "cdktn.ComplexMap",
3198
+ "overrides": "cdktn.MapList",
2330
3199
  "protected": true,
2331
3200
  "type": {
2332
3201
  "primitive": "string"
@@ -2338,31 +3207,46 @@
2338
3207
  },
2339
3208
  "locationInModule": {
2340
3209
  "filename": "src/complex-computed-list.ts",
2341
- "line": 752
3210
+ "line": 686
2342
3211
  },
2343
3212
  "name": "terraformResource",
2344
- "overrides": "cdktn.ComplexMap",
3213
+ "overrides": "cdktn.MapList",
2345
3214
  "protected": true,
2346
3215
  "type": {
2347
3216
  "fqn": "cdktn.IInterpolatingParent"
2348
3217
  }
3218
+ },
3219
+ {
3220
+ "docs": {
3221
+ "stability": "experimental"
3222
+ },
3223
+ "locationInModule": {
3224
+ "filename": "src/complex-computed-list.ts",
3225
+ "line": 688
3226
+ },
3227
+ "name": "wrapsSet",
3228
+ "overrides": "cdktn.MapList",
3229
+ "protected": true,
3230
+ "type": {
3231
+ "primitive": "boolean"
3232
+ }
2349
3233
  }
2350
3234
  ],
2351
- "symbolId": "src/complex-computed-list:BooleanListMap"
3235
+ "symbolId": "src/complex-computed-list:BooleanMapList"
2352
3236
  },
2353
- "cdktn.BooleanMap": {
3237
+ "cdktn.BooleanMapMap": {
2354
3238
  "assembly": "cdktn",
2355
3239
  "docs": {
2356
3240
  "stability": "experimental"
2357
3241
  },
2358
- "fqn": "cdktn.BooleanMap",
3242
+ "fqn": "cdktn.BooleanMapMap",
2359
3243
  "initializer": {
2360
3244
  "docs": {
2361
3245
  "stability": "experimental"
2362
3246
  },
2363
3247
  "locationInModule": {
2364
3248
  "filename": "src/complex-computed-list.ts",
2365
- "line": 170
3249
+ "line": 271
2366
3250
  },
2367
3251
  "parameters": [
2368
3252
  {
@@ -2386,7 +3270,7 @@
2386
3270
  "kind": "class",
2387
3271
  "locationInModule": {
2388
3272
  "filename": "src/complex-computed-list.ts",
2389
- "line": 166
3273
+ "line": 267
2390
3274
  },
2391
3275
  "methods": [
2392
3276
  {
@@ -2395,7 +3279,7 @@
2395
3279
  },
2396
3280
  "locationInModule": {
2397
3281
  "filename": "src/complex-computed-list.ts",
2398
- "line": 183
3282
+ "line": 285
2399
3283
  },
2400
3284
  "name": "computeFqn",
2401
3285
  "returns": {
@@ -2410,7 +3294,7 @@
2410
3294
  },
2411
3295
  "locationInModule": {
2412
3296
  "filename": "src/complex-computed-list.ts",
2413
- "line": 177
3297
+ "line": 278
2414
3298
  },
2415
3299
  "name": "lookup",
2416
3300
  "parameters": [
@@ -2423,7 +3307,7 @@
2423
3307
  ],
2424
3308
  "returns": {
2425
3309
  "type": {
2426
- "fqn": "cdktn.IResolvable"
3310
+ "fqn": "cdktn.BooleanMap"
2427
3311
  }
2428
3312
  }
2429
3313
  },
@@ -2471,7 +3355,7 @@
2471
3355
  }
2472
3356
  }
2473
3357
  ],
2474
- "name": "BooleanMap",
3358
+ "name": "BooleanMapMap",
2475
3359
  "properties": [
2476
3360
  {
2477
3361
  "docs": {
@@ -2516,7 +3400,7 @@
2516
3400
  },
2517
3401
  "locationInModule": {
2518
3402
  "filename": "src/complex-computed-list.ts",
2519
- "line": 172
3403
+ "line": 273
2520
3404
  },
2521
3405
  "name": "terraformAttribute",
2522
3406
  "protected": true,
@@ -2530,7 +3414,7 @@
2530
3414
  },
2531
3415
  "locationInModule": {
2532
3416
  "filename": "src/complex-computed-list.ts",
2533
- "line": 171
3417
+ "line": 272
2534
3418
  },
2535
3419
  "name": "terraformResource",
2536
3420
  "protected": true,
@@ -2539,314 +3423,459 @@
2539
3423
  }
2540
3424
  }
2541
3425
  ],
2542
- "symbolId": "src/complex-computed-list:BooleanMap"
3426
+ "symbolId": "src/complex-computed-list:BooleanMapMap"
2543
3427
  },
2544
- "cdktn.BooleanMapList": {
3428
+ "cdktn.BundleOptions": {
2545
3429
  "assembly": "cdktn",
2546
- "base": "cdktn.MapList",
3430
+ "datatype": true,
2547
3431
  "docs": {
2548
- "stability": "experimental"
3432
+ "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.",
3433
+ "stability": "experimental",
3434
+ "summary": "Options handed to an {@link IAssetBundler} when it runs."
2549
3435
  },
2550
- "fqn": "cdktn.BooleanMapList",
2551
- "initializer": {
2552
- "docs": {
2553
- "stability": "experimental"
2554
- },
2555
- "locationInModule": {
2556
- "filename": "src/complex-computed-list.ts",
2557
- "line": 685
3436
+ "fqn": "cdktn.BundleOptions",
3437
+ "kind": "interface",
3438
+ "locationInModule": {
3439
+ "filename": "src/assets.ts",
3440
+ "line": 249
3441
+ },
3442
+ "name": "BundleOptions",
3443
+ "properties": [
3444
+ {
3445
+ "abstract": true,
3446
+ "docs": {
3447
+ "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}.",
3448
+ "stability": "experimental",
3449
+ "summary": "A scratch directory the bundler may write into, owned and created by the caller."
3450
+ },
3451
+ "immutable": true,
3452
+ "locationInModule": {
3453
+ "filename": "src/assets.ts",
3454
+ "line": 266
3455
+ },
3456
+ "name": "outputDir",
3457
+ "type": {
3458
+ "primitive": "string"
3459
+ }
2558
3460
  },
2559
- "parameters": [
2560
- {
2561
- "name": "terraformResource",
2562
- "type": {
2563
- "fqn": "cdktn.IInterpolatingParent"
2564
- }
3461
+ {
3462
+ "abstract": true,
3463
+ "docs": {
3464
+ "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.",
3465
+ "stability": "experimental",
3466
+ "summary": "Absolute path to the asset's source file or directory. The bundler reads from here and must not modify it."
2565
3467
  },
2566
- {
2567
- "name": "terraformAttribute",
2568
- "type": {
2569
- "primitive": "string"
2570
- }
3468
+ "immutable": true,
3469
+ "locationInModule": {
3470
+ "filename": "src/assets.ts",
3471
+ "line": 258
2571
3472
  },
2572
- {
2573
- "name": "wrapsSet",
2574
- "type": {
2575
- "primitive": "boolean"
2576
- }
3473
+ "name": "source",
3474
+ "type": {
3475
+ "primitive": "string"
2577
3476
  }
2578
- ]
3477
+ }
3478
+ ],
3479
+ "symbolId": "src/assets:BundleOptions"
3480
+ },
3481
+ "cdktn.BundleOutputType": {
3482
+ "assembly": "cdktn",
3483
+ "docs": {
3484
+ "stability": "experimental",
3485
+ "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."
3486
+ },
3487
+ "fqn": "cdktn.BundleOutputType",
3488
+ "kind": "enum",
3489
+ "locationInModule": {
3490
+ "filename": "src/assets.ts",
3491
+ "line": 274
3492
+ },
3493
+ "members": [
3494
+ {
3495
+ "docs": {
3496
+ "remarks": "Packaged like an unbundled source directory. The default, and the only\nshape that predates archive support.",
3497
+ "stability": "experimental",
3498
+ "summary": "The output is a directory tree."
3499
+ },
3500
+ "name": "DIRECTORY"
3501
+ },
3502
+ {
3503
+ "docs": {
3504
+ "remarks": "A tarball or a deterministic `.zip`. Staged verbatim rather than\nre-archived, so `AssetType.FILE` no longer has to reject a bundler.",
3505
+ "stability": "experimental",
3506
+ "summary": "The output is a single file the bundler already produced in its final form."
3507
+ },
3508
+ "name": "FILE"
3509
+ }
3510
+ ],
3511
+ "name": "BundleOutputType",
3512
+ "symbolId": "src/assets:BundleOutputType"
3513
+ },
3514
+ "cdktn.BundleResult": {
3515
+ "assembly": "cdktn",
3516
+ "docs": {
3517
+ "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.",
3518
+ "stability": "experimental",
3519
+ "summary": "What a bundler produced, returned from {@link IAssetBundler.bundle}."
2579
3520
  },
3521
+ "fqn": "cdktn.BundleResult",
2580
3522
  "kind": "class",
2581
3523
  "locationInModule": {
2582
- "filename": "src/complex-computed-list.ts",
2583
- "line": 684
3524
+ "filename": "src/assets.ts",
3525
+ "line": 299
2584
3526
  },
2585
3527
  "methods": [
2586
3528
  {
2587
3529
  "docs": {
2588
- "stability": "experimental"
3530
+ "remarks": "Distinct from a thrown error, which is a hard failure.",
3531
+ "stability": "experimental",
3532
+ "summary": "The bundler declined to run here; the caller should fall back."
2589
3533
  },
2590
3534
  "locationInModule": {
2591
- "filename": "src/complex-computed-list.ts",
2592
- "line": 693
3535
+ "filename": "src/assets.ts",
3536
+ "line": 319
2593
3537
  },
2594
- "name": "get",
3538
+ "name": "declined",
3539
+ "returns": {
3540
+ "type": {
3541
+ "fqn": "cdktn.BundleResult"
3542
+ }
3543
+ },
3544
+ "static": true
3545
+ },
3546
+ {
3547
+ "docs": {
3548
+ "stability": "experimental",
3549
+ "summary": "A directory-tree artifact at `path`."
3550
+ },
3551
+ "locationInModule": {
3552
+ "filename": "src/assets.ts",
3553
+ "line": 303
3554
+ },
3555
+ "name": "directory",
2595
3556
  "parameters": [
2596
3557
  {
2597
- "name": "index",
3558
+ "name": "path",
2598
3559
  "type": {
2599
- "primitive": "number"
3560
+ "primitive": "string"
2600
3561
  }
2601
3562
  }
2602
3563
  ],
2603
3564
  "returns": {
2604
3565
  "type": {
2605
- "fqn": "cdktn.BooleanMap"
3566
+ "fqn": "cdktn.BundleResult"
2606
3567
  }
2607
- }
3568
+ },
3569
+ "static": true
3570
+ },
3571
+ {
3572
+ "docs": {
3573
+ "stability": "experimental",
3574
+ "summary": "A single-file artifact at `path` (a tarball, a `.zip`), staged verbatim."
3575
+ },
3576
+ "locationInModule": {
3577
+ "filename": "src/assets.ts",
3578
+ "line": 310
3579
+ },
3580
+ "name": "file",
3581
+ "parameters": [
3582
+ {
3583
+ "name": "path",
3584
+ "type": {
3585
+ "primitive": "string"
3586
+ }
3587
+ }
3588
+ ],
3589
+ "returns": {
3590
+ "type": {
3591
+ "fqn": "cdktn.BundleResult"
3592
+ }
3593
+ },
3594
+ "static": true
2608
3595
  }
2609
3596
  ],
2610
- "name": "BooleanMapList",
3597
+ "name": "BundleResult",
2611
3598
  "properties": [
2612
3599
  {
2613
3600
  "docs": {
2614
- "stability": "experimental"
3601
+ "stability": "experimental",
3602
+ "summary": "Whether the bundler declined to run, signalling the caller to fall back."
2615
3603
  },
3604
+ "immutable": true,
2616
3605
  "locationInModule": {
2617
- "filename": "src/complex-computed-list.ts",
2618
- "line": 687
3606
+ "filename": "src/assets.ts",
3607
+ "line": 336
2619
3608
  },
2620
- "name": "terraformAttribute",
2621
- "overrides": "cdktn.MapList",
2622
- "protected": true,
3609
+ "name": "isDeclined",
2623
3610
  "type": {
2624
- "primitive": "string"
3611
+ "primitive": "boolean"
2625
3612
  }
2626
3613
  },
2627
3614
  {
2628
3615
  "docs": {
2629
- "stability": "experimental"
3616
+ "stability": "experimental",
3617
+ "summary": "The artifact's shape, or undefined when {@link isDeclined}."
2630
3618
  },
3619
+ "immutable": true,
2631
3620
  "locationInModule": {
2632
- "filename": "src/complex-computed-list.ts",
2633
- "line": 686
3621
+ "filename": "src/assets.ts",
3622
+ "line": 326
2634
3623
  },
2635
- "name": "terraformResource",
2636
- "overrides": "cdktn.MapList",
2637
- "protected": true,
3624
+ "name": "outputType",
3625
+ "optional": true,
2638
3626
  "type": {
2639
- "fqn": "cdktn.IInterpolatingParent"
3627
+ "fqn": "cdktn.BundleOutputType"
2640
3628
  }
2641
3629
  },
2642
3630
  {
2643
3631
  "docs": {
2644
- "stability": "experimental"
2645
- },
2646
- "locationInModule": {
2647
- "filename": "src/complex-computed-list.ts",
2648
- "line": 688
3632
+ "stability": "experimental",
3633
+ "summary": "The artifact path, or undefined when {@link isDeclined}."
2649
3634
  },
2650
- "name": "wrapsSet",
2651
- "overrides": "cdktn.MapList",
2652
- "protected": true,
2653
- "type": {
2654
- "primitive": "boolean"
2655
- }
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
- },
2674
- "parameters": [
2675
- {
2676
- "name": "terraformResource",
2677
- "type": {
2678
- "fqn": "cdktn.IInterpolatingParent"
2679
- }
3635
+ "immutable": true,
3636
+ "locationInModule": {
3637
+ "filename": "src/assets.ts",
3638
+ "line": 331
2680
3639
  },
2681
- {
2682
- "name": "terraformAttribute",
2683
- "type": {
2684
- "primitive": "string"
2685
- }
3640
+ "name": "path",
3641
+ "optional": true,
3642
+ "type": {
3643
+ "primitive": "string"
2686
3644
  }
2687
- ]
2688
- },
2689
- "interfaces": [
2690
- "cdktn.ITerraformAddressable",
2691
- "cdktn.IResolvable"
3645
+ }
2692
3646
  ],
3647
+ "symbolId": "src/assets:BundleResult"
3648
+ },
3649
+ "cdktn.BundlerKey": {
3650
+ "assembly": "cdktn",
3651
+ "docs": {
3652
+ "example": "const key = BundlerKey.of(\"docker\", image, command)\n .withEnv({ NODE_ENV: nodeEnv })\n .toString();",
3653
+ "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.",
3654
+ "stability": "experimental",
3655
+ "summary": "Builds an {@link IAssetBundler.bundlerKey} from an ordered set of parts."
3656
+ },
3657
+ "fqn": "cdktn.BundlerKey",
2693
3658
  "kind": "class",
2694
3659
  "locationInModule": {
2695
- "filename": "src/complex-computed-list.ts",
2696
- "line": 267
3660
+ "filename": "src/assets.ts",
3661
+ "line": 432
2697
3662
  },
2698
3663
  "methods": [
2699
3664
  {
2700
3665
  "docs": {
2701
- "stability": "experimental"
3666
+ "remarks": "Order is significant: it is part of what the key identifies.",
3667
+ "stability": "experimental",
3668
+ "summary": "Start a key from an ordered list of parts."
2702
3669
  },
2703
3670
  "locationInModule": {
2704
- "filename": "src/complex-computed-list.ts",
2705
- "line": 285
3671
+ "filename": "src/assets.ts",
3672
+ "line": 438
2706
3673
  },
2707
- "name": "computeFqn",
3674
+ "name": "of",
3675
+ "parameters": [
3676
+ {
3677
+ "name": "parts",
3678
+ "type": {
3679
+ "primitive": "string"
3680
+ },
3681
+ "variadic": true
3682
+ }
3683
+ ],
2708
3684
  "returns": {
2709
3685
  "type": {
2710
- "primitive": "string"
3686
+ "fqn": "cdktn.BundlerKey"
2711
3687
  }
2712
- }
3688
+ },
3689
+ "static": true,
3690
+ "variadic": true
2713
3691
  },
2714
3692
  {
2715
3693
  "docs": {
2716
- "stability": "experimental"
3694
+ "stability": "experimental",
3695
+ "summary": "Append parts, returning a new key."
2717
3696
  },
2718
3697
  "locationInModule": {
2719
- "filename": "src/complex-computed-list.ts",
2720
- "line": 278
3698
+ "filename": "src/assets.ts",
3699
+ "line": 451
2721
3700
  },
2722
- "name": "lookup",
3701
+ "name": "add",
2723
3702
  "parameters": [
2724
3703
  {
2725
- "name": "key",
3704
+ "name": "parts",
2726
3705
  "type": {
2727
3706
  "primitive": "string"
2728
- }
3707
+ },
3708
+ "variadic": true
2729
3709
  }
2730
3710
  ],
2731
3711
  "returns": {
2732
3712
  "type": {
2733
- "fqn": "cdktn.BooleanMap"
3713
+ "fqn": "cdktn.BundlerKey"
2734
3714
  }
2735
- }
3715
+ },
3716
+ "variadic": true
2736
3717
  },
2737
3718
  {
2738
3719
  "docs": {
2739
3720
  "stability": "experimental",
2740
- "summary": "Produce the Token's value at resolution time."
3721
+ "summary": "Render the collected parts to the string passed as `bundlerKey`."
2741
3722
  },
2742
3723
  "locationInModule": {
2743
- "filename": "src/complex-computed-list.ts",
2744
- "line": 43
3724
+ "filename": "src/assets.ts",
3725
+ "line": 469
2745
3726
  },
2746
- "name": "resolve",
2747
- "overrides": "cdktn.IResolvable",
2748
- "parameters": [
2749
- {
2750
- "name": "_context",
2751
- "type": {
2752
- "fqn": "cdktn.IResolveContext"
2753
- }
2754
- }
2755
- ],
3727
+ "name": "toString",
2756
3728
  "returns": {
2757
3729
  "type": {
2758
- "primitive": "any"
3730
+ "primitive": "string"
2759
3731
  }
2760
3732
  }
2761
3733
  },
2762
3734
  {
2763
3735
  "docs": {
2764
- "remarks": "Returns a reversible string representation.",
2765
3736
  "stability": "experimental",
2766
- "summary": "Return a string representation of this resolvable object."
3737
+ "summary": "Append `key=value` parts for a record, sorted by key so the result does not depend on property order."
2767
3738
  },
2768
3739
  "locationInModule": {
2769
- "filename": "src/complex-computed-list.ts",
2770
- "line": 47
3740
+ "filename": "src/assets.ts",
3741
+ "line": 459
2771
3742
  },
2772
- "name": "toString",
2773
- "overrides": "cdktn.IResolvable",
3743
+ "name": "withEnv",
3744
+ "parameters": [
3745
+ {
3746
+ "name": "entries",
3747
+ "type": {
3748
+ "collection": {
3749
+ "elementtype": {
3750
+ "primitive": "string"
3751
+ },
3752
+ "kind": "map"
3753
+ }
3754
+ }
3755
+ }
3756
+ ],
2774
3757
  "returns": {
2775
3758
  "type": {
2776
- "primitive": "string"
3759
+ "fqn": "cdktn.BundlerKey"
2777
3760
  }
2778
3761
  }
2779
3762
  }
2780
3763
  ],
2781
- "name": "BooleanMapMap",
2782
- "properties": [
3764
+ "name": "BundlerKey",
3765
+ "symbolId": "src/assets:BundlerKey"
3766
+ },
3767
+ "cdktn.ChainBundler": {
3768
+ "assembly": "cdktn",
3769
+ "docs": {
3770
+ "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.",
3771
+ "stability": "experimental",
3772
+ "summary": "Composes bundlers into a \"try each in order until one runs\" chain."
3773
+ },
3774
+ "fqn": "cdktn.ChainBundler",
3775
+ "interfaces": [
3776
+ "cdktn.IAssetBundler"
3777
+ ],
3778
+ "kind": "class",
3779
+ "locationInModule": {
3780
+ "filename": "src/assets.ts",
3781
+ "line": 494
3782
+ },
3783
+ "methods": [
2783
3784
  {
2784
3785
  "docs": {
2785
- "remarks": "If this returns an empty array the stack will not be attached.",
3786
+ "remarks": "earlier bundlers are preferred.",
2786
3787
  "stability": "experimental",
2787
- "summary": "The creation stack of this resolvable which will be appended to errors thrown during resolution."
3788
+ "summary": "Chain bundlers in the order given;"
2788
3789
  },
2789
- "immutable": true,
2790
3790
  "locationInModule": {
2791
- "filename": "src/complex-computed-list.ts",
2792
- "line": 19
3791
+ "filename": "src/assets.ts",
3792
+ "line": 498
2793
3793
  },
2794
- "name": "creationStack",
2795
- "overrides": "cdktn.IResolvable",
2796
- "type": {
2797
- "collection": {
2798
- "elementtype": {
2799
- "primitive": "string"
3794
+ "name": "of",
3795
+ "parameters": [
3796
+ {
3797
+ "name": "bundlers",
3798
+ "type": {
3799
+ "fqn": "cdktn.IAssetBundler"
2800
3800
  },
2801
- "kind": "array"
3801
+ "variadic": true
2802
3802
  }
2803
- }
3803
+ ],
3804
+ "returns": {
3805
+ "type": {
3806
+ "fqn": "cdktn.ChainBundler"
3807
+ }
3808
+ },
3809
+ "static": true,
3810
+ "variadic": true
2804
3811
  },
2805
3812
  {
2806
3813
  "docs": {
2807
- "stability": "experimental"
3814
+ "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.",
3815
+ "stability": "experimental",
3816
+ "summary": "Produce the artifact and return a {@link BundleResult} describing it."
2808
3817
  },
2809
- "immutable": true,
2810
3818
  "locationInModule": {
2811
- "filename": "src/complex-computed-list.ts",
2812
- "line": 35
3819
+ "filename": "src/assets.ts",
3820
+ "line": 532
2813
3821
  },
2814
- "name": "fqn",
2815
- "overrides": "cdktn.ITerraformAddressable",
2816
- "type": {
2817
- "primitive": "string"
3822
+ "name": "bundle",
3823
+ "overrides": "cdktn.IAssetBundler",
3824
+ "parameters": [
3825
+ {
3826
+ "name": "options",
3827
+ "type": {
3828
+ "fqn": "cdktn.BundleOptions"
3829
+ }
3830
+ }
3831
+ ],
3832
+ "returns": {
3833
+ "type": {
3834
+ "fqn": "cdktn.BundleResult"
3835
+ }
2818
3836
  }
2819
- },
3837
+ }
3838
+ ],
3839
+ "name": "ChainBundler",
3840
+ "properties": [
2820
3841
  {
2821
3842
  "docs": {
2822
- "stability": "experimental"
3843
+ "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`.",
3844
+ "stability": "experimental",
3845
+ "summary": "A value identifying the build, folded into the asset hash."
2823
3846
  },
3847
+ "immutable": true,
2824
3848
  "locationInModule": {
2825
- "filename": "src/complex-computed-list.ts",
2826
- "line": 273
3849
+ "filename": "src/assets.ts",
3850
+ "line": 502
2827
3851
  },
2828
- "name": "terraformAttribute",
2829
- "protected": true,
3852
+ "name": "bundlerKey",
3853
+ "optional": true,
3854
+ "overrides": "cdktn.IAssetBundler",
2830
3855
  "type": {
2831
3856
  "primitive": "string"
2832
3857
  }
2833
3858
  },
2834
3859
  {
2835
3860
  "docs": {
2836
- "stability": "experimental"
3861
+ "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.",
3862
+ "stability": "experimental",
3863
+ "summary": "The name a single-file artifact is staged under (e.g. `archive.zip`)."
2837
3864
  },
3865
+ "immutable": true,
2838
3866
  "locationInModule": {
2839
- "filename": "src/complex-computed-list.ts",
2840
- "line": 272
3867
+ "filename": "src/assets.ts",
3868
+ "line": 504
2841
3869
  },
2842
- "name": "terraformResource",
2843
- "protected": true,
3870
+ "name": "outputFileName",
3871
+ "optional": true,
3872
+ "overrides": "cdktn.IAssetBundler",
2844
3873
  "type": {
2845
- "fqn": "cdktn.IInterpolatingParent"
3874
+ "primitive": "string"
2846
3875
  }
2847
3876
  }
2848
3877
  ],
2849
- "symbolId": "src/complex-computed-list:BooleanMapMap"
3878
+ "symbolId": "src/assets:ChainBundler"
2850
3879
  },
2851
3880
  "cdktn.CloudBackend": {
2852
3881
  "assembly": "cdktn",
@@ -5408,7 +6437,7 @@
5408
6437
  "assembly": "cdktn",
5409
6438
  "base": "cdktn.TerraformResource",
5410
6439
  "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",
6440
+ "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
6441
  "stability": "experimental",
5413
6442
  "summary": "The DataResource implements the standard resource lifecycle, but does not directly take any other actions."
5414
6443
  },
@@ -6686,7 +7715,7 @@
6686
7715
  },
6687
7716
  "locationInModule": {
6688
7717
  "filename": "src/terraform-iterator.ts",
6689
- "line": 506
7718
+ "line": 503
6690
7719
  },
6691
7720
  "parameters": [
6692
7721
  {
@@ -6745,7 +7774,7 @@
6745
7774
  "kind": "class",
6746
7775
  "locationInModule": {
6747
7776
  "filename": "src/terraform-iterator.ts",
6748
- "line": 505
7777
+ "line": 502
6749
7778
  },
6750
7779
  "name": "DynamicListTerraformIterator",
6751
7780
  "symbolId": "src/terraform-iterator:DynamicListTerraformIterator"
@@ -6766,25 +7795,130 @@
6766
7795
  "name": "EncodingOptions",
6767
7796
  "properties": [
6768
7797
  {
6769
- "abstract": true,
7798
+ "abstract": true,
7799
+ "docs": {
7800
+ "default": "- no display hint",
7801
+ "stability": "experimental",
7802
+ "summary": "A hint for the Token's purpose when stringifying it."
7803
+ },
7804
+ "immutable": true,
7805
+ "locationInModule": {
7806
+ "filename": "src/tokens/token.ts",
7807
+ "line": 345
7808
+ },
7809
+ "name": "displayHint",
7810
+ "optional": true,
7811
+ "type": {
7812
+ "primitive": "string"
7813
+ }
7814
+ }
7815
+ ],
7816
+ "symbolId": "src/tokens/token:EncodingOptions"
7817
+ },
7818
+ "cdktn.ExcludeIgnoreStrategy": {
7819
+ "assembly": "cdktn",
7820
+ "docs": {
7821
+ "stability": "experimental",
7822
+ "summary": "The default ignore strategy: exact paths, `*.ext` suffixes, and directories (with everything inside them)."
7823
+ },
7824
+ "fqn": "cdktn.ExcludeIgnoreStrategy",
7825
+ "initializer": {
7826
+ "docs": {
7827
+ "stability": "experimental"
7828
+ },
7829
+ "locationInModule": {
7830
+ "filename": "src/ignore-strategy.ts",
7831
+ "line": 94
7832
+ },
7833
+ "parameters": [
7834
+ {
7835
+ "name": "exclude",
7836
+ "type": {
7837
+ "collection": {
7838
+ "elementtype": {
7839
+ "primitive": "string"
7840
+ },
7841
+ "kind": "array"
7842
+ }
7843
+ }
7844
+ }
7845
+ ]
7846
+ },
7847
+ "interfaces": [
7848
+ "cdktn.IIgnoreStrategy"
7849
+ ],
7850
+ "kind": "class",
7851
+ "locationInModule": {
7852
+ "filename": "src/ignore-strategy.ts",
7853
+ "line": 85
7854
+ },
7855
+ "methods": [
7856
+ {
7857
+ "docs": {
7858
+ "stability": "experimental",
7859
+ "summary": "Whether the given entry should be excluded."
7860
+ },
7861
+ "locationInModule": {
7862
+ "filename": "src/ignore-strategy.ts",
7863
+ "line": 99
7864
+ },
7865
+ "name": "ignores",
7866
+ "overrides": "cdktn.IIgnoreStrategy",
7867
+ "parameters": [
7868
+ {
7869
+ "name": "query",
7870
+ "type": {
7871
+ "fqn": "cdktn.IgnoreQuery"
7872
+ }
7873
+ }
7874
+ ],
7875
+ "returns": {
7876
+ "type": {
7877
+ "primitive": "boolean"
7878
+ }
7879
+ }
7880
+ }
7881
+ ],
7882
+ "name": "ExcludeIgnoreStrategy",
7883
+ "properties": [
7884
+ {
7885
+ "docs": {
7886
+ "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.",
7887
+ "stability": "experimental",
7888
+ "summary": "A value identifying this strategy's exclusion behavior, suitable for folding into a cache key."
7889
+ },
7890
+ "immutable": true,
7891
+ "locationInModule": {
7892
+ "filename": "src/ignore-strategy.ts",
7893
+ "line": 88
7894
+ },
7895
+ "name": "cacheKey",
7896
+ "optional": true,
7897
+ "overrides": "cdktn.IIgnoreStrategy",
7898
+ "type": {
7899
+ "primitive": "string"
7900
+ }
7901
+ },
7902
+ {
6770
7903
  "docs": {
6771
- "default": "- no display hint",
7904
+ "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.",
6772
7905
  "stability": "experimental",
6773
- "summary": "A hint for the Token's purpose when stringifying it."
7906
+ "summary": "Whether excluding a directory also excludes everything beneath it."
6774
7907
  },
6775
7908
  "immutable": true,
6776
7909
  "locationInModule": {
6777
- "filename": "src/tokens/token.ts",
6778
- "line": 345
7910
+ "filename": "src/ignore-strategy.ts",
7911
+ "line": 92
6779
7912
  },
6780
- "name": "displayHint",
7913
+ "name": "pruneExcludedDirectories",
6781
7914
  "optional": true,
7915
+ "overrides": "cdktn.IIgnoreStrategy",
6782
7916
  "type": {
6783
- "primitive": "string"
7917
+ "primitive": "boolean"
6784
7918
  }
6785
7919
  }
6786
7920
  ],
6787
- "symbolId": "src/tokens/token:EncodingOptions"
7921
+ "symbolId": "src/ignore-strategy:ExcludeIgnoreStrategy"
6788
7922
  },
6789
7923
  "cdktn.FileProvisioner": {
6790
7924
  "assembly": "cdktn",
@@ -11324,35 +12458,346 @@
11324
12458
  ],
11325
12459
  "symbolId": "src/backends/http-backend:HttpBackendConfig"
11326
12460
  },
11327
- "cdktn.IAnyProducer": {
12461
+ "cdktn.IAnyProducer": {
12462
+ "assembly": "cdktn",
12463
+ "docs": {
12464
+ "stability": "experimental",
12465
+ "summary": "Interface for lazy untyped value producers."
12466
+ },
12467
+ "fqn": "cdktn.IAnyProducer",
12468
+ "kind": "interface",
12469
+ "locationInModule": {
12470
+ "filename": "src/tokens/lazy.ts",
12471
+ "line": 41
12472
+ },
12473
+ "methods": [
12474
+ {
12475
+ "abstract": true,
12476
+ "docs": {
12477
+ "stability": "experimental",
12478
+ "summary": "Produce the value."
12479
+ },
12480
+ "locationInModule": {
12481
+ "filename": "src/tokens/lazy.ts",
12482
+ "line": 45
12483
+ },
12484
+ "name": "produce",
12485
+ "parameters": [
12486
+ {
12487
+ "name": "context",
12488
+ "type": {
12489
+ "fqn": "cdktn.IResolveContext"
12490
+ }
12491
+ }
12492
+ ],
12493
+ "returns": {
12494
+ "type": {
12495
+ "primitive": "any"
12496
+ }
12497
+ }
12498
+ }
12499
+ ],
12500
+ "name": "IAnyProducer",
12501
+ "symbolId": "src/tokens/lazy:IAnyProducer"
12502
+ },
12503
+ "cdktn.IAspect": {
12504
+ "assembly": "cdktn",
12505
+ "docs": {
12506
+ "stability": "experimental",
12507
+ "summary": "Represents an Aspect."
12508
+ },
12509
+ "fqn": "cdktn.IAspect",
12510
+ "kind": "interface",
12511
+ "locationInModule": {
12512
+ "filename": "src/aspect.ts",
12513
+ "line": 12
12514
+ },
12515
+ "methods": [
12516
+ {
12517
+ "abstract": true,
12518
+ "docs": {
12519
+ "stability": "experimental",
12520
+ "summary": "All aspects can visit an IConstruct."
12521
+ },
12522
+ "locationInModule": {
12523
+ "filename": "src/aspect.ts",
12524
+ "line": 16
12525
+ },
12526
+ "name": "visit",
12527
+ "parameters": [
12528
+ {
12529
+ "name": "node",
12530
+ "type": {
12531
+ "fqn": "constructs.IConstruct"
12532
+ }
12533
+ }
12534
+ ]
12535
+ }
12536
+ ],
12537
+ "name": "IAspect",
12538
+ "symbolId": "src/aspect:IAspect"
12539
+ },
12540
+ "cdktn.IAsset": {
12541
+ "assembly": "cdktn",
12542
+ "docs": {
12543
+ "stability": "experimental",
12544
+ "summary": "Common interface for all assets."
12545
+ },
12546
+ "fqn": "cdktn.IAsset",
12547
+ "kind": "interface",
12548
+ "locationInModule": {
12549
+ "filename": "src/assets.ts",
12550
+ "line": 17
12551
+ },
12552
+ "name": "IAsset",
12553
+ "properties": [
12554
+ {
12555
+ "abstract": true,
12556
+ "docs": {
12557
+ "remarks": "Being a plain string, it can be used in construct IDs to force a new\nresource when the content hash changes.",
12558
+ "stability": "experimental",
12559
+ "summary": "A hash of this asset, available at construction time."
12560
+ },
12561
+ "immutable": true,
12562
+ "locationInModule": {
12563
+ "filename": "src/assets.ts",
12564
+ "line": 24
12565
+ },
12566
+ "name": "assetHash",
12567
+ "type": {
12568
+ "primitive": "string"
12569
+ }
12570
+ }
12571
+ ],
12572
+ "symbolId": "src/assets:IAsset"
12573
+ },
12574
+ "cdktn.IAssetBundler": {
12575
+ "assembly": "cdktn",
12576
+ "docs": {
12577
+ "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.",
12578
+ "stability": "experimental",
12579
+ "summary": "Transforms a source tree into a built artifact. Runs at synth, before the output is packaged and staged."
12580
+ },
12581
+ "fqn": "cdktn.IAssetBundler",
12582
+ "kind": "interface",
12583
+ "locationInModule": {
12584
+ "filename": "src/assets.ts",
12585
+ "line": 369
12586
+ },
12587
+ "methods": [
12588
+ {
12589
+ "abstract": true,
12590
+ "docs": {
12591
+ "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.",
12592
+ "stability": "experimental",
12593
+ "summary": "Produce the artifact and return a {@link BundleResult} describing it."
12594
+ },
12595
+ "locationInModule": {
12596
+ "filename": "src/assets.ts",
12597
+ "line": 415
12598
+ },
12599
+ "name": "bundle",
12600
+ "parameters": [
12601
+ {
12602
+ "name": "options",
12603
+ "type": {
12604
+ "fqn": "cdktn.BundleOptions"
12605
+ }
12606
+ }
12607
+ ],
12608
+ "returns": {
12609
+ "type": {
12610
+ "fqn": "cdktn.BundleResult"
12611
+ }
12612
+ }
12613
+ }
12614
+ ],
12615
+ "name": "IAssetBundler",
12616
+ "properties": [
12617
+ {
12618
+ "abstract": true,
12619
+ "docs": {
12620
+ "default": "- the build does not contribute to the hash",
12621
+ "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`.",
12622
+ "stability": "experimental",
12623
+ "summary": "A value identifying the build, folded into the asset hash."
12624
+ },
12625
+ "immutable": true,
12626
+ "locationInModule": {
12627
+ "filename": "src/assets.ts",
12628
+ "line": 385
12629
+ },
12630
+ "name": "bundlerKey",
12631
+ "optional": true,
12632
+ "type": {
12633
+ "primitive": "string"
12634
+ }
12635
+ },
12636
+ {
12637
+ "abstract": true,
12638
+ "docs": {
12639
+ "default": "- the source path's basename",
12640
+ "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.",
12641
+ "stability": "experimental",
12642
+ "summary": "The name a single-file artifact is staged under (e.g. `archive.zip`)."
12643
+ },
12644
+ "immutable": true,
12645
+ "locationInModule": {
12646
+ "filename": "src/assets.ts",
12647
+ "line": 402
12648
+ },
12649
+ "name": "outputFileName",
12650
+ "optional": true,
12651
+ "type": {
12652
+ "primitive": "string"
12653
+ }
12654
+ }
12655
+ ],
12656
+ "symbolId": "src/assets:IAssetBundler"
12657
+ },
12658
+ "cdktn.IAssetPackaging": {
12659
+ "assembly": "cdktn",
12660
+ "docs": {
12661
+ "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.",
12662
+ "stability": "experimental",
12663
+ "summary": "How a staged asset is produced and what shape it takes on disk."
12664
+ },
12665
+ "fqn": "cdktn.IAssetPackaging",
12666
+ "kind": "interface",
12667
+ "locationInModule": {
12668
+ "filename": "src/assets.ts",
12669
+ "line": 94
12670
+ },
12671
+ "methods": [
12672
+ {
12673
+ "abstract": true,
12674
+ "docs": {
12675
+ "stability": "experimental",
12676
+ "summary": "Write the packaged result to `options.target`."
12677
+ },
12678
+ "locationInModule": {
12679
+ "filename": "src/assets.ts",
12680
+ "line": 134
12681
+ },
12682
+ "name": "pack",
12683
+ "parameters": [
12684
+ {
12685
+ "name": "options",
12686
+ "type": {
12687
+ "fqn": "cdktn.PackOptions"
12688
+ }
12689
+ }
12690
+ ]
12691
+ }
12692
+ ],
12693
+ "name": "IAssetPackaging",
12694
+ "properties": [
12695
+ {
12696
+ "abstract": true,
12697
+ "docs": {
12698
+ "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.",
12699
+ "stability": "experimental",
12700
+ "summary": "Whether `pack` accepts a directory as its `source`."
12701
+ },
12702
+ "immutable": true,
12703
+ "locationInModule": {
12704
+ "filename": "src/assets.ts",
12705
+ "line": 116
12706
+ },
12707
+ "name": "acceptsDirectorySource",
12708
+ "type": {
12709
+ "primitive": "boolean"
12710
+ }
12711
+ },
12712
+ {
12713
+ "abstract": true,
12714
+ "docs": {
12715
+ "stability": "experimental",
12716
+ "summary": "Appended to the staged artifact name, e.g. \".zip\", \"\", \".tar.bz2\"."
12717
+ },
12718
+ "immutable": true,
12719
+ "locationInModule": {
12720
+ "filename": "src/assets.ts",
12721
+ "line": 98
12722
+ },
12723
+ "name": "extension",
12724
+ "type": {
12725
+ "primitive": "string"
12726
+ }
12727
+ },
12728
+ {
12729
+ "abstract": true,
12730
+ "docs": {
12731
+ "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.",
12732
+ "stability": "experimental",
12733
+ "summary": "Whether `pack` emits an artifact with no directory entries of its own — only the ignore-strategy-aware source walk."
12734
+ },
12735
+ "immutable": true,
12736
+ "locationInModule": {
12737
+ "filename": "src/assets.ts",
12738
+ "line": 129
12739
+ },
12740
+ "name": "omitsDirectoryEntries",
12741
+ "type": {
12742
+ "primitive": "boolean"
12743
+ }
12744
+ },
12745
+ {
12746
+ "abstract": true,
12747
+ "docs": {
12748
+ "remarks": "Publishers branch on this to decide whether they upload one object or\nsync a tree.",
12749
+ "stability": "experimental",
12750
+ "summary": "Whether the staged result is a directory rather than a single file."
12751
+ },
12752
+ "immutable": true,
12753
+ "locationInModule": {
12754
+ "filename": "src/assets.ts",
12755
+ "line": 106
12756
+ },
12757
+ "name": "producesDirectory",
12758
+ "type": {
12759
+ "primitive": "boolean"
12760
+ }
12761
+ }
12762
+ ],
12763
+ "symbolId": "src/assets:IAssetPackaging"
12764
+ },
12765
+ "cdktn.IFragmentConcatenator": {
11328
12766
  "assembly": "cdktn",
11329
12767
  "docs": {
12768
+ "remarks": "Interface so it could potentially be exposed over jsii.",
11330
12769
  "stability": "experimental",
11331
- "summary": "Interface for lazy untyped value producers."
12770
+ "summary": "Function used to concatenate symbols in the target document language."
11332
12771
  },
11333
- "fqn": "cdktn.IAnyProducer",
12772
+ "fqn": "cdktn.IFragmentConcatenator",
11334
12773
  "kind": "interface",
11335
12774
  "locationInModule": {
11336
- "filename": "src/tokens/lazy.ts",
11337
- "line": 41
12775
+ "filename": "src/tokens/resolvable.ts",
12776
+ "line": 144
11338
12777
  },
11339
12778
  "methods": [
11340
12779
  {
11341
12780
  "abstract": true,
11342
12781
  "docs": {
11343
12782
  "stability": "experimental",
11344
- "summary": "Produce the value."
12783
+ "summary": "Join the fragment on the left and on the right."
11345
12784
  },
11346
12785
  "locationInModule": {
11347
- "filename": "src/tokens/lazy.ts",
11348
- "line": 45
12786
+ "filename": "src/tokens/resolvable.ts",
12787
+ "line": 148
11349
12788
  },
11350
- "name": "produce",
12789
+ "name": "join",
11351
12790
  "parameters": [
11352
12791
  {
11353
- "name": "context",
12792
+ "name": "left",
11354
12793
  "type": {
11355
- "fqn": "cdktn.IResolveContext"
12794
+ "primitive": "any"
12795
+ }
12796
+ },
12797
+ {
12798
+ "name": "right",
12799
+ "type": {
12800
+ "primitive": "any"
11356
12801
  }
11357
12802
  }
11358
12803
  ],
@@ -11363,94 +12808,94 @@
11363
12808
  }
11364
12809
  }
11365
12810
  ],
11366
- "name": "IAnyProducer",
11367
- "symbolId": "src/tokens/lazy:IAnyProducer"
12811
+ "name": "IFragmentConcatenator",
12812
+ "symbolId": "src/tokens/resolvable:IFragmentConcatenator"
11368
12813
  },
11369
- "cdktn.IAspect": {
12814
+ "cdktn.IIgnoreStrategy": {
11370
12815
  "assembly": "cdktn",
11371
12816
  "docs": {
12817
+ "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
12818
  "stability": "experimental",
11373
- "summary": "Represents an Aspect."
12819
+ "summary": "Decides whether a path relative to an asset root is excluded from staging and hashing."
11374
12820
  },
11375
- "fqn": "cdktn.IAspect",
12821
+ "fqn": "cdktn.IIgnoreStrategy",
11376
12822
  "kind": "interface",
11377
12823
  "locationInModule": {
11378
- "filename": "src/aspect.ts",
11379
- "line": 12
12824
+ "filename": "src/ignore-strategy.ts",
12825
+ "line": 41
11380
12826
  },
11381
12827
  "methods": [
11382
12828
  {
11383
12829
  "abstract": true,
11384
12830
  "docs": {
11385
12831
  "stability": "experimental",
11386
- "summary": "All aspects can visit an IConstruct."
12832
+ "summary": "Whether the given entry should be excluded."
11387
12833
  },
11388
12834
  "locationInModule": {
11389
- "filename": "src/aspect.ts",
11390
- "line": 16
12835
+ "filename": "src/ignore-strategy.ts",
12836
+ "line": 46
11391
12837
  },
11392
- "name": "visit",
12838
+ "name": "ignores",
11393
12839
  "parameters": [
11394
12840
  {
11395
- "name": "node",
12841
+ "docs": {
12842
+ "summary": "- the entry under consideration, see {@link IgnoreQuery}."
12843
+ },
12844
+ "name": "query",
11396
12845
  "type": {
11397
- "fqn": "constructs.IConstruct"
12846
+ "fqn": "cdktn.IgnoreQuery"
11398
12847
  }
11399
12848
  }
11400
- ]
12849
+ ],
12850
+ "returns": {
12851
+ "type": {
12852
+ "primitive": "boolean"
12853
+ }
12854
+ }
11401
12855
  }
11402
12856
  ],
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": [
12857
+ "name": "IIgnoreStrategy",
12858
+ "properties": [
11420
12859
  {
11421
12860
  "abstract": true,
11422
12861
  "docs": {
12862
+ "default": "- this strategy cannot be represented in a cache key",
12863
+ "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
12864
  "stability": "experimental",
11424
- "summary": "Join the fragment on the left and on the right."
12865
+ "summary": "A value identifying this strategy's exclusion behavior, suitable for folding into a cache key."
11425
12866
  },
12867
+ "immutable": true,
11426
12868
  "locationInModule": {
11427
- "filename": "src/tokens/resolvable.ts",
11428
- "line": 148
12869
+ "filename": "src/ignore-strategy.ts",
12870
+ "line": 78
11429
12871
  },
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
- }
12872
+ "name": "cacheKey",
12873
+ "optional": true,
12874
+ "type": {
12875
+ "primitive": "string"
12876
+ }
12877
+ },
12878
+ {
12879
+ "abstract": true,
12880
+ "docs": {
12881
+ "default": "true",
12882
+ "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.",
12883
+ "stability": "experimental",
12884
+ "summary": "Whether excluding a directory also excludes everything beneath it."
12885
+ },
12886
+ "immutable": true,
12887
+ "locationInModule": {
12888
+ "filename": "src/ignore-strategy.ts",
12889
+ "line": 64
12890
+ },
12891
+ "name": "pruneExcludedDirectories",
12892
+ "optional": true,
12893
+ "type": {
12894
+ "primitive": "boolean"
11449
12895
  }
11450
12896
  }
11451
12897
  ],
11452
- "name": "IFragmentConcatenator",
11453
- "symbolId": "src/tokens/resolvable:IFragmentConcatenator"
12898
+ "symbolId": "src/ignore-strategy:IIgnoreStrategy"
11454
12899
  },
11455
12900
  "cdktn.IImportableConfig": {
11456
12901
  "assembly": "cdktn",
@@ -12652,7 +14097,7 @@
12652
14097
  "kind": "interface",
12653
14098
  "locationInModule": {
12654
14099
  "filename": "src/tokens/string-fragments.ts",
12655
- "line": 218
14100
+ "line": 215
12656
14101
  },
12657
14102
  "methods": [
12658
14103
  {
@@ -12663,7 +14108,7 @@
12663
14108
  },
12664
14109
  "locationInModule": {
12665
14110
  "filename": "src/tokens/string-fragments.ts",
12666
- "line": 222
14111
+ "line": 219
12667
14112
  },
12668
14113
  "name": "mapToken",
12669
14114
  "parameters": [
@@ -12878,6 +14323,58 @@
12878
14323
  "name": "ITokenResolver",
12879
14324
  "symbolId": "src/tokens/resolvable:ITokenResolver"
12880
14325
  },
14326
+ "cdktn.IgnoreQuery": {
14327
+ "assembly": "cdktn",
14328
+ "datatype": true,
14329
+ "docs": {
14330
+ "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.",
14331
+ "stability": "experimental",
14332
+ "summary": "A single entry presented to an {@link IIgnoreStrategy}."
14333
+ },
14334
+ "fqn": "cdktn.IgnoreQuery",
14335
+ "kind": "interface",
14336
+ "locationInModule": {
14337
+ "filename": "src/ignore-strategy.ts",
14338
+ "line": 14
14339
+ },
14340
+ "name": "IgnoreQuery",
14341
+ "properties": [
14342
+ {
14343
+ "abstract": true,
14344
+ "docs": {
14345
+ "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.",
14346
+ "stability": "experimental",
14347
+ "summary": "Whether this entry is a directory rather than a file or symlink."
14348
+ },
14349
+ "immutable": true,
14350
+ "locationInModule": {
14351
+ "filename": "src/ignore-strategy.ts",
14352
+ "line": 29
14353
+ },
14354
+ "name": "isDirectory",
14355
+ "type": {
14356
+ "primitive": "boolean"
14357
+ }
14358
+ },
14359
+ {
14360
+ "abstract": true,
14361
+ "docs": {
14362
+ "stability": "experimental",
14363
+ "summary": "`/`-separated path relative to the asset root."
14364
+ },
14365
+ "immutable": true,
14366
+ "locationInModule": {
14367
+ "filename": "src/ignore-strategy.ts",
14368
+ "line": 18
14369
+ },
14370
+ "name": "relativePath",
14371
+ "type": {
14372
+ "primitive": "string"
14373
+ }
14374
+ }
14375
+ ],
14376
+ "symbolId": "src/ignore-strategy:IgnoreQuery"
14377
+ },
12881
14378
  "cdktn.ImportableResource": {
12882
14379
  "assembly": "cdktn",
12883
14380
  "base": "cdktn.TerraformElement",
@@ -13456,7 +14953,7 @@
13456
14953
  },
13457
14954
  "locationInModule": {
13458
14955
  "filename": "src/terraform-iterator.ts",
13459
- "line": 406
14956
+ "line": 403
13460
14957
  },
13461
14958
  "parameters": [
13462
14959
  {
@@ -13509,7 +15006,7 @@
13509
15006
  "kind": "class",
13510
15007
  "locationInModule": {
13511
15008
  "filename": "src/terraform-iterator.ts",
13512
- "line": 405
15009
+ "line": 402
13513
15010
  },
13514
15011
  "name": "ListTerraformIterator",
13515
15012
  "properties": [
@@ -13522,7 +15019,7 @@
13522
15019
  "immutable": true,
13523
15020
  "locationInModule": {
13524
15021
  "filename": "src/terraform-iterator.ts",
13525
- "line": 416
15022
+ "line": 413
13526
15023
  },
13527
15024
  "name": "key",
13528
15025
  "type": {
@@ -13537,7 +15034,7 @@
13537
15034
  "immutable": true,
13538
15035
  "locationInModule": {
13539
15036
  "filename": "src/terraform-iterator.ts",
13540
- "line": 423
15037
+ "line": 420
13541
15038
  },
13542
15039
  "name": "value",
13543
15040
  "type": {
@@ -14306,7 +15803,7 @@
14306
15803
  },
14307
15804
  "locationInModule": {
14308
15805
  "filename": "src/terraform-iterator.ts",
14309
- "line": 438
15806
+ "line": 435
14310
15807
  },
14311
15808
  "parameters": [
14312
15809
  {
@@ -14362,7 +15859,7 @@
14362
15859
  "kind": "class",
14363
15860
  "locationInModule": {
14364
15861
  "filename": "src/terraform-iterator.ts",
14365
- "line": 437
15862
+ "line": 434
14366
15863
  },
14367
15864
  "name": "MapTerraformIterator",
14368
15865
  "properties": [
@@ -14374,7 +15871,7 @@
14374
15871
  "immutable": true,
14375
15872
  "locationInModule": {
14376
15873
  "filename": "src/terraform-iterator.ts",
14377
- "line": 453
15874
+ "line": 450
14378
15875
  },
14379
15876
  "name": "key",
14380
15877
  "type": {
@@ -14389,7 +15886,7 @@
14389
15886
  "immutable": true,
14390
15887
  "locationInModule": {
14391
15888
  "filename": "src/terraform-iterator.ts",
14392
- "line": 460
15889
+ "line": 457
14393
15890
  },
14394
15891
  "name": "value",
14395
15892
  "type": {
@@ -16373,6 +17870,76 @@
16373
17870
  ],
16374
17871
  "symbolId": "src/backends/oss-backend:OssBackendConfig"
16375
17872
  },
17873
+ "cdktn.PackOptions": {
17874
+ "assembly": "cdktn",
17875
+ "datatype": true,
17876
+ "docs": {
17877
+ "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.",
17878
+ "stability": "experimental",
17879
+ "summary": "Options for {@link IAssetPackaging.pack}."
17880
+ },
17881
+ "fqn": "cdktn.PackOptions",
17882
+ "kind": "interface",
17883
+ "locationInModule": {
17884
+ "filename": "src/assets.ts",
17885
+ "line": 144
17886
+ },
17887
+ "name": "PackOptions",
17888
+ "properties": [
17889
+ {
17890
+ "abstract": true,
17891
+ "docs": {
17892
+ "stability": "experimental",
17893
+ "summary": "Path to the resolved (already bundled, if applicable) source."
17894
+ },
17895
+ "immutable": true,
17896
+ "locationInModule": {
17897
+ "filename": "src/assets.ts",
17898
+ "line": 148
17899
+ },
17900
+ "name": "source",
17901
+ "type": {
17902
+ "primitive": "string"
17903
+ }
17904
+ },
17905
+ {
17906
+ "abstract": true,
17907
+ "docs": {
17908
+ "stability": "experimental",
17909
+ "summary": "Path the packaged result should be written to."
17910
+ },
17911
+ "immutable": true,
17912
+ "locationInModule": {
17913
+ "filename": "src/assets.ts",
17914
+ "line": 153
17915
+ },
17916
+ "name": "target",
17917
+ "type": {
17918
+ "primitive": "string"
17919
+ }
17920
+ },
17921
+ {
17922
+ "abstract": true,
17923
+ "docs": {
17924
+ "default": "- nothing is excluded",
17925
+ "remarks": "Must match the strategy used\nto hash the same source, or the hash and the artifact describe\ndifferent sets of files.",
17926
+ "stability": "experimental",
17927
+ "summary": "Entries to omit from the packaged result."
17928
+ },
17929
+ "immutable": true,
17930
+ "locationInModule": {
17931
+ "filename": "src/assets.ts",
17932
+ "line": 162
17933
+ },
17934
+ "name": "ignoreStrategy",
17935
+ "optional": true,
17936
+ "type": {
17937
+ "fqn": "cdktn.IIgnoreStrategy"
17938
+ }
17939
+ }
17940
+ ],
17941
+ "symbolId": "src/assets:PackOptions"
17942
+ },
16376
17943
  "cdktn.PgBackend": {
16377
17944
  "assembly": "cdktn",
16378
17945
  "base": "cdktn.TerraformBackend",
@@ -17219,7 +18786,7 @@
17219
18786
  },
17220
18787
  "locationInModule": {
17221
18788
  "filename": "src/terraform-iterator.ts",
17222
- "line": 467
18789
+ "line": 464
17223
18790
  },
17224
18791
  "parameters": [
17225
18792
  {
@@ -17233,7 +18800,7 @@
17233
18800
  "kind": "class",
17234
18801
  "locationInModule": {
17235
18802
  "filename": "src/terraform-iterator.ts",
17236
- "line": 466
18803
+ "line": 463
17237
18804
  },
17238
18805
  "name": "ResourceTerraformIterator",
17239
18806
  "properties": [
@@ -17246,7 +18813,7 @@
17246
18813
  "immutable": true,
17247
18814
  "locationInModule": {
17248
18815
  "filename": "src/terraform-iterator.ts",
17249
- "line": 485
18816
+ "line": 482
17250
18817
  },
17251
18818
  "name": "key",
17252
18819
  "type": {
@@ -17261,7 +18828,7 @@
17261
18828
  "immutable": true,
17262
18829
  "locationInModule": {
17263
18830
  "filename": "src/terraform-iterator.ts",
17264
- "line": 492
18831
+ "line": 489
17265
18832
  },
17266
18833
  "name": "value",
17267
18834
  "type": {
@@ -19420,18 +20987,84 @@
19420
20987
  "type": {
19421
20988
  "primitive": "string"
19422
20989
  }
19423
- },
20990
+ },
20991
+ {
20992
+ "abstract": true,
20993
+ "docs": {
20994
+ "stability": "experimental"
20995
+ },
20996
+ "immutable": true,
20997
+ "locationInModule": {
20998
+ "filename": "src/manifest.ts",
20999
+ "line": 20
21000
+ },
21001
+ "name": "stackMetadataPath",
21002
+ "type": {
21003
+ "primitive": "string"
21004
+ }
21005
+ },
21006
+ {
21007
+ "abstract": true,
21008
+ "docs": {
21009
+ "stability": "experimental"
21010
+ },
21011
+ "immutable": true,
21012
+ "locationInModule": {
21013
+ "filename": "src/manifest.ts",
21014
+ "line": 18
21015
+ },
21016
+ "name": "synthesizedStackPath",
21017
+ "type": {
21018
+ "primitive": "string"
21019
+ }
21020
+ },
21021
+ {
21022
+ "abstract": true,
21023
+ "docs": {
21024
+ "stability": "experimental"
21025
+ },
21026
+ "immutable": true,
21027
+ "locationInModule": {
21028
+ "filename": "src/manifest.ts",
21029
+ "line": 21
21030
+ },
21031
+ "name": "workingDirectory",
21032
+ "type": {
21033
+ "primitive": "string"
21034
+ }
21035
+ }
21036
+ ],
21037
+ "symbolId": "src/manifest:StackManifest"
21038
+ },
21039
+ "cdktn.StagedAsset": {
21040
+ "assembly": "cdktn",
21041
+ "datatype": true,
21042
+ "docs": {
21043
+ "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.",
21044
+ "stability": "experimental",
21045
+ "summary": "A staged artifact, ready to hand to an `IAssetPublisher`."
21046
+ },
21047
+ "fqn": "cdktn.StagedAsset",
21048
+ "kind": "interface",
21049
+ "locationInModule": {
21050
+ "filename": "src/assets.ts",
21051
+ "line": 560
21052
+ },
21053
+ "name": "StagedAsset",
21054
+ "properties": [
19424
21055
  {
19425
21056
  "abstract": true,
19426
21057
  "docs": {
19427
- "stability": "experimental"
21058
+ "remarks": "The asset is not rebuilt or republished while this value is unchanged.",
21059
+ "stability": "experimental",
21060
+ "summary": "A hash on the content source, uniquely identifying this asset."
19428
21061
  },
19429
21062
  "immutable": true,
19430
21063
  "locationInModule": {
19431
- "filename": "src/manifest.ts",
19432
- "line": 20
21064
+ "filename": "src/assets.ts",
21065
+ "line": 566
19433
21066
  },
19434
- "name": "stackMetadataPath",
21067
+ "name": "assetHash",
19435
21068
  "type": {
19436
21069
  "primitive": "string"
19437
21070
  }
@@ -19439,35 +21072,38 @@
19439
21072
  {
19440
21073
  "abstract": true,
19441
21074
  "docs": {
19442
- "stability": "experimental"
21075
+ "remarks": "Publishers branch on this to decide whether they upload one object or\nsync a tree; see `IAssetPackaging.producesDirectory`.",
21076
+ "stability": "experimental",
21077
+ "summary": "Whether the staged artifact is a directory rather than a single file."
19443
21078
  },
19444
21079
  "immutable": true,
19445
21080
  "locationInModule": {
19446
- "filename": "src/manifest.ts",
19447
- "line": 18
21081
+ "filename": "src/assets.ts",
21082
+ "line": 579
19448
21083
  },
19449
- "name": "synthesizedStackPath",
21084
+ "name": "isDirectory",
19450
21085
  "type": {
19451
- "primitive": "string"
21086
+ "primitive": "boolean"
19452
21087
  }
19453
21088
  },
19454
21089
  {
19455
21090
  "abstract": true,
19456
21091
  "docs": {
19457
- "stability": "experimental"
21092
+ "stability": "experimental",
21093
+ "summary": "The path to the staged artifact, relative to the stack directory."
19458
21094
  },
19459
21095
  "immutable": true,
19460
21096
  "locationInModule": {
19461
- "filename": "src/manifest.ts",
19462
- "line": 21
21097
+ "filename": "src/assets.ts",
21098
+ "line": 571
19463
21099
  },
19464
- "name": "workingDirectory",
21100
+ "name": "path",
19465
21101
  "type": {
19466
21102
  "primitive": "string"
19467
21103
  }
19468
21104
  }
19469
21105
  ],
19470
- "symbolId": "src/manifest:StackManifest"
21106
+ "symbolId": "src/assets:StagedAsset"
19471
21107
  },
19472
21108
  "cdktn.StringConcat": {
19473
21109
  "assembly": "cdktn",
@@ -20944,7 +22580,7 @@
20944
22580
  },
20945
22581
  "locationInModule": {
20946
22582
  "filename": "src/terraform-asset.ts",
20947
- "line": 56
22583
+ "line": 142
20948
22584
  },
20949
22585
  "parameters": [
20950
22586
  {
@@ -20967,24 +22603,29 @@
20967
22603
  }
20968
22604
  ]
20969
22605
  },
22606
+ "interfaces": [
22607
+ "cdktn.IAsset"
22608
+ ],
20970
22609
  "kind": "class",
20971
22610
  "locationInModule": {
20972
22611
  "filename": "src/terraform-asset.ts",
20973
- "line": 41
22612
+ "line": 125
20974
22613
  },
20975
22614
  "name": "TerraformAsset",
20976
22615
  "properties": [
20977
22616
  {
20978
22617
  "docs": {
22618
+ "remarks": "Being a plain string, it can be used in construct IDs to force a new\nresource when the content hash changes.",
20979
22619
  "stability": "experimental",
20980
- "summary": "Name of the asset."
22620
+ "summary": "A hash of this asset, available at construction time."
20981
22621
  },
20982
22622
  "immutable": true,
20983
22623
  "locationInModule": {
20984
22624
  "filename": "src/terraform-asset.ts",
20985
- "line": 124
22625
+ "line": 129
20986
22626
  },
20987
- "name": "fileName",
22627
+ "name": "assetHash",
22628
+ "overrides": "cdktn.IAsset",
20988
22629
  "type": {
20989
22630
  "primitive": "string"
20990
22631
  }
@@ -20992,27 +22633,29 @@
20992
22633
  {
20993
22634
  "docs": {
20994
22635
  "stability": "experimental",
20995
- "summary": "The path relative to the root of the terraform directory in posix format Use this property to reference the asset."
22636
+ "summary": "Name of the asset."
20996
22637
  },
20997
22638
  "immutable": true,
20998
22639
  "locationInModule": {
20999
22640
  "filename": "src/terraform-asset.ts",
21000
- "line": 113
22641
+ "line": 248
21001
22642
  },
21002
- "name": "path",
22643
+ "name": "fileName",
21003
22644
  "type": {
21004
22645
  "primitive": "string"
21005
22646
  }
21006
22647
  },
21007
22648
  {
21008
22649
  "docs": {
21009
- "stability": "experimental"
22650
+ "stability": "experimental",
22651
+ "summary": "The path relative to the root of the terraform directory in posix format Use this property to reference the asset."
21010
22652
  },
22653
+ "immutable": true,
21011
22654
  "locationInModule": {
21012
22655
  "filename": "src/terraform-asset.ts",
21013
- "line": 45
22656
+ "line": 235
21014
22657
  },
21015
- "name": "assetHash",
22658
+ "name": "path",
21016
22659
  "type": {
21017
22660
  "primitive": "string"
21018
22661
  }
@@ -21023,7 +22666,7 @@
21023
22666
  },
21024
22667
  "locationInModule": {
21025
22668
  "filename": "src/terraform-asset.ts",
21026
- "line": 47
22669
+ "line": 131
21027
22670
  },
21028
22671
  "name": "type",
21029
22672
  "type": {
@@ -21043,7 +22686,7 @@
21043
22686
  "kind": "interface",
21044
22687
  "locationInModule": {
21045
22688
  "filename": "src/terraform-asset.ts",
21046
- "line": 22
22689
+ "line": 27
21047
22690
  },
21048
22691
  "name": "TerraformAssetConfig",
21049
22692
  "properties": [
@@ -21055,7 +22698,7 @@
21055
22698
  "immutable": true,
21056
22699
  "locationInModule": {
21057
22700
  "filename": "src/terraform-asset.ts",
21058
- "line": 24
22701
+ "line": 29
21059
22702
  },
21060
22703
  "name": "path",
21061
22704
  "type": {
@@ -21070,7 +22713,7 @@
21070
22713
  "immutable": true,
21071
22714
  "locationInModule": {
21072
22715
  "filename": "src/terraform-asset.ts",
21073
- "line": 28
22716
+ "line": 33
21074
22717
  },
21075
22718
  "name": "assetHash",
21076
22719
  "optional": true,
@@ -21078,6 +22721,105 @@
21078
22721
  "primitive": "string"
21079
22722
  }
21080
22723
  },
22724
+ {
22725
+ "abstract": true,
22726
+ "docs": {
22727
+ "default": "AssetHashType.SOURCE",
22728
+ "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`.",
22729
+ "stability": "experimental",
22730
+ "summary": "How the `assetHash` is derived."
22731
+ },
22732
+ "immutable": true,
22733
+ "locationInModule": {
22734
+ "filename": "src/terraform-asset.ts",
22735
+ "line": 46
22736
+ },
22737
+ "name": "assetHashType",
22738
+ "optional": true,
22739
+ "type": {
22740
+ "fqn": "cdktn.AssetHashType"
22741
+ }
22742
+ },
22743
+ {
22744
+ "abstract": true,
22745
+ "docs": {
22746
+ "default": "- the source is staged verbatim, with no build step",
22747
+ "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`.",
22748
+ "stability": "experimental",
22749
+ "summary": "A bundler that builds the source into an artifact before staging."
22750
+ },
22751
+ "immutable": true,
22752
+ "locationInModule": {
22753
+ "filename": "src/terraform-asset.ts",
22754
+ "line": 92
22755
+ },
22756
+ "name": "bundler",
22757
+ "optional": true,
22758
+ "type": {
22759
+ "fqn": "cdktn.IAssetBundler"
22760
+ }
22761
+ },
22762
+ {
22763
+ "abstract": true,
22764
+ "docs": {
22765
+ "default": "- nothing is excluded",
22766
+ "remarks": "See\n`AssetStagingOptions.exclude` for the accepted forms. Both the computed\nhash and the staged/packed content honor the exclusion. Cannot be\ncombined with `ignoreStrategy`, which replaces this matcher rather than\nlayering on top of it.",
22767
+ "stability": "experimental",
22768
+ "summary": "Paths to exclude from the asset, relative to `path`."
22769
+ },
22770
+ "immutable": true,
22771
+ "locationInModule": {
22772
+ "filename": "src/terraform-asset.ts",
22773
+ "line": 57
22774
+ },
22775
+ "name": "exclude",
22776
+ "optional": true,
22777
+ "type": {
22778
+ "collection": {
22779
+ "elementtype": {
22780
+ "primitive": "string"
22781
+ },
22782
+ "kind": "array"
22783
+ }
22784
+ }
22785
+ },
22786
+ {
22787
+ "abstract": true,
22788
+ "docs": {
22789
+ "default": "- no extra hash",
22790
+ "stability": "experimental",
22791
+ "summary": "Extra information to fold into the hash (e.g. build instructions and other inputs)."
22792
+ },
22793
+ "immutable": true,
22794
+ "locationInModule": {
22795
+ "filename": "src/terraform-asset.ts",
22796
+ "line": 79
22797
+ },
22798
+ "name": "extraHash",
22799
+ "optional": true,
22800
+ "type": {
22801
+ "primitive": "string"
22802
+ }
22803
+ },
22804
+ {
22805
+ "abstract": true,
22806
+ "docs": {
22807
+ "default": "- `exclude` is used with the built-in matcher",
22808
+ "remarks": "`!`-negation only takes effect if the strategy also sets\n`pruneExcludedDirectories: false`; otherwise an excluded directory is\npruned before its contents are ever checked against a re-include\npattern. See `IIgnoreStrategy.pruneExcludedDirectories`.",
22809
+ "stability": "experimental",
22810
+ "summary": "Exclusion matching, for callers that need `.gitignore` / `.dockerignore` parity (including `!`-negation) rather than the built-in exact-path / suffix / directory matcher. See `AssetStagingOptions.ignoreStrategy`."
22811
+ },
22812
+ "immutable": true,
22813
+ "locationInModule": {
22814
+ "filename": "src/terraform-asset.ts",
22815
+ "line": 71
22816
+ },
22817
+ "name": "ignoreStrategy",
22818
+ "optional": true,
22819
+ "type": {
22820
+ "fqn": "cdktn.IIgnoreStrategy"
22821
+ }
22822
+ },
21081
22823
  {
21082
22824
  "abstract": true,
21083
22825
  "docs": {
@@ -21086,7 +22828,7 @@
21086
22828
  "immutable": true,
21087
22829
  "locationInModule": {
21088
22830
  "filename": "src/terraform-asset.ts",
21089
- "line": 26
22831
+ "line": 31
21090
22832
  },
21091
22833
  "name": "type",
21092
22834
  "optional": true,
@@ -23465,7 +25207,7 @@
23465
25207
  "kind": "class",
23466
25208
  "locationInModule": {
23467
25209
  "filename": "src/terraform-iterator.ts",
23468
- "line": 70
25210
+ "line": 67
23469
25211
  },
23470
25212
  "methods": [
23471
25213
  {
@@ -23477,7 +25219,7 @@
23477
25219
  },
23478
25220
  "locationInModule": {
23479
25221
  "filename": "src/terraform-iterator.ts",
23480
- "line": 125
25222
+ "line": 122
23481
25223
  },
23482
25224
  "name": "fromComplexList",
23483
25225
  "parameters": [
@@ -23536,7 +25278,7 @@
23536
25278
  },
23537
25279
  "locationInModule": {
23538
25280
  "filename": "src/terraform-iterator.ts",
23539
- "line": 160
25281
+ "line": 157
23540
25282
  },
23541
25283
  "name": "fromDataSources",
23542
25284
  "parameters": [
@@ -23561,7 +25303,7 @@
23561
25303
  },
23562
25304
  "locationInModule": {
23563
25305
  "filename": "src/terraform-iterator.ts",
23564
- "line": 90
25306
+ "line": 87
23565
25307
  },
23566
25308
  "name": "fromList",
23567
25309
  "parameters": [
@@ -23625,7 +25367,7 @@
23625
25367
  },
23626
25368
  "locationInModule": {
23627
25369
  "filename": "src/terraform-iterator.ts",
23628
- "line": 135
25370
+ "line": 132
23629
25371
  },
23630
25372
  "name": "fromMap",
23631
25373
  "parameters": [
@@ -23688,7 +25430,7 @@
23688
25430
  },
23689
25431
  "locationInModule": {
23690
25432
  "filename": "src/terraform-iterator.ts",
23691
- "line": 150
25433
+ "line": 147
23692
25434
  },
23693
25435
  "name": "fromResources",
23694
25436
  "parameters": [
@@ -23714,7 +25456,7 @@
23714
25456
  },
23715
25457
  "locationInModule": {
23716
25458
  "filename": "src/terraform-iterator.ts",
23717
- "line": 307
25459
+ "line": 304
23718
25460
  },
23719
25461
  "name": "dynamic",
23720
25462
  "parameters": [
@@ -23744,7 +25486,7 @@
23744
25486
  },
23745
25487
  "locationInModule": {
23746
25488
  "filename": "src/terraform-iterator.ts",
23747
- "line": 369
25489
+ "line": 366
23748
25490
  },
23749
25491
  "name": "forExpressionForList",
23750
25492
  "parameters": [
@@ -23781,7 +25523,7 @@
23781
25523
  },
23782
25524
  "locationInModule": {
23783
25525
  "filename": "src/terraform-iterator.ts",
23784
- "line": 390
25526
+ "line": 387
23785
25527
  },
23786
25528
  "name": "forExpressionForMap",
23787
25529
  "parameters": [
@@ -23835,7 +25577,7 @@
23835
25577
  },
23836
25578
  "locationInModule": {
23837
25579
  "filename": "src/terraform-iterator.ts",
23838
- "line": 194
25580
+ "line": 191
23839
25581
  },
23840
25582
  "name": "getAny",
23841
25583
  "parameters": [
@@ -23862,7 +25604,7 @@
23862
25604
  },
23863
25605
  "locationInModule": {
23864
25606
  "filename": "src/terraform-iterator.ts",
23865
- "line": 250
25607
+ "line": 247
23866
25608
  },
23867
25609
  "name": "getAnyMap",
23868
25610
  "parameters": [
@@ -23894,7 +25636,7 @@
23894
25636
  },
23895
25637
  "locationInModule": {
23896
25638
  "filename": "src/terraform-iterator.ts",
23897
- "line": 186
25639
+ "line": 183
23898
25640
  },
23899
25641
  "name": "getBoolean",
23900
25642
  "parameters": [
@@ -23921,7 +25663,7 @@
23921
25663
  },
23922
25664
  "locationInModule": {
23923
25665
  "filename": "src/terraform-iterator.ts",
23924
- "line": 242
25666
+ "line": 239
23925
25667
  },
23926
25668
  "name": "getBooleanMap",
23927
25669
  "parameters": [
@@ -23953,7 +25695,7 @@
23953
25695
  },
23954
25696
  "locationInModule": {
23955
25697
  "filename": "src/terraform-iterator.ts",
23956
- "line": 202
25698
+ "line": 199
23957
25699
  },
23958
25700
  "name": "getList",
23959
25701
  "parameters": [
@@ -23985,7 +25727,7 @@
23985
25727
  },
23986
25728
  "locationInModule": {
23987
25729
  "filename": "src/terraform-iterator.ts",
23988
- "line": 218
25730
+ "line": 215
23989
25731
  },
23990
25732
  "name": "getMap",
23991
25733
  "parameters": [
@@ -24017,7 +25759,7 @@
24017
25759
  },
24018
25760
  "locationInModule": {
24019
25761
  "filename": "src/terraform-iterator.ts",
24020
- "line": 178
25762
+ "line": 175
24021
25763
  },
24022
25764
  "name": "getNumber",
24023
25765
  "parameters": [
@@ -24044,7 +25786,7 @@
24044
25786
  },
24045
25787
  "locationInModule": {
24046
25788
  "filename": "src/terraform-iterator.ts",
24047
- "line": 210
25789
+ "line": 207
24048
25790
  },
24049
25791
  "name": "getNumberList",
24050
25792
  "parameters": [
@@ -24076,7 +25818,7 @@
24076
25818
  },
24077
25819
  "locationInModule": {
24078
25820
  "filename": "src/terraform-iterator.ts",
24079
- "line": 234
25821
+ "line": 231
24080
25822
  },
24081
25823
  "name": "getNumberMap",
24082
25824
  "parameters": [
@@ -24108,7 +25850,7 @@
24108
25850
  },
24109
25851
  "locationInModule": {
24110
25852
  "filename": "src/terraform-iterator.ts",
24111
- "line": 170
25853
+ "line": 167
24112
25854
  },
24113
25855
  "name": "getString",
24114
25856
  "parameters": [
@@ -24135,7 +25877,7 @@
24135
25877
  },
24136
25878
  "locationInModule": {
24137
25879
  "filename": "src/terraform-iterator.ts",
24138
- "line": 226
25880
+ "line": 223
24139
25881
  },
24140
25882
  "name": "getStringMap",
24141
25883
  "parameters": [
@@ -24168,7 +25910,7 @@
24168
25910
  },
24169
25911
  "locationInModule": {
24170
25912
  "filename": "src/terraform-iterator.ts",
24171
- "line": 322
25913
+ "line": 319
24172
25914
  },
24173
25915
  "name": "keys",
24174
25916
  "returns": {
@@ -24185,7 +25927,7 @@
24185
25927
  },
24186
25928
  "locationInModule": {
24187
25929
  "filename": "src/terraform-iterator.ts",
24188
- "line": 346
25930
+ "line": 343
24189
25931
  },
24190
25932
  "name": "pluckProperty",
24191
25933
  "parameters": [
@@ -24213,7 +25955,7 @@
24213
25955
  },
24214
25956
  "locationInModule": {
24215
25957
  "filename": "src/terraform-iterator.ts",
24216
- "line": 334
25958
+ "line": 331
24217
25959
  },
24218
25960
  "name": "values",
24219
25961
  "returns": {
@@ -26328,7 +28070,7 @@
26328
28070
  },
26329
28071
  "locationInModule": {
26330
28072
  "filename": "src/terraform-resource.ts",
26331
- "line": 559
28073
+ "line": 561
26332
28074
  },
26333
28075
  "name": "addMoveTarget",
26334
28076
  "parameters": [
@@ -26688,7 +28430,7 @@
26688
28430
  },
26689
28431
  "locationInModule": {
26690
28432
  "filename": "src/terraform-resource.ts",
26691
- "line": 590
28433
+ "line": 592
26692
28434
  },
26693
28435
  "name": "moveFromId",
26694
28436
  "parameters": [
@@ -26710,7 +28452,7 @@
26710
28452
  },
26711
28453
  "locationInModule": {
26712
28454
  "filename": "src/terraform-resource.ts",
26713
- "line": 543
28455
+ "line": 545
26714
28456
  },
26715
28457
  "name": "moveTo",
26716
28458
  "parameters": [
@@ -26751,7 +28493,7 @@
26751
28493
  },
26752
28494
  "locationInModule": {
26753
28495
  "filename": "src/terraform-resource.ts",
26754
- "line": 567
28496
+ "line": 569
26755
28497
  },
26756
28498
  "name": "moveToId",
26757
28499
  "parameters": [
@@ -29944,7 +31686,7 @@
29944
31686
  "kind": "class",
29945
31687
  "locationInModule": {
29946
31688
  "filename": "src/tokens/string-fragments.ts",
29947
- "line": 30
31689
+ "line": 27
29948
31690
  },
29949
31691
  "methods": [
29950
31692
  {
@@ -29953,7 +31695,7 @@
29953
31695
  },
29954
31696
  "locationInModule": {
29955
31697
  "filename": "src/tokens/string-fragments.ts",
29956
- "line": 85
31698
+ "line": 82
29957
31699
  },
29958
31700
  "name": "addEscape",
29959
31701
  "parameters": [
@@ -29972,7 +31714,7 @@
29972
31714
  },
29973
31715
  "locationInModule": {
29974
31716
  "filename": "src/tokens/string-fragments.ts",
29975
- "line": 81
31717
+ "line": 78
29976
31718
  },
29977
31719
  "name": "addIntrinsic",
29978
31720
  "parameters": [
@@ -29994,7 +31736,7 @@
29994
31736
  },
29995
31737
  "locationInModule": {
29996
31738
  "filename": "src/tokens/string-fragments.ts",
29997
- "line": 65
31739
+ "line": 62
29998
31740
  },
29999
31741
  "name": "addLiteral",
30000
31742
  "parameters": [
@@ -30016,7 +31758,7 @@
30016
31758
  },
30017
31759
  "locationInModule": {
30018
31760
  "filename": "src/tokens/string-fragments.ts",
30019
- "line": 73
31761
+ "line": 70
30020
31762
  },
30021
31763
  "name": "addToken",
30022
31764
  "parameters": [
@@ -30037,7 +31779,7 @@
30037
31779
  },
30038
31780
  "locationInModule": {
30039
31781
  "filename": "src/tokens/string-fragments.ts",
30040
- "line": 89
31782
+ "line": 86
30041
31783
  },
30042
31784
  "name": "concat",
30043
31785
  "parameters": [
@@ -30057,7 +31799,7 @@
30057
31799
  },
30058
31800
  "locationInModule": {
30059
31801
  "filename": "src/tokens/string-fragments.ts",
30060
- "line": 194
31802
+ "line": 191
30061
31803
  },
30062
31804
  "name": "join",
30063
31805
  "parameters": [
@@ -30081,7 +31823,7 @@
30081
31823
  },
30082
31824
  "locationInModule": {
30083
31825
  "filename": "src/tokens/string-fragments.ts",
30084
- "line": 149
31826
+ "line": 146
30085
31827
  },
30086
31828
  "name": "mapTokens",
30087
31829
  "parameters": [
@@ -30109,7 +31851,7 @@
30109
31851
  "immutable": true,
30110
31852
  "locationInModule": {
30111
31853
  "filename": "src/tokens/string-fragments.ts",
30112
- "line": 135
31854
+ "line": 132
30113
31855
  },
30114
31856
  "name": "escapes",
30115
31857
  "type": {
@@ -30129,7 +31871,7 @@
30129
31871
  "immutable": true,
30130
31872
  "locationInModule": {
30131
31873
  "filename": "src/tokens/string-fragments.ts",
30132
- "line": 50
31874
+ "line": 47
30133
31875
  },
30134
31876
  "name": "firstValue",
30135
31877
  "type": {
@@ -30144,7 +31886,7 @@
30144
31886
  "immutable": true,
30145
31887
  "locationInModule": {
30146
31888
  "filename": "src/tokens/string-fragments.ts",
30147
- "line": 122
31889
+ "line": 119
30148
31890
  },
30149
31891
  "name": "intrinsic",
30150
31892
  "type": {
@@ -30164,7 +31906,7 @@
30164
31906
  "immutable": true,
30165
31907
  "locationInModule": {
30166
31908
  "filename": "src/tokens/string-fragments.ts",
30167
- "line": 57
31909
+ "line": 54
30168
31910
  },
30169
31911
  "name": "length",
30170
31912
  "type": {
@@ -30179,7 +31921,7 @@
30179
31921
  "immutable": true,
30180
31922
  "locationInModule": {
30181
31923
  "filename": "src/tokens/string-fragments.ts",
30182
- "line": 109
31924
+ "line": 106
30183
31925
  },
30184
31926
  "name": "literals",
30185
31927
  "type": {
@@ -30199,7 +31941,7 @@
30199
31941
  "immutable": true,
30200
31942
  "locationInModule": {
30201
31943
  "filename": "src/tokens/string-fragments.ts",
30202
- "line": 96
31944
+ "line": 93
30203
31945
  },
30204
31946
  "name": "tokens",
30205
31947
  "type": {
@@ -30219,7 +31961,7 @@
30219
31961
  "immutable": true,
30220
31962
  "locationInModule": {
30221
31963
  "filename": "src/tokens/string-fragments.ts",
30222
- "line": 39
31964
+ "line": 36
30223
31965
  },
30224
31966
  "name": "firstToken",
30225
31967
  "optional": true,
@@ -30852,32 +32594,25 @@
30852
32594
  "assembly": "cdktn",
30853
32595
  "docs": {
30854
32596
  "stability": "experimental",
30855
- "summary": "Class representing the contents of a return by an assertion."
32597
+ "summary": "The result of a testing matcher assertion."
30856
32598
  },
30857
32599
  "fqn": "cdktn.testingMatchers.AssertionReturn",
30858
32600
  "initializer": {
30859
32601
  "docs": {
30860
- "stability": "experimental",
30861
- "summary": "Create an AssertionReturn."
32602
+ "stability": "experimental"
30862
32603
  },
30863
32604
  "locationInModule": {
30864
32605
  "filename": "src/testing/matchers.ts",
30865
- "line": 33
32606
+ "line": 29
30866
32607
  },
30867
32608
  "parameters": [
30868
32609
  {
30869
- "docs": {
30870
- "summary": "- String message containing information about the result of the assertion."
30871
- },
30872
32610
  "name": "message",
30873
32611
  "type": {
30874
32612
  "primitive": "string"
30875
32613
  }
30876
32614
  },
30877
32615
  {
30878
- "docs": {
30879
- "summary": "- Boolean pass denoting the success of the assertion."
30880
- },
30881
32616
  "name": "pass",
30882
32617
  "type": {
30883
32618
  "primitive": "boolean"
@@ -30888,20 +32623,19 @@
30888
32623
  "kind": "class",
30889
32624
  "locationInModule": {
30890
32625
  "filename": "src/testing/matchers.ts",
30891
- "line": 27
32626
+ "line": 28
30892
32627
  },
30893
32628
  "name": "AssertionReturn",
30894
32629
  "namespace": "testingMatchers",
30895
32630
  "properties": [
30896
32631
  {
30897
32632
  "docs": {
30898
- "stability": "experimental",
30899
- "summary": "- String message containing information about the result of the assertion."
32633
+ "stability": "experimental"
30900
32634
  },
30901
32635
  "immutable": true,
30902
32636
  "locationInModule": {
30903
32637
  "filename": "src/testing/matchers.ts",
30904
- "line": 34
32638
+ "line": 30
30905
32639
  },
30906
32640
  "name": "message",
30907
32641
  "type": {
@@ -30910,13 +32644,12 @@
30910
32644
  },
30911
32645
  {
30912
32646
  "docs": {
30913
- "stability": "experimental",
30914
- "summary": "- Boolean pass denoting the success of the assertion."
32647
+ "stability": "experimental"
30915
32648
  },
30916
32649
  "immutable": true,
30917
32650
  "locationInModule": {
30918
32651
  "filename": "src/testing/matchers.ts",
30919
- "line": 35
32652
+ "line": 31
30920
32653
  },
30921
32654
  "name": "pass",
30922
32655
  "type": {
@@ -30936,7 +32669,7 @@
30936
32669
  "kind": "interface",
30937
32670
  "locationInModule": {
30938
32671
  "filename": "src/testing/matchers.ts",
30939
- "line": 14
32672
+ "line": 15
30940
32673
  },
30941
32674
  "name": "TerraformConstructor",
30942
32675
  "namespace": "testingMatchers",
@@ -30949,7 +32682,7 @@
30949
32682
  "immutable": true,
30950
32683
  "locationInModule": {
30951
32684
  "filename": "src/testing/matchers.ts",
30952
- "line": 15
32685
+ "line": 16
30953
32686
  },
30954
32687
  "name": "tfResourceType",
30955
32688
  "type": {
@@ -30958,8 +32691,45 @@
30958
32691
  }
30959
32692
  ],
30960
32693
  "symbolId": "src/testing/matchers:TerraformConstructor"
32694
+ },
32695
+ "cdktn.testingMatchers.ToPlanSuccessfullyOptions": {
32696
+ "assembly": "cdktn",
32697
+ "datatype": true,
32698
+ "docs": {
32699
+ "stability": "experimental"
32700
+ },
32701
+ "fqn": "cdktn.testingMatchers.ToPlanSuccessfullyOptions",
32702
+ "kind": "interface",
32703
+ "locationInModule": {
32704
+ "filename": "src/testing/matchers.ts",
32705
+ "line": 600
32706
+ },
32707
+ "name": "ToPlanSuccessfullyOptions",
32708
+ "namespace": "testingMatchers",
32709
+ "properties": [
32710
+ {
32711
+ "abstract": true,
32712
+ "docs": {
32713
+ "default": "true",
32714
+ "remarks": "Disable this for stacks whose\nbackend (e.g. s3, remote) is not reachable in the test environment and whose plan does not\ndepend on existing state.",
32715
+ "stability": "experimental",
32716
+ "summary": "Whether `init`/`plan` should use the stack's real backend."
32717
+ },
32718
+ "immutable": true,
32719
+ "locationInModule": {
32720
+ "filename": "src/testing/matchers.ts",
32721
+ "line": 607
32722
+ },
32723
+ "name": "backend",
32724
+ "optional": true,
32725
+ "type": {
32726
+ "primitive": "boolean"
32727
+ }
32728
+ }
32729
+ ],
32730
+ "symbolId": "src/testing/matchers:ToPlanSuccessfullyOptions"
30961
32731
  }
30962
32732
  },
30963
- "version": "0.25.0-pre.6",
30964
- "fingerprint": "dXlDS5bsJcDTOeGslJIzGN1w1ZOG7YYYHiNd4CzTZH4="
32733
+ "version": "0.25.0-pre.61",
32734
+ "fingerprint": "82blyjumlrC02cSjnugD8xPgu0U4s8P9Q/l07gYts+A="
30965
32735
  }