@btc-embedded/cdk-extensions 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1102) hide show
  1. package/.jsii +1786 -406
  2. package/API.md +2758 -957
  3. package/CHANGELOG.md +23 -0
  4. package/lib/extensions/ApiGatewayExtension.d.ts +16 -0
  5. package/lib/extensions/ApiGatewayExtension.js +10 -7
  6. package/lib/extensions/ApplicationLoadBalancerExtension.js +4 -4
  7. package/lib/extensions/CloudMapExtension.d.ts +1 -0
  8. package/lib/extensions/CloudMapExtension.js +6 -8
  9. package/lib/extensions/DocumentDbAccessExtension.js +5 -6
  10. package/lib/extensions/DomainEventMessagingExtension.js +1 -1
  11. package/lib/extensions/ExtraContainerExtension.js +1 -1
  12. package/lib/extensions/LogExtension.js +4 -6
  13. package/lib/extensions/PostgresDbAccessExtension.d.ts +22 -0
  14. package/lib/extensions/PostgresDbAccessExtension.js +52 -0
  15. package/lib/extensions/SharedVolumeExtension.d.ts +30 -0
  16. package/lib/extensions/SharedVolumeExtension.js +36 -0
  17. package/lib/extensions/TcpKeepAliveExtension.js +5 -7
  18. package/lib/extensions/index.d.ts +3 -1
  19. package/lib/extensions/index.js +4 -2
  20. package/lib/index.d.ts +1 -0
  21. package/lib/index.js +2 -1
  22. package/lib/platform/ApiGateway.d.ts +58 -0
  23. package/lib/platform/ApiGateway.js +115 -0
  24. package/lib/platform/ApplicationLoadBalancer.d.ts +18 -0
  25. package/lib/platform/ApplicationLoadBalancer.js +62 -0
  26. package/lib/platform/AuthenticationStack.d.ts +19 -0
  27. package/lib/platform/AuthenticationStack.js +92 -0
  28. package/lib/platform/CloudMap.d.ts +16 -0
  29. package/lib/platform/CloudMap.js +48 -0
  30. package/lib/platform/DefaultUserPoolClients.d.ts +17 -0
  31. package/lib/platform/DefaultUserPoolClients.js +77 -0
  32. package/lib/platform/DocumentDB.d.ts +12 -0
  33. package/lib/platform/DocumentDB.js +47 -0
  34. package/lib/platform/MessageQueue.d.ts +23 -0
  35. package/lib/platform/MessageQueue.js +166 -0
  36. package/lib/platform/PrivateDnsNamespace.d.ts +17 -0
  37. package/lib/platform/PrivateDnsNamespace.js +50 -0
  38. package/lib/platform/Vpc.d.ts +13 -0
  39. package/lib/platform/Vpc.js +44 -0
  40. package/lib/platform/index.d.ts +6 -0
  41. package/lib/platform/index.js +23 -0
  42. package/lib/utils/ImportValue.d.ts +15 -0
  43. package/lib/utils/ImportValue.js +27 -1
  44. package/lib/utils/functions.d.ts +9 -0
  45. package/lib/utils/functions.js +14 -0
  46. package/lib/utils/index.d.ts +1 -0
  47. package/lib/utils/index.js +2 -1
  48. package/node_modules/lodash/LICENSE +47 -0
  49. package/node_modules/lodash/README.md +39 -0
  50. package/node_modules/lodash/_DataView.js +7 -0
  51. package/node_modules/lodash/_Hash.js +32 -0
  52. package/node_modules/lodash/_LazyWrapper.js +28 -0
  53. package/node_modules/lodash/_ListCache.js +32 -0
  54. package/node_modules/lodash/_LodashWrapper.js +22 -0
  55. package/node_modules/lodash/_Map.js +7 -0
  56. package/node_modules/lodash/_MapCache.js +32 -0
  57. package/node_modules/lodash/_Promise.js +7 -0
  58. package/node_modules/lodash/_Set.js +7 -0
  59. package/node_modules/lodash/_SetCache.js +27 -0
  60. package/node_modules/lodash/_Stack.js +27 -0
  61. package/node_modules/lodash/_Symbol.js +6 -0
  62. package/node_modules/lodash/_Uint8Array.js +6 -0
  63. package/node_modules/lodash/_WeakMap.js +7 -0
  64. package/node_modules/lodash/_apply.js +21 -0
  65. package/node_modules/lodash/_arrayAggregator.js +22 -0
  66. package/node_modules/lodash/_arrayEach.js +22 -0
  67. package/node_modules/lodash/_arrayEachRight.js +21 -0
  68. package/node_modules/lodash/_arrayEvery.js +23 -0
  69. package/node_modules/lodash/_arrayFilter.js +25 -0
  70. package/node_modules/lodash/_arrayIncludes.js +17 -0
  71. package/node_modules/lodash/_arrayIncludesWith.js +22 -0
  72. package/node_modules/lodash/_arrayLikeKeys.js +49 -0
  73. package/node_modules/lodash/_arrayMap.js +21 -0
  74. package/node_modules/lodash/_arrayPush.js +20 -0
  75. package/node_modules/lodash/_arrayReduce.js +26 -0
  76. package/node_modules/lodash/_arrayReduceRight.js +24 -0
  77. package/node_modules/lodash/_arraySample.js +15 -0
  78. package/node_modules/lodash/_arraySampleSize.js +17 -0
  79. package/node_modules/lodash/_arrayShuffle.js +15 -0
  80. package/node_modules/lodash/_arraySome.js +23 -0
  81. package/node_modules/lodash/_asciiSize.js +12 -0
  82. package/node_modules/lodash/_asciiToArray.js +12 -0
  83. package/node_modules/lodash/_asciiWords.js +15 -0
  84. package/node_modules/lodash/_assignMergeValue.js +20 -0
  85. package/node_modules/lodash/_assignValue.js +28 -0
  86. package/node_modules/lodash/_assocIndexOf.js +21 -0
  87. package/node_modules/lodash/_baseAggregator.js +21 -0
  88. package/node_modules/lodash/_baseAssign.js +17 -0
  89. package/node_modules/lodash/_baseAssignIn.js +17 -0
  90. package/node_modules/lodash/_baseAssignValue.js +25 -0
  91. package/node_modules/lodash/_baseAt.js +23 -0
  92. package/node_modules/lodash/_baseClamp.js +22 -0
  93. package/node_modules/lodash/_baseClone.js +166 -0
  94. package/node_modules/lodash/_baseConforms.js +18 -0
  95. package/node_modules/lodash/_baseConformsTo.js +27 -0
  96. package/node_modules/lodash/_baseCreate.js +30 -0
  97. package/node_modules/lodash/_baseDelay.js +21 -0
  98. package/node_modules/lodash/_baseDifference.js +67 -0
  99. package/node_modules/lodash/_baseEach.js +14 -0
  100. package/node_modules/lodash/_baseEachRight.js +14 -0
  101. package/node_modules/lodash/_baseEvery.js +21 -0
  102. package/node_modules/lodash/_baseExtremum.js +32 -0
  103. package/node_modules/lodash/_baseFill.js +32 -0
  104. package/node_modules/lodash/_baseFilter.js +21 -0
  105. package/node_modules/lodash/_baseFindIndex.js +24 -0
  106. package/node_modules/lodash/_baseFindKey.js +23 -0
  107. package/node_modules/lodash/_baseFlatten.js +38 -0
  108. package/node_modules/lodash/_baseFor.js +16 -0
  109. package/node_modules/lodash/_baseForOwn.js +16 -0
  110. package/node_modules/lodash/_baseForOwnRight.js +16 -0
  111. package/node_modules/lodash/_baseForRight.js +15 -0
  112. package/node_modules/lodash/_baseFunctions.js +19 -0
  113. package/node_modules/lodash/_baseGet.js +24 -0
  114. package/node_modules/lodash/_baseGetAllKeys.js +20 -0
  115. package/node_modules/lodash/_baseGetTag.js +28 -0
  116. package/node_modules/lodash/_baseGt.js +14 -0
  117. package/node_modules/lodash/_baseHas.js +19 -0
  118. package/node_modules/lodash/_baseHasIn.js +13 -0
  119. package/node_modules/lodash/_baseInRange.js +18 -0
  120. package/node_modules/lodash/_baseIndexOf.js +20 -0
  121. package/node_modules/lodash/_baseIndexOfWith.js +23 -0
  122. package/node_modules/lodash/_baseIntersection.js +74 -0
  123. package/node_modules/lodash/_baseInverter.js +21 -0
  124. package/node_modules/lodash/_baseInvoke.js +24 -0
  125. package/node_modules/lodash/_baseIsArguments.js +18 -0
  126. package/node_modules/lodash/_baseIsArrayBuffer.js +17 -0
  127. package/node_modules/lodash/_baseIsDate.js +18 -0
  128. package/node_modules/lodash/_baseIsEqual.js +28 -0
  129. package/node_modules/lodash/_baseIsEqualDeep.js +83 -0
  130. package/node_modules/lodash/_baseIsMap.js +18 -0
  131. package/node_modules/lodash/_baseIsMatch.js +62 -0
  132. package/node_modules/lodash/_baseIsNaN.js +12 -0
  133. package/node_modules/lodash/_baseIsNative.js +47 -0
  134. package/node_modules/lodash/_baseIsRegExp.js +18 -0
  135. package/node_modules/lodash/_baseIsSet.js +18 -0
  136. package/node_modules/lodash/_baseIsTypedArray.js +60 -0
  137. package/node_modules/lodash/_baseIteratee.js +31 -0
  138. package/node_modules/lodash/_baseKeys.js +30 -0
  139. package/node_modules/lodash/_baseKeysIn.js +33 -0
  140. package/node_modules/lodash/_baseLodash.js +10 -0
  141. package/node_modules/lodash/_baseLt.js +14 -0
  142. package/node_modules/lodash/_baseMap.js +22 -0
  143. package/node_modules/lodash/_baseMatches.js +22 -0
  144. package/node_modules/lodash/_baseMatchesProperty.js +33 -0
  145. package/node_modules/lodash/_baseMean.js +20 -0
  146. package/node_modules/lodash/_baseMerge.js +42 -0
  147. package/node_modules/lodash/_baseMergeDeep.js +94 -0
  148. package/node_modules/lodash/_baseNth.js +20 -0
  149. package/node_modules/lodash/_baseOrderBy.js +49 -0
  150. package/node_modules/lodash/_basePick.js +19 -0
  151. package/node_modules/lodash/_basePickBy.js +30 -0
  152. package/node_modules/lodash/_baseProperty.js +14 -0
  153. package/node_modules/lodash/_basePropertyDeep.js +16 -0
  154. package/node_modules/lodash/_basePropertyOf.js +14 -0
  155. package/node_modules/lodash/_basePullAll.js +51 -0
  156. package/node_modules/lodash/_basePullAt.js +37 -0
  157. package/node_modules/lodash/_baseRandom.js +18 -0
  158. package/node_modules/lodash/_baseRange.js +28 -0
  159. package/node_modules/lodash/_baseReduce.js +23 -0
  160. package/node_modules/lodash/_baseRepeat.js +35 -0
  161. package/node_modules/lodash/_baseRest.js +17 -0
  162. package/node_modules/lodash/_baseSample.js +15 -0
  163. package/node_modules/lodash/_baseSampleSize.js +18 -0
  164. package/node_modules/lodash/_baseSet.js +51 -0
  165. package/node_modules/lodash/_baseSetData.js +17 -0
  166. package/node_modules/lodash/_baseSetToString.js +22 -0
  167. package/node_modules/lodash/_baseShuffle.js +15 -0
  168. package/node_modules/lodash/_baseSlice.js +31 -0
  169. package/node_modules/lodash/_baseSome.js +22 -0
  170. package/node_modules/lodash/_baseSortBy.js +21 -0
  171. package/node_modules/lodash/_baseSortedIndex.js +42 -0
  172. package/node_modules/lodash/_baseSortedIndexBy.js +67 -0
  173. package/node_modules/lodash/_baseSortedUniq.js +30 -0
  174. package/node_modules/lodash/_baseSum.js +24 -0
  175. package/node_modules/lodash/_baseTimes.js +20 -0
  176. package/node_modules/lodash/_baseToNumber.js +24 -0
  177. package/node_modules/lodash/_baseToPairs.js +18 -0
  178. package/node_modules/lodash/_baseToString.js +37 -0
  179. package/node_modules/lodash/_baseTrim.js +19 -0
  180. package/node_modules/lodash/_baseUnary.js +14 -0
  181. package/node_modules/lodash/_baseUniq.js +72 -0
  182. package/node_modules/lodash/_baseUnset.js +20 -0
  183. package/node_modules/lodash/_baseUpdate.js +18 -0
  184. package/node_modules/lodash/_baseValues.js +19 -0
  185. package/node_modules/lodash/_baseWhile.js +26 -0
  186. package/node_modules/lodash/_baseWrapperValue.js +25 -0
  187. package/node_modules/lodash/_baseXor.js +36 -0
  188. package/node_modules/lodash/_baseZipObject.js +23 -0
  189. package/node_modules/lodash/_cacheHas.js +13 -0
  190. package/node_modules/lodash/_castArrayLikeObject.js +14 -0
  191. package/node_modules/lodash/_castFunction.js +14 -0
  192. package/node_modules/lodash/_castPath.js +21 -0
  193. package/node_modules/lodash/_castRest.js +14 -0
  194. package/node_modules/lodash/_castSlice.js +18 -0
  195. package/node_modules/lodash/_charsEndIndex.js +19 -0
  196. package/node_modules/lodash/_charsStartIndex.js +20 -0
  197. package/node_modules/lodash/_cloneArrayBuffer.js +16 -0
  198. package/node_modules/lodash/_cloneBuffer.js +35 -0
  199. package/node_modules/lodash/_cloneDataView.js +16 -0
  200. package/node_modules/lodash/_cloneRegExp.js +17 -0
  201. package/node_modules/lodash/_cloneSymbol.js +18 -0
  202. package/node_modules/lodash/_cloneTypedArray.js +16 -0
  203. package/node_modules/lodash/_compareAscending.js +41 -0
  204. package/node_modules/lodash/_compareMultiple.js +44 -0
  205. package/node_modules/lodash/_composeArgs.js +39 -0
  206. package/node_modules/lodash/_composeArgsRight.js +41 -0
  207. package/node_modules/lodash/_copyArray.js +20 -0
  208. package/node_modules/lodash/_copyObject.js +40 -0
  209. package/node_modules/lodash/_copySymbols.js +16 -0
  210. package/node_modules/lodash/_copySymbolsIn.js +16 -0
  211. package/node_modules/lodash/_coreJsData.js +6 -0
  212. package/node_modules/lodash/_countHolders.js +21 -0
  213. package/node_modules/lodash/_createAggregator.js +23 -0
  214. package/node_modules/lodash/_createAssigner.js +37 -0
  215. package/node_modules/lodash/_createBaseEach.js +32 -0
  216. package/node_modules/lodash/_createBaseFor.js +25 -0
  217. package/node_modules/lodash/_createBind.js +28 -0
  218. package/node_modules/lodash/_createCaseFirst.js +33 -0
  219. package/node_modules/lodash/_createCompounder.js +24 -0
  220. package/node_modules/lodash/_createCtor.js +37 -0
  221. package/node_modules/lodash/_createCurry.js +46 -0
  222. package/node_modules/lodash/_createFind.js +25 -0
  223. package/node_modules/lodash/_createFlow.js +78 -0
  224. package/node_modules/lodash/_createHybrid.js +92 -0
  225. package/node_modules/lodash/_createInverter.js +17 -0
  226. package/node_modules/lodash/_createMathOperation.js +38 -0
  227. package/node_modules/lodash/_createOver.js +27 -0
  228. package/node_modules/lodash/_createPadding.js +33 -0
  229. package/node_modules/lodash/_createPartial.js +43 -0
  230. package/node_modules/lodash/_createRange.js +30 -0
  231. package/node_modules/lodash/_createRecurry.js +56 -0
  232. package/node_modules/lodash/_createRelationalOperation.js +20 -0
  233. package/node_modules/lodash/_createRound.js +35 -0
  234. package/node_modules/lodash/_createSet.js +19 -0
  235. package/node_modules/lodash/_createToPairs.js +30 -0
  236. package/node_modules/lodash/_createWrap.js +106 -0
  237. package/node_modules/lodash/_customDefaultsAssignIn.js +29 -0
  238. package/node_modules/lodash/_customDefaultsMerge.js +28 -0
  239. package/node_modules/lodash/_customOmitClone.js +16 -0
  240. package/node_modules/lodash/_deburrLetter.js +71 -0
  241. package/node_modules/lodash/_defineProperty.js +11 -0
  242. package/node_modules/lodash/_equalArrays.js +84 -0
  243. package/node_modules/lodash/_equalByTag.js +112 -0
  244. package/node_modules/lodash/_equalObjects.js +90 -0
  245. package/node_modules/lodash/_escapeHtmlChar.js +21 -0
  246. package/node_modules/lodash/_escapeStringChar.js +22 -0
  247. package/node_modules/lodash/_flatRest.js +16 -0
  248. package/node_modules/lodash/_freeGlobal.js +4 -0
  249. package/node_modules/lodash/_getAllKeys.js +16 -0
  250. package/node_modules/lodash/_getAllKeysIn.js +17 -0
  251. package/node_modules/lodash/_getData.js +15 -0
  252. package/node_modules/lodash/_getFuncName.js +31 -0
  253. package/node_modules/lodash/_getHolder.js +13 -0
  254. package/node_modules/lodash/_getMapData.js +18 -0
  255. package/node_modules/lodash/_getMatchData.js +24 -0
  256. package/node_modules/lodash/_getNative.js +17 -0
  257. package/node_modules/lodash/_getPrototype.js +6 -0
  258. package/node_modules/lodash/_getRawTag.js +46 -0
  259. package/node_modules/lodash/_getSymbols.js +30 -0
  260. package/node_modules/lodash/_getSymbolsIn.js +25 -0
  261. package/node_modules/lodash/_getTag.js +58 -0
  262. package/node_modules/lodash/_getValue.js +13 -0
  263. package/node_modules/lodash/_getView.js +33 -0
  264. package/node_modules/lodash/_getWrapDetails.js +17 -0
  265. package/node_modules/lodash/_hasPath.js +39 -0
  266. package/node_modules/lodash/_hasUnicode.js +26 -0
  267. package/node_modules/lodash/_hasUnicodeWord.js +15 -0
  268. package/node_modules/lodash/_hashClear.js +15 -0
  269. package/node_modules/lodash/_hashDelete.js +17 -0
  270. package/node_modules/lodash/_hashGet.js +30 -0
  271. package/node_modules/lodash/_hashHas.js +23 -0
  272. package/node_modules/lodash/_hashSet.js +23 -0
  273. package/node_modules/lodash/_initCloneArray.js +26 -0
  274. package/node_modules/lodash/_initCloneByTag.js +77 -0
  275. package/node_modules/lodash/_initCloneObject.js +18 -0
  276. package/node_modules/lodash/_insertWrapDetails.js +23 -0
  277. package/node_modules/lodash/_isFlattenable.js +20 -0
  278. package/node_modules/lodash/_isIndex.js +25 -0
  279. package/node_modules/lodash/_isIterateeCall.js +30 -0
  280. package/node_modules/lodash/_isKey.js +29 -0
  281. package/node_modules/lodash/_isKeyable.js +15 -0
  282. package/node_modules/lodash/_isLaziable.js +28 -0
  283. package/node_modules/lodash/_isMaskable.js +14 -0
  284. package/node_modules/lodash/_isMasked.js +20 -0
  285. package/node_modules/lodash/_isPrototype.js +18 -0
  286. package/node_modules/lodash/_isStrictComparable.js +15 -0
  287. package/node_modules/lodash/_iteratorToArray.js +18 -0
  288. package/node_modules/lodash/_lazyClone.js +23 -0
  289. package/node_modules/lodash/_lazyReverse.js +23 -0
  290. package/node_modules/lodash/_lazyValue.js +69 -0
  291. package/node_modules/lodash/_listCacheClear.js +13 -0
  292. package/node_modules/lodash/_listCacheDelete.js +35 -0
  293. package/node_modules/lodash/_listCacheGet.js +19 -0
  294. package/node_modules/lodash/_listCacheHas.js +16 -0
  295. package/node_modules/lodash/_listCacheSet.js +26 -0
  296. package/node_modules/lodash/_mapCacheClear.js +21 -0
  297. package/node_modules/lodash/_mapCacheDelete.js +18 -0
  298. package/node_modules/lodash/_mapCacheGet.js +16 -0
  299. package/node_modules/lodash/_mapCacheHas.js +16 -0
  300. package/node_modules/lodash/_mapCacheSet.js +22 -0
  301. package/node_modules/lodash/_mapToArray.js +18 -0
  302. package/node_modules/lodash/_matchesStrictComparable.js +20 -0
  303. package/node_modules/lodash/_memoizeCapped.js +26 -0
  304. package/node_modules/lodash/_mergeData.js +90 -0
  305. package/node_modules/lodash/_metaMap.js +6 -0
  306. package/node_modules/lodash/_nativeCreate.js +6 -0
  307. package/node_modules/lodash/_nativeKeys.js +6 -0
  308. package/node_modules/lodash/_nativeKeysIn.js +20 -0
  309. package/node_modules/lodash/_nodeUtil.js +30 -0
  310. package/node_modules/lodash/_objectToString.js +22 -0
  311. package/node_modules/lodash/_overArg.js +15 -0
  312. package/node_modules/lodash/_overRest.js +36 -0
  313. package/node_modules/lodash/_parent.js +16 -0
  314. package/node_modules/lodash/_reEscape.js +4 -0
  315. package/node_modules/lodash/_reEvaluate.js +4 -0
  316. package/node_modules/lodash/_reInterpolate.js +4 -0
  317. package/node_modules/lodash/_realNames.js +4 -0
  318. package/node_modules/lodash/_reorder.js +29 -0
  319. package/node_modules/lodash/_replaceHolders.js +29 -0
  320. package/node_modules/lodash/_root.js +9 -0
  321. package/node_modules/lodash/_safeGet.js +21 -0
  322. package/node_modules/lodash/_setCacheAdd.js +19 -0
  323. package/node_modules/lodash/_setCacheHas.js +14 -0
  324. package/node_modules/lodash/_setData.js +20 -0
  325. package/node_modules/lodash/_setToArray.js +18 -0
  326. package/node_modules/lodash/_setToPairs.js +18 -0
  327. package/node_modules/lodash/_setToString.js +14 -0
  328. package/node_modules/lodash/_setWrapToString.js +21 -0
  329. package/node_modules/lodash/_shortOut.js +37 -0
  330. package/node_modules/lodash/_shuffleSelf.js +28 -0
  331. package/node_modules/lodash/_stackClear.js +15 -0
  332. package/node_modules/lodash/_stackDelete.js +18 -0
  333. package/node_modules/lodash/_stackGet.js +14 -0
  334. package/node_modules/lodash/_stackHas.js +14 -0
  335. package/node_modules/lodash/_stackSet.js +34 -0
  336. package/node_modules/lodash/_strictIndexOf.js +23 -0
  337. package/node_modules/lodash/_strictLastIndexOf.js +21 -0
  338. package/node_modules/lodash/_stringSize.js +18 -0
  339. package/node_modules/lodash/_stringToArray.js +18 -0
  340. package/node_modules/lodash/_stringToPath.js +27 -0
  341. package/node_modules/lodash/_toKey.js +21 -0
  342. package/node_modules/lodash/_toSource.js +26 -0
  343. package/node_modules/lodash/_trimmedEndIndex.js +19 -0
  344. package/node_modules/lodash/_unescapeHtmlChar.js +21 -0
  345. package/node_modules/lodash/_unicodeSize.js +44 -0
  346. package/node_modules/lodash/_unicodeToArray.js +40 -0
  347. package/node_modules/lodash/_unicodeWords.js +69 -0
  348. package/node_modules/lodash/_updateWrapDetails.js +46 -0
  349. package/node_modules/lodash/_wrapperClone.js +23 -0
  350. package/node_modules/lodash/add.js +22 -0
  351. package/node_modules/lodash/after.js +42 -0
  352. package/node_modules/lodash/array.js +67 -0
  353. package/node_modules/lodash/ary.js +29 -0
  354. package/node_modules/lodash/assign.js +58 -0
  355. package/node_modules/lodash/assignIn.js +40 -0
  356. package/node_modules/lodash/assignInWith.js +38 -0
  357. package/node_modules/lodash/assignWith.js +37 -0
  358. package/node_modules/lodash/at.js +23 -0
  359. package/node_modules/lodash/attempt.js +35 -0
  360. package/node_modules/lodash/before.js +40 -0
  361. package/node_modules/lodash/bind.js +57 -0
  362. package/node_modules/lodash/bindAll.js +41 -0
  363. package/node_modules/lodash/bindKey.js +68 -0
  364. package/node_modules/lodash/camelCase.js +29 -0
  365. package/node_modules/lodash/capitalize.js +23 -0
  366. package/node_modules/lodash/castArray.js +44 -0
  367. package/node_modules/lodash/ceil.js +26 -0
  368. package/node_modules/lodash/chain.js +38 -0
  369. package/node_modules/lodash/chunk.js +50 -0
  370. package/node_modules/lodash/clamp.js +39 -0
  371. package/node_modules/lodash/clone.js +36 -0
  372. package/node_modules/lodash/cloneDeep.js +29 -0
  373. package/node_modules/lodash/cloneDeepWith.js +40 -0
  374. package/node_modules/lodash/cloneWith.js +42 -0
  375. package/node_modules/lodash/collection.js +30 -0
  376. package/node_modules/lodash/commit.js +33 -0
  377. package/node_modules/lodash/compact.js +31 -0
  378. package/node_modules/lodash/concat.js +43 -0
  379. package/node_modules/lodash/cond.js +60 -0
  380. package/node_modules/lodash/conforms.js +35 -0
  381. package/node_modules/lodash/conformsTo.js +32 -0
  382. package/node_modules/lodash/constant.js +26 -0
  383. package/node_modules/lodash/core.js +3877 -0
  384. package/node_modules/lodash/core.min.js +29 -0
  385. package/node_modules/lodash/countBy.js +40 -0
  386. package/node_modules/lodash/create.js +43 -0
  387. package/node_modules/lodash/curry.js +57 -0
  388. package/node_modules/lodash/curryRight.js +54 -0
  389. package/node_modules/lodash/date.js +3 -0
  390. package/node_modules/lodash/debounce.js +191 -0
  391. package/node_modules/lodash/deburr.js +45 -0
  392. package/node_modules/lodash/defaultTo.js +25 -0
  393. package/node_modules/lodash/defaults.js +64 -0
  394. package/node_modules/lodash/defaultsDeep.js +30 -0
  395. package/node_modules/lodash/defer.js +26 -0
  396. package/node_modules/lodash/delay.js +28 -0
  397. package/node_modules/lodash/difference.js +33 -0
  398. package/node_modules/lodash/differenceBy.js +44 -0
  399. package/node_modules/lodash/differenceWith.js +40 -0
  400. package/node_modules/lodash/divide.js +22 -0
  401. package/node_modules/lodash/drop.js +38 -0
  402. package/node_modules/lodash/dropRight.js +39 -0
  403. package/node_modules/lodash/dropRightWhile.js +45 -0
  404. package/node_modules/lodash/dropWhile.js +45 -0
  405. package/node_modules/lodash/each.js +1 -0
  406. package/node_modules/lodash/eachRight.js +1 -0
  407. package/node_modules/lodash/endsWith.js +43 -0
  408. package/node_modules/lodash/entries.js +1 -0
  409. package/node_modules/lodash/entriesIn.js +1 -0
  410. package/node_modules/lodash/eq.js +37 -0
  411. package/node_modules/lodash/escape.js +43 -0
  412. package/node_modules/lodash/escapeRegExp.js +32 -0
  413. package/node_modules/lodash/every.js +56 -0
  414. package/node_modules/lodash/extend.js +1 -0
  415. package/node_modules/lodash/extendWith.js +1 -0
  416. package/node_modules/lodash/fill.js +45 -0
  417. package/node_modules/lodash/filter.js +52 -0
  418. package/node_modules/lodash/find.js +42 -0
  419. package/node_modules/lodash/findIndex.js +55 -0
  420. package/node_modules/lodash/findKey.js +44 -0
  421. package/node_modules/lodash/findLast.js +25 -0
  422. package/node_modules/lodash/findLastIndex.js +59 -0
  423. package/node_modules/lodash/findLastKey.js +44 -0
  424. package/node_modules/lodash/first.js +1 -0
  425. package/node_modules/lodash/flake.lock +40 -0
  426. package/node_modules/lodash/flake.nix +20 -0
  427. package/node_modules/lodash/flatMap.js +29 -0
  428. package/node_modules/lodash/flatMapDeep.js +31 -0
  429. package/node_modules/lodash/flatMapDepth.js +31 -0
  430. package/node_modules/lodash/flatten.js +22 -0
  431. package/node_modules/lodash/flattenDeep.js +25 -0
  432. package/node_modules/lodash/flattenDepth.js +33 -0
  433. package/node_modules/lodash/flip.js +28 -0
  434. package/node_modules/lodash/floor.js +26 -0
  435. package/node_modules/lodash/flow.js +27 -0
  436. package/node_modules/lodash/flowRight.js +26 -0
  437. package/node_modules/lodash/forEach.js +41 -0
  438. package/node_modules/lodash/forEachRight.js +31 -0
  439. package/node_modules/lodash/forIn.js +39 -0
  440. package/node_modules/lodash/forInRight.js +37 -0
  441. package/node_modules/lodash/forOwn.js +36 -0
  442. package/node_modules/lodash/forOwnRight.js +34 -0
  443. package/node_modules/lodash/fp/F.js +1 -0
  444. package/node_modules/lodash/fp/T.js +1 -0
  445. package/node_modules/lodash/fp/__.js +1 -0
  446. package/node_modules/lodash/fp/_baseConvert.js +569 -0
  447. package/node_modules/lodash/fp/_convertBrowser.js +18 -0
  448. package/node_modules/lodash/fp/_falseOptions.js +7 -0
  449. package/node_modules/lodash/fp/_mapping.js +358 -0
  450. package/node_modules/lodash/fp/_util.js +16 -0
  451. package/node_modules/lodash/fp/add.js +5 -0
  452. package/node_modules/lodash/fp/after.js +5 -0
  453. package/node_modules/lodash/fp/all.js +1 -0
  454. package/node_modules/lodash/fp/allPass.js +1 -0
  455. package/node_modules/lodash/fp/always.js +1 -0
  456. package/node_modules/lodash/fp/any.js +1 -0
  457. package/node_modules/lodash/fp/anyPass.js +1 -0
  458. package/node_modules/lodash/fp/apply.js +1 -0
  459. package/node_modules/lodash/fp/array.js +2 -0
  460. package/node_modules/lodash/fp/ary.js +5 -0
  461. package/node_modules/lodash/fp/assign.js +5 -0
  462. package/node_modules/lodash/fp/assignAll.js +5 -0
  463. package/node_modules/lodash/fp/assignAllWith.js +5 -0
  464. package/node_modules/lodash/fp/assignIn.js +5 -0
  465. package/node_modules/lodash/fp/assignInAll.js +5 -0
  466. package/node_modules/lodash/fp/assignInAllWith.js +5 -0
  467. package/node_modules/lodash/fp/assignInWith.js +5 -0
  468. package/node_modules/lodash/fp/assignWith.js +5 -0
  469. package/node_modules/lodash/fp/assoc.js +1 -0
  470. package/node_modules/lodash/fp/assocPath.js +1 -0
  471. package/node_modules/lodash/fp/at.js +5 -0
  472. package/node_modules/lodash/fp/attempt.js +5 -0
  473. package/node_modules/lodash/fp/before.js +5 -0
  474. package/node_modules/lodash/fp/bind.js +5 -0
  475. package/node_modules/lodash/fp/bindAll.js +5 -0
  476. package/node_modules/lodash/fp/bindKey.js +5 -0
  477. package/node_modules/lodash/fp/camelCase.js +5 -0
  478. package/node_modules/lodash/fp/capitalize.js +5 -0
  479. package/node_modules/lodash/fp/castArray.js +5 -0
  480. package/node_modules/lodash/fp/ceil.js +5 -0
  481. package/node_modules/lodash/fp/chain.js +5 -0
  482. package/node_modules/lodash/fp/chunk.js +5 -0
  483. package/node_modules/lodash/fp/clamp.js +5 -0
  484. package/node_modules/lodash/fp/clone.js +5 -0
  485. package/node_modules/lodash/fp/cloneDeep.js +5 -0
  486. package/node_modules/lodash/fp/cloneDeepWith.js +5 -0
  487. package/node_modules/lodash/fp/cloneWith.js +5 -0
  488. package/node_modules/lodash/fp/collection.js +2 -0
  489. package/node_modules/lodash/fp/commit.js +5 -0
  490. package/node_modules/lodash/fp/compact.js +5 -0
  491. package/node_modules/lodash/fp/complement.js +1 -0
  492. package/node_modules/lodash/fp/compose.js +1 -0
  493. package/node_modules/lodash/fp/concat.js +5 -0
  494. package/node_modules/lodash/fp/cond.js +5 -0
  495. package/node_modules/lodash/fp/conforms.js +1 -0
  496. package/node_modules/lodash/fp/conformsTo.js +5 -0
  497. package/node_modules/lodash/fp/constant.js +5 -0
  498. package/node_modules/lodash/fp/contains.js +1 -0
  499. package/node_modules/lodash/fp/convert.js +18 -0
  500. package/node_modules/lodash/fp/countBy.js +5 -0
  501. package/node_modules/lodash/fp/create.js +5 -0
  502. package/node_modules/lodash/fp/curry.js +5 -0
  503. package/node_modules/lodash/fp/curryN.js +5 -0
  504. package/node_modules/lodash/fp/curryRight.js +5 -0
  505. package/node_modules/lodash/fp/curryRightN.js +5 -0
  506. package/node_modules/lodash/fp/date.js +2 -0
  507. package/node_modules/lodash/fp/debounce.js +5 -0
  508. package/node_modules/lodash/fp/deburr.js +5 -0
  509. package/node_modules/lodash/fp/defaultTo.js +5 -0
  510. package/node_modules/lodash/fp/defaults.js +5 -0
  511. package/node_modules/lodash/fp/defaultsAll.js +5 -0
  512. package/node_modules/lodash/fp/defaultsDeep.js +5 -0
  513. package/node_modules/lodash/fp/defaultsDeepAll.js +5 -0
  514. package/node_modules/lodash/fp/defer.js +5 -0
  515. package/node_modules/lodash/fp/delay.js +5 -0
  516. package/node_modules/lodash/fp/difference.js +5 -0
  517. package/node_modules/lodash/fp/differenceBy.js +5 -0
  518. package/node_modules/lodash/fp/differenceWith.js +5 -0
  519. package/node_modules/lodash/fp/dissoc.js +1 -0
  520. package/node_modules/lodash/fp/dissocPath.js +1 -0
  521. package/node_modules/lodash/fp/divide.js +5 -0
  522. package/node_modules/lodash/fp/drop.js +5 -0
  523. package/node_modules/lodash/fp/dropLast.js +1 -0
  524. package/node_modules/lodash/fp/dropLastWhile.js +1 -0
  525. package/node_modules/lodash/fp/dropRight.js +5 -0
  526. package/node_modules/lodash/fp/dropRightWhile.js +5 -0
  527. package/node_modules/lodash/fp/dropWhile.js +5 -0
  528. package/node_modules/lodash/fp/each.js +1 -0
  529. package/node_modules/lodash/fp/eachRight.js +1 -0
  530. package/node_modules/lodash/fp/endsWith.js +5 -0
  531. package/node_modules/lodash/fp/entries.js +1 -0
  532. package/node_modules/lodash/fp/entriesIn.js +1 -0
  533. package/node_modules/lodash/fp/eq.js +5 -0
  534. package/node_modules/lodash/fp/equals.js +1 -0
  535. package/node_modules/lodash/fp/escape.js +5 -0
  536. package/node_modules/lodash/fp/escapeRegExp.js +5 -0
  537. package/node_modules/lodash/fp/every.js +5 -0
  538. package/node_modules/lodash/fp/extend.js +1 -0
  539. package/node_modules/lodash/fp/extendAll.js +1 -0
  540. package/node_modules/lodash/fp/extendAllWith.js +1 -0
  541. package/node_modules/lodash/fp/extendWith.js +1 -0
  542. package/node_modules/lodash/fp/fill.js +5 -0
  543. package/node_modules/lodash/fp/filter.js +5 -0
  544. package/node_modules/lodash/fp/find.js +5 -0
  545. package/node_modules/lodash/fp/findFrom.js +5 -0
  546. package/node_modules/lodash/fp/findIndex.js +5 -0
  547. package/node_modules/lodash/fp/findIndexFrom.js +5 -0
  548. package/node_modules/lodash/fp/findKey.js +5 -0
  549. package/node_modules/lodash/fp/findLast.js +5 -0
  550. package/node_modules/lodash/fp/findLastFrom.js +5 -0
  551. package/node_modules/lodash/fp/findLastIndex.js +5 -0
  552. package/node_modules/lodash/fp/findLastIndexFrom.js +5 -0
  553. package/node_modules/lodash/fp/findLastKey.js +5 -0
  554. package/node_modules/lodash/fp/first.js +1 -0
  555. package/node_modules/lodash/fp/flatMap.js +5 -0
  556. package/node_modules/lodash/fp/flatMapDeep.js +5 -0
  557. package/node_modules/lodash/fp/flatMapDepth.js +5 -0
  558. package/node_modules/lodash/fp/flatten.js +5 -0
  559. package/node_modules/lodash/fp/flattenDeep.js +5 -0
  560. package/node_modules/lodash/fp/flattenDepth.js +5 -0
  561. package/node_modules/lodash/fp/flip.js +5 -0
  562. package/node_modules/lodash/fp/floor.js +5 -0
  563. package/node_modules/lodash/fp/flow.js +5 -0
  564. package/node_modules/lodash/fp/flowRight.js +5 -0
  565. package/node_modules/lodash/fp/forEach.js +5 -0
  566. package/node_modules/lodash/fp/forEachRight.js +5 -0
  567. package/node_modules/lodash/fp/forIn.js +5 -0
  568. package/node_modules/lodash/fp/forInRight.js +5 -0
  569. package/node_modules/lodash/fp/forOwn.js +5 -0
  570. package/node_modules/lodash/fp/forOwnRight.js +5 -0
  571. package/node_modules/lodash/fp/fromPairs.js +5 -0
  572. package/node_modules/lodash/fp/function.js +2 -0
  573. package/node_modules/lodash/fp/functions.js +5 -0
  574. package/node_modules/lodash/fp/functionsIn.js +5 -0
  575. package/node_modules/lodash/fp/get.js +5 -0
  576. package/node_modules/lodash/fp/getOr.js +5 -0
  577. package/node_modules/lodash/fp/groupBy.js +5 -0
  578. package/node_modules/lodash/fp/gt.js +5 -0
  579. package/node_modules/lodash/fp/gte.js +5 -0
  580. package/node_modules/lodash/fp/has.js +5 -0
  581. package/node_modules/lodash/fp/hasIn.js +5 -0
  582. package/node_modules/lodash/fp/head.js +5 -0
  583. package/node_modules/lodash/fp/identical.js +1 -0
  584. package/node_modules/lodash/fp/identity.js +5 -0
  585. package/node_modules/lodash/fp/inRange.js +5 -0
  586. package/node_modules/lodash/fp/includes.js +5 -0
  587. package/node_modules/lodash/fp/includesFrom.js +5 -0
  588. package/node_modules/lodash/fp/indexBy.js +1 -0
  589. package/node_modules/lodash/fp/indexOf.js +5 -0
  590. package/node_modules/lodash/fp/indexOfFrom.js +5 -0
  591. package/node_modules/lodash/fp/init.js +1 -0
  592. package/node_modules/lodash/fp/initial.js +5 -0
  593. package/node_modules/lodash/fp/intersection.js +5 -0
  594. package/node_modules/lodash/fp/intersectionBy.js +5 -0
  595. package/node_modules/lodash/fp/intersectionWith.js +5 -0
  596. package/node_modules/lodash/fp/invert.js +5 -0
  597. package/node_modules/lodash/fp/invertBy.js +5 -0
  598. package/node_modules/lodash/fp/invertObj.js +1 -0
  599. package/node_modules/lodash/fp/invoke.js +5 -0
  600. package/node_modules/lodash/fp/invokeArgs.js +5 -0
  601. package/node_modules/lodash/fp/invokeArgsMap.js +5 -0
  602. package/node_modules/lodash/fp/invokeMap.js +5 -0
  603. package/node_modules/lodash/fp/isArguments.js +5 -0
  604. package/node_modules/lodash/fp/isArray.js +5 -0
  605. package/node_modules/lodash/fp/isArrayBuffer.js +5 -0
  606. package/node_modules/lodash/fp/isArrayLike.js +5 -0
  607. package/node_modules/lodash/fp/isArrayLikeObject.js +5 -0
  608. package/node_modules/lodash/fp/isBoolean.js +5 -0
  609. package/node_modules/lodash/fp/isBuffer.js +5 -0
  610. package/node_modules/lodash/fp/isDate.js +5 -0
  611. package/node_modules/lodash/fp/isElement.js +5 -0
  612. package/node_modules/lodash/fp/isEmpty.js +5 -0
  613. package/node_modules/lodash/fp/isEqual.js +5 -0
  614. package/node_modules/lodash/fp/isEqualWith.js +5 -0
  615. package/node_modules/lodash/fp/isError.js +5 -0
  616. package/node_modules/lodash/fp/isFinite.js +5 -0
  617. package/node_modules/lodash/fp/isFunction.js +5 -0
  618. package/node_modules/lodash/fp/isInteger.js +5 -0
  619. package/node_modules/lodash/fp/isLength.js +5 -0
  620. package/node_modules/lodash/fp/isMap.js +5 -0
  621. package/node_modules/lodash/fp/isMatch.js +5 -0
  622. package/node_modules/lodash/fp/isMatchWith.js +5 -0
  623. package/node_modules/lodash/fp/isNaN.js +5 -0
  624. package/node_modules/lodash/fp/isNative.js +5 -0
  625. package/node_modules/lodash/fp/isNil.js +5 -0
  626. package/node_modules/lodash/fp/isNull.js +5 -0
  627. package/node_modules/lodash/fp/isNumber.js +5 -0
  628. package/node_modules/lodash/fp/isObject.js +5 -0
  629. package/node_modules/lodash/fp/isObjectLike.js +5 -0
  630. package/node_modules/lodash/fp/isPlainObject.js +5 -0
  631. package/node_modules/lodash/fp/isRegExp.js +5 -0
  632. package/node_modules/lodash/fp/isSafeInteger.js +5 -0
  633. package/node_modules/lodash/fp/isSet.js +5 -0
  634. package/node_modules/lodash/fp/isString.js +5 -0
  635. package/node_modules/lodash/fp/isSymbol.js +5 -0
  636. package/node_modules/lodash/fp/isTypedArray.js +5 -0
  637. package/node_modules/lodash/fp/isUndefined.js +5 -0
  638. package/node_modules/lodash/fp/isWeakMap.js +5 -0
  639. package/node_modules/lodash/fp/isWeakSet.js +5 -0
  640. package/node_modules/lodash/fp/iteratee.js +5 -0
  641. package/node_modules/lodash/fp/join.js +5 -0
  642. package/node_modules/lodash/fp/juxt.js +1 -0
  643. package/node_modules/lodash/fp/kebabCase.js +5 -0
  644. package/node_modules/lodash/fp/keyBy.js +5 -0
  645. package/node_modules/lodash/fp/keys.js +5 -0
  646. package/node_modules/lodash/fp/keysIn.js +5 -0
  647. package/node_modules/lodash/fp/lang.js +2 -0
  648. package/node_modules/lodash/fp/last.js +5 -0
  649. package/node_modules/lodash/fp/lastIndexOf.js +5 -0
  650. package/node_modules/lodash/fp/lastIndexOfFrom.js +5 -0
  651. package/node_modules/lodash/fp/lowerCase.js +5 -0
  652. package/node_modules/lodash/fp/lowerFirst.js +5 -0
  653. package/node_modules/lodash/fp/lt.js +5 -0
  654. package/node_modules/lodash/fp/lte.js +5 -0
  655. package/node_modules/lodash/fp/map.js +5 -0
  656. package/node_modules/lodash/fp/mapKeys.js +5 -0
  657. package/node_modules/lodash/fp/mapValues.js +5 -0
  658. package/node_modules/lodash/fp/matches.js +1 -0
  659. package/node_modules/lodash/fp/matchesProperty.js +5 -0
  660. package/node_modules/lodash/fp/math.js +2 -0
  661. package/node_modules/lodash/fp/max.js +5 -0
  662. package/node_modules/lodash/fp/maxBy.js +5 -0
  663. package/node_modules/lodash/fp/mean.js +5 -0
  664. package/node_modules/lodash/fp/meanBy.js +5 -0
  665. package/node_modules/lodash/fp/memoize.js +5 -0
  666. package/node_modules/lodash/fp/merge.js +5 -0
  667. package/node_modules/lodash/fp/mergeAll.js +5 -0
  668. package/node_modules/lodash/fp/mergeAllWith.js +5 -0
  669. package/node_modules/lodash/fp/mergeWith.js +5 -0
  670. package/node_modules/lodash/fp/method.js +5 -0
  671. package/node_modules/lodash/fp/methodOf.js +5 -0
  672. package/node_modules/lodash/fp/min.js +5 -0
  673. package/node_modules/lodash/fp/minBy.js +5 -0
  674. package/node_modules/lodash/fp/mixin.js +5 -0
  675. package/node_modules/lodash/fp/multiply.js +5 -0
  676. package/node_modules/lodash/fp/nAry.js +1 -0
  677. package/node_modules/lodash/fp/negate.js +5 -0
  678. package/node_modules/lodash/fp/next.js +5 -0
  679. package/node_modules/lodash/fp/noop.js +5 -0
  680. package/node_modules/lodash/fp/now.js +5 -0
  681. package/node_modules/lodash/fp/nth.js +5 -0
  682. package/node_modules/lodash/fp/nthArg.js +5 -0
  683. package/node_modules/lodash/fp/number.js +2 -0
  684. package/node_modules/lodash/fp/object.js +2 -0
  685. package/node_modules/lodash/fp/omit.js +5 -0
  686. package/node_modules/lodash/fp/omitAll.js +1 -0
  687. package/node_modules/lodash/fp/omitBy.js +5 -0
  688. package/node_modules/lodash/fp/once.js +5 -0
  689. package/node_modules/lodash/fp/orderBy.js +5 -0
  690. package/node_modules/lodash/fp/over.js +5 -0
  691. package/node_modules/lodash/fp/overArgs.js +5 -0
  692. package/node_modules/lodash/fp/overEvery.js +5 -0
  693. package/node_modules/lodash/fp/overSome.js +5 -0
  694. package/node_modules/lodash/fp/pad.js +5 -0
  695. package/node_modules/lodash/fp/padChars.js +5 -0
  696. package/node_modules/lodash/fp/padCharsEnd.js +5 -0
  697. package/node_modules/lodash/fp/padCharsStart.js +5 -0
  698. package/node_modules/lodash/fp/padEnd.js +5 -0
  699. package/node_modules/lodash/fp/padStart.js +5 -0
  700. package/node_modules/lodash/fp/parseInt.js +5 -0
  701. package/node_modules/lodash/fp/partial.js +5 -0
  702. package/node_modules/lodash/fp/partialRight.js +5 -0
  703. package/node_modules/lodash/fp/partition.js +5 -0
  704. package/node_modules/lodash/fp/path.js +1 -0
  705. package/node_modules/lodash/fp/pathEq.js +1 -0
  706. package/node_modules/lodash/fp/pathOr.js +1 -0
  707. package/node_modules/lodash/fp/paths.js +1 -0
  708. package/node_modules/lodash/fp/pick.js +5 -0
  709. package/node_modules/lodash/fp/pickAll.js +1 -0
  710. package/node_modules/lodash/fp/pickBy.js +5 -0
  711. package/node_modules/lodash/fp/pipe.js +1 -0
  712. package/node_modules/lodash/fp/placeholder.js +6 -0
  713. package/node_modules/lodash/fp/plant.js +5 -0
  714. package/node_modules/lodash/fp/pluck.js +1 -0
  715. package/node_modules/lodash/fp/prop.js +1 -0
  716. package/node_modules/lodash/fp/propEq.js +1 -0
  717. package/node_modules/lodash/fp/propOr.js +1 -0
  718. package/node_modules/lodash/fp/property.js +1 -0
  719. package/node_modules/lodash/fp/propertyOf.js +5 -0
  720. package/node_modules/lodash/fp/props.js +1 -0
  721. package/node_modules/lodash/fp/pull.js +5 -0
  722. package/node_modules/lodash/fp/pullAll.js +5 -0
  723. package/node_modules/lodash/fp/pullAllBy.js +5 -0
  724. package/node_modules/lodash/fp/pullAllWith.js +5 -0
  725. package/node_modules/lodash/fp/pullAt.js +5 -0
  726. package/node_modules/lodash/fp/random.js +5 -0
  727. package/node_modules/lodash/fp/range.js +5 -0
  728. package/node_modules/lodash/fp/rangeRight.js +5 -0
  729. package/node_modules/lodash/fp/rangeStep.js +5 -0
  730. package/node_modules/lodash/fp/rangeStepRight.js +5 -0
  731. package/node_modules/lodash/fp/rearg.js +5 -0
  732. package/node_modules/lodash/fp/reduce.js +5 -0
  733. package/node_modules/lodash/fp/reduceRight.js +5 -0
  734. package/node_modules/lodash/fp/reject.js +5 -0
  735. package/node_modules/lodash/fp/remove.js +5 -0
  736. package/node_modules/lodash/fp/repeat.js +5 -0
  737. package/node_modules/lodash/fp/replace.js +5 -0
  738. package/node_modules/lodash/fp/rest.js +5 -0
  739. package/node_modules/lodash/fp/restFrom.js +5 -0
  740. package/node_modules/lodash/fp/result.js +5 -0
  741. package/node_modules/lodash/fp/reverse.js +5 -0
  742. package/node_modules/lodash/fp/round.js +5 -0
  743. package/node_modules/lodash/fp/sample.js +5 -0
  744. package/node_modules/lodash/fp/sampleSize.js +5 -0
  745. package/node_modules/lodash/fp/seq.js +2 -0
  746. package/node_modules/lodash/fp/set.js +5 -0
  747. package/node_modules/lodash/fp/setWith.js +5 -0
  748. package/node_modules/lodash/fp/shuffle.js +5 -0
  749. package/node_modules/lodash/fp/size.js +5 -0
  750. package/node_modules/lodash/fp/slice.js +5 -0
  751. package/node_modules/lodash/fp/snakeCase.js +5 -0
  752. package/node_modules/lodash/fp/some.js +5 -0
  753. package/node_modules/lodash/fp/sortBy.js +5 -0
  754. package/node_modules/lodash/fp/sortedIndex.js +5 -0
  755. package/node_modules/lodash/fp/sortedIndexBy.js +5 -0
  756. package/node_modules/lodash/fp/sortedIndexOf.js +5 -0
  757. package/node_modules/lodash/fp/sortedLastIndex.js +5 -0
  758. package/node_modules/lodash/fp/sortedLastIndexBy.js +5 -0
  759. package/node_modules/lodash/fp/sortedLastIndexOf.js +5 -0
  760. package/node_modules/lodash/fp/sortedUniq.js +5 -0
  761. package/node_modules/lodash/fp/sortedUniqBy.js +5 -0
  762. package/node_modules/lodash/fp/split.js +5 -0
  763. package/node_modules/lodash/fp/spread.js +5 -0
  764. package/node_modules/lodash/fp/spreadFrom.js +5 -0
  765. package/node_modules/lodash/fp/startCase.js +5 -0
  766. package/node_modules/lodash/fp/startsWith.js +5 -0
  767. package/node_modules/lodash/fp/string.js +2 -0
  768. package/node_modules/lodash/fp/stubArray.js +5 -0
  769. package/node_modules/lodash/fp/stubFalse.js +5 -0
  770. package/node_modules/lodash/fp/stubObject.js +5 -0
  771. package/node_modules/lodash/fp/stubString.js +5 -0
  772. package/node_modules/lodash/fp/stubTrue.js +5 -0
  773. package/node_modules/lodash/fp/subtract.js +5 -0
  774. package/node_modules/lodash/fp/sum.js +5 -0
  775. package/node_modules/lodash/fp/sumBy.js +5 -0
  776. package/node_modules/lodash/fp/symmetricDifference.js +1 -0
  777. package/node_modules/lodash/fp/symmetricDifferenceBy.js +1 -0
  778. package/node_modules/lodash/fp/symmetricDifferenceWith.js +1 -0
  779. package/node_modules/lodash/fp/tail.js +5 -0
  780. package/node_modules/lodash/fp/take.js +5 -0
  781. package/node_modules/lodash/fp/takeLast.js +1 -0
  782. package/node_modules/lodash/fp/takeLastWhile.js +1 -0
  783. package/node_modules/lodash/fp/takeRight.js +5 -0
  784. package/node_modules/lodash/fp/takeRightWhile.js +5 -0
  785. package/node_modules/lodash/fp/takeWhile.js +5 -0
  786. package/node_modules/lodash/fp/tap.js +5 -0
  787. package/node_modules/lodash/fp/template.js +5 -0
  788. package/node_modules/lodash/fp/templateSettings.js +5 -0
  789. package/node_modules/lodash/fp/throttle.js +5 -0
  790. package/node_modules/lodash/fp/thru.js +5 -0
  791. package/node_modules/lodash/fp/times.js +5 -0
  792. package/node_modules/lodash/fp/toArray.js +5 -0
  793. package/node_modules/lodash/fp/toFinite.js +5 -0
  794. package/node_modules/lodash/fp/toInteger.js +5 -0
  795. package/node_modules/lodash/fp/toIterator.js +5 -0
  796. package/node_modules/lodash/fp/toJSON.js +5 -0
  797. package/node_modules/lodash/fp/toLength.js +5 -0
  798. package/node_modules/lodash/fp/toLower.js +5 -0
  799. package/node_modules/lodash/fp/toNumber.js +5 -0
  800. package/node_modules/lodash/fp/toPairs.js +5 -0
  801. package/node_modules/lodash/fp/toPairsIn.js +5 -0
  802. package/node_modules/lodash/fp/toPath.js +5 -0
  803. package/node_modules/lodash/fp/toPlainObject.js +5 -0
  804. package/node_modules/lodash/fp/toSafeInteger.js +5 -0
  805. package/node_modules/lodash/fp/toString.js +5 -0
  806. package/node_modules/lodash/fp/toUpper.js +5 -0
  807. package/node_modules/lodash/fp/transform.js +5 -0
  808. package/node_modules/lodash/fp/trim.js +5 -0
  809. package/node_modules/lodash/fp/trimChars.js +5 -0
  810. package/node_modules/lodash/fp/trimCharsEnd.js +5 -0
  811. package/node_modules/lodash/fp/trimCharsStart.js +5 -0
  812. package/node_modules/lodash/fp/trimEnd.js +5 -0
  813. package/node_modules/lodash/fp/trimStart.js +5 -0
  814. package/node_modules/lodash/fp/truncate.js +5 -0
  815. package/node_modules/lodash/fp/unapply.js +1 -0
  816. package/node_modules/lodash/fp/unary.js +5 -0
  817. package/node_modules/lodash/fp/unescape.js +5 -0
  818. package/node_modules/lodash/fp/union.js +5 -0
  819. package/node_modules/lodash/fp/unionBy.js +5 -0
  820. package/node_modules/lodash/fp/unionWith.js +5 -0
  821. package/node_modules/lodash/fp/uniq.js +5 -0
  822. package/node_modules/lodash/fp/uniqBy.js +5 -0
  823. package/node_modules/lodash/fp/uniqWith.js +5 -0
  824. package/node_modules/lodash/fp/uniqueId.js +5 -0
  825. package/node_modules/lodash/fp/unnest.js +1 -0
  826. package/node_modules/lodash/fp/unset.js +5 -0
  827. package/node_modules/lodash/fp/unzip.js +5 -0
  828. package/node_modules/lodash/fp/unzipWith.js +5 -0
  829. package/node_modules/lodash/fp/update.js +5 -0
  830. package/node_modules/lodash/fp/updateWith.js +5 -0
  831. package/node_modules/lodash/fp/upperCase.js +5 -0
  832. package/node_modules/lodash/fp/upperFirst.js +5 -0
  833. package/node_modules/lodash/fp/useWith.js +1 -0
  834. package/node_modules/lodash/fp/util.js +2 -0
  835. package/node_modules/lodash/fp/value.js +5 -0
  836. package/node_modules/lodash/fp/valueOf.js +5 -0
  837. package/node_modules/lodash/fp/values.js +5 -0
  838. package/node_modules/lodash/fp/valuesIn.js +5 -0
  839. package/node_modules/lodash/fp/where.js +1 -0
  840. package/node_modules/lodash/fp/whereEq.js +1 -0
  841. package/node_modules/lodash/fp/without.js +5 -0
  842. package/node_modules/lodash/fp/words.js +5 -0
  843. package/node_modules/lodash/fp/wrap.js +5 -0
  844. package/node_modules/lodash/fp/wrapperAt.js +5 -0
  845. package/node_modules/lodash/fp/wrapperChain.js +5 -0
  846. package/node_modules/lodash/fp/wrapperLodash.js +5 -0
  847. package/node_modules/lodash/fp/wrapperReverse.js +5 -0
  848. package/node_modules/lodash/fp/wrapperValue.js +5 -0
  849. package/node_modules/lodash/fp/xor.js +5 -0
  850. package/node_modules/lodash/fp/xorBy.js +5 -0
  851. package/node_modules/lodash/fp/xorWith.js +5 -0
  852. package/node_modules/lodash/fp/zip.js +5 -0
  853. package/node_modules/lodash/fp/zipAll.js +5 -0
  854. package/node_modules/lodash/fp/zipObj.js +1 -0
  855. package/node_modules/lodash/fp/zipObject.js +5 -0
  856. package/node_modules/lodash/fp/zipObjectDeep.js +5 -0
  857. package/node_modules/lodash/fp/zipWith.js +5 -0
  858. package/node_modules/lodash/fp.js +2 -0
  859. package/node_modules/lodash/fromPairs.js +28 -0
  860. package/node_modules/lodash/function.js +25 -0
  861. package/node_modules/lodash/functions.js +31 -0
  862. package/node_modules/lodash/functionsIn.js +31 -0
  863. package/node_modules/lodash/get.js +33 -0
  864. package/node_modules/lodash/groupBy.js +41 -0
  865. package/node_modules/lodash/gt.js +29 -0
  866. package/node_modules/lodash/gte.js +30 -0
  867. package/node_modules/lodash/has.js +35 -0
  868. package/node_modules/lodash/hasIn.js +34 -0
  869. package/node_modules/lodash/head.js +23 -0
  870. package/node_modules/lodash/identity.js +21 -0
  871. package/node_modules/lodash/inRange.js +55 -0
  872. package/node_modules/lodash/includes.js +53 -0
  873. package/node_modules/lodash/index.js +1 -0
  874. package/node_modules/lodash/indexOf.js +42 -0
  875. package/node_modules/lodash/initial.js +22 -0
  876. package/node_modules/lodash/intersection.js +30 -0
  877. package/node_modules/lodash/intersectionBy.js +45 -0
  878. package/node_modules/lodash/intersectionWith.js +41 -0
  879. package/node_modules/lodash/invert.js +42 -0
  880. package/node_modules/lodash/invertBy.js +56 -0
  881. package/node_modules/lodash/invoke.js +24 -0
  882. package/node_modules/lodash/invokeMap.js +41 -0
  883. package/node_modules/lodash/isArguments.js +36 -0
  884. package/node_modules/lodash/isArray.js +26 -0
  885. package/node_modules/lodash/isArrayBuffer.js +27 -0
  886. package/node_modules/lodash/isArrayLike.js +33 -0
  887. package/node_modules/lodash/isArrayLikeObject.js +33 -0
  888. package/node_modules/lodash/isBoolean.js +29 -0
  889. package/node_modules/lodash/isBuffer.js +38 -0
  890. package/node_modules/lodash/isDate.js +27 -0
  891. package/node_modules/lodash/isElement.js +25 -0
  892. package/node_modules/lodash/isEmpty.js +77 -0
  893. package/node_modules/lodash/isEqual.js +35 -0
  894. package/node_modules/lodash/isEqualWith.js +41 -0
  895. package/node_modules/lodash/isError.js +36 -0
  896. package/node_modules/lodash/isFinite.js +36 -0
  897. package/node_modules/lodash/isFunction.js +37 -0
  898. package/node_modules/lodash/isInteger.js +33 -0
  899. package/node_modules/lodash/isLength.js +35 -0
  900. package/node_modules/lodash/isMap.js +27 -0
  901. package/node_modules/lodash/isMatch.js +36 -0
  902. package/node_modules/lodash/isMatchWith.js +41 -0
  903. package/node_modules/lodash/isNaN.js +38 -0
  904. package/node_modules/lodash/isNative.js +40 -0
  905. package/node_modules/lodash/isNil.js +25 -0
  906. package/node_modules/lodash/isNull.js +22 -0
  907. package/node_modules/lodash/isNumber.js +38 -0
  908. package/node_modules/lodash/isObject.js +31 -0
  909. package/node_modules/lodash/isObjectLike.js +29 -0
  910. package/node_modules/lodash/isPlainObject.js +62 -0
  911. package/node_modules/lodash/isRegExp.js +27 -0
  912. package/node_modules/lodash/isSafeInteger.js +37 -0
  913. package/node_modules/lodash/isSet.js +27 -0
  914. package/node_modules/lodash/isString.js +30 -0
  915. package/node_modules/lodash/isSymbol.js +29 -0
  916. package/node_modules/lodash/isTypedArray.js +27 -0
  917. package/node_modules/lodash/isUndefined.js +22 -0
  918. package/node_modules/lodash/isWeakMap.js +28 -0
  919. package/node_modules/lodash/isWeakSet.js +28 -0
  920. package/node_modules/lodash/iteratee.js +53 -0
  921. package/node_modules/lodash/join.js +26 -0
  922. package/node_modules/lodash/kebabCase.js +28 -0
  923. package/node_modules/lodash/keyBy.js +36 -0
  924. package/node_modules/lodash/keys.js +37 -0
  925. package/node_modules/lodash/keysIn.js +32 -0
  926. package/node_modules/lodash/lang.js +58 -0
  927. package/node_modules/lodash/last.js +20 -0
  928. package/node_modules/lodash/lastIndexOf.js +46 -0
  929. package/node_modules/lodash/lodash.js +17209 -0
  930. package/node_modules/lodash/lodash.min.js +140 -0
  931. package/node_modules/lodash/lowerCase.js +27 -0
  932. package/node_modules/lodash/lowerFirst.js +22 -0
  933. package/node_modules/lodash/lt.js +29 -0
  934. package/node_modules/lodash/lte.js +30 -0
  935. package/node_modules/lodash/map.js +53 -0
  936. package/node_modules/lodash/mapKeys.js +36 -0
  937. package/node_modules/lodash/mapValues.js +43 -0
  938. package/node_modules/lodash/matches.js +46 -0
  939. package/node_modules/lodash/matchesProperty.js +44 -0
  940. package/node_modules/lodash/math.js +17 -0
  941. package/node_modules/lodash/max.js +29 -0
  942. package/node_modules/lodash/maxBy.js +34 -0
  943. package/node_modules/lodash/mean.js +22 -0
  944. package/node_modules/lodash/meanBy.js +31 -0
  945. package/node_modules/lodash/memoize.js +73 -0
  946. package/node_modules/lodash/merge.js +39 -0
  947. package/node_modules/lodash/mergeWith.js +39 -0
  948. package/node_modules/lodash/method.js +34 -0
  949. package/node_modules/lodash/methodOf.js +33 -0
  950. package/node_modules/lodash/min.js +29 -0
  951. package/node_modules/lodash/minBy.js +34 -0
  952. package/node_modules/lodash/mixin.js +74 -0
  953. package/node_modules/lodash/multiply.js +22 -0
  954. package/node_modules/lodash/negate.js +40 -0
  955. package/node_modules/lodash/next.js +35 -0
  956. package/node_modules/lodash/noop.js +17 -0
  957. package/node_modules/lodash/now.js +23 -0
  958. package/node_modules/lodash/nth.js +29 -0
  959. package/node_modules/lodash/nthArg.js +32 -0
  960. package/node_modules/lodash/number.js +5 -0
  961. package/node_modules/lodash/object.js +49 -0
  962. package/node_modules/lodash/omit.js +57 -0
  963. package/node_modules/lodash/omitBy.js +29 -0
  964. package/node_modules/lodash/once.js +25 -0
  965. package/node_modules/lodash/orderBy.js +47 -0
  966. package/node_modules/lodash/over.js +24 -0
  967. package/node_modules/lodash/overArgs.js +61 -0
  968. package/node_modules/lodash/overEvery.js +34 -0
  969. package/node_modules/lodash/overSome.js +37 -0
  970. package/node_modules/lodash/package.json +17 -0
  971. package/node_modules/lodash/pad.js +49 -0
  972. package/node_modules/lodash/padEnd.js +39 -0
  973. package/node_modules/lodash/padStart.js +39 -0
  974. package/node_modules/lodash/parseInt.js +43 -0
  975. package/node_modules/lodash/partial.js +50 -0
  976. package/node_modules/lodash/partialRight.js +49 -0
  977. package/node_modules/lodash/partition.js +43 -0
  978. package/node_modules/lodash/pick.js +25 -0
  979. package/node_modules/lodash/pickBy.js +37 -0
  980. package/node_modules/lodash/plant.js +48 -0
  981. package/node_modules/lodash/property.js +32 -0
  982. package/node_modules/lodash/propertyOf.js +30 -0
  983. package/node_modules/lodash/pull.js +29 -0
  984. package/node_modules/lodash/pullAll.js +29 -0
  985. package/node_modules/lodash/pullAllBy.js +33 -0
  986. package/node_modules/lodash/pullAllWith.js +32 -0
  987. package/node_modules/lodash/pullAt.js +43 -0
  988. package/node_modules/lodash/random.js +82 -0
  989. package/node_modules/lodash/range.js +46 -0
  990. package/node_modules/lodash/rangeRight.js +41 -0
  991. package/node_modules/lodash/rearg.js +33 -0
  992. package/node_modules/lodash/reduce.js +51 -0
  993. package/node_modules/lodash/reduceRight.js +36 -0
  994. package/node_modules/lodash/reject.js +46 -0
  995. package/node_modules/lodash/release.md +48 -0
  996. package/node_modules/lodash/remove.js +53 -0
  997. package/node_modules/lodash/repeat.js +37 -0
  998. package/node_modules/lodash/replace.js +29 -0
  999. package/node_modules/lodash/rest.js +40 -0
  1000. package/node_modules/lodash/result.js +56 -0
  1001. package/node_modules/lodash/reverse.js +34 -0
  1002. package/node_modules/lodash/round.js +26 -0
  1003. package/node_modules/lodash/sample.js +24 -0
  1004. package/node_modules/lodash/sampleSize.js +37 -0
  1005. package/node_modules/lodash/seq.js +16 -0
  1006. package/node_modules/lodash/set.js +35 -0
  1007. package/node_modules/lodash/setWith.js +32 -0
  1008. package/node_modules/lodash/shuffle.js +25 -0
  1009. package/node_modules/lodash/size.js +46 -0
  1010. package/node_modules/lodash/slice.js +37 -0
  1011. package/node_modules/lodash/snakeCase.js +28 -0
  1012. package/node_modules/lodash/some.js +51 -0
  1013. package/node_modules/lodash/sortBy.js +48 -0
  1014. package/node_modules/lodash/sortedIndex.js +24 -0
  1015. package/node_modules/lodash/sortedIndexBy.js +33 -0
  1016. package/node_modules/lodash/sortedIndexOf.js +31 -0
  1017. package/node_modules/lodash/sortedLastIndex.js +25 -0
  1018. package/node_modules/lodash/sortedLastIndexBy.js +33 -0
  1019. package/node_modules/lodash/sortedLastIndexOf.js +31 -0
  1020. package/node_modules/lodash/sortedUniq.js +24 -0
  1021. package/node_modules/lodash/sortedUniqBy.js +26 -0
  1022. package/node_modules/lodash/split.js +52 -0
  1023. package/node_modules/lodash/spread.js +63 -0
  1024. package/node_modules/lodash/startCase.js +29 -0
  1025. package/node_modules/lodash/startsWith.js +39 -0
  1026. package/node_modules/lodash/string.js +33 -0
  1027. package/node_modules/lodash/stubArray.js +23 -0
  1028. package/node_modules/lodash/stubFalse.js +18 -0
  1029. package/node_modules/lodash/stubObject.js +23 -0
  1030. package/node_modules/lodash/stubString.js +18 -0
  1031. package/node_modules/lodash/stubTrue.js +18 -0
  1032. package/node_modules/lodash/subtract.js +22 -0
  1033. package/node_modules/lodash/sum.js +24 -0
  1034. package/node_modules/lodash/sumBy.js +33 -0
  1035. package/node_modules/lodash/tail.js +22 -0
  1036. package/node_modules/lodash/take.js +37 -0
  1037. package/node_modules/lodash/takeRight.js +39 -0
  1038. package/node_modules/lodash/takeRightWhile.js +45 -0
  1039. package/node_modules/lodash/takeWhile.js +45 -0
  1040. package/node_modules/lodash/tap.js +29 -0
  1041. package/node_modules/lodash/template.js +272 -0
  1042. package/node_modules/lodash/templateSettings.js +67 -0
  1043. package/node_modules/lodash/throttle.js +69 -0
  1044. package/node_modules/lodash/thru.js +28 -0
  1045. package/node_modules/lodash/times.js +51 -0
  1046. package/node_modules/lodash/toArray.js +58 -0
  1047. package/node_modules/lodash/toFinite.js +42 -0
  1048. package/node_modules/lodash/toInteger.js +36 -0
  1049. package/node_modules/lodash/toIterator.js +23 -0
  1050. package/node_modules/lodash/toJSON.js +1 -0
  1051. package/node_modules/lodash/toLength.js +38 -0
  1052. package/node_modules/lodash/toLower.js +28 -0
  1053. package/node_modules/lodash/toNumber.js +64 -0
  1054. package/node_modules/lodash/toPairs.js +30 -0
  1055. package/node_modules/lodash/toPairsIn.js +30 -0
  1056. package/node_modules/lodash/toPath.js +33 -0
  1057. package/node_modules/lodash/toPlainObject.js +32 -0
  1058. package/node_modules/lodash/toSafeInteger.js +37 -0
  1059. package/node_modules/lodash/toString.js +28 -0
  1060. package/node_modules/lodash/toUpper.js +28 -0
  1061. package/node_modules/lodash/transform.js +65 -0
  1062. package/node_modules/lodash/trim.js +47 -0
  1063. package/node_modules/lodash/trimEnd.js +41 -0
  1064. package/node_modules/lodash/trimStart.js +43 -0
  1065. package/node_modules/lodash/truncate.js +111 -0
  1066. package/node_modules/lodash/unary.js +22 -0
  1067. package/node_modules/lodash/unescape.js +34 -0
  1068. package/node_modules/lodash/union.js +26 -0
  1069. package/node_modules/lodash/unionBy.js +39 -0
  1070. package/node_modules/lodash/unionWith.js +34 -0
  1071. package/node_modules/lodash/uniq.js +25 -0
  1072. package/node_modules/lodash/uniqBy.js +31 -0
  1073. package/node_modules/lodash/uniqWith.js +28 -0
  1074. package/node_modules/lodash/uniqueId.js +28 -0
  1075. package/node_modules/lodash/unset.js +34 -0
  1076. package/node_modules/lodash/unzip.js +45 -0
  1077. package/node_modules/lodash/unzipWith.js +39 -0
  1078. package/node_modules/lodash/update.js +35 -0
  1079. package/node_modules/lodash/updateWith.js +33 -0
  1080. package/node_modules/lodash/upperCase.js +27 -0
  1081. package/node_modules/lodash/upperFirst.js +22 -0
  1082. package/node_modules/lodash/util.js +34 -0
  1083. package/node_modules/lodash/value.js +1 -0
  1084. package/node_modules/lodash/valueOf.js +1 -0
  1085. package/node_modules/lodash/values.js +34 -0
  1086. package/node_modules/lodash/valuesIn.js +32 -0
  1087. package/node_modules/lodash/without.js +31 -0
  1088. package/node_modules/lodash/words.js +35 -0
  1089. package/node_modules/lodash/wrap.js +30 -0
  1090. package/node_modules/lodash/wrapperAt.js +48 -0
  1091. package/node_modules/lodash/wrapperChain.js +34 -0
  1092. package/node_modules/lodash/wrapperLodash.js +147 -0
  1093. package/node_modules/lodash/wrapperReverse.js +44 -0
  1094. package/node_modules/lodash/wrapperValue.js +21 -0
  1095. package/node_modules/lodash/xor.js +28 -0
  1096. package/node_modules/lodash/xorBy.js +39 -0
  1097. package/node_modules/lodash/xorWith.js +34 -0
  1098. package/node_modules/lodash/zip.js +22 -0
  1099. package/node_modules/lodash/zipObject.js +24 -0
  1100. package/node_modules/lodash/zipObjectDeep.js +23 -0
  1101. package/node_modules/lodash/zipWith.js +32 -0
  1102. package/package.json +8 -1
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.SharedVolumeExtension = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const ecs_service_extensions_1 = require("@aws-cdk-containers/ecs-service-extensions");
7
+ const utils_1 = require("../utils");
8
+ /**
9
+ * Create a shared volume and attach it to all containers in this task
10
+ * definition.
11
+ */
12
+ class SharedVolumeExtension extends ecs_service_extensions_1.ServiceExtension {
13
+ constructor(volumeName, props) {
14
+ super(`${volumeName}-shared-volume`);
15
+ this.props = props;
16
+ this.volumeName = volumeName;
17
+ }
18
+ useTaskDefinition(taskDefinition) {
19
+ taskDefinition.addVolume({
20
+ name: this.volumeName,
21
+ });
22
+ }
23
+ useService(_service) {
24
+ (0, utils_1.filterContainers)(this.parentService).forEach((ext) => {
25
+ ext.container.addMountPoints({
26
+ sourceVolume: this.volumeName,
27
+ containerPath: this.props.path,
28
+ readOnly: this.props.readonly || false,
29
+ });
30
+ });
31
+ }
32
+ }
33
+ exports.SharedVolumeExtension = SharedVolumeExtension;
34
+ _a = JSII_RTTI_SYMBOL_1;
35
+ SharedVolumeExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.SharedVolumeExtension", version: "0.4.0" };
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hhcmVkVm9sdW1lRXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4dGVuc2lvbnMvU2hhcmVkVm9sdW1lRXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdUZBQThFO0FBRTlFLG9DQUE0QztBQXNCNUM7OztHQUdHO0FBQ0gsTUFBYSxxQkFBc0IsU0FBUSx5Q0FBZ0I7SUFLekQsWUFBWSxVQUFrQixFQUFFLEtBQWlDO1FBQy9ELEtBQUssQ0FBQyxHQUFHLFVBQVUsZ0JBQWdCLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsY0FBa0M7UUFDbEQsY0FBYyxDQUFDLFNBQVMsQ0FBQztZQUN2QixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUE2QztRQUN0RCxJQUFBLHdCQUFnQixFQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNuRCxHQUFHLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQztnQkFDM0IsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUM3QixhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJO2dCQUM5QixRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSzthQUN2QyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBekJILHNEQTBCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlcnZpY2VFeHRlbnNpb24gfSBmcm9tIFwiQGF3cy1jZGstY29udGFpbmVycy9lY3Mtc2VydmljZS1leHRlbnNpb25zXCI7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCB7IGZpbHRlckNvbnRhaW5lcnMgfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhbiBlcGhlcm1hbCBzaGFyZWQgdm9sdW1lLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlZFZvbHVtZUV4dGVuc2lvblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBwYXRoIGluc2lkZSB0aGUgY29udGFpbmVyIHRvIG1vdW50IHRoZSB2b2x1bWUuXG4gICAqL1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHZvbHVtZSBzaG91bGQgYmUgcmVhZC1vbmx5LiBEZWZhdWx0OiBmYWxzZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlYWRvbmx5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2NvcGUgb2YgdGhlIHZvbHVtZS4gRGVmYXVsdDogU0hBUkVELlxuICAgKi9cbiAgcmVhZG9ubHkgc2NvcGU/OiBlY3MuU2NvcGU7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgc2hhcmVkIHZvbHVtZSBhbmQgYXR0YWNoIGl0IHRvIGFsbCBjb250YWluZXJzIGluIHRoaXMgdGFza1xuICogZGVmaW5pdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFNoYXJlZFZvbHVtZUV4dGVuc2lvbiBleHRlbmRzIFNlcnZpY2VFeHRlbnNpb24ge1xuICByZWFkb25seSBwcm9wczogU2hhcmVkVm9sdW1lRXh0ZW5zaW9uUHJvcHM7XG5cbiAgcmVhZG9ubHkgdm9sdW1lTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHZvbHVtZU5hbWU6IHN0cmluZywgcHJvcHM6IFNoYXJlZFZvbHVtZUV4dGVuc2lvblByb3BzKSB7XG4gICAgc3VwZXIoYCR7dm9sdW1lTmFtZX0tc2hhcmVkLXZvbHVtZWApO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLnZvbHVtZU5hbWUgPSB2b2x1bWVOYW1lO1xuICB9XG5cbiAgdXNlVGFza0RlZmluaXRpb24odGFza0RlZmluaXRpb246IGVjcy5UYXNrRGVmaW5pdGlvbik6IHZvaWQge1xuICAgIHRhc2tEZWZpbml0aW9uLmFkZFZvbHVtZSh7XG4gICAgICBuYW1lOiB0aGlzLnZvbHVtZU5hbWUsXG4gICAgfSk7XG4gIH1cblxuICB1c2VTZXJ2aWNlKF9zZXJ2aWNlOiBlY3MuRWMyU2VydmljZSB8IGVjcy5GYXJnYXRlU2VydmljZSk6IHZvaWQge1xuICAgIGZpbHRlckNvbnRhaW5lcnModGhpcy5wYXJlbnRTZXJ2aWNlKS5mb3JFYWNoKChleHQpID0+IHtcbiAgICAgIGV4dC5jb250YWluZXIuYWRkTW91bnRQb2ludHMoe1xuICAgICAgICBzb3VyY2VWb2x1bWU6IHRoaXMudm9sdW1lTmFtZSxcbiAgICAgICAgY29udGFpbmVyUGF0aDogdGhpcy5wcm9wcy5wYXRoLFxuICAgICAgICByZWFkT25seTogdGhpcy5wcm9wcy5yZWFkb25seSB8fCBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.TcpKeepAliveExtension = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const ecs_service_extensions_1 = require("@aws-cdk-containers/ecs-service-extensions");
7
+ const utils_1 = require("../utils");
7
8
  class AddSystemControlsHook extends ecs_service_extensions_1.ContainerMutatingHook {
8
9
  constructor(props) {
9
10
  super();
@@ -45,15 +46,12 @@ class TcpKeepAliveExtension extends ecs_service_extensions_1.ServiceExtension {
45
46
  }
46
47
  addHooks() {
47
48
  // add this hook to the main service container and all containers added by our extra container extension
48
- Object.entries(this.parentService.serviceDescription.extensions)
49
- .filter(([key]) => key === "service-container" ||
50
- key.endsWith("-extra-container-extension"))
51
- .forEach(([_, extension]) => {
52
- extension.addContainerMutatingHook(new AddSystemControlsHook(this.props));
49
+ (0, utils_1.filterContainers)(this.parentService).forEach((ext) => {
50
+ ext.addContainerMutatingHook(new AddSystemControlsHook(this.props));
53
51
  });
54
52
  }
55
53
  }
56
54
  exports.TcpKeepAliveExtension = TcpKeepAliveExtension;
57
55
  _a = JSII_RTTI_SYMBOL_1;
58
- TcpKeepAliveExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.TcpKeepAliveExtension", version: "0.2.0" };
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGNwS2VlcEFsaXZlRXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4dGVuc2lvbnMvVGNwS2VlcEFsaXZlRXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdUZBR29EO0FBU3BELE1BQU0scUJBQXNCLFNBQVEsOENBQXFCO0lBQ3ZELFlBQW9CLEtBQWlDO1FBQ25ELEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxHQUFMLEtBQUssQ0FBNEI7SUFFckQsQ0FBQztJQUVELHlCQUF5QixDQUN2QixLQUFxQztRQUVyQyxPQUFPO1lBQ0wsR0FBRyxLQUFLO1lBQ1IsY0FBYyxFQUFFO2dCQUNkO29CQUNFLFNBQVMsRUFBRSw2QkFBNkI7b0JBQ3hDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7aUJBQ2xDO2dCQUNEO29CQUNFLFNBQVMsRUFBRSw4QkFBOEI7b0JBQ3pDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7aUJBQ3RDO2dCQUNEO29CQUNFLFNBQVMsRUFBRSwrQkFBK0I7b0JBQzFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7aUJBQ3BDO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQsTUFBYSxxQkFBc0IsU0FBUSx5Q0FBZ0I7SUFHekQsWUFBWSxLQUFrQztRQUM1QyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUVqQyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDckIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxHQUFHO2dCQUNYLElBQUksRUFBRSxHQUFHO2dCQUNULFFBQVEsRUFBRSxHQUFHO2dCQUNiLE1BQU0sRUFBRSxDQUFDO2FBQ1YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUTtRQUNiLHdHQUF3RztRQUN4RyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDO2FBQzdELE1BQU0sQ0FDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUNSLEdBQUcsS0FBSyxtQkFBbUI7WUFDM0IsR0FBRyxDQUFDLFFBQVEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUM3QzthQUNBLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUU7WUFDMUIsU0FBUyxDQUFDLHdCQUF3QixDQUNoQyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDdEMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7QUE5Qkgsc0RBK0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29udGFpbmVyTXV0YXRpbmdIb29rLFxuICBTZXJ2aWNlRXh0ZW5zaW9uLFxufSBmcm9tIFwiQGF3cy1jZGstY29udGFpbmVycy9lY3Mtc2VydmljZS1leHRlbnNpb25zXCI7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUY3BLZWVwQWxpdmVFeHRlbnNpb25Qcm9wcyB7XG4gIHJlYWRvbmx5IHRpbWU6IG51bWJlcjtcbiAgcmVhZG9ubHkgaW50ZXJ2YWw6IG51bWJlcjtcbiAgcmVhZG9ubHkgcHJvYmVzOiBudW1iZXI7XG59XG5cbmNsYXNzIEFkZFN5c3RlbUNvbnRyb2xzSG9vayBleHRlbmRzIENvbnRhaW5lck11dGF0aW5nSG9vayB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJvcHM6IFRjcEtlZXBBbGl2ZUV4dGVuc2lvblByb3BzKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG11dGF0ZUNvbnRhaW5lckRlZmluaXRpb24oXG4gICAgcHJvcHM6IGVjcy5Db250YWluZXJEZWZpbml0aW9uT3B0aW9ucyxcbiAgKTogZWNzLkNvbnRhaW5lckRlZmluaXRpb25PcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBzeXN0ZW1Db250cm9sczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZXNwYWNlOiBcIm5ldC5pcHY0LnRjcF9rZWVwYWxpdmVfdGltZVwiLFxuICAgICAgICAgIHZhbHVlOiB0aGlzLnByb3BzLnRpbWUudG9TdHJpbmcoKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWVzcGFjZTogXCJuZXQuaXB2NC50Y3Bfa2VlcGFsaXZlX2ludHZsXCIsXG4gICAgICAgICAgdmFsdWU6IHRoaXMucHJvcHMuaW50ZXJ2YWwudG9TdHJpbmcoKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWVzcGFjZTogXCJuZXQuaXB2NC50Y3Bfa2VlcGFsaXZlX3Byb2Jlc1wiLFxuICAgICAgICAgIHZhbHVlOiB0aGlzLnByb3BzLnByb2Jlcy50b1N0cmluZygpLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUY3BLZWVwQWxpdmVFeHRlbnNpb24gZXh0ZW5kcyBTZXJ2aWNlRXh0ZW5zaW9uIHtcbiAgcmVhZG9ubHkgcHJvcHM6IFRjcEtlZXBBbGl2ZUV4dGVuc2lvblByb3BzO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzPzogVGNwS2VlcEFsaXZlRXh0ZW5zaW9uUHJvcHMpIHtcbiAgICBzdXBlcihcInRjcC1rZWVwYWxpdmUtZXh0ZW5zaW9uXCIpO1xuXG4gICAgaWYgKHByb3BzKSB7XG4gICAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvcHMgPSB7XG4gICAgICAgIHRpbWU6IDIwMCxcbiAgICAgICAgaW50ZXJ2YWw6IDIwMCxcbiAgICAgICAgcHJvYmVzOiA1LFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkSG9va3MoKSB7XG4gICAgLy8gYWRkIHRoaXMgaG9vayB0byB0aGUgbWFpbiBzZXJ2aWNlIGNvbnRhaW5lciBhbmQgYWxsIGNvbnRhaW5lcnMgYWRkZWQgYnkgb3VyIGV4dHJhIGNvbnRhaW5lciBleHRlbnNpb25cbiAgICBPYmplY3QuZW50cmllcyh0aGlzLnBhcmVudFNlcnZpY2Uuc2VydmljZURlc2NyaXB0aW9uLmV4dGVuc2lvbnMpXG4gICAgICAuZmlsdGVyKFxuICAgICAgICAoW2tleV0pID0+XG4gICAgICAgICAga2V5ID09PSBcInNlcnZpY2UtY29udGFpbmVyXCIgfHxcbiAgICAgICAgICBrZXkuZW5kc1dpdGgoXCItZXh0cmEtY29udGFpbmVyLWV4dGVuc2lvblwiKSxcbiAgICAgIClcbiAgICAgIC5mb3JFYWNoKChbXywgZXh0ZW5zaW9uXSkgPT4ge1xuICAgICAgICBleHRlbnNpb24uYWRkQ29udGFpbmVyTXV0YXRpbmdIb29rKFxuICAgICAgICAgIG5ldyBBZGRTeXN0ZW1Db250cm9sc0hvb2sodGhpcy5wcm9wcyksXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
56
+ TcpKeepAliveExtension[_a] = { fqn: "@btc-embedded/cdk-extensions.TcpKeepAliveExtension", version: "0.4.0" };
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGNwS2VlcEFsaXZlRXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4dGVuc2lvbnMvVGNwS2VlcEFsaXZlRXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdUZBR29EO0FBRXBELG9DQUE0QztBQVE1QyxNQUFNLHFCQUFzQixTQUFRLDhDQUFxQjtJQUN2RCxZQUFvQixLQUFpQztRQUNuRCxLQUFLLEVBQUUsQ0FBQztRQURVLFVBQUssR0FBTCxLQUFLLENBQTRCO0lBRXJELENBQUM7SUFFRCx5QkFBeUIsQ0FDdkIsS0FBcUM7UUFFckMsT0FBTztZQUNMLEdBQUcsS0FBSztZQUNSLGNBQWMsRUFBRTtnQkFDZDtvQkFDRSxTQUFTLEVBQUUsNkJBQTZCO29CQUN4QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2lCQUNsQztnQkFDRDtvQkFDRSxTQUFTLEVBQUUsOEJBQThCO29CQUN6QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFO2lCQUN0QztnQkFDRDtvQkFDRSxTQUFTLEVBQUUsK0JBQStCO29CQUMxQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO2lCQUNwQzthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVELE1BQWEscUJBQXNCLFNBQVEseUNBQWdCO0lBR3pELFlBQVksS0FBa0M7UUFDNUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFFakMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssR0FBRztnQkFDWCxJQUFJLEVBQUUsR0FBRztnQkFDVCxRQUFRLEVBQUUsR0FBRztnQkFDYixNQUFNLEVBQUUsQ0FBQzthQUNWLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVNLFFBQVE7UUFDYix3R0FBd0c7UUFDeEcsSUFBQSx3QkFBZ0IsRUFBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDbkQsR0FBRyxDQUFDLHdCQUF3QixDQUFDLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXRCSCxzREF1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb250YWluZXJNdXRhdGluZ0hvb2ssXG4gIFNlcnZpY2VFeHRlbnNpb24sXG59IGZyb20gXCJAYXdzLWNkay1jb250YWluZXJzL2Vjcy1zZXJ2aWNlLWV4dGVuc2lvbnNcIjtcbmltcG9ydCAqIGFzIGVjcyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjc1wiO1xuaW1wb3J0IHsgZmlsdGVyQ29udGFpbmVycyB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRjcEtlZXBBbGl2ZUV4dGVuc2lvblByb3BzIHtcbiAgcmVhZG9ubHkgdGltZTogbnVtYmVyO1xuICByZWFkb25seSBpbnRlcnZhbDogbnVtYmVyO1xuICByZWFkb25seSBwcm9iZXM6IG51bWJlcjtcbn1cblxuY2xhc3MgQWRkU3lzdGVtQ29udHJvbHNIb29rIGV4dGVuZHMgQ29udGFpbmVyTXV0YXRpbmdIb29rIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcm9wczogVGNwS2VlcEFsaXZlRXh0ZW5zaW9uUHJvcHMpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbXV0YXRlQ29udGFpbmVyRGVmaW5pdGlvbihcbiAgICBwcm9wczogZWNzLkNvbnRhaW5lckRlZmluaXRpb25PcHRpb25zLFxuICApOiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHN5c3RlbUNvbnRyb2xzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lc3BhY2U6IFwibmV0LmlwdjQudGNwX2tlZXBhbGl2ZV90aW1lXCIsXG4gICAgICAgICAgdmFsdWU6IHRoaXMucHJvcHMudGltZS50b1N0cmluZygpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZXNwYWNlOiBcIm5ldC5pcHY0LnRjcF9rZWVwYWxpdmVfaW50dmxcIixcbiAgICAgICAgICB2YWx1ZTogdGhpcy5wcm9wcy5pbnRlcnZhbC50b1N0cmluZygpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZXNwYWNlOiBcIm5ldC5pcHY0LnRjcF9rZWVwYWxpdmVfcHJvYmVzXCIsXG4gICAgICAgICAgdmFsdWU6IHRoaXMucHJvcHMucHJvYmVzLnRvU3RyaW5nKCksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRjcEtlZXBBbGl2ZUV4dGVuc2lvbiBleHRlbmRzIFNlcnZpY2VFeHRlbnNpb24ge1xuICByZWFkb25seSBwcm9wczogVGNwS2VlcEFsaXZlRXh0ZW5zaW9uUHJvcHM7XG5cbiAgY29uc3RydWN0b3IocHJvcHM/OiBUY3BLZWVwQWxpdmVFeHRlbnNpb25Qcm9wcykge1xuICAgIHN1cGVyKFwidGNwLWtlZXBhbGl2ZS1leHRlbnNpb25cIik7XG5cbiAgICBpZiAocHJvcHMpIHtcbiAgICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm9wcyA9IHtcbiAgICAgICAgdGltZTogMjAwLFxuICAgICAgICBpbnRlcnZhbDogMjAwLFxuICAgICAgICBwcm9iZXM6IDUsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRIb29rcygpIHtcbiAgICAvLyBhZGQgdGhpcyBob29rIHRvIHRoZSBtYWluIHNlcnZpY2UgY29udGFpbmVyIGFuZCBhbGwgY29udGFpbmVycyBhZGRlZCBieSBvdXIgZXh0cmEgY29udGFpbmVyIGV4dGVuc2lvblxuICAgIGZpbHRlckNvbnRhaW5lcnModGhpcy5wYXJlbnRTZXJ2aWNlKS5mb3JFYWNoKChleHQpID0+IHtcbiAgICAgIGV4dC5hZGRDb250YWluZXJNdXRhdGluZ0hvb2sobmV3IEFkZFN5c3RlbUNvbnRyb2xzSG9vayh0aGlzLnByb3BzKSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,8 +1,10 @@
1
1
  export * from "./ApiGatewayExtension";
2
+ export * from "./ApplicationLoadBalancerExtension";
2
3
  export * from "./CloudMapExtension";
3
4
  export * from "./DocumentDbAccessExtension";
4
5
  export * from "./DomainEventMessagingExtension";
5
6
  export * from "./ExtraContainerExtension";
6
7
  export * from "./LogExtension";
8
+ export * from "./PostgresDbAccessExtension";
9
+ export * from "./SharedVolumeExtension";
7
10
  export * from "./TcpKeepAliveExtension";
8
- export * from "./ApplicationLoadBalancerExtension";
@@ -15,11 +15,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./ApiGatewayExtension"), exports);
18
+ __exportStar(require("./ApplicationLoadBalancerExtension"), exports);
18
19
  __exportStar(require("./CloudMapExtension"), exports);
19
20
  __exportStar(require("./DocumentDbAccessExtension"), exports);
20
21
  __exportStar(require("./DomainEventMessagingExtension"), exports);
21
22
  __exportStar(require("./ExtraContainerExtension"), exports);
22
23
  __exportStar(require("./LogExtension"), exports);
24
+ __exportStar(require("./PostgresDbAccessExtension"), exports);
25
+ __exportStar(require("./SharedVolumeExtension"), exports);
23
26
  __exportStar(require("./TcpKeepAliveExtension"), exports);
24
- __exportStar(require("./ApplicationLoadBalancerExtension"), exports);
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXh0ZW5zaW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0RBQXNDO0FBQ3RDLHNEQUFvQztBQUNwQyw4REFBNEM7QUFDNUMsa0VBQWdEO0FBQ2hELDREQUEwQztBQUMxQyxpREFBK0I7QUFDL0IsMERBQXdDO0FBQ3hDLHFFQUFtRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0FwaUdhdGV3YXlFeHRlbnNpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL0Nsb3VkTWFwRXh0ZW5zaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Eb2N1bWVudERiQWNjZXNzRXh0ZW5zaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Eb21haW5FdmVudE1lc3NhZ2luZ0V4dGVuc2lvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vRXh0cmFDb250YWluZXJFeHRlbnNpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL0xvZ0V4dGVuc2lvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVGNwS2VlcEFsaXZlRXh0ZW5zaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9BcHBsaWNhdGlvbkxvYWRCYWxhbmNlckV4dGVuc2lvblwiO1xuIl19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXh0ZW5zaW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0RBQXNDO0FBQ3RDLHFFQUFtRDtBQUNuRCxzREFBb0M7QUFDcEMsOERBQTRDO0FBQzVDLGtFQUFnRDtBQUNoRCw0REFBMEM7QUFDMUMsaURBQStCO0FBQy9CLDhEQUE0QztBQUM1QywwREFBd0M7QUFDeEMsMERBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vQXBpR2F0ZXdheUV4dGVuc2lvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJFeHRlbnNpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL0Nsb3VkTWFwRXh0ZW5zaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Eb2N1bWVudERiQWNjZXNzRXh0ZW5zaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Eb21haW5FdmVudE1lc3NhZ2luZ0V4dGVuc2lvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vRXh0cmFDb250YWluZXJFeHRlbnNpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL0xvZ0V4dGVuc2lvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vUG9zdGdyZXNEYkFjY2Vzc0V4dGVuc2lvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vU2hhcmVkVm9sdW1lRXh0ZW5zaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9UY3BLZWVwQWxpdmVFeHRlbnNpb25cIjtcbiJdfQ==
package/lib/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from "./extensions";
2
+ export * from "./platform";
2
3
  export * from "./utils";
package/lib/index.js CHANGED
@@ -15,5 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./extensions"), exports);
18
+ __exportStar(require("./platform"), exports);
18
19
  __exportStar(require("./utils"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QjtBQUM3QiwwQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9leHRlbnNpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlsc1wiO1xuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QjtBQUM3Qiw2Q0FBMkI7QUFDM0IsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZXh0ZW5zaW9uc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhdGZvcm1cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzXCI7XG4iXX0=
@@ -0,0 +1,58 @@
1
+ import { IUserPool, IUserPoolClient } from "aws-cdk-lib/aws-cognito";
2
+ import { IVpc } from "aws-cdk-lib/aws-ec2";
3
+ import { IHostedZone } from "aws-cdk-lib/aws-route53";
4
+ import { Construct } from "constructs";
5
+ export interface ApiGatewayProps {
6
+ /**
7
+ * The name of the stack, used for prefixing the output parameter names.
8
+ */
9
+ readonly stackName: string;
10
+ /**
11
+ * VPC where the API GW Security group and VPC Link will be created.
12
+ */
13
+ readonly vpc: IVpc;
14
+ /**
15
+ * Specify the Cognito User Pool to be used for authorizing requests on the API Gateway.
16
+ */
17
+ readonly userPool: IUserPool;
18
+ /**
19
+ * List of User Pool Clients that are allowed to access the API Gateway.
20
+ */
21
+ readonly userPoolClients: Array<IUserPoolClient>;
22
+ /**
23
+ * Domain prefix for the API Gateway endpoint.
24
+ */
25
+ readonly domainPrefix: string;
26
+ /**
27
+ * Hosted Zone to create the gateway domain A record.
28
+ */
29
+ readonly hostedZone: IHostedZone;
30
+ /**
31
+ * Enable access logs for the API Gateway.
32
+ *
33
+ * default: true
34
+ */
35
+ readonly enableAccessLogs?: boolean;
36
+ }
37
+ /**
38
+ * API Gateway construct to be used in base platforms.
39
+ *
40
+ * This API Gateway construct sets up an API Gateway V2 and a default HTTP API
41
+ * protected by the provided Cognito user pool and client(s). The construct
42
+ * registers an A record for the subdomain in the provided hosted zone. It also
43
+ * creates a VPC Link (and security group) for the API Gateway to connect to
44
+ * services in the VPC.
45
+ *
46
+ * The relevant parameters are exposed as CloudFormation outputs so that they
47
+ * can be used by the CDK extensions provided in this library.
48
+ *
49
+ */
50
+ export declare class ApiGateway extends Construct {
51
+ private securityGroup;
52
+ private vpcLink;
53
+ private httpApi;
54
+ private readonly OUTPUT_PARAMETER_PREFIX;
55
+ constructor(scope: Construct, id: string, props: ApiGatewayProps);
56
+ private exposeParameters;
57
+ private enableAccessLogs;
58
+ }
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ApiGateway = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const aws_apigatewayv2_1 = require("aws-cdk-lib/aws-apigatewayv2");
7
+ const aws_apigatewayv2_authorizers_1 = require("aws-cdk-lib/aws-apigatewayv2-authorizers");
8
+ const aws_certificatemanager_1 = require("aws-cdk-lib/aws-certificatemanager");
9
+ const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
10
+ const aws_iam_1 = require("aws-cdk-lib/aws-iam");
11
+ const aws_logs_1 = require("aws-cdk-lib/aws-logs");
12
+ const aws_route53_1 = require("aws-cdk-lib/aws-route53");
13
+ const aws_route53_targets_1 = require("aws-cdk-lib/aws-route53-targets");
14
+ const constructs_1 = require("constructs");
15
+ const utils_1 = require("../utils");
16
+ /**
17
+ * API Gateway construct to be used in base platforms.
18
+ *
19
+ * This API Gateway construct sets up an API Gateway V2 and a default HTTP API
20
+ * protected by the provided Cognito user pool and client(s). The construct
21
+ * registers an A record for the subdomain in the provided hosted zone. It also
22
+ * creates a VPC Link (and security group) for the API Gateway to connect to
23
+ * services in the VPC.
24
+ *
25
+ * The relevant parameters are exposed as CloudFormation outputs so that they
26
+ * can be used by the CDK extensions provided in this library.
27
+ *
28
+ */
29
+ class ApiGateway extends constructs_1.Construct {
30
+ constructor(scope, id, props) {
31
+ super(scope, id);
32
+ this.OUTPUT_PARAMETER_PREFIX = "api-gateway";
33
+ this.securityGroup = new aws_ec2_1.SecurityGroup(this, "VpcLinkSecurityGroup", {
34
+ vpc: props.vpc,
35
+ allowAllOutbound: false,
36
+ });
37
+ this.vpcLink = new aws_apigatewayv2_1.VpcLink(this, "HttpVpcLink", {
38
+ vpc: props.vpc,
39
+ vpcLinkName: "APIGW V2 VPC Link",
40
+ securityGroups: [this.securityGroup],
41
+ });
42
+ const domainName = `${props.domainPrefix}.${props.hostedZone.zoneName}`;
43
+ const certificate = new aws_certificatemanager_1.Certificate(this, "Certificate", {
44
+ domainName: domainName,
45
+ validation: aws_certificatemanager_1.CertificateValidation.fromDns(props.hostedZone),
46
+ });
47
+ const domain = new aws_apigatewayv2_1.DomainName(this, "DomainName", {
48
+ domainName: domainName,
49
+ certificate: certificate,
50
+ });
51
+ new aws_route53_1.ARecord(this, "APIGWARecord", {
52
+ zone: props.hostedZone,
53
+ recordName: props.domainPrefix,
54
+ target: aws_route53_1.RecordTarget.fromAlias(new aws_route53_targets_1.ApiGatewayv2DomainProperties(domain.regionalDomainName, domain.regionalHostedZoneId)),
55
+ });
56
+ const defaultAuthorizer = new aws_apigatewayv2_authorizers_1.HttpUserPoolAuthorizer("CognitoAuthorizer", props.userPool, {
57
+ userPoolClients: props.userPoolClients,
58
+ });
59
+ this.httpApi = new aws_apigatewayv2_1.HttpApi(this, "HttpApi", {
60
+ apiName: `${props.stackName}HttpApi`,
61
+ description: "Default HTTP API",
62
+ defaultAuthorizer: defaultAuthorizer,
63
+ defaultDomainMapping: {
64
+ domainName: domain,
65
+ mappingKey: "ApiMapping",
66
+ },
67
+ });
68
+ if (props.enableAccessLogs ?? true) {
69
+ this.enableAccessLogs(this.httpApi);
70
+ }
71
+ this.exposeParameters();
72
+ }
73
+ exposeParameters() {
74
+ const exportValue = (0, utils_1.createExporter)(this, this.OUTPUT_PARAMETER_PREFIX);
75
+ exportValue({
76
+ name: "APIGateway Id",
77
+ key: "id",
78
+ value: this.httpApi.apiId,
79
+ });
80
+ exportValue({
81
+ name: "APIGateway VPCLink Id",
82
+ key: "vpc-link-id",
83
+ value: this.vpcLink.vpcLinkId,
84
+ });
85
+ exportValue({
86
+ name: "APIGateway Security Group Id",
87
+ key: "security-group-id",
88
+ value: this.securityGroup.securityGroupId,
89
+ });
90
+ }
91
+ enableAccessLogs(apiEndpoint) {
92
+ const stage = apiEndpoint.defaultStage.node.defaultChild;
93
+ const logGroup = new aws_logs_1.LogGroup(apiEndpoint, "APIGWAccessLogs", {
94
+ retention: 90,
95
+ });
96
+ stage.accessLogSettings = {
97
+ destinationArn: logGroup.logGroupArn,
98
+ format: JSON.stringify({
99
+ requestId: "$context.requestId",
100
+ userAgent: "$context.identity.userAgent",
101
+ sourceIp: "$context.identity.sourceIp",
102
+ requestTime: "$context.requestTime",
103
+ httpMethod: "$context.httpMethod",
104
+ path: "$context.path",
105
+ status: "$context.status",
106
+ responseLength: "$context.responseLength",
107
+ }),
108
+ };
109
+ logGroup.grantWrite(new aws_iam_1.ServicePrincipal("apigateway.amazonaws.com"));
110
+ }
111
+ }
112
+ exports.ApiGateway = ApiGateway;
113
+ _a = JSII_RTTI_SYMBOL_1;
114
+ ApiGateway[_a] = { fqn: "@btc-embedded/cdk-extensions.ApiGateway", version: "0.4.0" };
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpR2F0ZXdheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbGF0Zm9ybS9BcGlHYXRld2F5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUVBTXNDO0FBQ3RDLDJGQUFrRjtBQUNsRiwrRUFHNEM7QUFFNUMsaURBQTBFO0FBQzFFLGlEQUF1RDtBQUN2RCxtREFBZ0Q7QUFDaEQseURBQTZFO0FBQzdFLHlFQUErRTtBQUMvRSwyQ0FBdUM7QUFDdkMsb0NBQTBDO0FBeUMxQzs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFhLFVBQVcsU0FBUSxzQkFBUztJQU92QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFIRiw0QkFBdUIsR0FBRyxhQUFhLENBQUM7UUFLdkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLHVCQUFhLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFO1lBQ25FLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLGdCQUFnQixFQUFFLEtBQUs7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLDBCQUFPLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUM5QyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxXQUFXLEVBQUUsbUJBQW1CO1lBQ2hDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDckMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxVQUFVLEdBQUcsR0FBRyxLQUFLLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFeEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxvQ0FBVyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDdkQsVUFBVSxFQUFFLFVBQVU7WUFDdEIsVUFBVSxFQUFFLDhDQUFxQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1NBQzVELENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLElBQUksNkJBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ2hELFVBQVUsRUFBRSxVQUFVO1lBQ3RCLFdBQVcsRUFBRSxXQUFXO1NBQ3pCLENBQUMsQ0FBQztRQUVILElBQUkscUJBQU8sQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ2hDLElBQUksRUFBRSxLQUFLLENBQUMsVUFBVTtZQUN0QixVQUFVLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDOUIsTUFBTSxFQUFFLDBCQUFZLENBQUMsU0FBUyxDQUM1QixJQUFJLGtEQUE0QixDQUM5QixNQUFNLENBQUMsa0JBQWtCLEVBQ3pCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FDNUIsQ0FDRjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0saUJBQWlCLEdBQUcsSUFBSSxxREFBc0IsQ0FDbEQsbUJBQW1CLEVBQ25CLEtBQUssQ0FBQyxRQUFRLEVBQ2Q7WUFDRSxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7U0FDdkMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLDBCQUFPLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUMxQyxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUMsU0FBUyxTQUFTO1lBQ3BDLFdBQVcsRUFBRSxrQkFBa0I7WUFDL0IsaUJBQWlCLEVBQUUsaUJBQWlCO1lBQ3BDLG9CQUFvQixFQUFFO2dCQUNwQixVQUFVLEVBQUUsTUFBTTtnQkFDbEIsVUFBVSxFQUFFLFlBQVk7YUFDekI7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLE1BQU0sV0FBVyxHQUFHLElBQUEsc0JBQWMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFFdkUsV0FBVyxDQUFDO1lBQ1YsSUFBSSxFQUFFLGVBQWU7WUFDckIsR0FBRyxFQUFFLElBQUk7WUFDVCxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLO1NBQzFCLENBQUMsQ0FBQztRQUVILFdBQVcsQ0FBQztZQUNWLElBQUksRUFBRSx1QkFBdUI7WUFDN0IsR0FBRyxFQUFFLGFBQWE7WUFDbEIsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUztTQUM5QixDQUFDLENBQUM7UUFFSCxXQUFXLENBQUM7WUFDVixJQUFJLEVBQUUsOEJBQThCO1lBQ3BDLEdBQUcsRUFBRSxtQkFBbUI7WUFDeEIsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtTQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsV0FBb0I7UUFDM0MsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLFlBQWEsQ0FBQyxJQUFJLENBQUMsWUFBd0IsQ0FBQztRQUN0RSxNQUFNLFFBQVEsR0FBRyxJQUFJLG1CQUFRLENBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFFO1lBQzVELFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLGlCQUFpQixHQUFHO1lBQ3hCLGNBQWMsRUFBRSxRQUFRLENBQUMsV0FBVztZQUNwQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDckIsU0FBUyxFQUFFLG9CQUFvQjtnQkFDL0IsU0FBUyxFQUFFLDZCQUE2QjtnQkFDeEMsUUFBUSxFQUFFLDRCQUE0QjtnQkFDdEMsV0FBVyxFQUFFLHNCQUFzQjtnQkFDbkMsVUFBVSxFQUFFLHFCQUFxQjtnQkFDakMsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLE1BQU0sRUFBRSxpQkFBaUI7Z0JBQ3pCLGNBQWMsRUFBRSx5QkFBeUI7YUFDMUMsQ0FBQztTQUNILENBQUM7UUFFRixRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksMEJBQWdCLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7O0FBaEhILGdDQWlIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENmblN0YWdlLFxuICBEb21haW5OYW1lLFxuICBIdHRwQXBpLFxuICBJVnBjTGluayxcbiAgVnBjTGluayxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5djJcIjtcbmltcG9ydCB7IEh0dHBVc2VyUG9vbEF1dGhvcml6ZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXl2Mi1hdXRob3JpemVyc1wiO1xuaW1wb3J0IHtcbiAgQ2VydGlmaWNhdGUsXG4gIENlcnRpZmljYXRlVmFsaWRhdGlvbixcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXJcIjtcbmltcG9ydCB7IElVc2VyUG9vbCwgSVVzZXJQb29sQ2xpZW50IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2duaXRvXCI7XG5pbXBvcnQgeyBJU2VjdXJpdHlHcm91cCwgSVZwYywgU2VjdXJpdHlHcm91cCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyBTZXJ2aWNlUHJpbmNpcGFsIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IExvZ0dyb3VwIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCI7XG5pbXBvcnQgeyBBUmVjb3JkLCBJSG9zdGVkWm9uZSwgUmVjb3JkVGFyZ2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQgeyBBcGlHYXRld2F5djJEb21haW5Qcm9wZXJ0aWVzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzLXRhcmdldHNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBjcmVhdGVFeHBvcnRlciB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwaUdhdGV3YXlQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgc3RhY2ssIHVzZWQgZm9yIHByZWZpeGluZyB0aGUgb3V0cHV0IHBhcmFtZXRlciBuYW1lcy5cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWUEMgd2hlcmUgdGhlIEFQSSBHVyBTZWN1cml0eSBncm91cCBhbmQgVlBDIExpbmsgd2lsbCBiZSBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjOiBJVnBjO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IHRoZSBDb2duaXRvIFVzZXIgUG9vbCB0byBiZSB1c2VkIGZvciBhdXRob3JpemluZyByZXF1ZXN0cyBvbiB0aGUgQVBJIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSB1c2VyUG9vbDogSVVzZXJQb29sO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIFVzZXIgUG9vbCBDbGllbnRzIHRoYXQgYXJlIGFsbG93ZWQgdG8gYWNjZXNzIHRoZSBBUEkgR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJQb29sQ2xpZW50czogQXJyYXk8SVVzZXJQb29sQ2xpZW50PjtcblxuICAvKipcbiAgICogRG9tYWluIHByZWZpeCBmb3IgdGhlIEFQSSBHYXRld2F5IGVuZHBvaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluUHJlZml4OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEhvc3RlZCBab25lIHRvIGNyZWF0ZSB0aGUgZ2F0ZXdheSBkb21haW4gQSByZWNvcmQuXG4gICAqL1xuICByZWFkb25seSBob3N0ZWRab25lOiBJSG9zdGVkWm9uZTtcblxuICAvKipcbiAgICogRW5hYmxlIGFjY2VzcyBsb2dzIGZvciB0aGUgQVBJIEdhdGV3YXkuXG4gICAqXG4gICAqIGRlZmF1bHQ6IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUFjY2Vzc0xvZ3M/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEFQSSBHYXRld2F5IGNvbnN0cnVjdCB0byBiZSB1c2VkIGluIGJhc2UgcGxhdGZvcm1zLlxuICpcbiAqIFRoaXMgQVBJIEdhdGV3YXkgY29uc3RydWN0IHNldHMgdXAgYW4gQVBJIEdhdGV3YXkgVjIgYW5kIGEgZGVmYXVsdCBIVFRQIEFQSVxuICogcHJvdGVjdGVkIGJ5IHRoZSBwcm92aWRlZCBDb2duaXRvIHVzZXIgcG9vbCBhbmQgY2xpZW50KHMpLiBUaGUgY29uc3RydWN0XG4gKiByZWdpc3RlcnMgYW4gQSByZWNvcmQgZm9yIHRoZSBzdWJkb21haW4gaW4gdGhlIHByb3ZpZGVkIGhvc3RlZCB6b25lLiBJdCBhbHNvXG4gKiBjcmVhdGVzIGEgVlBDIExpbmsgKGFuZCBzZWN1cml0eSBncm91cCkgZm9yIHRoZSBBUEkgR2F0ZXdheSB0byBjb25uZWN0IHRvXG4gKiBzZXJ2aWNlcyBpbiB0aGUgVlBDLlxuICpcbiAqIFRoZSByZWxldmFudCBwYXJhbWV0ZXJzIGFyZSBleHBvc2VkIGFzIENsb3VkRm9ybWF0aW9uIG91dHB1dHMgc28gdGhhdCB0aGV5XG4gKiBjYW4gYmUgdXNlZCBieSB0aGUgQ0RLIGV4dGVuc2lvbnMgcHJvdmlkZWQgaW4gdGhpcyBsaWJyYXJ5LlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIEFwaUdhdGV3YXkgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIHNlY3VyaXR5R3JvdXA6IElTZWN1cml0eUdyb3VwO1xuICBwcml2YXRlIHZwY0xpbms6IElWcGNMaW5rO1xuICBwcml2YXRlIGh0dHBBcGk6IEh0dHBBcGk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBPVVRQVVRfUEFSQU1FVEVSX1BSRUZJWCA9IFwiYXBpLWdhdGV3YXlcIjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQXBpR2F0ZXdheVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuc2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3VwKHRoaXMsIFwiVnBjTGlua1NlY3VyaXR5R3JvdXBcIiwge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIHRoaXMudnBjTGluayA9IG5ldyBWcGNMaW5rKHRoaXMsIFwiSHR0cFZwY0xpbmtcIiwge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNMaW5rTmFtZTogXCJBUElHVyBWMiBWUEMgTGlua1wiLFxuICAgICAgc2VjdXJpdHlHcm91cHM6IFt0aGlzLnNlY3VyaXR5R3JvdXBdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZG9tYWluTmFtZSA9IGAke3Byb3BzLmRvbWFpblByZWZpeH0uJHtwcm9wcy5ob3N0ZWRab25lLnpvbmVOYW1lfWA7XG5cbiAgICBjb25zdCBjZXJ0aWZpY2F0ZSA9IG5ldyBDZXJ0aWZpY2F0ZSh0aGlzLCBcIkNlcnRpZmljYXRlXCIsIHtcbiAgICAgIGRvbWFpbk5hbWU6IGRvbWFpbk5hbWUsXG4gICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURucyhwcm9wcy5ob3N0ZWRab25lKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGRvbWFpbiA9IG5ldyBEb21haW5OYW1lKHRoaXMsIFwiRG9tYWluTmFtZVwiLCB7XG4gICAgICBkb21haW5OYW1lOiBkb21haW5OYW1lLFxuICAgICAgY2VydGlmaWNhdGU6IGNlcnRpZmljYXRlLFxuICAgIH0pO1xuXG4gICAgbmV3IEFSZWNvcmQodGhpcywgXCJBUElHV0FSZWNvcmRcIiwge1xuICAgICAgem9uZTogcHJvcHMuaG9zdGVkWm9uZSxcbiAgICAgIHJlY29yZE5hbWU6IHByb3BzLmRvbWFpblByZWZpeCxcbiAgICAgIHRhcmdldDogUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhcbiAgICAgICAgbmV3IEFwaUdhdGV3YXl2MkRvbWFpblByb3BlcnRpZXMoXG4gICAgICAgICAgZG9tYWluLnJlZ2lvbmFsRG9tYWluTmFtZSxcbiAgICAgICAgICBkb21haW4ucmVnaW9uYWxIb3N0ZWRab25lSWQsXG4gICAgICAgICksXG4gICAgICApLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZGVmYXVsdEF1dGhvcml6ZXIgPSBuZXcgSHR0cFVzZXJQb29sQXV0aG9yaXplcihcbiAgICAgIFwiQ29nbml0b0F1dGhvcml6ZXJcIixcbiAgICAgIHByb3BzLnVzZXJQb29sLFxuICAgICAge1xuICAgICAgICB1c2VyUG9vbENsaWVudHM6IHByb3BzLnVzZXJQb29sQ2xpZW50cyxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHRoaXMuaHR0cEFwaSA9IG5ldyBIdHRwQXBpKHRoaXMsIFwiSHR0cEFwaVwiLCB7XG4gICAgICBhcGlOYW1lOiBgJHtwcm9wcy5zdGFja05hbWV9SHR0cEFwaWAsXG4gICAgICBkZXNjcmlwdGlvbjogXCJEZWZhdWx0IEhUVFAgQVBJXCIsXG4gICAgICBkZWZhdWx0QXV0aG9yaXplcjogZGVmYXVsdEF1dGhvcml6ZXIsXG4gICAgICBkZWZhdWx0RG9tYWluTWFwcGluZzoge1xuICAgICAgICBkb21haW5OYW1lOiBkb21haW4sXG4gICAgICAgIG1hcHBpbmdLZXk6IFwiQXBpTWFwcGluZ1wiLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5lbmFibGVBY2Nlc3NMb2dzID8/IHRydWUpIHtcbiAgICAgIHRoaXMuZW5hYmxlQWNjZXNzTG9ncyh0aGlzLmh0dHBBcGkpO1xuICAgIH1cblxuICAgIHRoaXMuZXhwb3NlUGFyYW1ldGVycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBleHBvc2VQYXJhbWV0ZXJzKCkge1xuICAgIGNvbnN0IGV4cG9ydFZhbHVlID0gY3JlYXRlRXhwb3J0ZXIodGhpcywgdGhpcy5PVVRQVVRfUEFSQU1FVEVSX1BSRUZJWCk7XG5cbiAgICBleHBvcnRWYWx1ZSh7XG4gICAgICBuYW1lOiBcIkFQSUdhdGV3YXkgSWRcIixcbiAgICAgIGtleTogXCJpZFwiLFxuICAgICAgdmFsdWU6IHRoaXMuaHR0cEFwaS5hcGlJZCxcbiAgICB9KTtcblxuICAgIGV4cG9ydFZhbHVlKHtcbiAgICAgIG5hbWU6IFwiQVBJR2F0ZXdheSBWUENMaW5rIElkXCIsXG4gICAgICBrZXk6IFwidnBjLWxpbmstaWRcIixcbiAgICAgIHZhbHVlOiB0aGlzLnZwY0xpbmsudnBjTGlua0lkLFxuICAgIH0pO1xuXG4gICAgZXhwb3J0VmFsdWUoe1xuICAgICAgbmFtZTogXCJBUElHYXRld2F5IFNlY3VyaXR5IEdyb3VwIElkXCIsXG4gICAgICBrZXk6IFwic2VjdXJpdHktZ3JvdXAtaWRcIixcbiAgICAgIHZhbHVlOiB0aGlzLnNlY3VyaXR5R3JvdXAuc2VjdXJpdHlHcm91cElkLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmFibGVBY2Nlc3NMb2dzKGFwaUVuZHBvaW50OiBIdHRwQXBpKSB7XG4gICAgY29uc3Qgc3RhZ2UgPSBhcGlFbmRwb2ludC5kZWZhdWx0U3RhZ2UhLm5vZGUuZGVmYXVsdENoaWxkIGFzIENmblN0YWdlO1xuICAgIGNvbnN0IGxvZ0dyb3VwID0gbmV3IExvZ0dyb3VwKGFwaUVuZHBvaW50LCBcIkFQSUdXQWNjZXNzTG9nc1wiLCB7XG4gICAgICByZXRlbnRpb246IDkwLFxuICAgIH0pO1xuXG4gICAgc3RhZ2UuYWNjZXNzTG9nU2V0dGluZ3MgPSB7XG4gICAgICBkZXN0aW5hdGlvbkFybjogbG9nR3JvdXAubG9nR3JvdXBBcm4sXG4gICAgICBmb3JtYXQ6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgcmVxdWVzdElkOiBcIiRjb250ZXh0LnJlcXVlc3RJZFwiLFxuICAgICAgICB1c2VyQWdlbnQ6IFwiJGNvbnRleHQuaWRlbnRpdHkudXNlckFnZW50XCIsXG4gICAgICAgIHNvdXJjZUlwOiBcIiRjb250ZXh0LmlkZW50aXR5LnNvdXJjZUlwXCIsXG4gICAgICAgIHJlcXVlc3RUaW1lOiBcIiRjb250ZXh0LnJlcXVlc3RUaW1lXCIsXG4gICAgICAgIGh0dHBNZXRob2Q6IFwiJGNvbnRleHQuaHR0cE1ldGhvZFwiLFxuICAgICAgICBwYXRoOiBcIiRjb250ZXh0LnBhdGhcIixcbiAgICAgICAgc3RhdHVzOiBcIiRjb250ZXh0LnN0YXR1c1wiLFxuICAgICAgICByZXNwb25zZUxlbmd0aDogXCIkY29udGV4dC5yZXNwb25zZUxlbmd0aFwiLFxuICAgICAgfSksXG4gICAgfTtcblxuICAgIGxvZ0dyb3VwLmdyYW50V3JpdGUobmV3IFNlcnZpY2VQcmluY2lwYWwoXCJhcGlnYXRld2F5LmFtYXpvbmF3cy5jb21cIikpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { IUserPool, IUserPoolClient, IUserPoolDomain } from "aws-cdk-lib/aws-cognito";
2
+ import { IVpc } from "aws-cdk-lib/aws-ec2";
3
+ import { ApplicationLoadBalancer as AWSApplicationLoadBalancer, IApplicationLoadBalancer } from "aws-cdk-lib/aws-elasticloadbalancingv2";
4
+ import { IHostedZone } from "aws-cdk-lib/aws-route53";
5
+ import { Construct } from "constructs";
6
+ export interface ApplicationLoadBalancerProps {
7
+ readonly fqdn: string;
8
+ readonly vpc: IVpc;
9
+ readonly userPool: IUserPool;
10
+ readonly userPoolClient: IUserPoolClient;
11
+ readonly userPoolDomain: IUserPoolDomain;
12
+ readonly hostedZone: IHostedZone;
13
+ }
14
+ export declare class ApplicationLoadBalancer extends Construct {
15
+ readonly loadbalancer: AWSApplicationLoadBalancer;
16
+ get loadBalancer(): IApplicationLoadBalancer;
17
+ constructor(scope: Construct, id: string, props: ApplicationLoadBalancerProps);
18
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ApplicationLoadBalancer = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ const aws_certificatemanager_1 = require("aws-cdk-lib/aws-certificatemanager");
8
+ const aws_elasticloadbalancingv2_1 = require("aws-cdk-lib/aws-elasticloadbalancingv2");
9
+ const aws_elasticloadbalancingv2_actions_1 = require("aws-cdk-lib/aws-elasticloadbalancingv2-actions");
10
+ const aws_route53_1 = require("aws-cdk-lib/aws-route53");
11
+ const aws_route53_targets_1 = require("aws-cdk-lib/aws-route53-targets");
12
+ const constructs_1 = require("constructs");
13
+ const utils_1 = require("../utils");
14
+ class ApplicationLoadBalancer extends constructs_1.Construct {
15
+ get loadBalancer() {
16
+ return this.loadbalancer;
17
+ }
18
+ constructor(scope, id, props) {
19
+ super(scope, id);
20
+ const certificate = new aws_certificatemanager_1.Certificate(this, "Certificate", {
21
+ domainName: props.fqdn,
22
+ validation: aws_certificatemanager_1.CertificateValidation.fromDns(props.hostedZone),
23
+ });
24
+ this.loadbalancer = new aws_elasticloadbalancingv2_1.ApplicationLoadBalancer(this, "ALB", {
25
+ vpc: props.vpc,
26
+ internetFacing: true,
27
+ });
28
+ const listener = this.loadbalancer.addListener("Listener", {
29
+ port: 443,
30
+ certificates: [certificate],
31
+ defaultAction: new aws_elasticloadbalancingv2_actions_1.AuthenticateCognitoAction({
32
+ userPool: props.userPool,
33
+ userPoolClient: props.userPoolClient,
34
+ userPoolDomain: props.userPoolDomain,
35
+ next: aws_elasticloadbalancingv2_1.ListenerAction.fixedResponse(200, {
36
+ messageBody: "This is the ALB default action",
37
+ }),
38
+ onUnauthenticatedRequest: aws_elasticloadbalancingv2_1.UnauthenticatedAction.AUTHENTICATE,
39
+ }),
40
+ });
41
+ new aws_route53_1.ARecord(this, "ALBARecord", {
42
+ zone: props.hostedZone,
43
+ recordName: props.fqdn,
44
+ target: aws_route53_1.RecordTarget.fromAlias(new aws_route53_targets_1.LoadBalancerTarget(this.loadBalancer)),
45
+ });
46
+ const exportValue = (0, utils_1.createExporter)(this, "alb");
47
+ exportValue({
48
+ name: "ALB Listener ARN",
49
+ key: "listener-arn",
50
+ value: listener.listenerArn,
51
+ });
52
+ exportValue({
53
+ name: "ALB Security Group Id",
54
+ key: "security-group-id",
55
+ value: aws_cdk_lib_1.Fn.select(0, this.loadbalancer.loadBalancerSecurityGroups),
56
+ });
57
+ }
58
+ }
59
+ exports.ApplicationLoadBalancer = ApplicationLoadBalancer;
60
+ _a = JSII_RTTI_SYMBOL_1;
61
+ ApplicationLoadBalancer[_a] = { fqn: "@btc-embedded/cdk-extensions.ApplicationLoadBalancer", version: "0.4.0" };
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGxhdGZvcm0vQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBaUM7QUFDakMsK0VBRzRDO0FBTzVDLHVGQUtnRDtBQUNoRCx1R0FBMkY7QUFDM0YseURBQTZFO0FBQzdFLHlFQUFxRTtBQUNyRSwyQ0FBdUM7QUFDdkMsb0NBQTBDO0FBVzFDLE1BQWEsdUJBQXdCLFNBQVEsc0JBQVM7SUFHcEQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBbUM7UUFFbkMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFdBQVcsR0FBRyxJQUFJLG9DQUFXLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUN2RCxVQUFVLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDdEIsVUFBVSxFQUFFLDhDQUFxQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1NBQzVELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxvREFBMEIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQzlELEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRTtZQUN6RCxJQUFJLEVBQUUsR0FBRztZQUNULFlBQVksRUFBRSxDQUFDLFdBQVcsQ0FBQztZQUMzQixhQUFhLEVBQUUsSUFBSSw4REFBeUIsQ0FBQztnQkFDM0MsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2dCQUN4QixjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7Z0JBQ3BDLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYztnQkFDcEMsSUFBSSxFQUFFLDJDQUFjLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRTtvQkFDdEMsV0FBVyxFQUFFLGdDQUFnQztpQkFDOUMsQ0FBQztnQkFDRix3QkFBd0IsRUFBRSxrREFBcUIsQ0FBQyxZQUFZO2FBQzdELENBQUM7U0FDSCxDQUFDLENBQUM7UUFFSCxJQUFJLHFCQUFPLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUM5QixJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDdEIsVUFBVSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ3RCLE1BQU0sRUFBRSwwQkFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLHdDQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMxRSxDQUFDLENBQUM7UUFFSCxNQUFNLFdBQVcsR0FBRyxJQUFBLHNCQUFjLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWhELFdBQVcsQ0FBQztZQUNWLElBQUksRUFBRSxrQkFBa0I7WUFDeEIsR0FBRyxFQUFFLGNBQWM7WUFDbkIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxXQUFXO1NBQzVCLENBQUMsQ0FBQztRQUVILFdBQVcsQ0FBQztZQUNWLElBQUksRUFBRSx1QkFBdUI7WUFDN0IsR0FBRyxFQUFFLG1CQUFtQjtZQUN4QixLQUFLLEVBQUUsZ0JBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsMEJBQTBCLENBQUM7U0FDbEUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF6REgsMERBMERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm4gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIENlcnRpZmljYXRlLFxuICBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQge1xuICBJVXNlclBvb2wsXG4gIElVc2VyUG9vbENsaWVudCxcbiAgSVVzZXJQb29sRG9tYWluLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZ25pdG9cIjtcbmltcG9ydCB7IElWcGMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIgYXMgQVdTQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIsXG4gIElBcHBsaWNhdGlvbkxvYWRCYWxhbmNlcixcbiAgTGlzdGVuZXJBY3Rpb24sXG4gIFVuYXV0aGVudGljYXRlZEFjdGlvbixcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyXCI7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGVDb2duaXRvQWN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyLWFjdGlvbnNcIjtcbmltcG9ydCB7IEFSZWNvcmQsIElIb3N0ZWRab25lLCBSZWNvcmRUYXJnZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7IExvYWRCYWxhbmNlclRhcmdldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1My10YXJnZXRzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgY3JlYXRlRXhwb3J0ZXIgfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclByb3BzIHtcbiAgcmVhZG9ubHkgZnFkbjogc3RyaW5nO1xuICByZWFkb25seSB2cGM6IElWcGM7XG4gIHJlYWRvbmx5IHVzZXJQb29sOiBJVXNlclBvb2w7XG4gIHJlYWRvbmx5IHVzZXJQb29sQ2xpZW50OiBJVXNlclBvb2xDbGllbnQ7XG4gIHJlYWRvbmx5IHVzZXJQb29sRG9tYWluOiBJVXNlclBvb2xEb21haW47XG4gIHJlYWRvbmx5IGhvc3RlZFpvbmU6IElIb3N0ZWRab25lO1xufVxuXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgbG9hZGJhbGFuY2VyOiBBV1NBcHBsaWNhdGlvbkxvYWRCYWxhbmNlcjtcblxuICBwdWJsaWMgZ2V0IGxvYWRCYWxhbmNlcigpOiBJQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIge1xuICAgIHJldHVybiB0aGlzLmxvYWRiYWxhbmNlcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGNlcnRpZmljYXRlID0gbmV3IENlcnRpZmljYXRlKHRoaXMsIFwiQ2VydGlmaWNhdGVcIiwge1xuICAgICAgZG9tYWluTmFtZTogcHJvcHMuZnFkbixcbiAgICAgIHZhbGlkYXRpb246IENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zKHByb3BzLmhvc3RlZFpvbmUpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5sb2FkYmFsYW5jZXIgPSBuZXcgQVdTQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIodGhpcywgXCJBTEJcIiwge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICBpbnRlcm5ldEZhY2luZzogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGxpc3RlbmVyID0gdGhpcy5sb2FkYmFsYW5jZXIuYWRkTGlzdGVuZXIoXCJMaXN0ZW5lclwiLCB7XG4gICAgICBwb3J0OiA0NDMsXG4gICAgICBjZXJ0aWZpY2F0ZXM6IFtjZXJ0aWZpY2F0ZV0sXG4gICAgICBkZWZhdWx0QWN0aW9uOiBuZXcgQXV0aGVudGljYXRlQ29nbml0b0FjdGlvbih7XG4gICAgICAgIHVzZXJQb29sOiBwcm9wcy51c2VyUG9vbCxcbiAgICAgICAgdXNlclBvb2xDbGllbnQ6IHByb3BzLnVzZXJQb29sQ2xpZW50LFxuICAgICAgICB1c2VyUG9vbERvbWFpbjogcHJvcHMudXNlclBvb2xEb21haW4sXG4gICAgICAgIG5leHQ6IExpc3RlbmVyQWN0aW9uLmZpeGVkUmVzcG9uc2UoMjAwLCB7XG4gICAgICAgICAgbWVzc2FnZUJvZHk6IFwiVGhpcyBpcyB0aGUgQUxCIGRlZmF1bHQgYWN0aW9uXCIsXG4gICAgICAgIH0pLFxuICAgICAgICBvblVuYXV0aGVudGljYXRlZFJlcXVlc3Q6IFVuYXV0aGVudGljYXRlZEFjdGlvbi5BVVRIRU5USUNBVEUsXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIG5ldyBBUmVjb3JkKHRoaXMsIFwiQUxCQVJlY29yZFwiLCB7XG4gICAgICB6b25lOiBwcm9wcy5ob3N0ZWRab25lLFxuICAgICAgcmVjb3JkTmFtZTogcHJvcHMuZnFkbixcbiAgICAgIHRhcmdldDogUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhuZXcgTG9hZEJhbGFuY2VyVGFyZ2V0KHRoaXMubG9hZEJhbGFuY2VyKSksXG4gICAgfSk7XG5cbiAgICBjb25zdCBleHBvcnRWYWx1ZSA9IGNyZWF0ZUV4cG9ydGVyKHRoaXMsIFwiYWxiXCIpO1xuXG4gICAgZXhwb3J0VmFsdWUoe1xuICAgICAgbmFtZTogXCJBTEIgTGlzdGVuZXIgQVJOXCIsXG4gICAgICBrZXk6IFwibGlzdGVuZXItYXJuXCIsXG4gICAgICB2YWx1ZTogbGlzdGVuZXIubGlzdGVuZXJBcm4sXG4gICAgfSk7XG5cbiAgICBleHBvcnRWYWx1ZSh7XG4gICAgICBuYW1lOiBcIkFMQiBTZWN1cml0eSBHcm91cCBJZFwiLFxuICAgICAga2V5OiBcInNlY3VyaXR5LWdyb3VwLWlkXCIsXG4gICAgICB2YWx1ZTogRm4uc2VsZWN0KDAsIHRoaXMubG9hZGJhbGFuY2VyLmxvYWRCYWxhbmNlclNlY3VyaXR5R3JvdXBzKSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,19 @@
1
+ import { NestedStack, NestedStackProps } from "aws-cdk-lib";
2
+ import { UserPool, UserPoolClient, UserPoolDomain } from "aws-cdk-lib/aws-cognito";
3
+ import { Construct } from "constructs";
4
+ export interface AuthenticationStackProps extends NestedStackProps {
5
+ readonly instanceName: string;
6
+ readonly cognitoUserPoolId: string;
7
+ readonly cognitoIssuerURL: string;
8
+ readonly cognitoDomainPrefix: string;
9
+ readonly supportedIdentityProviders: string[];
10
+ readonly defaultCallbackFqdn: string;
11
+ }
12
+ export declare class AuthenticationStack extends NestedStack {
13
+ userPool: UserPool;
14
+ userPoolClient: UserPoolClient;
15
+ fullAccessApiClient: UserPoolClient;
16
+ userPoolDomain: UserPoolDomain;
17
+ constructor(scope: Construct, id: string, props: AuthenticationStackProps);
18
+ private generateUrls;
19
+ }
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AuthenticationStack = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ const aws_cognito_1 = require("aws-cdk-lib/aws-cognito");
8
+ const utils_1 = require("../utils");
9
+ class AuthenticationStack extends aws_cdk_lib_1.NestedStack {
10
+ constructor(scope, id, props) {
11
+ super(scope, id, props);
12
+ if (props.cognitoUserPoolId === undefined) {
13
+ this.userPool = new aws_cognito_1.UserPool(this, `${id}UserPool`);
14
+ this.userPoolDomain = new aws_cognito_1.UserPoolDomain(this, props.cognitoDomainPrefix, {
15
+ userPool: this.userPool,
16
+ cognitoDomain: {
17
+ domainPrefix: props.cognitoDomainPrefix,
18
+ },
19
+ });
20
+ }
21
+ else {
22
+ this.userPool = aws_cognito_1.UserPool.fromUserPoolId(this, "ImportedUserPool", props.cognitoUserPoolId);
23
+ this.userPoolDomain = aws_cognito_1.UserPoolDomain.fromDomainName(this, props.cognitoDomainPrefix, props.cognitoDomainPrefix);
24
+ }
25
+ const fullAccessScope = new aws_cognito_1.ResourceServerScope({
26
+ scopeName: "full_access",
27
+ scopeDescription: "Full access",
28
+ });
29
+ const server = this.userPool.addResourceServer("user-pool-rest-api", {
30
+ identifier: `${props.instanceName}-RESTAPI`,
31
+ scopes: [fullAccessScope],
32
+ });
33
+ this.fullAccessApiClient = new aws_cognito_1.UserPoolClient(this, "FullAccessApiClient", {
34
+ userPool: this.userPool,
35
+ generateSecret: true,
36
+ oAuth: {
37
+ flows: {
38
+ clientCredentials: true,
39
+ },
40
+ scopes: [aws_cognito_1.OAuthScope.resourceServer(server, fullAccessScope)],
41
+ },
42
+ supportedIdentityProviders: [aws_cognito_1.UserPoolClientIdentityProvider.COGNITO],
43
+ });
44
+ this.userPoolClient = new aws_cognito_1.UserPoolClient(this, "${id}UserPoolClient", {
45
+ userPool: this.userPool,
46
+ // Required minimal configuration for use with an ELB
47
+ generateSecret: true,
48
+ authFlows: {
49
+ userPassword: true,
50
+ },
51
+ oAuth: {
52
+ flows: {
53
+ authorizationCodeGrant: true,
54
+ },
55
+ scopes: [aws_cognito_1.OAuthScope.OPENID, aws_cognito_1.OAuthScope.PROFILE],
56
+ ...this.generateUrls(props.defaultCallbackFqdn),
57
+ },
58
+ supportedIdentityProviders: [aws_cognito_1.UserPoolClientIdentityProvider.COGNITO],
59
+ });
60
+ const cfnClient = this.userPoolClient.node
61
+ .defaultChild;
62
+ cfnClient.addPropertyOverride("RefreshTokenValidity", 1);
63
+ cfnClient.addPropertyOverride("SupportedIdentityProviders", props.supportedIdentityProviders);
64
+ this.userPoolClient.userPoolClientSecret.toString();
65
+ const exportValue = (0, utils_1.createExporter)(this, "cognito");
66
+ exportValue({
67
+ name: "Cognito Userpool Id",
68
+ key: "user-pool-id",
69
+ value: this.userPool.userPoolId,
70
+ });
71
+ exportValue({
72
+ name: "Cognito Domain Prefix",
73
+ key: "domain-prefix",
74
+ value: props.cognitoDomainPrefix,
75
+ });
76
+ }
77
+ generateUrls(fqdn) {
78
+ return {
79
+ callbackUrls: [
80
+ `https://${fqdn}/oauth2/idpresponse`,
81
+ `https://${fqdn}/`,
82
+ `https://${fqdn}/tm`,
83
+ `https://${fqdn}/tm/api/auth/callback/oidc`,
84
+ ],
85
+ logoutUrls: [`https://${fqdn}/tm`],
86
+ };
87
+ }
88
+ }
89
+ exports.AuthenticationStack = AuthenticationStack;
90
+ _a = JSII_RTTI_SYMBOL_1;
91
+ AuthenticationStack[_a] = { fqn: "@btc-embedded/cdk-extensions.AuthenticationStack", version: "0.0.0" };
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0aGVudGljYXRpb25TdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wbGF0Zm9ybS9BdXRoZW50aWNhdGlvblN0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTREO0FBQzVELHlEQVNpQztBQUVqQyxvQ0FBMEM7QUFXMUMsTUFBYSxtQkFBb0IsU0FBUSx5QkFBVztJQUtsRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQStCO1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksS0FBSyxDQUFDLGlCQUFpQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxzQkFBUSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLDRCQUFjLENBQ3RDLElBQUksRUFDSixLQUFLLENBQUMsbUJBQW1CLEVBQ3pCO2dCQUNFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsYUFBYSxFQUFFO29CQUNiLFlBQVksRUFBRSxLQUFLLENBQUMsbUJBQW1CO2lCQUN4QzthQUNGLENBQ0YsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxzQkFBUSxDQUFDLGNBQWMsQ0FDckMsSUFBSSxFQUNKLGtCQUFrQixFQUNsQixLQUFLLENBQUMsaUJBQWlCLENBQ1osQ0FBQztZQUNkLElBQUksQ0FBQyxjQUFjLEdBQUcsNEJBQWMsQ0FBQyxjQUFjLENBQ2pELElBQUksRUFDSixLQUFLLENBQUMsbUJBQW1CLEVBQ3pCLEtBQUssQ0FBQyxtQkFBbUIsQ0FDUixDQUFDO1FBQ3RCLENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBRyxJQUFJLGlDQUFtQixDQUFDO1lBQzlDLFNBQVMsRUFBRSxhQUFhO1lBQ3hCLGdCQUFnQixFQUFFLGFBQWE7U0FDaEMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsRUFBRTtZQUNuRSxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxVQUFVO1lBQzNDLE1BQU0sRUFBRSxDQUFDLGVBQWUsQ0FBQztTQUMxQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSw0QkFBYyxDQUFDLElBQUksRUFBRSxxQkFBcUIsRUFBRTtZQUN6RSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsY0FBYyxFQUFFLElBQUk7WUFDcEIsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRTtvQkFDTCxpQkFBaUIsRUFBRSxJQUFJO2lCQUN4QjtnQkFDRCxNQUFNLEVBQUUsQ0FBQyx3QkFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUM7YUFDN0Q7WUFDRCwwQkFBMEIsRUFBRSxDQUFDLDRDQUE4QixDQUFDLE9BQU8sQ0FBQztTQUNyRSxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksNEJBQWMsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUU7WUFDcEUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLHFEQUFxRDtZQUNyRCxjQUFjLEVBQUUsSUFBSTtZQUNwQixTQUFTLEVBQUU7Z0JBQ1QsWUFBWSxFQUFFLElBQUk7YUFDbkI7WUFFRCxLQUFLLEVBQUU7Z0JBQ0wsS0FBSyxFQUFFO29CQUNMLHNCQUFzQixFQUFFLElBQUk7aUJBQzdCO2dCQUNELE1BQU0sRUFBRSxDQUFDLHdCQUFVLENBQUMsTUFBTSxFQUFFLHdCQUFVLENBQUMsT0FBTyxDQUFDO2dCQUMvQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDO2FBQ2hEO1lBQ0QsMEJBQTBCLEVBQUUsQ0FBQyw0Q0FBOEIsQ0FBQyxPQUFPLENBQUM7U0FDckUsQ0FBQyxDQUFDO1FBRUgsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJO2FBQ3ZDLFlBQWlDLENBQUM7UUFDckMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3pELFNBQVMsQ0FBQyxtQkFBbUIsQ0FDM0IsNEJBQTRCLEVBQzVCLEtBQUssQ0FBQywwQkFBMEIsQ0FDakMsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFcEQsTUFBTSxXQUFXLEdBQUcsSUFBQSxzQkFBYyxFQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUVwRCxXQUFXLENBQUM7WUFDVixJQUFJLEVBQUUscUJBQXFCO1lBQzNCLEdBQUcsRUFBRSxjQUFjO1lBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVU7U0FDaEMsQ0FBQyxDQUFDO1FBRUgsV0FBVyxDQUFDO1lBQ1YsSUFBSSxFQUFFLHVCQUF1QjtZQUM3QixHQUFHLEVBQUUsZUFBZTtZQUNwQixLQUFLLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWSxDQUNsQixJQUFZO1FBRVosT0FBTztZQUNMLFlBQVksRUFBRTtnQkFDWixXQUFXLElBQUkscUJBQXFCO2dCQUNwQyxXQUFXLElBQUksR0FBRztnQkFDbEIsV0FBVyxJQUFJLEtBQUs7Z0JBQ3BCLFdBQVcsSUFBSSw0QkFBNEI7YUFDNUM7WUFDRCxVQUFVLEVBQUUsQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDO1NBQ25DLENBQUM7SUFDSixDQUFDOztBQTVHSCxrREE2R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZXN0ZWRTdGFjaywgTmVzdGVkU3RhY2tQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQ2ZuVXNlclBvb2xDbGllbnQsXG4gIE9BdXRoU2NvcGUsXG4gIE9BdXRoU2V0dGluZ3MsXG4gIFJlc291cmNlU2VydmVyU2NvcGUsXG4gIFVzZXJQb29sLFxuICBVc2VyUG9vbENsaWVudCxcbiAgVXNlclBvb2xDbGllbnRJZGVudGl0eVByb3ZpZGVyLFxuICBVc2VyUG9vbERvbWFpbixcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2duaXRvXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgY3JlYXRlRXhwb3J0ZXIgfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBdXRoZW50aWNhdGlvblN0YWNrUHJvcHMgZXh0ZW5kcyBOZXN0ZWRTdGFja1Byb3BzIHtcbiAgcmVhZG9ubHkgaW5zdGFuY2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvZ25pdG9Vc2VyUG9vbElkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvZ25pdG9Jc3N1ZXJVUkw6IHN0cmluZztcbiAgcmVhZG9ubHkgY29nbml0b0RvbWFpblByZWZpeDogc3RyaW5nO1xuICByZWFkb25seSBzdXBwb3J0ZWRJZGVudGl0eVByb3ZpZGVyczogc3RyaW5nW107XG4gIHJlYWRvbmx5IGRlZmF1bHRDYWxsYmFja0ZxZG46IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0aW9uU3RhY2sgZXh0ZW5kcyBOZXN0ZWRTdGFjayB7XG4gIHB1YmxpYyB1c2VyUG9vbDogVXNlclBvb2w7XG4gIHB1YmxpYyB1c2VyUG9vbENsaWVudDogVXNlclBvb2xDbGllbnQ7XG4gIHB1YmxpYyBmdWxsQWNjZXNzQXBpQ2xpZW50OiBVc2VyUG9vbENsaWVudDtcbiAgcHVibGljIHVzZXJQb29sRG9tYWluOiBVc2VyUG9vbERvbWFpbjtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEF1dGhlbnRpY2F0aW9uU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIGlmIChwcm9wcy5jb2duaXRvVXNlclBvb2xJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnVzZXJQb29sID0gbmV3IFVzZXJQb29sKHRoaXMsIGAke2lkfVVzZXJQb29sYCk7XG4gICAgICB0aGlzLnVzZXJQb29sRG9tYWluID0gbmV3IFVzZXJQb29sRG9tYWluKFxuICAgICAgICB0aGlzLFxuICAgICAgICBwcm9wcy5jb2duaXRvRG9tYWluUHJlZml4LFxuICAgICAgICB7XG4gICAgICAgICAgdXNlclBvb2w6IHRoaXMudXNlclBvb2wsXG4gICAgICAgICAgY29nbml0b0RvbWFpbjoge1xuICAgICAgICAgICAgZG9tYWluUHJlZml4OiBwcm9wcy5jb2duaXRvRG9tYWluUHJlZml4LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVzZXJQb29sID0gVXNlclBvb2wuZnJvbVVzZXJQb29sSWQoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIFwiSW1wb3J0ZWRVc2VyUG9vbFwiLFxuICAgICAgICBwcm9wcy5jb2duaXRvVXNlclBvb2xJZCxcbiAgICAgICkgYXMgVXNlclBvb2w7XG4gICAgICB0aGlzLnVzZXJQb29sRG9tYWluID0gVXNlclBvb2xEb21haW4uZnJvbURvbWFpbk5hbWUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHByb3BzLmNvZ25pdG9Eb21haW5QcmVmaXgsXG4gICAgICAgIHByb3BzLmNvZ25pdG9Eb21haW5QcmVmaXgsXG4gICAgICApIGFzIFVzZXJQb29sRG9tYWluO1xuICAgIH1cblxuICAgIGNvbnN0IGZ1bGxBY2Nlc3NTY29wZSA9IG5ldyBSZXNvdXJjZVNlcnZlclNjb3BlKHtcbiAgICAgIHNjb3BlTmFtZTogXCJmdWxsX2FjY2Vzc1wiLFxuICAgICAgc2NvcGVEZXNjcmlwdGlvbjogXCJGdWxsIGFjY2Vzc1wiLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2VydmVyID0gdGhpcy51c2VyUG9vbC5hZGRSZXNvdXJjZVNlcnZlcihcInVzZXItcG9vbC1yZXN0LWFwaVwiLCB7XG4gICAgICBpZGVudGlmaWVyOiBgJHtwcm9wcy5pbnN0YW5jZU5hbWV9LVJFU1RBUElgLFxuICAgICAgc2NvcGVzOiBbZnVsbEFjY2Vzc1Njb3BlXSxcbiAgICB9KTtcblxuICAgIHRoaXMuZnVsbEFjY2Vzc0FwaUNsaWVudCA9IG5ldyBVc2VyUG9vbENsaWVudCh0aGlzLCBcIkZ1bGxBY2Nlc3NBcGlDbGllbnRcIiwge1xuICAgICAgdXNlclBvb2w6IHRoaXMudXNlclBvb2wsXG4gICAgICBnZW5lcmF0ZVNlY3JldDogdHJ1ZSxcbiAgICAgIG9BdXRoOiB7XG4gICAgICAgIGZsb3dzOiB7XG4gICAgICAgICAgY2xpZW50Q3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHNjb3BlczogW09BdXRoU2NvcGUucmVzb3VyY2VTZXJ2ZXIoc2VydmVyLCBmdWxsQWNjZXNzU2NvcGUpXSxcbiAgICAgIH0sXG4gICAgICBzdXBwb3J0ZWRJZGVudGl0eVByb3ZpZGVyczogW1VzZXJQb29sQ2xpZW50SWRlbnRpdHlQcm92aWRlci5DT0dOSVRPXSxcbiAgICB9KTtcblxuICAgIHRoaXMudXNlclBvb2xDbGllbnQgPSBuZXcgVXNlclBvb2xDbGllbnQodGhpcywgXCIke2lkfVVzZXJQb29sQ2xpZW50XCIsIHtcbiAgICAgIHVzZXJQb29sOiB0aGlzLnVzZXJQb29sLFxuICAgICAgLy8gUmVxdWlyZWQgbWluaW1hbCBjb25maWd1cmF0aW9uIGZvciB1c2Ugd2l0aCBhbiBFTEJcbiAgICAgIGdlbmVyYXRlU2VjcmV0OiB0cnVlLFxuICAgICAgYXV0aEZsb3dzOiB7XG4gICAgICAgIHVzZXJQYXNzd29yZDogdHJ1ZSxcbiAgICAgIH0sXG5cbiAgICAgIG9BdXRoOiB7XG4gICAgICAgIGZsb3dzOiB7XG4gICAgICAgICAgYXV0aG9yaXphdGlvbkNvZGVHcmFudDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgc2NvcGVzOiBbT0F1dGhTY29wZS5PUEVOSUQsIE9BdXRoU2NvcGUuUFJPRklMRV0sXG4gICAgICAgIC4uLnRoaXMuZ2VuZXJhdGVVcmxzKHByb3BzLmRlZmF1bHRDYWxsYmFja0ZxZG4pLFxuICAgICAgfSxcbiAgICAgIHN1cHBvcnRlZElkZW50aXR5UHJvdmlkZXJzOiBbVXNlclBvb2xDbGllbnRJZGVudGl0eVByb3ZpZGVyLkNPR05JVE9dLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY2ZuQ2xpZW50ID0gdGhpcy51c2VyUG9vbENsaWVudC5ub2RlXG4gICAgICAuZGVmYXVsdENoaWxkIGFzIENmblVzZXJQb29sQ2xpZW50O1xuICAgIGNmbkNsaWVudC5hZGRQcm9wZXJ0eU92ZXJyaWRlKFwiUmVmcmVzaFRva2VuVmFsaWRpdHlcIiwgMSk7XG4gICAgY2ZuQ2xpZW50LmFkZFByb3BlcnR5T3ZlcnJpZGUoXG4gICAgICBcIlN1cHBvcnRlZElkZW50aXR5UHJvdmlkZXJzXCIsXG4gICAgICBwcm9wcy5zdXBwb3J0ZWRJZGVudGl0eVByb3ZpZGVycyxcbiAgICApO1xuICAgIHRoaXMudXNlclBvb2xDbGllbnQudXNlclBvb2xDbGllbnRTZWNyZXQudG9TdHJpbmcoKTtcblxuICAgIGNvbnN0IGV4cG9ydFZhbHVlID0gY3JlYXRlRXhwb3J0ZXIodGhpcywgXCJjb2duaXRvXCIpO1xuXG4gICAgZXhwb3J0VmFsdWUoe1xuICAgICAgbmFtZTogXCJDb2duaXRvIFVzZXJwb29sIElkXCIsXG4gICAgICBrZXk6IFwidXNlci1wb29sLWlkXCIsXG4gICAgICB2YWx1ZTogdGhpcy51c2VyUG9vbC51c2VyUG9vbElkLFxuICAgIH0pO1xuXG4gICAgZXhwb3J0VmFsdWUoe1xuICAgICAgbmFtZTogXCJDb2duaXRvIERvbWFpbiBQcmVmaXhcIixcbiAgICAgIGtleTogXCJkb21haW4tcHJlZml4XCIsXG4gICAgICB2YWx1ZTogcHJvcHMuY29nbml0b0RvbWFpblByZWZpeCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVVcmxzKFxuICAgIGZxZG46IHN0cmluZyxcbiAgKTogUGljazxPQXV0aFNldHRpbmdzLCBcImNhbGxiYWNrVXJsc1wiIHwgXCJsb2dvdXRVcmxzXCI+IHtcbiAgICByZXR1cm4ge1xuICAgICAgY2FsbGJhY2tVcmxzOiBbXG4gICAgICAgIGBodHRwczovLyR7ZnFkbn0vb2F1dGgyL2lkcHJlc3BvbnNlYCxcbiAgICAgICAgYGh0dHBzOi8vJHtmcWRufS9gLFxuICAgICAgICBgaHR0cHM6Ly8ke2ZxZG59L3RtYCxcbiAgICAgICAgYGh0dHBzOi8vJHtmcWRufS90bS9hcGkvYXV0aC9jYWxsYmFjay9vaWRjYCxcbiAgICAgIF0sXG4gICAgICBsb2dvdXRVcmxzOiBbYGh0dHBzOi8vJHtmcWRufS90bWBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { IVpc } from "aws-cdk-lib/aws-ec2";
2
+ import { PrivateDnsNamespace } from "aws-cdk-lib/aws-servicediscovery";
3
+ import { Construct } from "constructs";
4
+ export interface PrivateDnsNamespaceProps {
5
+ readonly arn: string;
6
+ readonly id: string;
7
+ readonly namespace: string;
8
+ }
9
+ export interface CloudMapProps {
10
+ readonly privateDnsNamespace?: PrivateDnsNamespaceProps;
11
+ readonly vpc: IVpc;
12
+ }
13
+ export declare class CloudMap extends Construct {
14
+ readonly namespace: PrivateDnsNamespace;
15
+ constructor(scope: Construct, id: string, props: CloudMapProps);
16
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.CloudMap = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const aws_servicediscovery_1 = require("aws-cdk-lib/aws-servicediscovery");
7
+ const constructs_1 = require("constructs");
8
+ const utils_1 = require("../utils");
9
+ class CloudMap extends constructs_1.Construct {
10
+ constructor(scope, id, props) {
11
+ super(scope, id);
12
+ // Create a Cloud Map Namespace
13
+ if (props.privateDnsNamespace) {
14
+ this.namespace = aws_servicediscovery_1.PrivateDnsNamespace.fromPrivateDnsNamespaceAttributes(this, "PrivateDns", {
15
+ namespaceName: props.privateDnsNamespace.namespace,
16
+ namespaceId: props.privateDnsNamespace.id,
17
+ namespaceArn: props.privateDnsNamespace.arn,
18
+ });
19
+ }
20
+ else {
21
+ this.namespace = new aws_servicediscovery_1.PrivateDnsNamespace(this, `${id}Namespace`, {
22
+ name: `${id}.local`,
23
+ vpc: props.vpc,
24
+ description: "Private Namespace",
25
+ });
26
+ }
27
+ const exportValue = (0, utils_1.createExporter)(this, "namespace");
28
+ exportValue({
29
+ name: "Namespace Arn",
30
+ key: "arn",
31
+ value: this.namespace.namespaceArn,
32
+ });
33
+ exportValue({
34
+ name: "Namespace Id",
35
+ key: "id",
36
+ value: this.namespace.namespaceId,
37
+ });
38
+ exportValue({
39
+ name: "Namespace Name",
40
+ key: "name",
41
+ value: this.namespace.namespaceName,
42
+ });
43
+ }
44
+ }
45
+ exports.CloudMap = CloudMap;
46
+ _a = JSII_RTTI_SYMBOL_1;
47
+ CloudMap[_a] = { fqn: "@btc-embedded/cdk-extensions.CloudMap", version: "0.3.0" };
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRNYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGxhdGZvcm0vQ2xvdWRNYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSwyRUFBdUU7QUFDdkUsMkNBQXVDO0FBQ3ZDLG9DQUEwQztBQWExQyxNQUFhLFFBQVMsU0FBUSxzQkFBUztJQUVyQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW9CO1FBQzVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsK0JBQStCO1FBQy9CLElBQUksS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRywwQ0FBbUIsQ0FBQyxpQ0FBaUMsQ0FDcEUsSUFBSSxFQUNKLFlBQVksRUFDWjtnQkFDRSxhQUFhLEVBQUUsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFNBQVM7Z0JBQ2xELFdBQVcsRUFBRSxLQUFLLENBQUMsbUJBQW1CLENBQUMsRUFBRTtnQkFDekMsWUFBWSxFQUFFLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHO2FBQzVDLENBQ3FCLENBQUM7UUFDM0IsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksMENBQW1CLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUU7Z0JBQy9ELElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUTtnQkFDbkIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO2dCQUNkLFdBQVcsRUFBRSxtQkFBbUI7YUFDakMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLElBQUEsc0JBQWMsRUFBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFdEQsV0FBVyxDQUFDO1lBQ1YsSUFBSSxFQUFFLGVBQWU7WUFDckIsR0FBRyxFQUFFLEtBQUs7WUFDVixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZO1NBQ25DLENBQUMsQ0FBQztRQUVILFdBQVcsQ0FBQztZQUNWLElBQUksRUFBRSxjQUFjO1lBQ3BCLEdBQUcsRUFBRSxJQUFJO1lBQ1QsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVztTQUNsQyxDQUFDLENBQUM7UUFFSCxXQUFXLENBQUM7WUFDVixJQUFJLEVBQUUsZ0JBQWdCO1lBQ3RCLEdBQUcsRUFBRSxNQUFNO1lBQ1gsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYTtTQUNwQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQTFDSCw0QkEyQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJVnBjIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IFByaXZhdGVEbnNOYW1lc3BhY2UgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlcnZpY2VkaXNjb3ZlcnlcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBjcmVhdGVFeHBvcnRlciB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByaXZhdGVEbnNOYW1lc3BhY2VQcm9wcyB7XG4gIHJlYWRvbmx5IGFybjogc3RyaW5nO1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBuYW1lc3BhY2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbG91ZE1hcFByb3BzIHtcbiAgcmVhZG9ubHkgcHJpdmF0ZURuc05hbWVzcGFjZT86IFByaXZhdGVEbnNOYW1lc3BhY2VQcm9wcztcbiAgcmVhZG9ubHkgdnBjOiBJVnBjO1xufVxuXG5leHBvcnQgY2xhc3MgQ2xvdWRNYXAgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZXNwYWNlOiBQcml2YXRlRG5zTmFtZXNwYWNlO1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2xvdWRNYXBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAvLyBDcmVhdGUgYSBDbG91ZCBNYXAgTmFtZXNwYWNlXG4gICAgaWYgKHByb3BzLnByaXZhdGVEbnNOYW1lc3BhY2UpIHtcbiAgICAgIHRoaXMubmFtZXNwYWNlID0gUHJpdmF0ZURuc05hbWVzcGFjZS5mcm9tUHJpdmF0ZURuc05hbWVzcGFjZUF0dHJpYnV0ZXMoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIFwiUHJpdmF0ZURuc1wiLFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZXNwYWNlTmFtZTogcHJvcHMucHJpdmF0ZURuc05hbWVzcGFjZS5uYW1lc3BhY2UsXG4gICAgICAgICAgbmFtZXNwYWNlSWQ6IHByb3BzLnByaXZhdGVEbnNOYW1lc3BhY2UuaWQsXG4gICAgICAgICAgbmFtZXNwYWNlQXJuOiBwcm9wcy5wcml2YXRlRG5zTmFtZXNwYWNlLmFybixcbiAgICAgICAgfSxcbiAgICAgICkgYXMgUHJpdmF0ZURuc05hbWVzcGFjZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5uYW1lc3BhY2UgPSBuZXcgUHJpdmF0ZURuc05hbWVzcGFjZSh0aGlzLCBgJHtpZH1OYW1lc3BhY2VgLCB7XG4gICAgICAgIG5hbWU6IGAke2lkfS5sb2NhbGAsXG4gICAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJQcml2YXRlIE5hbWVzcGFjZVwiLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGV4cG9ydFZhbHVlID0gY3JlYXRlRXhwb3J0ZXIodGhpcywgXCJuYW1lc3BhY2VcIik7XG5cbiAgICBleHBvcnRWYWx1ZSh7XG4gICAgICBuYW1lOiBcIk5hbWVzcGFjZSBBcm5cIixcbiAgICAgIGtleTogXCJhcm5cIixcbiAgICAgIHZhbHVlOiB0aGlzLm5hbWVzcGFjZS5uYW1lc3BhY2VBcm4sXG4gICAgfSk7XG5cbiAgICBleHBvcnRWYWx1ZSh7XG4gICAgICBuYW1lOiBcIk5hbWVzcGFjZSBJZFwiLFxuICAgICAga2V5OiBcImlkXCIsXG4gICAgICB2YWx1ZTogdGhpcy5uYW1lc3BhY2UubmFtZXNwYWNlSWQsXG4gICAgfSk7XG5cbiAgICBleHBvcnRWYWx1ZSh7XG4gICAgICBuYW1lOiBcIk5hbWVzcGFjZSBOYW1lXCIsXG4gICAgICBrZXk6IFwibmFtZVwiLFxuICAgICAgdmFsdWU6IHRoaXMubmFtZXNwYWNlLm5hbWVzcGFjZU5hbWUsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==