@mapbox/cloudfriend 9.2.0 → 9.3.1

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 (139) hide show
  1. package/.claude/settings.local.json +8 -0
  2. package/.idea/cloudfriend.iml +9 -0
  3. package/.idea/codeStyles/Project.xml +7 -0
  4. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  5. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  6. package/.idea/misc.xml +6 -0
  7. package/.idea/modules.xml +8 -0
  8. package/.idea/vcs.xml +6 -0
  9. package/.nyc_output/6686e513-03b6-415d-9b8b-0fcde7a4e430.json +1 -0
  10. package/.nyc_output/f58a557c-a1c0-4dcc-83c5-bbca4d01baf9.json +1 -0
  11. package/.nyc_output/processinfo/6686e513-03b6-415d-9b8b-0fcde7a4e430.json +1 -0
  12. package/.nyc_output/processinfo/f58a557c-a1c0-4dcc-83c5-bbca4d01baf9.json +1 -0
  13. package/.nyc_output/processinfo/index.json +1 -1
  14. package/cfniceberg_createtable.yaml +71 -0
  15. package/changelog.md +8 -0
  16. package/coverage/clover.xml +630 -0
  17. package/coverage/coverage-final.json +33 -0
  18. package/coverage/lcov-report/base.css +224 -0
  19. package/coverage/lcov-report/block-navigation.js +87 -0
  20. package/coverage/lcov-report/cloudfriend/bin/build-template.js.html +130 -0
  21. package/coverage/lcov-report/cloudfriend/bin/index.html +131 -0
  22. package/coverage/lcov-report/cloudfriend/bin/validate-template.js.html +142 -0
  23. package/coverage/lcov-report/cloudfriend/index.html +116 -0
  24. package/coverage/lcov-report/cloudfriend/index.js.html +307 -0
  25. package/coverage/lcov-report/cloudfriend/lib/build.js.html +217 -0
  26. package/coverage/lcov-report/cloudfriend/lib/conditions.js.html +430 -0
  27. package/coverage/lcov-report/cloudfriend/lib/index.html +206 -0
  28. package/coverage/lcov-report/cloudfriend/lib/intrinsic.js.html +979 -0
  29. package/coverage/lcov-report/cloudfriend/lib/merge.js.html +478 -0
  30. package/coverage/lcov-report/cloudfriend/lib/pseudo.js.html +370 -0
  31. package/coverage/lcov-report/cloudfriend/lib/rules.js.html +349 -0
  32. package/coverage/lcov-report/cloudfriend/lib/shortcuts/cross-account-role.js.html +244 -0
  33. package/coverage/lcov-report/cloudfriend/lib/shortcuts/event-lambda.js.html +367 -0
  34. package/coverage/lcov-report/cloudfriend/lib/shortcuts/glue-database.js.html +286 -0
  35. package/coverage/lcov-report/cloudfriend/lib/shortcuts/glue-iceberg-table.js.html +646 -0
  36. package/coverage/lcov-report/cloudfriend/lib/shortcuts/glue-json-table.js.html +235 -0
  37. package/coverage/lcov-report/cloudfriend/lib/shortcuts/glue-orc-table.js.html +226 -0
  38. package/coverage/lcov-report/cloudfriend/lib/shortcuts/glue-parquet-table.js.html +268 -0
  39. package/coverage/lcov-report/cloudfriend/lib/shortcuts/glue-presto-view.js.html +358 -0
  40. package/coverage/lcov-report/cloudfriend/lib/shortcuts/glue-spark-view.js.html +241 -0
  41. package/coverage/lcov-report/cloudfriend/lib/shortcuts/glue-table.js.html +481 -0
  42. package/coverage/lcov-report/cloudfriend/lib/shortcuts/hookshot.js.html +1504 -0
  43. package/coverage/lcov-report/cloudfriend/lib/shortcuts/index.html +431 -0
  44. package/coverage/lcov-report/cloudfriend/lib/shortcuts/index.js.html +157 -0
  45. package/coverage/lcov-report/cloudfriend/lib/shortcuts/kinesis-firehose-base.js.html +418 -0
  46. package/coverage/lcov-report/cloudfriend/lib/shortcuts/lambda.js.html +832 -0
  47. package/coverage/lcov-report/cloudfriend/lib/shortcuts/log-subscription-lambda.js.html +310 -0
  48. package/coverage/lcov-report/cloudfriend/lib/shortcuts/queue-lambda.js.html +364 -0
  49. package/coverage/lcov-report/cloudfriend/lib/shortcuts/queue.js.html +619 -0
  50. package/coverage/lcov-report/cloudfriend/lib/shortcuts/role.js.html +382 -0
  51. package/coverage/lcov-report/cloudfriend/lib/shortcuts/s3-kinesis-firehose.js.html +568 -0
  52. package/coverage/lcov-report/cloudfriend/lib/shortcuts/scheduled-lambda.js.html +490 -0
  53. package/coverage/lcov-report/cloudfriend/lib/shortcuts/service-role.js.html +307 -0
  54. package/coverage/lcov-report/cloudfriend/lib/shortcuts/stream-lambda.js.html +493 -0
  55. package/coverage/lcov-report/cloudfriend/lib/validate.js.html +154 -0
  56. package/coverage/lcov-report/favicon.png +0 -0
  57. package/coverage/lcov-report/index.html +161 -0
  58. package/coverage/lcov-report/prettify.css +1 -0
  59. package/coverage/lcov-report/prettify.js +2 -0
  60. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  61. package/coverage/lcov-report/sorter.js +210 -0
  62. package/coverage/lcov.info +1319 -0
  63. package/jest.config.js +14 -0
  64. package/lib/shortcuts/api.md +37 -0
  65. package/lib/shortcuts/glue-iceberg-table.js +187 -0
  66. package/lib/shortcuts/index.js +1 -0
  67. package/package.json +15 -13
  68. package/readme.md +1 -1
  69. package/requirements.dev.txt +2 -2
  70. package/test/bin.test.js +18 -14
  71. package/test/fixtures/shortcuts/cross-account-role-defaults.json +1 -1
  72. package/test/fixtures/shortcuts/cross-account-role-no-defaults.json +1 -1
  73. package/test/fixtures/shortcuts/event-lambda-defaults.json +1 -1
  74. package/test/fixtures/shortcuts/event-lambda-full.json +1 -1
  75. package/test/fixtures/shortcuts/firehose-defaults.json +1 -1
  76. package/test/fixtures/shortcuts/firehose-with-stream.json +1 -1
  77. package/test/fixtures/shortcuts/glue-database-defaults.json +1 -1
  78. package/test/fixtures/shortcuts/glue-database-no-defaults.json +1 -1
  79. package/test/fixtures/shortcuts/glue-iceberg-table-defaults.json +41 -0
  80. package/test/fixtures/shortcuts/glue-iceberg-table-no-defaults.json +39 -0
  81. package/test/fixtures/shortcuts/glue-iceberg-table-with-all-optimizers.json +101 -0
  82. package/test/fixtures/shortcuts/glue-iceberg-table-with-both-optimizers.json +80 -0
  83. package/test/fixtures/shortcuts/glue-iceberg-table-with-compaction-custom.json +68 -0
  84. package/test/fixtures/shortcuts/glue-iceberg-table-with-compaction-defaults.json +57 -0
  85. package/test/fixtures/shortcuts/glue-iceberg-table-with-optimizer-custom.json +75 -0
  86. package/test/fixtures/shortcuts/glue-iceberg-table-with-optimizer-defaults.json +64 -0
  87. package/test/fixtures/shortcuts/glue-iceberg-table-with-orphan-deletion-custom.json +74 -0
  88. package/test/fixtures/shortcuts/glue-iceberg-table-with-orphan-deletion-defaults.json +62 -0
  89. package/test/fixtures/shortcuts/glue-json-table-defaults.json +1 -1
  90. package/test/fixtures/shortcuts/glue-json-table-no-defaults.json +1 -1
  91. package/test/fixtures/shortcuts/glue-orc-table-defaults.json +1 -1
  92. package/test/fixtures/shortcuts/glue-orc-table-no-defaults.json +1 -1
  93. package/test/fixtures/shortcuts/glue-parquet-table-defaults.json +1 -1
  94. package/test/fixtures/shortcuts/glue-parquet-table-no-defaults.json +1 -1
  95. package/test/fixtures/shortcuts/glue-table-defaults.json +1 -1
  96. package/test/fixtures/shortcuts/glue-table-no-defaults.json +1 -1
  97. package/test/fixtures/shortcuts/glue-view-defaults.json +1 -1
  98. package/test/fixtures/shortcuts/glue-view-no-defaults.json +1 -1
  99. package/test/fixtures/shortcuts/hookshot-github-secret-ref.json +1 -1
  100. package/test/fixtures/shortcuts/hookshot-github-secret-string.json +1 -1
  101. package/test/fixtures/shortcuts/hookshot-github.json +1 -1
  102. package/test/fixtures/shortcuts/hookshot-passthrough-access-log-format.json +1 -1
  103. package/test/fixtures/shortcuts/hookshot-passthrough-alarms.json +1 -1
  104. package/test/fixtures/shortcuts/hookshot-passthrough-enhanced-logging.json +1 -1
  105. package/test/fixtures/shortcuts/hookshot-passthrough-full-blown-logging.json +1 -1
  106. package/test/fixtures/shortcuts/hookshot-passthrough-logging.json +1 -1
  107. package/test/fixtures/shortcuts/hookshot-passthrough.json +1 -1
  108. package/test/fixtures/shortcuts/lambda-defaults.json +1 -1
  109. package/test/fixtures/shortcuts/lambda-docker.json +1 -1
  110. package/test/fixtures/shortcuts/lambda-full.json +1 -1
  111. package/test/fixtures/shortcuts/lambda-provided-role.json +1 -1
  112. package/test/fixtures/shortcuts/lambda-zipfile.json +1 -1
  113. package/test/fixtures/shortcuts/log-subscription-lambda-defaults.json +1 -1
  114. package/test/fixtures/shortcuts/log-subscription-lambda-no-defaults.json +1 -1
  115. package/test/fixtures/shortcuts/queue-defaults.json +1 -1
  116. package/test/fixtures/shortcuts/queue-external-topic-ref.json +1 -1
  117. package/test/fixtures/shortcuts/queue-external-topic.json +1 -1
  118. package/test/fixtures/shortcuts/queue-fifo-queuename.json +1 -1
  119. package/test/fixtures/shortcuts/queue-fifo.json +1 -1
  120. package/test/fixtures/shortcuts/queue-full.json +1 -1
  121. package/test/fixtures/shortcuts/queue-lambda-zero.json +1 -1
  122. package/test/fixtures/shortcuts/queue-lambda.json +1 -1
  123. package/test/fixtures/shortcuts/role-defaults.json +1 -1
  124. package/test/fixtures/shortcuts/role-no-defaults.json +1 -1
  125. package/test/fixtures/shortcuts/scheduled-lambda-defaults.json +1 -1
  126. package/test/fixtures/shortcuts/scheduled-lambda-full.json +1 -1
  127. package/test/fixtures/shortcuts/service-role-defaults.json +1 -1
  128. package/test/fixtures/shortcuts/service-role-no-defaults.json +1 -1
  129. package/test/fixtures/shortcuts/service-role-no-url-suffix.json +1 -1
  130. package/test/fixtures/shortcuts/service-role-url-suffix-with-replacement.json +1 -1
  131. package/test/fixtures/shortcuts/service-role-url-suffix.json +1 -1
  132. package/test/fixtures/shortcuts/stream-lambda-defaults.json +1 -1
  133. package/test/fixtures/shortcuts/stream-lambda-no-defaults.json +1 -1
  134. package/test/index.test.js +383 -235
  135. package/test/shortcuts.test.js +1523 -1483
  136. package/.nyc_output/2b544c0b-2830-4ad0-97cd-8e661710b0bb.json +0 -1
  137. package/.nyc_output/65e58b48-bf1c-412d-8dd4-d7b564b12d76.json +0 -1
  138. package/.nyc_output/processinfo/2b544c0b-2830-4ad0-97cd-8e661710b0bb.json +0 -1
  139. package/.nyc_output/processinfo/65e58b48-bf1c-412d-8dd4-d7b564b12d76.json +0 -1
@@ -1 +1 @@
1
- {"processes":{"2b544c0b-2830-4ad0-97cd-8e661710b0bb":{"parent":"65e58b48-bf1c-412d-8dd4-d7b564b12d76","children":[]},"65e58b48-bf1c-412d-8dd4-d7b564b12d76":{"parent":null,"children":["2b544c0b-2830-4ad0-97cd-8e661710b0bb"]}},"files":{"/Users/bilindhajer/cloudfriend/bin/build-template.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb"],"/Users/bilindhajer/cloudfriend/index.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/intrinsic.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/conditions.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/rules.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/pseudo.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/build.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/validate.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/merge.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/index.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/lambda.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/service-role.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/role.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/scheduled-lambda.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/event-lambda.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/queue-lambda.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/stream-lambda.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/cross-account-role.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/queue.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/s3-kinesis-firehose.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/kinesis-firehose-base.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-database.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-table.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-json-table.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-orc-table.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-parquet-table.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-presto-view.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/glue-spark-view.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/hookshot.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"],"/Users/bilindhajer/cloudfriend/lib/shortcuts/log-subscription-lambda.js":["2b544c0b-2830-4ad0-97cd-8e661710b0bb","65e58b48-bf1c-412d-8dd4-d7b564b12d76"]},"externalIds":{}}
1
+ {"processes":{"6686e513-03b6-415d-9b8b-0fcde7a4e430":{"parent":"f58a557c-a1c0-4dcc-83c5-bbca4d01baf9","children":[]},"f58a557c-a1c0-4dcc-83c5-bbca4d01baf9":{"parent":null,"children":["6686e513-03b6-415d-9b8b-0fcde7a4e430"]}},"files":{"/Users/marierajan/projects/cloudfriend/bin/build-template.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430"],"/Users/marierajan/projects/cloudfriend/index.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/intrinsic.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/conditions.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/rules.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/pseudo.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/build.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/validate.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/merge.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/index.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/lambda.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/service-role.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/role.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/scheduled-lambda.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/event-lambda.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/queue-lambda.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/stream-lambda.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/cross-account-role.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/queue.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/s3-kinesis-firehose.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/kinesis-firehose-base.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/glue-database.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/glue-table.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/glue-json-table.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/glue-orc-table.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/glue-parquet-table.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/glue-iceberg-table.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/glue-presto-view.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/glue-spark-view.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/hookshot.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"],"/Users/marierajan/projects/cloudfriend/lib/shortcuts/log-subscription-lambda.js":["6686e513-03b6-415d-9b8b-0fcde7a4e430","f58a557c-a1c0-4dcc-83c5-bbca4d01baf9"]},"externalIds":{}}
@@ -0,0 +1,71 @@
1
+ AWSTemplateFormatVersion: 2010-09-09
2
+ Description: Create an Iceberg table with partitions using CloudFormationTemplate
3
+
4
+ Parameters:
5
+ TableName:
6
+ Type: String
7
+ Description: Table name of the Iceberg Table
8
+ Default: transactiontable2
9
+ MinLength: '1'
10
+ MaxLength: '64'
11
+ ConstraintDescription: the table name must be between 1 and 64 characters
12
+ DatabaseName:
13
+ Type: String
14
+ Description: Database name in which to create the Iceberg Table
15
+ Default: bankdata_icebergdb
16
+ MinLength: '1'
17
+ MaxLength: '64'
18
+ ConstraintDescription: the database name must be between 1 and 64 characters
19
+
20
+ # grouping of input parameters by relevance
21
+ Metadata:
22
+ AWS::CloudFormation::Interface:
23
+ ParameterGroups:
24
+ -
25
+ Label:
26
+ default: Table Parameters
27
+ Parameters:
28
+ - DatabaseName
29
+ - TableName
30
+
31
+ Resources:
32
+ CfnIcebergTable:
33
+ Type: AWS::Glue::Table
34
+ Properties:
35
+ CatalogId: !Ref AWS::AccountId
36
+ DatabaseName: !Ref DatabaseName
37
+ Name: !Ref TableName
38
+ OpenTableFormatInput:
39
+ IcebergInput:
40
+ MetadataOperation: "CREATE"
41
+ Version: "2"
42
+ IcebergTableInput:
43
+ Location: "s3://sampledatabucket/bankdataiceberg/transactiontable2/"
44
+ Schema:
45
+ Type: "struct"
46
+ Fields:
47
+ - Name: "transaction_id"
48
+ Type: "string"
49
+ Id: 1
50
+ Required: true
51
+ - Name: "transaction_name"
52
+ Type: "string"
53
+ Id: 2
54
+ Required: true
55
+ - Name: "transaction_amount"
56
+ Type: "float"
57
+ Id: 3
58
+ Required: true
59
+ PartitionSpec:
60
+ SpecId: 0
61
+ Fields:
62
+ - SourceId: 1
63
+ Transform: "identity"
64
+ Name: "transaction_id"
65
+ WriteOrder:
66
+ OrderId: 1
67
+ Fields:
68
+ - SourceId: 1
69
+ Transform: "identity"
70
+ Direction: "asc"
71
+ NullOrder: "nulls-last"
package/changelog.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 9.3.1
4
+
5
+ - Add `GlueIcebergTable` shortcut for creating AWS Glue tables backed by Apache Iceberg format with support for table optimizers.
6
+
7
+ ## 9.2.1
8
+
9
+ - Refactor tests to use `jest` instead of `tape` & update linting dependencies to fix security vulnerabilities.
10
+
3
11
  ## 9.2.0
4
12
 
5
13
  - Inline policy for Lambda Shortcut name will change from `${LogicalName}-lambda-log-access` to `${AWS::StackName}-${LogicalName}-lambda-log-access`. This is the new default value. You can override default value using property `LogPolicyName`.