cdktn 0.25.0-pre.3 → 0.25.0-pre.30

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 (88) hide show
  1. package/.jsii +1217 -102
  2. package/lib/annotations.js +4 -4
  3. package/lib/app.js +54 -5
  4. package/lib/aspect.js +3 -4
  5. package/lib/asset-hash.d.ts +75 -0
  6. package/lib/asset-hash.js +129 -0
  7. package/lib/asset-staging.d.ts +83 -0
  8. package/lib/asset-staging.js +195 -0
  9. package/lib/assets.d.ts +180 -0
  10. package/lib/assets.js +131 -0
  11. package/lib/backends/azurerm-backend.js +4 -6
  12. package/lib/backends/cloud-backend.js +10 -10
  13. package/lib/backends/consul-backend.js +4 -6
  14. package/lib/backends/cos-backend.js +4 -6
  15. package/lib/backends/gcs-backend.js +4 -6
  16. package/lib/backends/http-backend.js +4 -6
  17. package/lib/backends/local-backend.js +38 -7
  18. package/lib/backends/oss-backend.js +4 -6
  19. package/lib/backends/pg-backend.js +4 -6
  20. package/lib/backends/remote-backend.js +8 -10
  21. package/lib/backends/s3-backend.js +4 -6
  22. package/lib/backends/swift-backend.js +4 -6
  23. package/lib/complex-computed-list.js +114 -65
  24. package/lib/errors.d.ts +6 -0
  25. package/lib/errors.js +24 -3
  26. package/lib/functions/provider-function.js +2 -4
  27. package/lib/functions/terraform-functions.generated.js +2 -4
  28. package/lib/ignore-strategy.d.ts +82 -0
  29. package/lib/ignore-strategy.js +29 -0
  30. package/lib/importable-resource.js +3 -4
  31. package/lib/index.d.ts +4 -0
  32. package/lib/index.js +28 -2
  33. package/lib/manifest.js +49 -11
  34. package/lib/private/fs.d.ts +74 -2
  35. package/lib/private/fs.js +129 -17
  36. package/lib/private/unique.js +35 -2
  37. package/lib/resource.js +3 -4
  38. package/lib/synthesize/synthesizer.js +43 -4
  39. package/lib/terraform-asset.d.ts +39 -2
  40. package/lib/terraform-asset.js +94 -35
  41. package/lib/terraform-backend.js +3 -4
  42. package/lib/terraform-count.js +3 -4
  43. package/lib/terraform-data-resource.js +12 -10
  44. package/lib/terraform-data-source.js +10 -4
  45. package/lib/terraform-dynamic-block.js +5 -2
  46. package/lib/terraform-dynamic-expression.js +4 -1
  47. package/lib/terraform-element.js +34 -6
  48. package/lib/terraform-ephemeral-resource.js +10 -4
  49. package/lib/terraform-functions.js +2 -4
  50. package/lib/terraform-hcl-module.js +3 -4
  51. package/lib/terraform-iterator.js +11 -12
  52. package/lib/terraform-local.js +3 -4
  53. package/lib/terraform-module-asset.js +39 -4
  54. package/lib/terraform-module.js +8 -4
  55. package/lib/terraform-operators.js +2 -4
  56. package/lib/terraform-output.js +7 -4
  57. package/lib/terraform-provider.js +5 -4
  58. package/lib/terraform-provisioner.js +2 -4
  59. package/lib/terraform-remote-state.js +5 -5
  60. package/lib/terraform-resource-targets.js +3 -7
  61. package/lib/terraform-resource.js +16 -5
  62. package/lib/terraform-stack.js +38 -38
  63. package/lib/terraform-variable.js +25 -22
  64. package/lib/testing/index.js +42 -8
  65. package/lib/testing/matchers.js +39 -6
  66. package/lib/tfExpression.js +25 -8
  67. package/lib/tokens/lazy.js +11 -7
  68. package/lib/tokens/private/dependency.js +2 -2
  69. package/lib/tokens/private/encoding.js +6 -1
  70. package/lib/tokens/private/intrinsic.js +6 -1
  71. package/lib/tokens/private/resolve.js +2 -5
  72. package/lib/tokens/private/token-map.js +4 -6
  73. package/lib/tokens/private/uniqueid.js +35 -2
  74. package/lib/tokens/resolvable.js +4 -6
  75. package/lib/tokens/string-fragments.js +6 -10
  76. package/lib/tokens/token.js +15 -18
  77. package/lib/upgrade-id-aspect.js +37 -6
  78. package/lib/validations/target-versions.js +39 -2
  79. package/lib/validations/validate-binary-version.js +39 -2
  80. package/lib/validations/validate-function-version-support.js +2 -1
  81. package/lib/validations/validate-provider-function-target-support.js +2 -1
  82. package/lib/validations/validate-provider-presence.js +10 -9
  83. package/lib/validations/validate-terraform-version.js +3 -1
  84. package/package.json +5 -5
  85. package/scripts/pack.mjs +27 -12
  86. package/lib/tsconfig.tsbuildinfo +0 -1
  87. package/tsconfig.json +0 -40
  88. package/tsconfig.test.json +0 -12
package/.jsii CHANGED
@@ -12,7 +12,7 @@
12
12
  "semver": "7.8.5"
13
13
  },
14
14
  "dependencies": {
15
- "constructs": ">=10.6.0 <10.8.0"
15
+ "constructs": "^10.6.0"
16
16
  },
17
17
  "dependencyClosure": {
18
18
  "constructs": {
@@ -46,7 +46,7 @@
46
46
  "stability": "experimental"
47
47
  },
48
48
  "homepage": "https://github.com/open-constructs/cdk-terrain",
49
- "jsiiVersion": "5.9.43",
49
+ "jsiiVersion": "6.0.12",
50
50
  "keywords": [
51
51
  "cdk",
52
52
  "cdktf",
@@ -60,6 +60,7 @@
60
60
  "hasDefaultInterfaces": true
61
61
  }
62
62
  },
63
+ "tscOutDir": "lib",
63
64
  "tscRootDir": "src"
64
65
  },
65
66
  "name": "cdktn",
@@ -1407,6 +1408,543 @@
1407
1408
  ],
1408
1409
  "symbolId": "src/aspect:Aspects"
1409
1410
  },
1411
+ "cdktn.AssetHash": {
1412
+ "assembly": "cdktn",
1413
+ "docs": {
1414
+ "remarks": "Providers that read a local path directly — a Docker build `context`, for\nexample — need a content hash to drive `triggers`, but have no use for a\nstaged copy of the source. `Asset` and `TerraformAsset` always produce a\nstaged copy; this is the identity half without the staging half.",
1415
+ "stability": "experimental",
1416
+ "summary": "Computes a content hash of a file or directory without staging it."
1417
+ },
1418
+ "fqn": "cdktn.AssetHash",
1419
+ "kind": "class",
1420
+ "locationInModule": {
1421
+ "filename": "src/asset-hash.ts",
1422
+ "line": 49
1423
+ },
1424
+ "methods": [
1425
+ {
1426
+ "docs": {
1427
+ "remarks": "This is a hash of the source tree, and it does not depend on how the\nsource is later packaged. `hashPath` is always called with `archive`\nunset, so directory records are part of the digest; the hash of a given\ntree is therefore the same whether it is later copied, zipped, or packed\nby a custom `IAssetPackaging` such as `tar.bz2`.\n\nA consequence worth stating: this does not equal\n`TerraformAsset(dir, { type: ARCHIVE }).assetHash` for a directory with\nsubdirectories. That asset frames its hash to the emitted ZIP, which has\nno directory entries (see #323), so directory-only changes move it and\nnot this. It equals a `FILE` / `DIRECTORY` `TerraformAsset` hash only\nwhen the `canonicalAssetHashes` flag is enabled, since that flag is what\nputs the asset on this same canonical scheme.\n\nA relative `filePath` is resolved against the directory containing\n`cdktf.json`, the same base `TerraformAsset` uses, so both hash the same\nsource regardless of the process working directory. Absolute paths are\nused as-is. Throws if `filePath` is relative and no `cdktf.json` is found\nabove the working directory.",
1428
+ "stability": "experimental",
1429
+ "summary": "Content hash of a file or directory, without staging it."
1430
+ },
1431
+ "locationInModule": {
1432
+ "filename": "src/asset-hash.ts",
1433
+ "line": 75
1434
+ },
1435
+ "name": "of",
1436
+ "parameters": [
1437
+ {
1438
+ "docs": {
1439
+ "summary": "- path to a file or directory to hash."
1440
+ },
1441
+ "name": "filePath",
1442
+ "type": {
1443
+ "primitive": "string"
1444
+ }
1445
+ },
1446
+ {
1447
+ "docs": {
1448
+ "summary": "- see {@link AssetHashOptions}."
1449
+ },
1450
+ "name": "options",
1451
+ "optional": true,
1452
+ "type": {
1453
+ "fqn": "cdktn.AssetHashOptions"
1454
+ }
1455
+ }
1456
+ ],
1457
+ "returns": {
1458
+ "type": {
1459
+ "primitive": "string"
1460
+ }
1461
+ },
1462
+ "static": true
1463
+ }
1464
+ ],
1465
+ "name": "AssetHash",
1466
+ "symbolId": "src/asset-hash:AssetHash"
1467
+ },
1468
+ "cdktn.AssetHashOptions": {
1469
+ "assembly": "cdktn",
1470
+ "datatype": true,
1471
+ "docs": {
1472
+ "stability": "experimental",
1473
+ "summary": "Options for {@link AssetHash.of}."
1474
+ },
1475
+ "fqn": "cdktn.AssetHashOptions",
1476
+ "kind": "interface",
1477
+ "locationInModule": {
1478
+ "filename": "src/asset-hash.ts",
1479
+ "line": 15
1480
+ },
1481
+ "name": "AssetHashOptions",
1482
+ "properties": [
1483
+ {
1484
+ "abstract": true,
1485
+ "docs": {
1486
+ "default": "- nothing is excluded",
1487
+ "remarks": "Cannot be combined with\n`ignoreStrategy`, which replaces this matcher rather than layering on\ntop of it.",
1488
+ "stability": "experimental",
1489
+ "summary": "Paths to exclude, relative to the hashed path."
1490
+ },
1491
+ "immutable": true,
1492
+ "locationInModule": {
1493
+ "filename": "src/asset-hash.ts",
1494
+ "line": 23
1495
+ },
1496
+ "name": "exclude",
1497
+ "optional": true,
1498
+ "type": {
1499
+ "collection": {
1500
+ "elementtype": {
1501
+ "primitive": "string"
1502
+ },
1503
+ "kind": "array"
1504
+ }
1505
+ }
1506
+ },
1507
+ {
1508
+ "abstract": true,
1509
+ "docs": {
1510
+ "default": "- no extra data",
1511
+ "stability": "experimental",
1512
+ "summary": "Extra information to fold into the hash."
1513
+ },
1514
+ "immutable": true,
1515
+ "locationInModule": {
1516
+ "filename": "src/asset-hash.ts",
1517
+ "line": 30
1518
+ },
1519
+ "name": "extraHash",
1520
+ "optional": true,
1521
+ "type": {
1522
+ "primitive": "string"
1523
+ }
1524
+ },
1525
+ {
1526
+ "abstract": true,
1527
+ "docs": {
1528
+ "default": "- `exclude` is used with the built-in matcher",
1529
+ "stability": "experimental",
1530
+ "summary": "Exclusion matching, for callers that need `.gitignore` / `.dockerignore` parity rather than the built-in exact-path / suffix / directory matcher."
1531
+ },
1532
+ "immutable": true,
1533
+ "locationInModule": {
1534
+ "filename": "src/asset-hash.ts",
1535
+ "line": 38
1536
+ },
1537
+ "name": "ignoreStrategy",
1538
+ "optional": true,
1539
+ "type": {
1540
+ "fqn": "cdktn.IIgnoreStrategy"
1541
+ }
1542
+ }
1543
+ ],
1544
+ "symbolId": "src/asset-hash:AssetHashOptions"
1545
+ },
1546
+ "cdktn.AssetHashType": {
1547
+ "assembly": "cdktn",
1548
+ "docs": {
1549
+ "remarks": "NOTE: the hash is used in order to identify a specific revision of the asset, and\nused for optimizing and caching deployment activities related to this asset such as\npackaging, uploading to cloud storage, etc.",
1550
+ "stability": "experimental",
1551
+ "summary": "The type of asset hash."
1552
+ },
1553
+ "fqn": "cdktn.AssetHashType",
1554
+ "kind": "enum",
1555
+ "locationInModule": {
1556
+ "filename": "src/assets.ts",
1557
+ "line": 59
1558
+ },
1559
+ "members": [
1560
+ {
1561
+ "docs": {
1562
+ "remarks": "Use `SOURCE` when the content of the asset changes frequently or when\nyou want to track changes to the source files directly.",
1563
+ "stability": "experimental",
1564
+ "summary": "Based on the content of the source path."
1565
+ },
1566
+ "name": "SOURCE"
1567
+ },
1568
+ {
1569
+ "docs": {
1570
+ "remarks": "Use `OUTPUT` when the source of the asset is a top level folder containing\ncode and/or dependencies that are not directly linked to the asset.",
1571
+ "stability": "experimental",
1572
+ "summary": "Based on the content of the bundling output."
1573
+ },
1574
+ "name": "OUTPUT"
1575
+ },
1576
+ {
1577
+ "docs": {
1578
+ "stability": "experimental",
1579
+ "summary": "Use a custom hash."
1580
+ },
1581
+ "name": "CUSTOM"
1582
+ }
1583
+ ],
1584
+ "name": "AssetHashType",
1585
+ "symbolId": "src/assets:AssetHashType"
1586
+ },
1587
+ "cdktn.AssetOptions": {
1588
+ "assembly": "cdktn",
1589
+ "datatype": true,
1590
+ "docs": {
1591
+ "stability": "experimental",
1592
+ "summary": "Asset hash options."
1593
+ },
1594
+ "fqn": "cdktn.AssetOptions",
1595
+ "kind": "interface",
1596
+ "locationInModule": {
1597
+ "filename": "src/assets.ts",
1598
+ "line": 23
1599
+ },
1600
+ "name": "AssetOptions",
1601
+ "properties": [
1602
+ {
1603
+ "abstract": true,
1604
+ "docs": {
1605
+ "default": "- based on `assetHashType`",
1606
+ "remarks": "If `assetHashType` is set it must\nbe set to `AssetHashType.CUSTOM`. The value is used verbatim as the asset\nhash, and because it names the staged asset file it may only contain\nletters, digits, `_`, `.` and `-`.\n\nNOTE: the hash is used in order to identify a specific revision of the asset, and\nused for optimizing and caching deployment activities related to this asset such as\npackaging, uploading to cloud storage, etc. If you chose to customize the hash, you will\nneed to make sure it is updated every time the asset changes, or otherwise it is\npossible that some deployments will not be invalidated.",
1607
+ "stability": "experimental",
1608
+ "summary": "Specify a custom hash for this asset."
1609
+ },
1610
+ "immutable": true,
1611
+ "locationInModule": {
1612
+ "filename": "src/assets.ts",
1613
+ "line": 38
1614
+ },
1615
+ "name": "assetHash",
1616
+ "optional": true,
1617
+ "type": {
1618
+ "primitive": "string"
1619
+ }
1620
+ },
1621
+ {
1622
+ "abstract": true,
1623
+ "docs": {
1624
+ "default": "- the default is `AssetHashType.SOURCE`, but if `assetHash` is\nexplicitly specified this value defaults to `AssetHashType.CUSTOM`.",
1625
+ "remarks": "If `assetHash` is configured, this option must be `undefined` or\n`AssetHashType.CUSTOM`.",
1626
+ "stability": "experimental",
1627
+ "summary": "Specifies the type of hash to calculate for this asset."
1628
+ },
1629
+ "immutable": true,
1630
+ "locationInModule": {
1631
+ "filename": "src/assets.ts",
1632
+ "line": 49
1633
+ },
1634
+ "name": "assetHashType",
1635
+ "optional": true,
1636
+ "type": {
1637
+ "fqn": "cdktn.AssetHashType"
1638
+ }
1639
+ }
1640
+ ],
1641
+ "symbolId": "src/assets:AssetOptions"
1642
+ },
1643
+ "cdktn.AssetPackaging": {
1644
+ "assembly": "cdktn",
1645
+ "docs": {
1646
+ "remarks": "Custom formats implement `IAssetPackaging`\ndirectly rather than extending this class.",
1647
+ "stability": "experimental",
1648
+ "summary": "Built-in packaging strategies."
1649
+ },
1650
+ "fqn": "cdktn.AssetPackaging",
1651
+ "kind": "class",
1652
+ "locationInModule": {
1653
+ "filename": "src/assets.ts",
1654
+ "line": 209
1655
+ },
1656
+ "name": "AssetPackaging",
1657
+ "properties": [
1658
+ {
1659
+ "const": true,
1660
+ "docs": {
1661
+ "stability": "experimental",
1662
+ "summary": "Copy a directory tree as-is, without archiving."
1663
+ },
1664
+ "immutable": true,
1665
+ "locationInModule": {
1666
+ "filename": "src/assets.ts",
1667
+ "line": 218
1668
+ },
1669
+ "name": "DIRECTORY",
1670
+ "static": true,
1671
+ "type": {
1672
+ "fqn": "cdktn.IAssetPackaging"
1673
+ }
1674
+ },
1675
+ {
1676
+ "const": true,
1677
+ "docs": {
1678
+ "stability": "experimental",
1679
+ "summary": "Copy a single file as-is."
1680
+ },
1681
+ "immutable": true,
1682
+ "locationInModule": {
1683
+ "filename": "src/assets.ts",
1684
+ "line": 213
1685
+ },
1686
+ "name": "FILE",
1687
+ "static": true,
1688
+ "type": {
1689
+ "fqn": "cdktn.IAssetPackaging"
1690
+ }
1691
+ },
1692
+ {
1693
+ "const": true,
1694
+ "docs": {
1695
+ "stability": "experimental",
1696
+ "summary": "Archive a directory tree into a single zip file."
1697
+ },
1698
+ "immutable": true,
1699
+ "locationInModule": {
1700
+ "filename": "src/assets.ts",
1701
+ "line": 223
1702
+ },
1703
+ "name": "ZIP",
1704
+ "static": true,
1705
+ "type": {
1706
+ "fqn": "cdktn.IAssetPackaging"
1707
+ }
1708
+ }
1709
+ ],
1710
+ "symbolId": "src/assets:AssetPackaging"
1711
+ },
1712
+ "cdktn.AssetStaging": {
1713
+ "assembly": "cdktn",
1714
+ "base": "constructs.Construct",
1715
+ "docs": {
1716
+ "remarks": "Hashing happens eagerly in the constructor; staging the content to\n`targetPath` only happens when `stage()` is called, which callers do from\ntheir own `onSynthesize` hook. This keeps the filesystem side effect in the\none window where it is safe to run, and keeps this class skippable once a\nbundler is introduced.\n\n`SOURCE` and `OUTPUT` compute identically here: without a bundler, the\n\"output\" of an asset is its source verbatim. A future bundler changes what\n`OUTPUT` hashes, not this class.\n\nThe source-tree walk behind `SOURCE`/`OUTPUT` is cached per synth (see\n{@link hashCachesByRoot}), so referencing the same asset from more than one\nresource or stack hashes it once. `ASSET_HASH_SALT_CONTEXT_KEY` folds an\napp-wide value into every computed hash, for bulk cache-busting across an\nentire tree rather than one asset's `extraHash`.",
1717
+ "stability": "experimental",
1718
+ "summary": "Resolves an asset's identity (`SOURCE`/`OUTPUT`/`CUSTOM` hashing, with `exclude`/`extraHash`) and stages it to disk."
1719
+ },
1720
+ "fqn": "cdktn.AssetStaging",
1721
+ "initializer": {
1722
+ "docs": {
1723
+ "stability": "experimental"
1724
+ },
1725
+ "locationInModule": {
1726
+ "filename": "src/asset-staging.ts",
1727
+ "line": 125
1728
+ },
1729
+ "parameters": [
1730
+ {
1731
+ "name": "scope",
1732
+ "type": {
1733
+ "fqn": "constructs.Construct"
1734
+ }
1735
+ },
1736
+ {
1737
+ "name": "id",
1738
+ "type": {
1739
+ "primitive": "string"
1740
+ }
1741
+ },
1742
+ {
1743
+ "name": "props",
1744
+ "type": {
1745
+ "fqn": "cdktn.AssetStagingOptions"
1746
+ }
1747
+ }
1748
+ ]
1749
+ },
1750
+ "interfaces": [
1751
+ "cdktn.IAsset"
1752
+ ],
1753
+ "kind": "class",
1754
+ "locationInModule": {
1755
+ "filename": "src/asset-staging.ts",
1756
+ "line": 116
1757
+ },
1758
+ "methods": [
1759
+ {
1760
+ "docs": {
1761
+ "remarks": "Called from the owning\nconstruct's `onSynthesize` hook, once the target path is known.",
1762
+ "stability": "experimental",
1763
+ "summary": "Write the staged content to `targetPath`."
1764
+ },
1765
+ "locationInModule": {
1766
+ "filename": "src/asset-staging.ts",
1767
+ "line": 219
1768
+ },
1769
+ "name": "stage",
1770
+ "parameters": [
1771
+ {
1772
+ "docs": {
1773
+ "summary": "- path the packaged result should be written to."
1774
+ },
1775
+ "name": "targetPath",
1776
+ "type": {
1777
+ "primitive": "string"
1778
+ }
1779
+ }
1780
+ ]
1781
+ }
1782
+ ],
1783
+ "name": "AssetStaging",
1784
+ "properties": [
1785
+ {
1786
+ "docs": {
1787
+ "remarks": "As this is a plain string, it\ncan be used in construct IDs in order to enforce creation of a new resource when the content\nhash has changed.",
1788
+ "stability": "experimental",
1789
+ "summary": "A hash of this asset, which is available at construction time."
1790
+ },
1791
+ "immutable": true,
1792
+ "locationInModule": {
1793
+ "filename": "src/asset-staging.ts",
1794
+ "line": 123
1795
+ },
1796
+ "name": "assetHash",
1797
+ "overrides": "cdktn.IAsset",
1798
+ "type": {
1799
+ "primitive": "string"
1800
+ }
1801
+ },
1802
+ {
1803
+ "docs": {
1804
+ "stability": "experimental"
1805
+ },
1806
+ "immutable": true,
1807
+ "locationInModule": {
1808
+ "filename": "src/asset-staging.ts",
1809
+ "line": 122
1810
+ },
1811
+ "name": "isDirectory",
1812
+ "type": {
1813
+ "primitive": "boolean"
1814
+ }
1815
+ },
1816
+ {
1817
+ "docs": {
1818
+ "stability": "experimental"
1819
+ },
1820
+ "immutable": true,
1821
+ "locationInModule": {
1822
+ "filename": "src/asset-staging.ts",
1823
+ "line": 121
1824
+ },
1825
+ "name": "packaging",
1826
+ "type": {
1827
+ "fqn": "cdktn.IAssetPackaging"
1828
+ }
1829
+ }
1830
+ ],
1831
+ "symbolId": "src/asset-staging:AssetStaging"
1832
+ },
1833
+ "cdktn.AssetStagingOptions": {
1834
+ "assembly": "cdktn",
1835
+ "datatype": true,
1836
+ "docs": {
1837
+ "stability": "experimental",
1838
+ "summary": "Options for {@link AssetStaging}."
1839
+ },
1840
+ "fqn": "cdktn.AssetStagingOptions",
1841
+ "interfaces": [
1842
+ "cdktn.AssetOptions"
1843
+ ],
1844
+ "kind": "interface",
1845
+ "locationInModule": {
1846
+ "filename": "src/asset-staging.ts",
1847
+ "line": 56
1848
+ },
1849
+ "name": "AssetStagingOptions",
1850
+ "properties": [
1851
+ {
1852
+ "abstract": true,
1853
+ "docs": {
1854
+ "remarks": "The caller decides this\n(e.g. from its own `AssetType`) — `AssetStaging` never infers or changes\nit based on `exclude`/`extraHash`.",
1855
+ "stability": "experimental",
1856
+ "summary": "How the staged result is produced and shaped."
1857
+ },
1858
+ "immutable": true,
1859
+ "locationInModule": {
1860
+ "filename": "src/asset-staging.ts",
1861
+ "line": 68
1862
+ },
1863
+ "name": "packaging",
1864
+ "type": {
1865
+ "fqn": "cdktn.IAssetPackaging"
1866
+ }
1867
+ },
1868
+ {
1869
+ "abstract": true,
1870
+ "docs": {
1871
+ "remarks": "Resolving a relative path\nagainst `cdktf.json` is the caller's responsibility.",
1872
+ "stability": "experimental",
1873
+ "summary": "Absolute path to the source file or directory."
1874
+ },
1875
+ "immutable": true,
1876
+ "locationInModule": {
1877
+ "filename": "src/asset-staging.ts",
1878
+ "line": 61
1879
+ },
1880
+ "name": "sourcePath",
1881
+ "type": {
1882
+ "primitive": "string"
1883
+ }
1884
+ },
1885
+ {
1886
+ "abstract": true,
1887
+ "docs": {
1888
+ "default": "- nothing is excluded",
1889
+ "remarks": "Cannot be combined with\n`ignoreStrategy`, which replaces this matcher rather than layering on\ntop of it.",
1890
+ "stability": "experimental",
1891
+ "summary": "Paths to exclude, relative to `sourcePath`."
1892
+ },
1893
+ "immutable": true,
1894
+ "locationInModule": {
1895
+ "filename": "src/asset-staging.ts",
1896
+ "line": 77
1897
+ },
1898
+ "name": "exclude",
1899
+ "optional": true,
1900
+ "type": {
1901
+ "collection": {
1902
+ "elementtype": {
1903
+ "primitive": "string"
1904
+ },
1905
+ "kind": "array"
1906
+ }
1907
+ }
1908
+ },
1909
+ {
1910
+ "abstract": true,
1911
+ "docs": {
1912
+ "default": "- no extra hash",
1913
+ "stability": "experimental",
1914
+ "summary": "Extra information to fold into the hash (e.g. build instructions and other inputs)."
1915
+ },
1916
+ "immutable": true,
1917
+ "locationInModule": {
1918
+ "filename": "src/asset-staging.ts",
1919
+ "line": 93
1920
+ },
1921
+ "name": "extraHash",
1922
+ "optional": true,
1923
+ "type": {
1924
+ "primitive": "string"
1925
+ }
1926
+ },
1927
+ {
1928
+ "abstract": true,
1929
+ "docs": {
1930
+ "default": "- `exclude` is used with the built-in matcher",
1931
+ "stability": "experimental",
1932
+ "summary": "Exclusion matching, for callers that need `.gitignore` / `.dockerignore` parity rather than the built-in exact-path / suffix / directory matcher."
1933
+ },
1934
+ "immutable": true,
1935
+ "locationInModule": {
1936
+ "filename": "src/asset-staging.ts",
1937
+ "line": 85
1938
+ },
1939
+ "name": "ignoreStrategy",
1940
+ "optional": true,
1941
+ "type": {
1942
+ "fqn": "cdktn.IIgnoreStrategy"
1943
+ }
1944
+ }
1945
+ ],
1946
+ "symbolId": "src/asset-staging:AssetStagingOptions"
1947
+ },
1410
1948
  "cdktn.AssetType": {
1411
1949
  "assembly": "cdktn",
1412
1950
  "docs": {
@@ -1416,7 +1954,7 @@
1416
1954
  "kind": "enum",
1417
1955
  "locationInModule": {
1418
1956
  "filename": "src/terraform-asset.ts",
1419
- "line": 31
1957
+ "line": 63
1420
1958
  },
1421
1959
  "members": [
1422
1960
  {
@@ -6686,7 +7224,7 @@
6686
7224
  },
6687
7225
  "locationInModule": {
6688
7226
  "filename": "src/terraform-iterator.ts",
6689
- "line": 506
7227
+ "line": 503
6690
7228
  },
6691
7229
  "parameters": [
6692
7230
  {
@@ -6744,47 +7282,152 @@
6744
7282
  },
6745
7283
  "kind": "class",
6746
7284
  "locationInModule": {
6747
- "filename": "src/terraform-iterator.ts",
6748
- "line": 505
6749
- },
6750
- "name": "DynamicListTerraformIterator",
6751
- "symbolId": "src/terraform-iterator:DynamicListTerraformIterator"
6752
- },
6753
- "cdktn.EncodingOptions": {
6754
- "assembly": "cdktn",
6755
- "datatype": true,
6756
- "docs": {
6757
- "stability": "experimental",
6758
- "summary": "Properties to string encodings."
6759
- },
6760
- "fqn": "cdktn.EncodingOptions",
6761
- "kind": "interface",
6762
- "locationInModule": {
6763
- "filename": "src/tokens/token.ts",
6764
- "line": 340
7285
+ "filename": "src/terraform-iterator.ts",
7286
+ "line": 502
7287
+ },
7288
+ "name": "DynamicListTerraformIterator",
7289
+ "symbolId": "src/terraform-iterator:DynamicListTerraformIterator"
7290
+ },
7291
+ "cdktn.EncodingOptions": {
7292
+ "assembly": "cdktn",
7293
+ "datatype": true,
7294
+ "docs": {
7295
+ "stability": "experimental",
7296
+ "summary": "Properties to string encodings."
7297
+ },
7298
+ "fqn": "cdktn.EncodingOptions",
7299
+ "kind": "interface",
7300
+ "locationInModule": {
7301
+ "filename": "src/tokens/token.ts",
7302
+ "line": 340
7303
+ },
7304
+ "name": "EncodingOptions",
7305
+ "properties": [
7306
+ {
7307
+ "abstract": true,
7308
+ "docs": {
7309
+ "default": "- no display hint",
7310
+ "stability": "experimental",
7311
+ "summary": "A hint for the Token's purpose when stringifying it."
7312
+ },
7313
+ "immutable": true,
7314
+ "locationInModule": {
7315
+ "filename": "src/tokens/token.ts",
7316
+ "line": 345
7317
+ },
7318
+ "name": "displayHint",
7319
+ "optional": true,
7320
+ "type": {
7321
+ "primitive": "string"
7322
+ }
7323
+ }
7324
+ ],
7325
+ "symbolId": "src/tokens/token:EncodingOptions"
7326
+ },
7327
+ "cdktn.ExcludeIgnoreStrategy": {
7328
+ "assembly": "cdktn",
7329
+ "docs": {
7330
+ "stability": "experimental",
7331
+ "summary": "The default ignore strategy: exact paths, `*.ext` suffixes, and directories (with everything inside them)."
7332
+ },
7333
+ "fqn": "cdktn.ExcludeIgnoreStrategy",
7334
+ "initializer": {
7335
+ "docs": {
7336
+ "stability": "experimental"
7337
+ },
7338
+ "locationInModule": {
7339
+ "filename": "src/ignore-strategy.ts",
7340
+ "line": 94
7341
+ },
7342
+ "parameters": [
7343
+ {
7344
+ "name": "exclude",
7345
+ "type": {
7346
+ "collection": {
7347
+ "elementtype": {
7348
+ "primitive": "string"
7349
+ },
7350
+ "kind": "array"
7351
+ }
7352
+ }
7353
+ }
7354
+ ]
7355
+ },
7356
+ "interfaces": [
7357
+ "cdktn.IIgnoreStrategy"
7358
+ ],
7359
+ "kind": "class",
7360
+ "locationInModule": {
7361
+ "filename": "src/ignore-strategy.ts",
7362
+ "line": 85
6765
7363
  },
6766
- "name": "EncodingOptions",
7364
+ "methods": [
7365
+ {
7366
+ "docs": {
7367
+ "stability": "experimental",
7368
+ "summary": "Whether the given entry should be excluded."
7369
+ },
7370
+ "locationInModule": {
7371
+ "filename": "src/ignore-strategy.ts",
7372
+ "line": 99
7373
+ },
7374
+ "name": "ignores",
7375
+ "overrides": "cdktn.IIgnoreStrategy",
7376
+ "parameters": [
7377
+ {
7378
+ "name": "query",
7379
+ "type": {
7380
+ "fqn": "cdktn.IgnoreQuery"
7381
+ }
7382
+ }
7383
+ ],
7384
+ "returns": {
7385
+ "type": {
7386
+ "primitive": "boolean"
7387
+ }
7388
+ }
7389
+ }
7390
+ ],
7391
+ "name": "ExcludeIgnoreStrategy",
6767
7392
  "properties": [
6768
7393
  {
6769
- "abstract": true,
6770
7394
  "docs": {
6771
- "default": "- no display hint",
7395
+ "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.",
6772
7396
  "stability": "experimental",
6773
- "summary": "A hint for the Token's purpose when stringifying it."
7397
+ "summary": "A value identifying this strategy's exclusion behavior, suitable for folding into a cache key."
6774
7398
  },
6775
7399
  "immutable": true,
6776
7400
  "locationInModule": {
6777
- "filename": "src/tokens/token.ts",
6778
- "line": 345
7401
+ "filename": "src/ignore-strategy.ts",
7402
+ "line": 88
6779
7403
  },
6780
- "name": "displayHint",
7404
+ "name": "cacheKey",
6781
7405
  "optional": true,
7406
+ "overrides": "cdktn.IIgnoreStrategy",
6782
7407
  "type": {
6783
7408
  "primitive": "string"
6784
7409
  }
7410
+ },
7411
+ {
7412
+ "docs": {
7413
+ "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.",
7414
+ "stability": "experimental",
7415
+ "summary": "Whether excluding a directory also excludes everything beneath it."
7416
+ },
7417
+ "immutable": true,
7418
+ "locationInModule": {
7419
+ "filename": "src/ignore-strategy.ts",
7420
+ "line": 92
7421
+ },
7422
+ "name": "pruneExcludedDirectories",
7423
+ "optional": true,
7424
+ "overrides": "cdktn.IIgnoreStrategy",
7425
+ "type": {
7426
+ "primitive": "boolean"
7427
+ }
6785
7428
  }
6786
7429
  ],
6787
- "symbolId": "src/tokens/token:EncodingOptions"
7430
+ "symbolId": "src/ignore-strategy:ExcludeIgnoreStrategy"
6788
7431
  },
6789
7432
  "cdktn.FileProvisioner": {
6790
7433
  "assembly": "cdktn",
@@ -11403,6 +12046,133 @@
11403
12046
  "name": "IAspect",
11404
12047
  "symbolId": "src/aspect:IAspect"
11405
12048
  },
12049
+ "cdktn.IAsset": {
12050
+ "assembly": "cdktn",
12051
+ "docs": {
12052
+ "stability": "experimental",
12053
+ "summary": "Common interface for all assets."
12054
+ },
12055
+ "fqn": "cdktn.IAsset",
12056
+ "kind": "interface",
12057
+ "locationInModule": {
12058
+ "filename": "src/assets.ts",
12059
+ "line": 11
12060
+ },
12061
+ "name": "IAsset",
12062
+ "properties": [
12063
+ {
12064
+ "abstract": true,
12065
+ "docs": {
12066
+ "remarks": "As this is a plain string, it\ncan be used in construct IDs in order to enforce creation of a new resource when the content\nhash has changed.",
12067
+ "stability": "experimental",
12068
+ "summary": "A hash of this asset, which is available at construction time."
12069
+ },
12070
+ "immutable": true,
12071
+ "locationInModule": {
12072
+ "filename": "src/assets.ts",
12073
+ "line": 17
12074
+ },
12075
+ "name": "assetHash",
12076
+ "type": {
12077
+ "primitive": "string"
12078
+ }
12079
+ }
12080
+ ],
12081
+ "symbolId": "src/assets:IAsset"
12082
+ },
12083
+ "cdktn.IAssetPackaging": {
12084
+ "assembly": "cdktn",
12085
+ "docs": {
12086
+ "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.",
12087
+ "stability": "experimental",
12088
+ "summary": "How a staged asset is produced and what shape it takes on disk."
12089
+ },
12090
+ "fqn": "cdktn.IAssetPackaging",
12091
+ "kind": "interface",
12092
+ "locationInModule": {
12093
+ "filename": "src/assets.ts",
12094
+ "line": 91
12095
+ },
12096
+ "methods": [
12097
+ {
12098
+ "abstract": true,
12099
+ "docs": {
12100
+ "stability": "experimental",
12101
+ "summary": "Perform the staging transformation, writing the packaged result to `options.target`."
12102
+ },
12103
+ "locationInModule": {
12104
+ "filename": "src/assets.ts",
12105
+ "line": 123
12106
+ },
12107
+ "name": "pack",
12108
+ "parameters": [
12109
+ {
12110
+ "docs": {
12111
+ "summary": "- see {@link PackOptions}."
12112
+ },
12113
+ "name": "options",
12114
+ "type": {
12115
+ "fqn": "cdktn.PackOptions"
12116
+ }
12117
+ }
12118
+ ]
12119
+ }
12120
+ ],
12121
+ "name": "IAssetPackaging",
12122
+ "properties": [
12123
+ {
12124
+ "abstract": true,
12125
+ "docs": {
12126
+ "stability": "experimental",
12127
+ "summary": "Appended to the staged artifact name, e.g. \".zip\", \"\", \".tar.bz2\"."
12128
+ },
12129
+ "immutable": true,
12130
+ "locationInModule": {
12131
+ "filename": "src/assets.ts",
12132
+ "line": 95
12133
+ },
12134
+ "name": "extension",
12135
+ "type": {
12136
+ "primitive": "string"
12137
+ }
12138
+ },
12139
+ {
12140
+ "abstract": true,
12141
+ "docs": {
12142
+ "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.",
12143
+ "stability": "experimental",
12144
+ "summary": "Whether `pack` emits an artifact with no directory entries of its own — only the ignore-strategy-aware source walk."
12145
+ },
12146
+ "immutable": true,
12147
+ "locationInModule": {
12148
+ "filename": "src/assets.ts",
12149
+ "line": 116
12150
+ },
12151
+ "name": "omitsDirectoryEntries",
12152
+ "type": {
12153
+ "primitive": "boolean"
12154
+ }
12155
+ },
12156
+ {
12157
+ "abstract": true,
12158
+ "docs": {
12159
+ "remarks": "Publishers branch on this to decide whether they upload one object or\nsync a tree.",
12160
+ "stability": "experimental",
12161
+ "summary": "Whether the staged result is a directory rather than a single file."
12162
+ },
12163
+ "immutable": true,
12164
+ "locationInModule": {
12165
+ "filename": "src/assets.ts",
12166
+ "line": 103
12167
+ },
12168
+ "name": "producesDirectory",
12169
+ "type": {
12170
+ "primitive": "boolean"
12171
+ }
12172
+ }
12173
+ ],
12174
+ "symbolId": "src/assets:IAssetPackaging"
12175
+ },
11406
12176
  "cdktn.IFragmentConcatenator": {
11407
12177
  "assembly": "cdktn",
11408
12178
  "docs": {
@@ -11452,6 +12222,92 @@
11452
12222
  "name": "IFragmentConcatenator",
11453
12223
  "symbolId": "src/tokens/resolvable:IFragmentConcatenator"
11454
12224
  },
12225
+ "cdktn.IIgnoreStrategy": {
12226
+ "assembly": "cdktn",
12227
+ "docs": {
12228
+ "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.",
12229
+ "stability": "experimental",
12230
+ "summary": "Decides whether a path relative to an asset root is excluded from staging and hashing."
12231
+ },
12232
+ "fqn": "cdktn.IIgnoreStrategy",
12233
+ "kind": "interface",
12234
+ "locationInModule": {
12235
+ "filename": "src/ignore-strategy.ts",
12236
+ "line": 41
12237
+ },
12238
+ "methods": [
12239
+ {
12240
+ "abstract": true,
12241
+ "docs": {
12242
+ "stability": "experimental",
12243
+ "summary": "Whether the given entry should be excluded."
12244
+ },
12245
+ "locationInModule": {
12246
+ "filename": "src/ignore-strategy.ts",
12247
+ "line": 46
12248
+ },
12249
+ "name": "ignores",
12250
+ "parameters": [
12251
+ {
12252
+ "docs": {
12253
+ "summary": "- the entry under consideration, see {@link IgnoreQuery}."
12254
+ },
12255
+ "name": "query",
12256
+ "type": {
12257
+ "fqn": "cdktn.IgnoreQuery"
12258
+ }
12259
+ }
12260
+ ],
12261
+ "returns": {
12262
+ "type": {
12263
+ "primitive": "boolean"
12264
+ }
12265
+ }
12266
+ }
12267
+ ],
12268
+ "name": "IIgnoreStrategy",
12269
+ "properties": [
12270
+ {
12271
+ "abstract": true,
12272
+ "docs": {
12273
+ "default": "- this strategy cannot be represented in a cache key",
12274
+ "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.",
12275
+ "stability": "experimental",
12276
+ "summary": "A value identifying this strategy's exclusion behavior, suitable for folding into a cache key."
12277
+ },
12278
+ "immutable": true,
12279
+ "locationInModule": {
12280
+ "filename": "src/ignore-strategy.ts",
12281
+ "line": 78
12282
+ },
12283
+ "name": "cacheKey",
12284
+ "optional": true,
12285
+ "type": {
12286
+ "primitive": "string"
12287
+ }
12288
+ },
12289
+ {
12290
+ "abstract": true,
12291
+ "docs": {
12292
+ "default": "true",
12293
+ "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.",
12294
+ "stability": "experimental",
12295
+ "summary": "Whether excluding a directory also excludes everything beneath it."
12296
+ },
12297
+ "immutable": true,
12298
+ "locationInModule": {
12299
+ "filename": "src/ignore-strategy.ts",
12300
+ "line": 64
12301
+ },
12302
+ "name": "pruneExcludedDirectories",
12303
+ "optional": true,
12304
+ "type": {
12305
+ "primitive": "boolean"
12306
+ }
12307
+ }
12308
+ ],
12309
+ "symbolId": "src/ignore-strategy:IIgnoreStrategy"
12310
+ },
11455
12311
  "cdktn.IImportableConfig": {
11456
12312
  "assembly": "cdktn",
11457
12313
  "docs": {
@@ -12652,7 +13508,7 @@
12652
13508
  "kind": "interface",
12653
13509
  "locationInModule": {
12654
13510
  "filename": "src/tokens/string-fragments.ts",
12655
- "line": 218
13511
+ "line": 215
12656
13512
  },
12657
13513
  "methods": [
12658
13514
  {
@@ -12663,7 +13519,7 @@
12663
13519
  },
12664
13520
  "locationInModule": {
12665
13521
  "filename": "src/tokens/string-fragments.ts",
12666
- "line": 222
13522
+ "line": 219
12667
13523
  },
12668
13524
  "name": "mapToken",
12669
13525
  "parameters": [
@@ -12875,8 +13731,60 @@
12875
13731
  }
12876
13732
  }
12877
13733
  ],
12878
- "name": "ITokenResolver",
12879
- "symbolId": "src/tokens/resolvable:ITokenResolver"
13734
+ "name": "ITokenResolver",
13735
+ "symbolId": "src/tokens/resolvable:ITokenResolver"
13736
+ },
13737
+ "cdktn.IgnoreQuery": {
13738
+ "assembly": "cdktn",
13739
+ "datatype": true,
13740
+ "docs": {
13741
+ "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.",
13742
+ "stability": "experimental",
13743
+ "summary": "A single entry presented to an {@link IIgnoreStrategy}."
13744
+ },
13745
+ "fqn": "cdktn.IgnoreQuery",
13746
+ "kind": "interface",
13747
+ "locationInModule": {
13748
+ "filename": "src/ignore-strategy.ts",
13749
+ "line": 14
13750
+ },
13751
+ "name": "IgnoreQuery",
13752
+ "properties": [
13753
+ {
13754
+ "abstract": true,
13755
+ "docs": {
13756
+ "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.",
13757
+ "stability": "experimental",
13758
+ "summary": "Whether this entry is a directory rather than a file or symlink."
13759
+ },
13760
+ "immutable": true,
13761
+ "locationInModule": {
13762
+ "filename": "src/ignore-strategy.ts",
13763
+ "line": 29
13764
+ },
13765
+ "name": "isDirectory",
13766
+ "type": {
13767
+ "primitive": "boolean"
13768
+ }
13769
+ },
13770
+ {
13771
+ "abstract": true,
13772
+ "docs": {
13773
+ "stability": "experimental",
13774
+ "summary": "`/`-separated path relative to the asset root."
13775
+ },
13776
+ "immutable": true,
13777
+ "locationInModule": {
13778
+ "filename": "src/ignore-strategy.ts",
13779
+ "line": 18
13780
+ },
13781
+ "name": "relativePath",
13782
+ "type": {
13783
+ "primitive": "string"
13784
+ }
13785
+ }
13786
+ ],
13787
+ "symbolId": "src/ignore-strategy:IgnoreQuery"
12880
13788
  },
12881
13789
  "cdktn.ImportableResource": {
12882
13790
  "assembly": "cdktn",
@@ -13456,7 +14364,7 @@
13456
14364
  },
13457
14365
  "locationInModule": {
13458
14366
  "filename": "src/terraform-iterator.ts",
13459
- "line": 406
14367
+ "line": 403
13460
14368
  },
13461
14369
  "parameters": [
13462
14370
  {
@@ -13509,7 +14417,7 @@
13509
14417
  "kind": "class",
13510
14418
  "locationInModule": {
13511
14419
  "filename": "src/terraform-iterator.ts",
13512
- "line": 405
14420
+ "line": 402
13513
14421
  },
13514
14422
  "name": "ListTerraformIterator",
13515
14423
  "properties": [
@@ -13522,7 +14430,7 @@
13522
14430
  "immutable": true,
13523
14431
  "locationInModule": {
13524
14432
  "filename": "src/terraform-iterator.ts",
13525
- "line": 416
14433
+ "line": 413
13526
14434
  },
13527
14435
  "name": "key",
13528
14436
  "type": {
@@ -13537,7 +14445,7 @@
13537
14445
  "immutable": true,
13538
14446
  "locationInModule": {
13539
14447
  "filename": "src/terraform-iterator.ts",
13540
- "line": 423
14448
+ "line": 420
13541
14449
  },
13542
14450
  "name": "value",
13543
14451
  "type": {
@@ -14306,7 +15214,7 @@
14306
15214
  },
14307
15215
  "locationInModule": {
14308
15216
  "filename": "src/terraform-iterator.ts",
14309
- "line": 438
15217
+ "line": 435
14310
15218
  },
14311
15219
  "parameters": [
14312
15220
  {
@@ -14362,7 +15270,7 @@
14362
15270
  "kind": "class",
14363
15271
  "locationInModule": {
14364
15272
  "filename": "src/terraform-iterator.ts",
14365
- "line": 437
15273
+ "line": 434
14366
15274
  },
14367
15275
  "name": "MapTerraformIterator",
14368
15276
  "properties": [
@@ -14374,7 +15282,7 @@
14374
15282
  "immutable": true,
14375
15283
  "locationInModule": {
14376
15284
  "filename": "src/terraform-iterator.ts",
14377
- "line": 453
15285
+ "line": 450
14378
15286
  },
14379
15287
  "name": "key",
14380
15288
  "type": {
@@ -14389,7 +15297,7 @@
14389
15297
  "immutable": true,
14390
15298
  "locationInModule": {
14391
15299
  "filename": "src/terraform-iterator.ts",
14392
- "line": 460
15300
+ "line": 457
14393
15301
  },
14394
15302
  "name": "value",
14395
15303
  "type": {
@@ -16373,6 +17281,76 @@
16373
17281
  ],
16374
17282
  "symbolId": "src/backends/oss-backend:OssBackendConfig"
16375
17283
  },
17284
+ "cdktn.PackOptions": {
17285
+ "assembly": "cdktn",
17286
+ "datatype": true,
17287
+ "docs": {
17288
+ "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.",
17289
+ "stability": "experimental",
17290
+ "summary": "Options for {@link IAssetPackaging.pack}."
17291
+ },
17292
+ "fqn": "cdktn.PackOptions",
17293
+ "kind": "interface",
17294
+ "locationInModule": {
17295
+ "filename": "src/assets.ts",
17296
+ "line": 133
17297
+ },
17298
+ "name": "PackOptions",
17299
+ "properties": [
17300
+ {
17301
+ "abstract": true,
17302
+ "docs": {
17303
+ "stability": "experimental",
17304
+ "summary": "Path to the resolved (already bundled, if applicable) source."
17305
+ },
17306
+ "immutable": true,
17307
+ "locationInModule": {
17308
+ "filename": "src/assets.ts",
17309
+ "line": 137
17310
+ },
17311
+ "name": "source",
17312
+ "type": {
17313
+ "primitive": "string"
17314
+ }
17315
+ },
17316
+ {
17317
+ "abstract": true,
17318
+ "docs": {
17319
+ "stability": "experimental",
17320
+ "summary": "Path the packaged result should be written to."
17321
+ },
17322
+ "immutable": true,
17323
+ "locationInModule": {
17324
+ "filename": "src/assets.ts",
17325
+ "line": 142
17326
+ },
17327
+ "name": "target",
17328
+ "type": {
17329
+ "primitive": "string"
17330
+ }
17331
+ },
17332
+ {
17333
+ "abstract": true,
17334
+ "docs": {
17335
+ "default": "- nothing is excluded",
17336
+ "remarks": "Must match the strategy used\nto hash the same source, or the hash and the artifact describe\ndifferent sets of files.",
17337
+ "stability": "experimental",
17338
+ "summary": "Entries to omit from the packaged result."
17339
+ },
17340
+ "immutable": true,
17341
+ "locationInModule": {
17342
+ "filename": "src/assets.ts",
17343
+ "line": 151
17344
+ },
17345
+ "name": "ignoreStrategy",
17346
+ "optional": true,
17347
+ "type": {
17348
+ "fqn": "cdktn.IIgnoreStrategy"
17349
+ }
17350
+ }
17351
+ ],
17352
+ "symbolId": "src/assets:PackOptions"
17353
+ },
16376
17354
  "cdktn.PgBackend": {
16377
17355
  "assembly": "cdktn",
16378
17356
  "base": "cdktn.TerraformBackend",
@@ -17219,7 +18197,7 @@
17219
18197
  },
17220
18198
  "locationInModule": {
17221
18199
  "filename": "src/terraform-iterator.ts",
17222
- "line": 467
18200
+ "line": 464
17223
18201
  },
17224
18202
  "parameters": [
17225
18203
  {
@@ -17233,7 +18211,7 @@
17233
18211
  "kind": "class",
17234
18212
  "locationInModule": {
17235
18213
  "filename": "src/terraform-iterator.ts",
17236
- "line": 466
18214
+ "line": 463
17237
18215
  },
17238
18216
  "name": "ResourceTerraformIterator",
17239
18217
  "properties": [
@@ -17246,7 +18224,7 @@
17246
18224
  "immutable": true,
17247
18225
  "locationInModule": {
17248
18226
  "filename": "src/terraform-iterator.ts",
17249
- "line": 485
18227
+ "line": 482
17250
18228
  },
17251
18229
  "name": "key",
17252
18230
  "type": {
@@ -17261,7 +18239,7 @@
17261
18239
  "immutable": true,
17262
18240
  "locationInModule": {
17263
18241
  "filename": "src/terraform-iterator.ts",
17264
- "line": 492
18242
+ "line": 489
17265
18243
  },
17266
18244
  "name": "value",
17267
18245
  "type": {
@@ -19469,6 +20447,75 @@
19469
20447
  ],
19470
20448
  "symbolId": "src/manifest:StackManifest"
19471
20449
  },
20450
+ "cdktn.StagedAsset": {
20451
+ "assembly": "cdktn",
20452
+ "datatype": true,
20453
+ "docs": {
20454
+ "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.",
20455
+ "stability": "experimental",
20456
+ "summary": "A staged artifact, ready to hand to an `IAssetPublisher`."
20457
+ },
20458
+ "fqn": "cdktn.StagedAsset",
20459
+ "kind": "interface",
20460
+ "locationInModule": {
20461
+ "filename": "src/assets.ts",
20462
+ "line": 236
20463
+ },
20464
+ "name": "StagedAsset",
20465
+ "properties": [
20466
+ {
20467
+ "abstract": true,
20468
+ "docs": {
20469
+ "remarks": "This hash is used to uniquely identify this\nasset throughout the system. If this value doesn't change, the asset will\nnot be rebuilt or republished.",
20470
+ "stability": "experimental",
20471
+ "summary": "A hash on the content source."
20472
+ },
20473
+ "immutable": true,
20474
+ "locationInModule": {
20475
+ "filename": "src/assets.ts",
20476
+ "line": 242
20477
+ },
20478
+ "name": "assetHash",
20479
+ "type": {
20480
+ "primitive": "string"
20481
+ }
20482
+ },
20483
+ {
20484
+ "abstract": true,
20485
+ "docs": {
20486
+ "remarks": "Publishers branch on this to decide whether they upload one object or\nsync a tree; see `IAssetPackaging.producesDirectory`.",
20487
+ "stability": "experimental",
20488
+ "summary": "Whether the staged artifact is a directory rather than a single file."
20489
+ },
20490
+ "immutable": true,
20491
+ "locationInModule": {
20492
+ "filename": "src/assets.ts",
20493
+ "line": 255
20494
+ },
20495
+ "name": "isDirectory",
20496
+ "type": {
20497
+ "primitive": "boolean"
20498
+ }
20499
+ },
20500
+ {
20501
+ "abstract": true,
20502
+ "docs": {
20503
+ "stability": "experimental",
20504
+ "summary": "The path to the staged artifact, relative to the stack directory."
20505
+ },
20506
+ "immutable": true,
20507
+ "locationInModule": {
20508
+ "filename": "src/assets.ts",
20509
+ "line": 247
20510
+ },
20511
+ "name": "path",
20512
+ "type": {
20513
+ "primitive": "string"
20514
+ }
20515
+ }
20516
+ ],
20517
+ "symbolId": "src/assets:StagedAsset"
20518
+ },
19472
20519
  "cdktn.StringConcat": {
19473
20520
  "assembly": "cdktn",
19474
20521
  "docs": {
@@ -20944,7 +21991,7 @@
20944
21991
  },
20945
21992
  "locationInModule": {
20946
21993
  "filename": "src/terraform-asset.ts",
20947
- "line": 56
21994
+ "line": 104
20948
21995
  },
20949
21996
  "parameters": [
20950
21997
  {
@@ -20967,24 +22014,29 @@
20967
22014
  }
20968
22015
  ]
20969
22016
  },
22017
+ "interfaces": [
22018
+ "cdktn.IAsset"
22019
+ ],
20970
22020
  "kind": "class",
20971
22021
  "locationInModule": {
20972
22022
  "filename": "src/terraform-asset.ts",
20973
- "line": 41
22023
+ "line": 87
20974
22024
  },
20975
22025
  "name": "TerraformAsset",
20976
22026
  "properties": [
20977
22027
  {
20978
22028
  "docs": {
22029
+ "remarks": "As this is a plain string, it\ncan be used in construct IDs in order to enforce creation of a new resource when the content\nhash has changed.",
20979
22030
  "stability": "experimental",
20980
- "summary": "Name of the asset."
22031
+ "summary": "A hash of this asset, which is available at construction time."
20981
22032
  },
20982
22033
  "immutable": true,
20983
22034
  "locationInModule": {
20984
22035
  "filename": "src/terraform-asset.ts",
20985
- "line": 124
22036
+ "line": 91
20986
22037
  },
20987
- "name": "fileName",
22038
+ "name": "assetHash",
22039
+ "overrides": "cdktn.IAsset",
20988
22040
  "type": {
20989
22041
  "primitive": "string"
20990
22042
  }
@@ -20992,27 +22044,29 @@
20992
22044
  {
20993
22045
  "docs": {
20994
22046
  "stability": "experimental",
20995
- "summary": "The path relative to the root of the terraform directory in posix format Use this property to reference the asset."
22047
+ "summary": "Name of the asset."
20996
22048
  },
20997
22049
  "immutable": true,
20998
22050
  "locationInModule": {
20999
22051
  "filename": "src/terraform-asset.ts",
21000
- "line": 113
22052
+ "line": 191
21001
22053
  },
21002
- "name": "path",
22054
+ "name": "fileName",
21003
22055
  "type": {
21004
22056
  "primitive": "string"
21005
22057
  }
21006
22058
  },
21007
22059
  {
21008
22060
  "docs": {
21009
- "stability": "experimental"
22061
+ "stability": "experimental",
22062
+ "summary": "The path relative to the root of the terraform directory in posix format Use this property to reference the asset."
21010
22063
  },
22064
+ "immutable": true,
21011
22065
  "locationInModule": {
21012
22066
  "filename": "src/terraform-asset.ts",
21013
- "line": 45
22067
+ "line": 178
21014
22068
  },
21015
- "name": "assetHash",
22069
+ "name": "path",
21016
22070
  "type": {
21017
22071
  "primitive": "string"
21018
22072
  }
@@ -21023,7 +22077,7 @@
21023
22077
  },
21024
22078
  "locationInModule": {
21025
22079
  "filename": "src/terraform-asset.ts",
21026
- "line": 47
22080
+ "line": 93
21027
22081
  },
21028
22082
  "name": "type",
21029
22083
  "type": {
@@ -21043,7 +22097,7 @@
21043
22097
  "kind": "interface",
21044
22098
  "locationInModule": {
21045
22099
  "filename": "src/terraform-asset.ts",
21046
- "line": 22
22100
+ "line": 23
21047
22101
  },
21048
22102
  "name": "TerraformAssetConfig",
21049
22103
  "properties": [
@@ -21055,7 +22109,7 @@
21055
22109
  "immutable": true,
21056
22110
  "locationInModule": {
21057
22111
  "filename": "src/terraform-asset.ts",
21058
- "line": 24
22112
+ "line": 25
21059
22113
  },
21060
22114
  "name": "path",
21061
22115
  "type": {
@@ -21070,7 +22124,7 @@
21070
22124
  "immutable": true,
21071
22125
  "locationInModule": {
21072
22126
  "filename": "src/terraform-asset.ts",
21073
- "line": 28
22127
+ "line": 29
21074
22128
  },
21075
22129
  "name": "assetHash",
21076
22130
  "optional": true,
@@ -21078,6 +22132,67 @@
21078
22132
  "primitive": "string"
21079
22133
  }
21080
22134
  },
22135
+ {
22136
+ "abstract": true,
22137
+ "docs": {
22138
+ "default": "AssetHashType.SOURCE",
22139
+ "remarks": "`SOURCE` (the default) hashes the source path. `CUSTOM` uses the\n`assetHash` value verbatim and requires it to be set. `OUTPUT` also\nhashes the source path today — there is no bundling step yet, so the\n\"output\" of an asset is its source verbatim — but will hash the\nbundler's output once bundling is introduced.\n\nIf `assetHash` is set, this must be `undefined` or `AssetHashType.CUSTOM`.",
22140
+ "stability": "experimental",
22141
+ "summary": "How the `assetHash` is derived."
22142
+ },
22143
+ "immutable": true,
22144
+ "locationInModule": {
22145
+ "filename": "src/terraform-asset.ts",
22146
+ "line": 43
22147
+ },
22148
+ "name": "assetHashType",
22149
+ "optional": true,
22150
+ "type": {
22151
+ "fqn": "cdktn.AssetHashType"
22152
+ }
22153
+ },
22154
+ {
22155
+ "abstract": true,
22156
+ "docs": {
22157
+ "default": "- nothing is excluded",
22158
+ "remarks": "See\n`AssetStagingOptions.exclude` for the accepted forms. Both the computed\nhash and the staged/packed content honor the exclusion.",
22159
+ "stability": "experimental",
22160
+ "summary": "Paths to exclude from the asset, relative to `path`."
22161
+ },
22162
+ "immutable": true,
22163
+ "locationInModule": {
22164
+ "filename": "src/terraform-asset.ts",
22165
+ "line": 52
22166
+ },
22167
+ "name": "exclude",
22168
+ "optional": true,
22169
+ "type": {
22170
+ "collection": {
22171
+ "elementtype": {
22172
+ "primitive": "string"
22173
+ },
22174
+ "kind": "array"
22175
+ }
22176
+ }
22177
+ },
22178
+ {
22179
+ "abstract": true,
22180
+ "docs": {
22181
+ "default": "- no extra hash",
22182
+ "stability": "experimental",
22183
+ "summary": "Extra information to fold into the hash (e.g. build instructions and other inputs)."
22184
+ },
22185
+ "immutable": true,
22186
+ "locationInModule": {
22187
+ "filename": "src/terraform-asset.ts",
22188
+ "line": 60
22189
+ },
22190
+ "name": "extraHash",
22191
+ "optional": true,
22192
+ "type": {
22193
+ "primitive": "string"
22194
+ }
22195
+ },
21081
22196
  {
21082
22197
  "abstract": true,
21083
22198
  "docs": {
@@ -21086,7 +22201,7 @@
21086
22201
  "immutable": true,
21087
22202
  "locationInModule": {
21088
22203
  "filename": "src/terraform-asset.ts",
21089
- "line": 26
22204
+ "line": 27
21090
22205
  },
21091
22206
  "name": "type",
21092
22207
  "optional": true,
@@ -23465,7 +24580,7 @@
23465
24580
  "kind": "class",
23466
24581
  "locationInModule": {
23467
24582
  "filename": "src/terraform-iterator.ts",
23468
- "line": 70
24583
+ "line": 67
23469
24584
  },
23470
24585
  "methods": [
23471
24586
  {
@@ -23477,7 +24592,7 @@
23477
24592
  },
23478
24593
  "locationInModule": {
23479
24594
  "filename": "src/terraform-iterator.ts",
23480
- "line": 125
24595
+ "line": 122
23481
24596
  },
23482
24597
  "name": "fromComplexList",
23483
24598
  "parameters": [
@@ -23536,7 +24651,7 @@
23536
24651
  },
23537
24652
  "locationInModule": {
23538
24653
  "filename": "src/terraform-iterator.ts",
23539
- "line": 160
24654
+ "line": 157
23540
24655
  },
23541
24656
  "name": "fromDataSources",
23542
24657
  "parameters": [
@@ -23561,7 +24676,7 @@
23561
24676
  },
23562
24677
  "locationInModule": {
23563
24678
  "filename": "src/terraform-iterator.ts",
23564
- "line": 90
24679
+ "line": 87
23565
24680
  },
23566
24681
  "name": "fromList",
23567
24682
  "parameters": [
@@ -23625,7 +24740,7 @@
23625
24740
  },
23626
24741
  "locationInModule": {
23627
24742
  "filename": "src/terraform-iterator.ts",
23628
- "line": 135
24743
+ "line": 132
23629
24744
  },
23630
24745
  "name": "fromMap",
23631
24746
  "parameters": [
@@ -23688,7 +24803,7 @@
23688
24803
  },
23689
24804
  "locationInModule": {
23690
24805
  "filename": "src/terraform-iterator.ts",
23691
- "line": 150
24806
+ "line": 147
23692
24807
  },
23693
24808
  "name": "fromResources",
23694
24809
  "parameters": [
@@ -23714,7 +24829,7 @@
23714
24829
  },
23715
24830
  "locationInModule": {
23716
24831
  "filename": "src/terraform-iterator.ts",
23717
- "line": 307
24832
+ "line": 304
23718
24833
  },
23719
24834
  "name": "dynamic",
23720
24835
  "parameters": [
@@ -23744,7 +24859,7 @@
23744
24859
  },
23745
24860
  "locationInModule": {
23746
24861
  "filename": "src/terraform-iterator.ts",
23747
- "line": 369
24862
+ "line": 366
23748
24863
  },
23749
24864
  "name": "forExpressionForList",
23750
24865
  "parameters": [
@@ -23781,7 +24896,7 @@
23781
24896
  },
23782
24897
  "locationInModule": {
23783
24898
  "filename": "src/terraform-iterator.ts",
23784
- "line": 390
24899
+ "line": 387
23785
24900
  },
23786
24901
  "name": "forExpressionForMap",
23787
24902
  "parameters": [
@@ -23835,7 +24950,7 @@
23835
24950
  },
23836
24951
  "locationInModule": {
23837
24952
  "filename": "src/terraform-iterator.ts",
23838
- "line": 194
24953
+ "line": 191
23839
24954
  },
23840
24955
  "name": "getAny",
23841
24956
  "parameters": [
@@ -23862,7 +24977,7 @@
23862
24977
  },
23863
24978
  "locationInModule": {
23864
24979
  "filename": "src/terraform-iterator.ts",
23865
- "line": 250
24980
+ "line": 247
23866
24981
  },
23867
24982
  "name": "getAnyMap",
23868
24983
  "parameters": [
@@ -23894,7 +25009,7 @@
23894
25009
  },
23895
25010
  "locationInModule": {
23896
25011
  "filename": "src/terraform-iterator.ts",
23897
- "line": 186
25012
+ "line": 183
23898
25013
  },
23899
25014
  "name": "getBoolean",
23900
25015
  "parameters": [
@@ -23921,7 +25036,7 @@
23921
25036
  },
23922
25037
  "locationInModule": {
23923
25038
  "filename": "src/terraform-iterator.ts",
23924
- "line": 242
25039
+ "line": 239
23925
25040
  },
23926
25041
  "name": "getBooleanMap",
23927
25042
  "parameters": [
@@ -23953,7 +25068,7 @@
23953
25068
  },
23954
25069
  "locationInModule": {
23955
25070
  "filename": "src/terraform-iterator.ts",
23956
- "line": 202
25071
+ "line": 199
23957
25072
  },
23958
25073
  "name": "getList",
23959
25074
  "parameters": [
@@ -23985,7 +25100,7 @@
23985
25100
  },
23986
25101
  "locationInModule": {
23987
25102
  "filename": "src/terraform-iterator.ts",
23988
- "line": 218
25103
+ "line": 215
23989
25104
  },
23990
25105
  "name": "getMap",
23991
25106
  "parameters": [
@@ -24017,7 +25132,7 @@
24017
25132
  },
24018
25133
  "locationInModule": {
24019
25134
  "filename": "src/terraform-iterator.ts",
24020
- "line": 178
25135
+ "line": 175
24021
25136
  },
24022
25137
  "name": "getNumber",
24023
25138
  "parameters": [
@@ -24044,7 +25159,7 @@
24044
25159
  },
24045
25160
  "locationInModule": {
24046
25161
  "filename": "src/terraform-iterator.ts",
24047
- "line": 210
25162
+ "line": 207
24048
25163
  },
24049
25164
  "name": "getNumberList",
24050
25165
  "parameters": [
@@ -24076,7 +25191,7 @@
24076
25191
  },
24077
25192
  "locationInModule": {
24078
25193
  "filename": "src/terraform-iterator.ts",
24079
- "line": 234
25194
+ "line": 231
24080
25195
  },
24081
25196
  "name": "getNumberMap",
24082
25197
  "parameters": [
@@ -24108,7 +25223,7 @@
24108
25223
  },
24109
25224
  "locationInModule": {
24110
25225
  "filename": "src/terraform-iterator.ts",
24111
- "line": 170
25226
+ "line": 167
24112
25227
  },
24113
25228
  "name": "getString",
24114
25229
  "parameters": [
@@ -24135,7 +25250,7 @@
24135
25250
  },
24136
25251
  "locationInModule": {
24137
25252
  "filename": "src/terraform-iterator.ts",
24138
- "line": 226
25253
+ "line": 223
24139
25254
  },
24140
25255
  "name": "getStringMap",
24141
25256
  "parameters": [
@@ -24168,7 +25283,7 @@
24168
25283
  },
24169
25284
  "locationInModule": {
24170
25285
  "filename": "src/terraform-iterator.ts",
24171
- "line": 322
25286
+ "line": 319
24172
25287
  },
24173
25288
  "name": "keys",
24174
25289
  "returns": {
@@ -24185,7 +25300,7 @@
24185
25300
  },
24186
25301
  "locationInModule": {
24187
25302
  "filename": "src/terraform-iterator.ts",
24188
- "line": 346
25303
+ "line": 343
24189
25304
  },
24190
25305
  "name": "pluckProperty",
24191
25306
  "parameters": [
@@ -24213,7 +25328,7 @@
24213
25328
  },
24214
25329
  "locationInModule": {
24215
25330
  "filename": "src/terraform-iterator.ts",
24216
- "line": 334
25331
+ "line": 331
24217
25332
  },
24218
25333
  "name": "values",
24219
25334
  "returns": {
@@ -29944,7 +31059,7 @@
29944
31059
  "kind": "class",
29945
31060
  "locationInModule": {
29946
31061
  "filename": "src/tokens/string-fragments.ts",
29947
- "line": 30
31062
+ "line": 27
29948
31063
  },
29949
31064
  "methods": [
29950
31065
  {
@@ -29953,7 +31068,7 @@
29953
31068
  },
29954
31069
  "locationInModule": {
29955
31070
  "filename": "src/tokens/string-fragments.ts",
29956
- "line": 85
31071
+ "line": 82
29957
31072
  },
29958
31073
  "name": "addEscape",
29959
31074
  "parameters": [
@@ -29972,7 +31087,7 @@
29972
31087
  },
29973
31088
  "locationInModule": {
29974
31089
  "filename": "src/tokens/string-fragments.ts",
29975
- "line": 81
31090
+ "line": 78
29976
31091
  },
29977
31092
  "name": "addIntrinsic",
29978
31093
  "parameters": [
@@ -29994,7 +31109,7 @@
29994
31109
  },
29995
31110
  "locationInModule": {
29996
31111
  "filename": "src/tokens/string-fragments.ts",
29997
- "line": 65
31112
+ "line": 62
29998
31113
  },
29999
31114
  "name": "addLiteral",
30000
31115
  "parameters": [
@@ -30016,7 +31131,7 @@
30016
31131
  },
30017
31132
  "locationInModule": {
30018
31133
  "filename": "src/tokens/string-fragments.ts",
30019
- "line": 73
31134
+ "line": 70
30020
31135
  },
30021
31136
  "name": "addToken",
30022
31137
  "parameters": [
@@ -30037,7 +31152,7 @@
30037
31152
  },
30038
31153
  "locationInModule": {
30039
31154
  "filename": "src/tokens/string-fragments.ts",
30040
- "line": 89
31155
+ "line": 86
30041
31156
  },
30042
31157
  "name": "concat",
30043
31158
  "parameters": [
@@ -30057,7 +31172,7 @@
30057
31172
  },
30058
31173
  "locationInModule": {
30059
31174
  "filename": "src/tokens/string-fragments.ts",
30060
- "line": 194
31175
+ "line": 191
30061
31176
  },
30062
31177
  "name": "join",
30063
31178
  "parameters": [
@@ -30081,7 +31196,7 @@
30081
31196
  },
30082
31197
  "locationInModule": {
30083
31198
  "filename": "src/tokens/string-fragments.ts",
30084
- "line": 149
31199
+ "line": 146
30085
31200
  },
30086
31201
  "name": "mapTokens",
30087
31202
  "parameters": [
@@ -30109,7 +31224,7 @@
30109
31224
  "immutable": true,
30110
31225
  "locationInModule": {
30111
31226
  "filename": "src/tokens/string-fragments.ts",
30112
- "line": 135
31227
+ "line": 132
30113
31228
  },
30114
31229
  "name": "escapes",
30115
31230
  "type": {
@@ -30129,7 +31244,7 @@
30129
31244
  "immutable": true,
30130
31245
  "locationInModule": {
30131
31246
  "filename": "src/tokens/string-fragments.ts",
30132
- "line": 50
31247
+ "line": 47
30133
31248
  },
30134
31249
  "name": "firstValue",
30135
31250
  "type": {
@@ -30144,7 +31259,7 @@
30144
31259
  "immutable": true,
30145
31260
  "locationInModule": {
30146
31261
  "filename": "src/tokens/string-fragments.ts",
30147
- "line": 122
31262
+ "line": 119
30148
31263
  },
30149
31264
  "name": "intrinsic",
30150
31265
  "type": {
@@ -30164,7 +31279,7 @@
30164
31279
  "immutable": true,
30165
31280
  "locationInModule": {
30166
31281
  "filename": "src/tokens/string-fragments.ts",
30167
- "line": 57
31282
+ "line": 54
30168
31283
  },
30169
31284
  "name": "length",
30170
31285
  "type": {
@@ -30179,7 +31294,7 @@
30179
31294
  "immutable": true,
30180
31295
  "locationInModule": {
30181
31296
  "filename": "src/tokens/string-fragments.ts",
30182
- "line": 109
31297
+ "line": 106
30183
31298
  },
30184
31299
  "name": "literals",
30185
31300
  "type": {
@@ -30199,7 +31314,7 @@
30199
31314
  "immutable": true,
30200
31315
  "locationInModule": {
30201
31316
  "filename": "src/tokens/string-fragments.ts",
30202
- "line": 96
31317
+ "line": 93
30203
31318
  },
30204
31319
  "name": "tokens",
30205
31320
  "type": {
@@ -30219,7 +31334,7 @@
30219
31334
  "immutable": true,
30220
31335
  "locationInModule": {
30221
31336
  "filename": "src/tokens/string-fragments.ts",
30222
- "line": 39
31337
+ "line": 36
30223
31338
  },
30224
31339
  "name": "firstToken",
30225
31340
  "optional": true,
@@ -30960,6 +32075,6 @@
30960
32075
  "symbolId": "src/testing/matchers:TerraformConstructor"
30961
32076
  }
30962
32077
  },
30963
- "version": "0.25.0-pre.3",
30964
- "fingerprint": "GIvHKPuVaZ0mRPEOhoTkszfRoyocPlezH6gZRkfc3Y8="
32078
+ "version": "0.25.0-pre.30",
32079
+ "fingerprint": "840KGfV+ypyf1dquYlWbxQkKmSZPhODZTySpuqJGqtc="
30965
32080
  }