@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.
- package/.jsii +1786 -406
- package/API.md +2758 -957
- package/CHANGELOG.md +23 -0
- package/lib/extensions/ApiGatewayExtension.d.ts +16 -0
- package/lib/extensions/ApiGatewayExtension.js +10 -7
- package/lib/extensions/ApplicationLoadBalancerExtension.js +4 -4
- package/lib/extensions/CloudMapExtension.d.ts +1 -0
- package/lib/extensions/CloudMapExtension.js +6 -8
- package/lib/extensions/DocumentDbAccessExtension.js +5 -6
- package/lib/extensions/DomainEventMessagingExtension.js +1 -1
- package/lib/extensions/ExtraContainerExtension.js +1 -1
- package/lib/extensions/LogExtension.js +4 -6
- package/lib/extensions/PostgresDbAccessExtension.d.ts +22 -0
- package/lib/extensions/PostgresDbAccessExtension.js +52 -0
- package/lib/extensions/SharedVolumeExtension.d.ts +30 -0
- package/lib/extensions/SharedVolumeExtension.js +36 -0
- package/lib/extensions/TcpKeepAliveExtension.js +5 -7
- package/lib/extensions/index.d.ts +3 -1
- package/lib/extensions/index.js +4 -2
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/platform/ApiGateway.d.ts +58 -0
- package/lib/platform/ApiGateway.js +115 -0
- package/lib/platform/ApplicationLoadBalancer.d.ts +18 -0
- package/lib/platform/ApplicationLoadBalancer.js +62 -0
- package/lib/platform/AuthenticationStack.d.ts +19 -0
- package/lib/platform/AuthenticationStack.js +92 -0
- package/lib/platform/CloudMap.d.ts +16 -0
- package/lib/platform/CloudMap.js +48 -0
- package/lib/platform/DefaultUserPoolClients.d.ts +17 -0
- package/lib/platform/DefaultUserPoolClients.js +77 -0
- package/lib/platform/DocumentDB.d.ts +12 -0
- package/lib/platform/DocumentDB.js +47 -0
- package/lib/platform/MessageQueue.d.ts +23 -0
- package/lib/platform/MessageQueue.js +166 -0
- package/lib/platform/PrivateDnsNamespace.d.ts +17 -0
- package/lib/platform/PrivateDnsNamespace.js +50 -0
- package/lib/platform/Vpc.d.ts +13 -0
- package/lib/platform/Vpc.js +44 -0
- package/lib/platform/index.d.ts +6 -0
- package/lib/platform/index.js +23 -0
- package/lib/utils/ImportValue.d.ts +15 -0
- package/lib/utils/ImportValue.js +27 -1
- package/lib/utils/functions.d.ts +9 -0
- package/lib/utils/functions.js +14 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +2 -1
- package/node_modules/lodash/LICENSE +47 -0
- package/node_modules/lodash/README.md +39 -0
- package/node_modules/lodash/_DataView.js +7 -0
- package/node_modules/lodash/_Hash.js +32 -0
- package/node_modules/lodash/_LazyWrapper.js +28 -0
- package/node_modules/lodash/_ListCache.js +32 -0
- package/node_modules/lodash/_LodashWrapper.js +22 -0
- package/node_modules/lodash/_Map.js +7 -0
- package/node_modules/lodash/_MapCache.js +32 -0
- package/node_modules/lodash/_Promise.js +7 -0
- package/node_modules/lodash/_Set.js +7 -0
- package/node_modules/lodash/_SetCache.js +27 -0
- package/node_modules/lodash/_Stack.js +27 -0
- package/node_modules/lodash/_Symbol.js +6 -0
- package/node_modules/lodash/_Uint8Array.js +6 -0
- package/node_modules/lodash/_WeakMap.js +7 -0
- package/node_modules/lodash/_apply.js +21 -0
- package/node_modules/lodash/_arrayAggregator.js +22 -0
- package/node_modules/lodash/_arrayEach.js +22 -0
- package/node_modules/lodash/_arrayEachRight.js +21 -0
- package/node_modules/lodash/_arrayEvery.js +23 -0
- package/node_modules/lodash/_arrayFilter.js +25 -0
- package/node_modules/lodash/_arrayIncludes.js +17 -0
- package/node_modules/lodash/_arrayIncludesWith.js +22 -0
- package/node_modules/lodash/_arrayLikeKeys.js +49 -0
- package/node_modules/lodash/_arrayMap.js +21 -0
- package/node_modules/lodash/_arrayPush.js +20 -0
- package/node_modules/lodash/_arrayReduce.js +26 -0
- package/node_modules/lodash/_arrayReduceRight.js +24 -0
- package/node_modules/lodash/_arraySample.js +15 -0
- package/node_modules/lodash/_arraySampleSize.js +17 -0
- package/node_modules/lodash/_arrayShuffle.js +15 -0
- package/node_modules/lodash/_arraySome.js +23 -0
- package/node_modules/lodash/_asciiSize.js +12 -0
- package/node_modules/lodash/_asciiToArray.js +12 -0
- package/node_modules/lodash/_asciiWords.js +15 -0
- package/node_modules/lodash/_assignMergeValue.js +20 -0
- package/node_modules/lodash/_assignValue.js +28 -0
- package/node_modules/lodash/_assocIndexOf.js +21 -0
- package/node_modules/lodash/_baseAggregator.js +21 -0
- package/node_modules/lodash/_baseAssign.js +17 -0
- package/node_modules/lodash/_baseAssignIn.js +17 -0
- package/node_modules/lodash/_baseAssignValue.js +25 -0
- package/node_modules/lodash/_baseAt.js +23 -0
- package/node_modules/lodash/_baseClamp.js +22 -0
- package/node_modules/lodash/_baseClone.js +166 -0
- package/node_modules/lodash/_baseConforms.js +18 -0
- package/node_modules/lodash/_baseConformsTo.js +27 -0
- package/node_modules/lodash/_baseCreate.js +30 -0
- package/node_modules/lodash/_baseDelay.js +21 -0
- package/node_modules/lodash/_baseDifference.js +67 -0
- package/node_modules/lodash/_baseEach.js +14 -0
- package/node_modules/lodash/_baseEachRight.js +14 -0
- package/node_modules/lodash/_baseEvery.js +21 -0
- package/node_modules/lodash/_baseExtremum.js +32 -0
- package/node_modules/lodash/_baseFill.js +32 -0
- package/node_modules/lodash/_baseFilter.js +21 -0
- package/node_modules/lodash/_baseFindIndex.js +24 -0
- package/node_modules/lodash/_baseFindKey.js +23 -0
- package/node_modules/lodash/_baseFlatten.js +38 -0
- package/node_modules/lodash/_baseFor.js +16 -0
- package/node_modules/lodash/_baseForOwn.js +16 -0
- package/node_modules/lodash/_baseForOwnRight.js +16 -0
- package/node_modules/lodash/_baseForRight.js +15 -0
- package/node_modules/lodash/_baseFunctions.js +19 -0
- package/node_modules/lodash/_baseGet.js +24 -0
- package/node_modules/lodash/_baseGetAllKeys.js +20 -0
- package/node_modules/lodash/_baseGetTag.js +28 -0
- package/node_modules/lodash/_baseGt.js +14 -0
- package/node_modules/lodash/_baseHas.js +19 -0
- package/node_modules/lodash/_baseHasIn.js +13 -0
- package/node_modules/lodash/_baseInRange.js +18 -0
- package/node_modules/lodash/_baseIndexOf.js +20 -0
- package/node_modules/lodash/_baseIndexOfWith.js +23 -0
- package/node_modules/lodash/_baseIntersection.js +74 -0
- package/node_modules/lodash/_baseInverter.js +21 -0
- package/node_modules/lodash/_baseInvoke.js +24 -0
- package/node_modules/lodash/_baseIsArguments.js +18 -0
- package/node_modules/lodash/_baseIsArrayBuffer.js +17 -0
- package/node_modules/lodash/_baseIsDate.js +18 -0
- package/node_modules/lodash/_baseIsEqual.js +28 -0
- package/node_modules/lodash/_baseIsEqualDeep.js +83 -0
- package/node_modules/lodash/_baseIsMap.js +18 -0
- package/node_modules/lodash/_baseIsMatch.js +62 -0
- package/node_modules/lodash/_baseIsNaN.js +12 -0
- package/node_modules/lodash/_baseIsNative.js +47 -0
- package/node_modules/lodash/_baseIsRegExp.js +18 -0
- package/node_modules/lodash/_baseIsSet.js +18 -0
- package/node_modules/lodash/_baseIsTypedArray.js +60 -0
- package/node_modules/lodash/_baseIteratee.js +31 -0
- package/node_modules/lodash/_baseKeys.js +30 -0
- package/node_modules/lodash/_baseKeysIn.js +33 -0
- package/node_modules/lodash/_baseLodash.js +10 -0
- package/node_modules/lodash/_baseLt.js +14 -0
- package/node_modules/lodash/_baseMap.js +22 -0
- package/node_modules/lodash/_baseMatches.js +22 -0
- package/node_modules/lodash/_baseMatchesProperty.js +33 -0
- package/node_modules/lodash/_baseMean.js +20 -0
- package/node_modules/lodash/_baseMerge.js +42 -0
- package/node_modules/lodash/_baseMergeDeep.js +94 -0
- package/node_modules/lodash/_baseNth.js +20 -0
- package/node_modules/lodash/_baseOrderBy.js +49 -0
- package/node_modules/lodash/_basePick.js +19 -0
- package/node_modules/lodash/_basePickBy.js +30 -0
- package/node_modules/lodash/_baseProperty.js +14 -0
- package/node_modules/lodash/_basePropertyDeep.js +16 -0
- package/node_modules/lodash/_basePropertyOf.js +14 -0
- package/node_modules/lodash/_basePullAll.js +51 -0
- package/node_modules/lodash/_basePullAt.js +37 -0
- package/node_modules/lodash/_baseRandom.js +18 -0
- package/node_modules/lodash/_baseRange.js +28 -0
- package/node_modules/lodash/_baseReduce.js +23 -0
- package/node_modules/lodash/_baseRepeat.js +35 -0
- package/node_modules/lodash/_baseRest.js +17 -0
- package/node_modules/lodash/_baseSample.js +15 -0
- package/node_modules/lodash/_baseSampleSize.js +18 -0
- package/node_modules/lodash/_baseSet.js +51 -0
- package/node_modules/lodash/_baseSetData.js +17 -0
- package/node_modules/lodash/_baseSetToString.js +22 -0
- package/node_modules/lodash/_baseShuffle.js +15 -0
- package/node_modules/lodash/_baseSlice.js +31 -0
- package/node_modules/lodash/_baseSome.js +22 -0
- package/node_modules/lodash/_baseSortBy.js +21 -0
- package/node_modules/lodash/_baseSortedIndex.js +42 -0
- package/node_modules/lodash/_baseSortedIndexBy.js +67 -0
- package/node_modules/lodash/_baseSortedUniq.js +30 -0
- package/node_modules/lodash/_baseSum.js +24 -0
- package/node_modules/lodash/_baseTimes.js +20 -0
- package/node_modules/lodash/_baseToNumber.js +24 -0
- package/node_modules/lodash/_baseToPairs.js +18 -0
- package/node_modules/lodash/_baseToString.js +37 -0
- package/node_modules/lodash/_baseTrim.js +19 -0
- package/node_modules/lodash/_baseUnary.js +14 -0
- package/node_modules/lodash/_baseUniq.js +72 -0
- package/node_modules/lodash/_baseUnset.js +20 -0
- package/node_modules/lodash/_baseUpdate.js +18 -0
- package/node_modules/lodash/_baseValues.js +19 -0
- package/node_modules/lodash/_baseWhile.js +26 -0
- package/node_modules/lodash/_baseWrapperValue.js +25 -0
- package/node_modules/lodash/_baseXor.js +36 -0
- package/node_modules/lodash/_baseZipObject.js +23 -0
- package/node_modules/lodash/_cacheHas.js +13 -0
- package/node_modules/lodash/_castArrayLikeObject.js +14 -0
- package/node_modules/lodash/_castFunction.js +14 -0
- package/node_modules/lodash/_castPath.js +21 -0
- package/node_modules/lodash/_castRest.js +14 -0
- package/node_modules/lodash/_castSlice.js +18 -0
- package/node_modules/lodash/_charsEndIndex.js +19 -0
- package/node_modules/lodash/_charsStartIndex.js +20 -0
- package/node_modules/lodash/_cloneArrayBuffer.js +16 -0
- package/node_modules/lodash/_cloneBuffer.js +35 -0
- package/node_modules/lodash/_cloneDataView.js +16 -0
- package/node_modules/lodash/_cloneRegExp.js +17 -0
- package/node_modules/lodash/_cloneSymbol.js +18 -0
- package/node_modules/lodash/_cloneTypedArray.js +16 -0
- package/node_modules/lodash/_compareAscending.js +41 -0
- package/node_modules/lodash/_compareMultiple.js +44 -0
- package/node_modules/lodash/_composeArgs.js +39 -0
- package/node_modules/lodash/_composeArgsRight.js +41 -0
- package/node_modules/lodash/_copyArray.js +20 -0
- package/node_modules/lodash/_copyObject.js +40 -0
- package/node_modules/lodash/_copySymbols.js +16 -0
- package/node_modules/lodash/_copySymbolsIn.js +16 -0
- package/node_modules/lodash/_coreJsData.js +6 -0
- package/node_modules/lodash/_countHolders.js +21 -0
- package/node_modules/lodash/_createAggregator.js +23 -0
- package/node_modules/lodash/_createAssigner.js +37 -0
- package/node_modules/lodash/_createBaseEach.js +32 -0
- package/node_modules/lodash/_createBaseFor.js +25 -0
- package/node_modules/lodash/_createBind.js +28 -0
- package/node_modules/lodash/_createCaseFirst.js +33 -0
- package/node_modules/lodash/_createCompounder.js +24 -0
- package/node_modules/lodash/_createCtor.js +37 -0
- package/node_modules/lodash/_createCurry.js +46 -0
- package/node_modules/lodash/_createFind.js +25 -0
- package/node_modules/lodash/_createFlow.js +78 -0
- package/node_modules/lodash/_createHybrid.js +92 -0
- package/node_modules/lodash/_createInverter.js +17 -0
- package/node_modules/lodash/_createMathOperation.js +38 -0
- package/node_modules/lodash/_createOver.js +27 -0
- package/node_modules/lodash/_createPadding.js +33 -0
- package/node_modules/lodash/_createPartial.js +43 -0
- package/node_modules/lodash/_createRange.js +30 -0
- package/node_modules/lodash/_createRecurry.js +56 -0
- package/node_modules/lodash/_createRelationalOperation.js +20 -0
- package/node_modules/lodash/_createRound.js +35 -0
- package/node_modules/lodash/_createSet.js +19 -0
- package/node_modules/lodash/_createToPairs.js +30 -0
- package/node_modules/lodash/_createWrap.js +106 -0
- package/node_modules/lodash/_customDefaultsAssignIn.js +29 -0
- package/node_modules/lodash/_customDefaultsMerge.js +28 -0
- package/node_modules/lodash/_customOmitClone.js +16 -0
- package/node_modules/lodash/_deburrLetter.js +71 -0
- package/node_modules/lodash/_defineProperty.js +11 -0
- package/node_modules/lodash/_equalArrays.js +84 -0
- package/node_modules/lodash/_equalByTag.js +112 -0
- package/node_modules/lodash/_equalObjects.js +90 -0
- package/node_modules/lodash/_escapeHtmlChar.js +21 -0
- package/node_modules/lodash/_escapeStringChar.js +22 -0
- package/node_modules/lodash/_flatRest.js +16 -0
- package/node_modules/lodash/_freeGlobal.js +4 -0
- package/node_modules/lodash/_getAllKeys.js +16 -0
- package/node_modules/lodash/_getAllKeysIn.js +17 -0
- package/node_modules/lodash/_getData.js +15 -0
- package/node_modules/lodash/_getFuncName.js +31 -0
- package/node_modules/lodash/_getHolder.js +13 -0
- package/node_modules/lodash/_getMapData.js +18 -0
- package/node_modules/lodash/_getMatchData.js +24 -0
- package/node_modules/lodash/_getNative.js +17 -0
- package/node_modules/lodash/_getPrototype.js +6 -0
- package/node_modules/lodash/_getRawTag.js +46 -0
- package/node_modules/lodash/_getSymbols.js +30 -0
- package/node_modules/lodash/_getSymbolsIn.js +25 -0
- package/node_modules/lodash/_getTag.js +58 -0
- package/node_modules/lodash/_getValue.js +13 -0
- package/node_modules/lodash/_getView.js +33 -0
- package/node_modules/lodash/_getWrapDetails.js +17 -0
- package/node_modules/lodash/_hasPath.js +39 -0
- package/node_modules/lodash/_hasUnicode.js +26 -0
- package/node_modules/lodash/_hasUnicodeWord.js +15 -0
- package/node_modules/lodash/_hashClear.js +15 -0
- package/node_modules/lodash/_hashDelete.js +17 -0
- package/node_modules/lodash/_hashGet.js +30 -0
- package/node_modules/lodash/_hashHas.js +23 -0
- package/node_modules/lodash/_hashSet.js +23 -0
- package/node_modules/lodash/_initCloneArray.js +26 -0
- package/node_modules/lodash/_initCloneByTag.js +77 -0
- package/node_modules/lodash/_initCloneObject.js +18 -0
- package/node_modules/lodash/_insertWrapDetails.js +23 -0
- package/node_modules/lodash/_isFlattenable.js +20 -0
- package/node_modules/lodash/_isIndex.js +25 -0
- package/node_modules/lodash/_isIterateeCall.js +30 -0
- package/node_modules/lodash/_isKey.js +29 -0
- package/node_modules/lodash/_isKeyable.js +15 -0
- package/node_modules/lodash/_isLaziable.js +28 -0
- package/node_modules/lodash/_isMaskable.js +14 -0
- package/node_modules/lodash/_isMasked.js +20 -0
- package/node_modules/lodash/_isPrototype.js +18 -0
- package/node_modules/lodash/_isStrictComparable.js +15 -0
- package/node_modules/lodash/_iteratorToArray.js +18 -0
- package/node_modules/lodash/_lazyClone.js +23 -0
- package/node_modules/lodash/_lazyReverse.js +23 -0
- package/node_modules/lodash/_lazyValue.js +69 -0
- package/node_modules/lodash/_listCacheClear.js +13 -0
- package/node_modules/lodash/_listCacheDelete.js +35 -0
- package/node_modules/lodash/_listCacheGet.js +19 -0
- package/node_modules/lodash/_listCacheHas.js +16 -0
- package/node_modules/lodash/_listCacheSet.js +26 -0
- package/node_modules/lodash/_mapCacheClear.js +21 -0
- package/node_modules/lodash/_mapCacheDelete.js +18 -0
- package/node_modules/lodash/_mapCacheGet.js +16 -0
- package/node_modules/lodash/_mapCacheHas.js +16 -0
- package/node_modules/lodash/_mapCacheSet.js +22 -0
- package/node_modules/lodash/_mapToArray.js +18 -0
- package/node_modules/lodash/_matchesStrictComparable.js +20 -0
- package/node_modules/lodash/_memoizeCapped.js +26 -0
- package/node_modules/lodash/_mergeData.js +90 -0
- package/node_modules/lodash/_metaMap.js +6 -0
- package/node_modules/lodash/_nativeCreate.js +6 -0
- package/node_modules/lodash/_nativeKeys.js +6 -0
- package/node_modules/lodash/_nativeKeysIn.js +20 -0
- package/node_modules/lodash/_nodeUtil.js +30 -0
- package/node_modules/lodash/_objectToString.js +22 -0
- package/node_modules/lodash/_overArg.js +15 -0
- package/node_modules/lodash/_overRest.js +36 -0
- package/node_modules/lodash/_parent.js +16 -0
- package/node_modules/lodash/_reEscape.js +4 -0
- package/node_modules/lodash/_reEvaluate.js +4 -0
- package/node_modules/lodash/_reInterpolate.js +4 -0
- package/node_modules/lodash/_realNames.js +4 -0
- package/node_modules/lodash/_reorder.js +29 -0
- package/node_modules/lodash/_replaceHolders.js +29 -0
- package/node_modules/lodash/_root.js +9 -0
- package/node_modules/lodash/_safeGet.js +21 -0
- package/node_modules/lodash/_setCacheAdd.js +19 -0
- package/node_modules/lodash/_setCacheHas.js +14 -0
- package/node_modules/lodash/_setData.js +20 -0
- package/node_modules/lodash/_setToArray.js +18 -0
- package/node_modules/lodash/_setToPairs.js +18 -0
- package/node_modules/lodash/_setToString.js +14 -0
- package/node_modules/lodash/_setWrapToString.js +21 -0
- package/node_modules/lodash/_shortOut.js +37 -0
- package/node_modules/lodash/_shuffleSelf.js +28 -0
- package/node_modules/lodash/_stackClear.js +15 -0
- package/node_modules/lodash/_stackDelete.js +18 -0
- package/node_modules/lodash/_stackGet.js +14 -0
- package/node_modules/lodash/_stackHas.js +14 -0
- package/node_modules/lodash/_stackSet.js +34 -0
- package/node_modules/lodash/_strictIndexOf.js +23 -0
- package/node_modules/lodash/_strictLastIndexOf.js +21 -0
- package/node_modules/lodash/_stringSize.js +18 -0
- package/node_modules/lodash/_stringToArray.js +18 -0
- package/node_modules/lodash/_stringToPath.js +27 -0
- package/node_modules/lodash/_toKey.js +21 -0
- package/node_modules/lodash/_toSource.js +26 -0
- package/node_modules/lodash/_trimmedEndIndex.js +19 -0
- package/node_modules/lodash/_unescapeHtmlChar.js +21 -0
- package/node_modules/lodash/_unicodeSize.js +44 -0
- package/node_modules/lodash/_unicodeToArray.js +40 -0
- package/node_modules/lodash/_unicodeWords.js +69 -0
- package/node_modules/lodash/_updateWrapDetails.js +46 -0
- package/node_modules/lodash/_wrapperClone.js +23 -0
- package/node_modules/lodash/add.js +22 -0
- package/node_modules/lodash/after.js +42 -0
- package/node_modules/lodash/array.js +67 -0
- package/node_modules/lodash/ary.js +29 -0
- package/node_modules/lodash/assign.js +58 -0
- package/node_modules/lodash/assignIn.js +40 -0
- package/node_modules/lodash/assignInWith.js +38 -0
- package/node_modules/lodash/assignWith.js +37 -0
- package/node_modules/lodash/at.js +23 -0
- package/node_modules/lodash/attempt.js +35 -0
- package/node_modules/lodash/before.js +40 -0
- package/node_modules/lodash/bind.js +57 -0
- package/node_modules/lodash/bindAll.js +41 -0
- package/node_modules/lodash/bindKey.js +68 -0
- package/node_modules/lodash/camelCase.js +29 -0
- package/node_modules/lodash/capitalize.js +23 -0
- package/node_modules/lodash/castArray.js +44 -0
- package/node_modules/lodash/ceil.js +26 -0
- package/node_modules/lodash/chain.js +38 -0
- package/node_modules/lodash/chunk.js +50 -0
- package/node_modules/lodash/clamp.js +39 -0
- package/node_modules/lodash/clone.js +36 -0
- package/node_modules/lodash/cloneDeep.js +29 -0
- package/node_modules/lodash/cloneDeepWith.js +40 -0
- package/node_modules/lodash/cloneWith.js +42 -0
- package/node_modules/lodash/collection.js +30 -0
- package/node_modules/lodash/commit.js +33 -0
- package/node_modules/lodash/compact.js +31 -0
- package/node_modules/lodash/concat.js +43 -0
- package/node_modules/lodash/cond.js +60 -0
- package/node_modules/lodash/conforms.js +35 -0
- package/node_modules/lodash/conformsTo.js +32 -0
- package/node_modules/lodash/constant.js +26 -0
- package/node_modules/lodash/core.js +3877 -0
- package/node_modules/lodash/core.min.js +29 -0
- package/node_modules/lodash/countBy.js +40 -0
- package/node_modules/lodash/create.js +43 -0
- package/node_modules/lodash/curry.js +57 -0
- package/node_modules/lodash/curryRight.js +54 -0
- package/node_modules/lodash/date.js +3 -0
- package/node_modules/lodash/debounce.js +191 -0
- package/node_modules/lodash/deburr.js +45 -0
- package/node_modules/lodash/defaultTo.js +25 -0
- package/node_modules/lodash/defaults.js +64 -0
- package/node_modules/lodash/defaultsDeep.js +30 -0
- package/node_modules/lodash/defer.js +26 -0
- package/node_modules/lodash/delay.js +28 -0
- package/node_modules/lodash/difference.js +33 -0
- package/node_modules/lodash/differenceBy.js +44 -0
- package/node_modules/lodash/differenceWith.js +40 -0
- package/node_modules/lodash/divide.js +22 -0
- package/node_modules/lodash/drop.js +38 -0
- package/node_modules/lodash/dropRight.js +39 -0
- package/node_modules/lodash/dropRightWhile.js +45 -0
- package/node_modules/lodash/dropWhile.js +45 -0
- package/node_modules/lodash/each.js +1 -0
- package/node_modules/lodash/eachRight.js +1 -0
- package/node_modules/lodash/endsWith.js +43 -0
- package/node_modules/lodash/entries.js +1 -0
- package/node_modules/lodash/entriesIn.js +1 -0
- package/node_modules/lodash/eq.js +37 -0
- package/node_modules/lodash/escape.js +43 -0
- package/node_modules/lodash/escapeRegExp.js +32 -0
- package/node_modules/lodash/every.js +56 -0
- package/node_modules/lodash/extend.js +1 -0
- package/node_modules/lodash/extendWith.js +1 -0
- package/node_modules/lodash/fill.js +45 -0
- package/node_modules/lodash/filter.js +52 -0
- package/node_modules/lodash/find.js +42 -0
- package/node_modules/lodash/findIndex.js +55 -0
- package/node_modules/lodash/findKey.js +44 -0
- package/node_modules/lodash/findLast.js +25 -0
- package/node_modules/lodash/findLastIndex.js +59 -0
- package/node_modules/lodash/findLastKey.js +44 -0
- package/node_modules/lodash/first.js +1 -0
- package/node_modules/lodash/flake.lock +40 -0
- package/node_modules/lodash/flake.nix +20 -0
- package/node_modules/lodash/flatMap.js +29 -0
- package/node_modules/lodash/flatMapDeep.js +31 -0
- package/node_modules/lodash/flatMapDepth.js +31 -0
- package/node_modules/lodash/flatten.js +22 -0
- package/node_modules/lodash/flattenDeep.js +25 -0
- package/node_modules/lodash/flattenDepth.js +33 -0
- package/node_modules/lodash/flip.js +28 -0
- package/node_modules/lodash/floor.js +26 -0
- package/node_modules/lodash/flow.js +27 -0
- package/node_modules/lodash/flowRight.js +26 -0
- package/node_modules/lodash/forEach.js +41 -0
- package/node_modules/lodash/forEachRight.js +31 -0
- package/node_modules/lodash/forIn.js +39 -0
- package/node_modules/lodash/forInRight.js +37 -0
- package/node_modules/lodash/forOwn.js +36 -0
- package/node_modules/lodash/forOwnRight.js +34 -0
- package/node_modules/lodash/fp/F.js +1 -0
- package/node_modules/lodash/fp/T.js +1 -0
- package/node_modules/lodash/fp/__.js +1 -0
- package/node_modules/lodash/fp/_baseConvert.js +569 -0
- package/node_modules/lodash/fp/_convertBrowser.js +18 -0
- package/node_modules/lodash/fp/_falseOptions.js +7 -0
- package/node_modules/lodash/fp/_mapping.js +358 -0
- package/node_modules/lodash/fp/_util.js +16 -0
- package/node_modules/lodash/fp/add.js +5 -0
- package/node_modules/lodash/fp/after.js +5 -0
- package/node_modules/lodash/fp/all.js +1 -0
- package/node_modules/lodash/fp/allPass.js +1 -0
- package/node_modules/lodash/fp/always.js +1 -0
- package/node_modules/lodash/fp/any.js +1 -0
- package/node_modules/lodash/fp/anyPass.js +1 -0
- package/node_modules/lodash/fp/apply.js +1 -0
- package/node_modules/lodash/fp/array.js +2 -0
- package/node_modules/lodash/fp/ary.js +5 -0
- package/node_modules/lodash/fp/assign.js +5 -0
- package/node_modules/lodash/fp/assignAll.js +5 -0
- package/node_modules/lodash/fp/assignAllWith.js +5 -0
- package/node_modules/lodash/fp/assignIn.js +5 -0
- package/node_modules/lodash/fp/assignInAll.js +5 -0
- package/node_modules/lodash/fp/assignInAllWith.js +5 -0
- package/node_modules/lodash/fp/assignInWith.js +5 -0
- package/node_modules/lodash/fp/assignWith.js +5 -0
- package/node_modules/lodash/fp/assoc.js +1 -0
- package/node_modules/lodash/fp/assocPath.js +1 -0
- package/node_modules/lodash/fp/at.js +5 -0
- package/node_modules/lodash/fp/attempt.js +5 -0
- package/node_modules/lodash/fp/before.js +5 -0
- package/node_modules/lodash/fp/bind.js +5 -0
- package/node_modules/lodash/fp/bindAll.js +5 -0
- package/node_modules/lodash/fp/bindKey.js +5 -0
- package/node_modules/lodash/fp/camelCase.js +5 -0
- package/node_modules/lodash/fp/capitalize.js +5 -0
- package/node_modules/lodash/fp/castArray.js +5 -0
- package/node_modules/lodash/fp/ceil.js +5 -0
- package/node_modules/lodash/fp/chain.js +5 -0
- package/node_modules/lodash/fp/chunk.js +5 -0
- package/node_modules/lodash/fp/clamp.js +5 -0
- package/node_modules/lodash/fp/clone.js +5 -0
- package/node_modules/lodash/fp/cloneDeep.js +5 -0
- package/node_modules/lodash/fp/cloneDeepWith.js +5 -0
- package/node_modules/lodash/fp/cloneWith.js +5 -0
- package/node_modules/lodash/fp/collection.js +2 -0
- package/node_modules/lodash/fp/commit.js +5 -0
- package/node_modules/lodash/fp/compact.js +5 -0
- package/node_modules/lodash/fp/complement.js +1 -0
- package/node_modules/lodash/fp/compose.js +1 -0
- package/node_modules/lodash/fp/concat.js +5 -0
- package/node_modules/lodash/fp/cond.js +5 -0
- package/node_modules/lodash/fp/conforms.js +1 -0
- package/node_modules/lodash/fp/conformsTo.js +5 -0
- package/node_modules/lodash/fp/constant.js +5 -0
- package/node_modules/lodash/fp/contains.js +1 -0
- package/node_modules/lodash/fp/convert.js +18 -0
- package/node_modules/lodash/fp/countBy.js +5 -0
- package/node_modules/lodash/fp/create.js +5 -0
- package/node_modules/lodash/fp/curry.js +5 -0
- package/node_modules/lodash/fp/curryN.js +5 -0
- package/node_modules/lodash/fp/curryRight.js +5 -0
- package/node_modules/lodash/fp/curryRightN.js +5 -0
- package/node_modules/lodash/fp/date.js +2 -0
- package/node_modules/lodash/fp/debounce.js +5 -0
- package/node_modules/lodash/fp/deburr.js +5 -0
- package/node_modules/lodash/fp/defaultTo.js +5 -0
- package/node_modules/lodash/fp/defaults.js +5 -0
- package/node_modules/lodash/fp/defaultsAll.js +5 -0
- package/node_modules/lodash/fp/defaultsDeep.js +5 -0
- package/node_modules/lodash/fp/defaultsDeepAll.js +5 -0
- package/node_modules/lodash/fp/defer.js +5 -0
- package/node_modules/lodash/fp/delay.js +5 -0
- package/node_modules/lodash/fp/difference.js +5 -0
- package/node_modules/lodash/fp/differenceBy.js +5 -0
- package/node_modules/lodash/fp/differenceWith.js +5 -0
- package/node_modules/lodash/fp/dissoc.js +1 -0
- package/node_modules/lodash/fp/dissocPath.js +1 -0
- package/node_modules/lodash/fp/divide.js +5 -0
- package/node_modules/lodash/fp/drop.js +5 -0
- package/node_modules/lodash/fp/dropLast.js +1 -0
- package/node_modules/lodash/fp/dropLastWhile.js +1 -0
- package/node_modules/lodash/fp/dropRight.js +5 -0
- package/node_modules/lodash/fp/dropRightWhile.js +5 -0
- package/node_modules/lodash/fp/dropWhile.js +5 -0
- package/node_modules/lodash/fp/each.js +1 -0
- package/node_modules/lodash/fp/eachRight.js +1 -0
- package/node_modules/lodash/fp/endsWith.js +5 -0
- package/node_modules/lodash/fp/entries.js +1 -0
- package/node_modules/lodash/fp/entriesIn.js +1 -0
- package/node_modules/lodash/fp/eq.js +5 -0
- package/node_modules/lodash/fp/equals.js +1 -0
- package/node_modules/lodash/fp/escape.js +5 -0
- package/node_modules/lodash/fp/escapeRegExp.js +5 -0
- package/node_modules/lodash/fp/every.js +5 -0
- package/node_modules/lodash/fp/extend.js +1 -0
- package/node_modules/lodash/fp/extendAll.js +1 -0
- package/node_modules/lodash/fp/extendAllWith.js +1 -0
- package/node_modules/lodash/fp/extendWith.js +1 -0
- package/node_modules/lodash/fp/fill.js +5 -0
- package/node_modules/lodash/fp/filter.js +5 -0
- package/node_modules/lodash/fp/find.js +5 -0
- package/node_modules/lodash/fp/findFrom.js +5 -0
- package/node_modules/lodash/fp/findIndex.js +5 -0
- package/node_modules/lodash/fp/findIndexFrom.js +5 -0
- package/node_modules/lodash/fp/findKey.js +5 -0
- package/node_modules/lodash/fp/findLast.js +5 -0
- package/node_modules/lodash/fp/findLastFrom.js +5 -0
- package/node_modules/lodash/fp/findLastIndex.js +5 -0
- package/node_modules/lodash/fp/findLastIndexFrom.js +5 -0
- package/node_modules/lodash/fp/findLastKey.js +5 -0
- package/node_modules/lodash/fp/first.js +1 -0
- package/node_modules/lodash/fp/flatMap.js +5 -0
- package/node_modules/lodash/fp/flatMapDeep.js +5 -0
- package/node_modules/lodash/fp/flatMapDepth.js +5 -0
- package/node_modules/lodash/fp/flatten.js +5 -0
- package/node_modules/lodash/fp/flattenDeep.js +5 -0
- package/node_modules/lodash/fp/flattenDepth.js +5 -0
- package/node_modules/lodash/fp/flip.js +5 -0
- package/node_modules/lodash/fp/floor.js +5 -0
- package/node_modules/lodash/fp/flow.js +5 -0
- package/node_modules/lodash/fp/flowRight.js +5 -0
- package/node_modules/lodash/fp/forEach.js +5 -0
- package/node_modules/lodash/fp/forEachRight.js +5 -0
- package/node_modules/lodash/fp/forIn.js +5 -0
- package/node_modules/lodash/fp/forInRight.js +5 -0
- package/node_modules/lodash/fp/forOwn.js +5 -0
- package/node_modules/lodash/fp/forOwnRight.js +5 -0
- package/node_modules/lodash/fp/fromPairs.js +5 -0
- package/node_modules/lodash/fp/function.js +2 -0
- package/node_modules/lodash/fp/functions.js +5 -0
- package/node_modules/lodash/fp/functionsIn.js +5 -0
- package/node_modules/lodash/fp/get.js +5 -0
- package/node_modules/lodash/fp/getOr.js +5 -0
- package/node_modules/lodash/fp/groupBy.js +5 -0
- package/node_modules/lodash/fp/gt.js +5 -0
- package/node_modules/lodash/fp/gte.js +5 -0
- package/node_modules/lodash/fp/has.js +5 -0
- package/node_modules/lodash/fp/hasIn.js +5 -0
- package/node_modules/lodash/fp/head.js +5 -0
- package/node_modules/lodash/fp/identical.js +1 -0
- package/node_modules/lodash/fp/identity.js +5 -0
- package/node_modules/lodash/fp/inRange.js +5 -0
- package/node_modules/lodash/fp/includes.js +5 -0
- package/node_modules/lodash/fp/includesFrom.js +5 -0
- package/node_modules/lodash/fp/indexBy.js +1 -0
- package/node_modules/lodash/fp/indexOf.js +5 -0
- package/node_modules/lodash/fp/indexOfFrom.js +5 -0
- package/node_modules/lodash/fp/init.js +1 -0
- package/node_modules/lodash/fp/initial.js +5 -0
- package/node_modules/lodash/fp/intersection.js +5 -0
- package/node_modules/lodash/fp/intersectionBy.js +5 -0
- package/node_modules/lodash/fp/intersectionWith.js +5 -0
- package/node_modules/lodash/fp/invert.js +5 -0
- package/node_modules/lodash/fp/invertBy.js +5 -0
- package/node_modules/lodash/fp/invertObj.js +1 -0
- package/node_modules/lodash/fp/invoke.js +5 -0
- package/node_modules/lodash/fp/invokeArgs.js +5 -0
- package/node_modules/lodash/fp/invokeArgsMap.js +5 -0
- package/node_modules/lodash/fp/invokeMap.js +5 -0
- package/node_modules/lodash/fp/isArguments.js +5 -0
- package/node_modules/lodash/fp/isArray.js +5 -0
- package/node_modules/lodash/fp/isArrayBuffer.js +5 -0
- package/node_modules/lodash/fp/isArrayLike.js +5 -0
- package/node_modules/lodash/fp/isArrayLikeObject.js +5 -0
- package/node_modules/lodash/fp/isBoolean.js +5 -0
- package/node_modules/lodash/fp/isBuffer.js +5 -0
- package/node_modules/lodash/fp/isDate.js +5 -0
- package/node_modules/lodash/fp/isElement.js +5 -0
- package/node_modules/lodash/fp/isEmpty.js +5 -0
- package/node_modules/lodash/fp/isEqual.js +5 -0
- package/node_modules/lodash/fp/isEqualWith.js +5 -0
- package/node_modules/lodash/fp/isError.js +5 -0
- package/node_modules/lodash/fp/isFinite.js +5 -0
- package/node_modules/lodash/fp/isFunction.js +5 -0
- package/node_modules/lodash/fp/isInteger.js +5 -0
- package/node_modules/lodash/fp/isLength.js +5 -0
- package/node_modules/lodash/fp/isMap.js +5 -0
- package/node_modules/lodash/fp/isMatch.js +5 -0
- package/node_modules/lodash/fp/isMatchWith.js +5 -0
- package/node_modules/lodash/fp/isNaN.js +5 -0
- package/node_modules/lodash/fp/isNative.js +5 -0
- package/node_modules/lodash/fp/isNil.js +5 -0
- package/node_modules/lodash/fp/isNull.js +5 -0
- package/node_modules/lodash/fp/isNumber.js +5 -0
- package/node_modules/lodash/fp/isObject.js +5 -0
- package/node_modules/lodash/fp/isObjectLike.js +5 -0
- package/node_modules/lodash/fp/isPlainObject.js +5 -0
- package/node_modules/lodash/fp/isRegExp.js +5 -0
- package/node_modules/lodash/fp/isSafeInteger.js +5 -0
- package/node_modules/lodash/fp/isSet.js +5 -0
- package/node_modules/lodash/fp/isString.js +5 -0
- package/node_modules/lodash/fp/isSymbol.js +5 -0
- package/node_modules/lodash/fp/isTypedArray.js +5 -0
- package/node_modules/lodash/fp/isUndefined.js +5 -0
- package/node_modules/lodash/fp/isWeakMap.js +5 -0
- package/node_modules/lodash/fp/isWeakSet.js +5 -0
- package/node_modules/lodash/fp/iteratee.js +5 -0
- package/node_modules/lodash/fp/join.js +5 -0
- package/node_modules/lodash/fp/juxt.js +1 -0
- package/node_modules/lodash/fp/kebabCase.js +5 -0
- package/node_modules/lodash/fp/keyBy.js +5 -0
- package/node_modules/lodash/fp/keys.js +5 -0
- package/node_modules/lodash/fp/keysIn.js +5 -0
- package/node_modules/lodash/fp/lang.js +2 -0
- package/node_modules/lodash/fp/last.js +5 -0
- package/node_modules/lodash/fp/lastIndexOf.js +5 -0
- package/node_modules/lodash/fp/lastIndexOfFrom.js +5 -0
- package/node_modules/lodash/fp/lowerCase.js +5 -0
- package/node_modules/lodash/fp/lowerFirst.js +5 -0
- package/node_modules/lodash/fp/lt.js +5 -0
- package/node_modules/lodash/fp/lte.js +5 -0
- package/node_modules/lodash/fp/map.js +5 -0
- package/node_modules/lodash/fp/mapKeys.js +5 -0
- package/node_modules/lodash/fp/mapValues.js +5 -0
- package/node_modules/lodash/fp/matches.js +1 -0
- package/node_modules/lodash/fp/matchesProperty.js +5 -0
- package/node_modules/lodash/fp/math.js +2 -0
- package/node_modules/lodash/fp/max.js +5 -0
- package/node_modules/lodash/fp/maxBy.js +5 -0
- package/node_modules/lodash/fp/mean.js +5 -0
- package/node_modules/lodash/fp/meanBy.js +5 -0
- package/node_modules/lodash/fp/memoize.js +5 -0
- package/node_modules/lodash/fp/merge.js +5 -0
- package/node_modules/lodash/fp/mergeAll.js +5 -0
- package/node_modules/lodash/fp/mergeAllWith.js +5 -0
- package/node_modules/lodash/fp/mergeWith.js +5 -0
- package/node_modules/lodash/fp/method.js +5 -0
- package/node_modules/lodash/fp/methodOf.js +5 -0
- package/node_modules/lodash/fp/min.js +5 -0
- package/node_modules/lodash/fp/minBy.js +5 -0
- package/node_modules/lodash/fp/mixin.js +5 -0
- package/node_modules/lodash/fp/multiply.js +5 -0
- package/node_modules/lodash/fp/nAry.js +1 -0
- package/node_modules/lodash/fp/negate.js +5 -0
- package/node_modules/lodash/fp/next.js +5 -0
- package/node_modules/lodash/fp/noop.js +5 -0
- package/node_modules/lodash/fp/now.js +5 -0
- package/node_modules/lodash/fp/nth.js +5 -0
- package/node_modules/lodash/fp/nthArg.js +5 -0
- package/node_modules/lodash/fp/number.js +2 -0
- package/node_modules/lodash/fp/object.js +2 -0
- package/node_modules/lodash/fp/omit.js +5 -0
- package/node_modules/lodash/fp/omitAll.js +1 -0
- package/node_modules/lodash/fp/omitBy.js +5 -0
- package/node_modules/lodash/fp/once.js +5 -0
- package/node_modules/lodash/fp/orderBy.js +5 -0
- package/node_modules/lodash/fp/over.js +5 -0
- package/node_modules/lodash/fp/overArgs.js +5 -0
- package/node_modules/lodash/fp/overEvery.js +5 -0
- package/node_modules/lodash/fp/overSome.js +5 -0
- package/node_modules/lodash/fp/pad.js +5 -0
- package/node_modules/lodash/fp/padChars.js +5 -0
- package/node_modules/lodash/fp/padCharsEnd.js +5 -0
- package/node_modules/lodash/fp/padCharsStart.js +5 -0
- package/node_modules/lodash/fp/padEnd.js +5 -0
- package/node_modules/lodash/fp/padStart.js +5 -0
- package/node_modules/lodash/fp/parseInt.js +5 -0
- package/node_modules/lodash/fp/partial.js +5 -0
- package/node_modules/lodash/fp/partialRight.js +5 -0
- package/node_modules/lodash/fp/partition.js +5 -0
- package/node_modules/lodash/fp/path.js +1 -0
- package/node_modules/lodash/fp/pathEq.js +1 -0
- package/node_modules/lodash/fp/pathOr.js +1 -0
- package/node_modules/lodash/fp/paths.js +1 -0
- package/node_modules/lodash/fp/pick.js +5 -0
- package/node_modules/lodash/fp/pickAll.js +1 -0
- package/node_modules/lodash/fp/pickBy.js +5 -0
- package/node_modules/lodash/fp/pipe.js +1 -0
- package/node_modules/lodash/fp/placeholder.js +6 -0
- package/node_modules/lodash/fp/plant.js +5 -0
- package/node_modules/lodash/fp/pluck.js +1 -0
- package/node_modules/lodash/fp/prop.js +1 -0
- package/node_modules/lodash/fp/propEq.js +1 -0
- package/node_modules/lodash/fp/propOr.js +1 -0
- package/node_modules/lodash/fp/property.js +1 -0
- package/node_modules/lodash/fp/propertyOf.js +5 -0
- package/node_modules/lodash/fp/props.js +1 -0
- package/node_modules/lodash/fp/pull.js +5 -0
- package/node_modules/lodash/fp/pullAll.js +5 -0
- package/node_modules/lodash/fp/pullAllBy.js +5 -0
- package/node_modules/lodash/fp/pullAllWith.js +5 -0
- package/node_modules/lodash/fp/pullAt.js +5 -0
- package/node_modules/lodash/fp/random.js +5 -0
- package/node_modules/lodash/fp/range.js +5 -0
- package/node_modules/lodash/fp/rangeRight.js +5 -0
- package/node_modules/lodash/fp/rangeStep.js +5 -0
- package/node_modules/lodash/fp/rangeStepRight.js +5 -0
- package/node_modules/lodash/fp/rearg.js +5 -0
- package/node_modules/lodash/fp/reduce.js +5 -0
- package/node_modules/lodash/fp/reduceRight.js +5 -0
- package/node_modules/lodash/fp/reject.js +5 -0
- package/node_modules/lodash/fp/remove.js +5 -0
- package/node_modules/lodash/fp/repeat.js +5 -0
- package/node_modules/lodash/fp/replace.js +5 -0
- package/node_modules/lodash/fp/rest.js +5 -0
- package/node_modules/lodash/fp/restFrom.js +5 -0
- package/node_modules/lodash/fp/result.js +5 -0
- package/node_modules/lodash/fp/reverse.js +5 -0
- package/node_modules/lodash/fp/round.js +5 -0
- package/node_modules/lodash/fp/sample.js +5 -0
- package/node_modules/lodash/fp/sampleSize.js +5 -0
- package/node_modules/lodash/fp/seq.js +2 -0
- package/node_modules/lodash/fp/set.js +5 -0
- package/node_modules/lodash/fp/setWith.js +5 -0
- package/node_modules/lodash/fp/shuffle.js +5 -0
- package/node_modules/lodash/fp/size.js +5 -0
- package/node_modules/lodash/fp/slice.js +5 -0
- package/node_modules/lodash/fp/snakeCase.js +5 -0
- package/node_modules/lodash/fp/some.js +5 -0
- package/node_modules/lodash/fp/sortBy.js +5 -0
- package/node_modules/lodash/fp/sortedIndex.js +5 -0
- package/node_modules/lodash/fp/sortedIndexBy.js +5 -0
- package/node_modules/lodash/fp/sortedIndexOf.js +5 -0
- package/node_modules/lodash/fp/sortedLastIndex.js +5 -0
- package/node_modules/lodash/fp/sortedLastIndexBy.js +5 -0
- package/node_modules/lodash/fp/sortedLastIndexOf.js +5 -0
- package/node_modules/lodash/fp/sortedUniq.js +5 -0
- package/node_modules/lodash/fp/sortedUniqBy.js +5 -0
- package/node_modules/lodash/fp/split.js +5 -0
- package/node_modules/lodash/fp/spread.js +5 -0
- package/node_modules/lodash/fp/spreadFrom.js +5 -0
- package/node_modules/lodash/fp/startCase.js +5 -0
- package/node_modules/lodash/fp/startsWith.js +5 -0
- package/node_modules/lodash/fp/string.js +2 -0
- package/node_modules/lodash/fp/stubArray.js +5 -0
- package/node_modules/lodash/fp/stubFalse.js +5 -0
- package/node_modules/lodash/fp/stubObject.js +5 -0
- package/node_modules/lodash/fp/stubString.js +5 -0
- package/node_modules/lodash/fp/stubTrue.js +5 -0
- package/node_modules/lodash/fp/subtract.js +5 -0
- package/node_modules/lodash/fp/sum.js +5 -0
- package/node_modules/lodash/fp/sumBy.js +5 -0
- package/node_modules/lodash/fp/symmetricDifference.js +1 -0
- package/node_modules/lodash/fp/symmetricDifferenceBy.js +1 -0
- package/node_modules/lodash/fp/symmetricDifferenceWith.js +1 -0
- package/node_modules/lodash/fp/tail.js +5 -0
- package/node_modules/lodash/fp/take.js +5 -0
- package/node_modules/lodash/fp/takeLast.js +1 -0
- package/node_modules/lodash/fp/takeLastWhile.js +1 -0
- package/node_modules/lodash/fp/takeRight.js +5 -0
- package/node_modules/lodash/fp/takeRightWhile.js +5 -0
- package/node_modules/lodash/fp/takeWhile.js +5 -0
- package/node_modules/lodash/fp/tap.js +5 -0
- package/node_modules/lodash/fp/template.js +5 -0
- package/node_modules/lodash/fp/templateSettings.js +5 -0
- package/node_modules/lodash/fp/throttle.js +5 -0
- package/node_modules/lodash/fp/thru.js +5 -0
- package/node_modules/lodash/fp/times.js +5 -0
- package/node_modules/lodash/fp/toArray.js +5 -0
- package/node_modules/lodash/fp/toFinite.js +5 -0
- package/node_modules/lodash/fp/toInteger.js +5 -0
- package/node_modules/lodash/fp/toIterator.js +5 -0
- package/node_modules/lodash/fp/toJSON.js +5 -0
- package/node_modules/lodash/fp/toLength.js +5 -0
- package/node_modules/lodash/fp/toLower.js +5 -0
- package/node_modules/lodash/fp/toNumber.js +5 -0
- package/node_modules/lodash/fp/toPairs.js +5 -0
- package/node_modules/lodash/fp/toPairsIn.js +5 -0
- package/node_modules/lodash/fp/toPath.js +5 -0
- package/node_modules/lodash/fp/toPlainObject.js +5 -0
- package/node_modules/lodash/fp/toSafeInteger.js +5 -0
- package/node_modules/lodash/fp/toString.js +5 -0
- package/node_modules/lodash/fp/toUpper.js +5 -0
- package/node_modules/lodash/fp/transform.js +5 -0
- package/node_modules/lodash/fp/trim.js +5 -0
- package/node_modules/lodash/fp/trimChars.js +5 -0
- package/node_modules/lodash/fp/trimCharsEnd.js +5 -0
- package/node_modules/lodash/fp/trimCharsStart.js +5 -0
- package/node_modules/lodash/fp/trimEnd.js +5 -0
- package/node_modules/lodash/fp/trimStart.js +5 -0
- package/node_modules/lodash/fp/truncate.js +5 -0
- package/node_modules/lodash/fp/unapply.js +1 -0
- package/node_modules/lodash/fp/unary.js +5 -0
- package/node_modules/lodash/fp/unescape.js +5 -0
- package/node_modules/lodash/fp/union.js +5 -0
- package/node_modules/lodash/fp/unionBy.js +5 -0
- package/node_modules/lodash/fp/unionWith.js +5 -0
- package/node_modules/lodash/fp/uniq.js +5 -0
- package/node_modules/lodash/fp/uniqBy.js +5 -0
- package/node_modules/lodash/fp/uniqWith.js +5 -0
- package/node_modules/lodash/fp/uniqueId.js +5 -0
- package/node_modules/lodash/fp/unnest.js +1 -0
- package/node_modules/lodash/fp/unset.js +5 -0
- package/node_modules/lodash/fp/unzip.js +5 -0
- package/node_modules/lodash/fp/unzipWith.js +5 -0
- package/node_modules/lodash/fp/update.js +5 -0
- package/node_modules/lodash/fp/updateWith.js +5 -0
- package/node_modules/lodash/fp/upperCase.js +5 -0
- package/node_modules/lodash/fp/upperFirst.js +5 -0
- package/node_modules/lodash/fp/useWith.js +1 -0
- package/node_modules/lodash/fp/util.js +2 -0
- package/node_modules/lodash/fp/value.js +5 -0
- package/node_modules/lodash/fp/valueOf.js +5 -0
- package/node_modules/lodash/fp/values.js +5 -0
- package/node_modules/lodash/fp/valuesIn.js +5 -0
- package/node_modules/lodash/fp/where.js +1 -0
- package/node_modules/lodash/fp/whereEq.js +1 -0
- package/node_modules/lodash/fp/without.js +5 -0
- package/node_modules/lodash/fp/words.js +5 -0
- package/node_modules/lodash/fp/wrap.js +5 -0
- package/node_modules/lodash/fp/wrapperAt.js +5 -0
- package/node_modules/lodash/fp/wrapperChain.js +5 -0
- package/node_modules/lodash/fp/wrapperLodash.js +5 -0
- package/node_modules/lodash/fp/wrapperReverse.js +5 -0
- package/node_modules/lodash/fp/wrapperValue.js +5 -0
- package/node_modules/lodash/fp/xor.js +5 -0
- package/node_modules/lodash/fp/xorBy.js +5 -0
- package/node_modules/lodash/fp/xorWith.js +5 -0
- package/node_modules/lodash/fp/zip.js +5 -0
- package/node_modules/lodash/fp/zipAll.js +5 -0
- package/node_modules/lodash/fp/zipObj.js +1 -0
- package/node_modules/lodash/fp/zipObject.js +5 -0
- package/node_modules/lodash/fp/zipObjectDeep.js +5 -0
- package/node_modules/lodash/fp/zipWith.js +5 -0
- package/node_modules/lodash/fp.js +2 -0
- package/node_modules/lodash/fromPairs.js +28 -0
- package/node_modules/lodash/function.js +25 -0
- package/node_modules/lodash/functions.js +31 -0
- package/node_modules/lodash/functionsIn.js +31 -0
- package/node_modules/lodash/get.js +33 -0
- package/node_modules/lodash/groupBy.js +41 -0
- package/node_modules/lodash/gt.js +29 -0
- package/node_modules/lodash/gte.js +30 -0
- package/node_modules/lodash/has.js +35 -0
- package/node_modules/lodash/hasIn.js +34 -0
- package/node_modules/lodash/head.js +23 -0
- package/node_modules/lodash/identity.js +21 -0
- package/node_modules/lodash/inRange.js +55 -0
- package/node_modules/lodash/includes.js +53 -0
- package/node_modules/lodash/index.js +1 -0
- package/node_modules/lodash/indexOf.js +42 -0
- package/node_modules/lodash/initial.js +22 -0
- package/node_modules/lodash/intersection.js +30 -0
- package/node_modules/lodash/intersectionBy.js +45 -0
- package/node_modules/lodash/intersectionWith.js +41 -0
- package/node_modules/lodash/invert.js +42 -0
- package/node_modules/lodash/invertBy.js +56 -0
- package/node_modules/lodash/invoke.js +24 -0
- package/node_modules/lodash/invokeMap.js +41 -0
- package/node_modules/lodash/isArguments.js +36 -0
- package/node_modules/lodash/isArray.js +26 -0
- package/node_modules/lodash/isArrayBuffer.js +27 -0
- package/node_modules/lodash/isArrayLike.js +33 -0
- package/node_modules/lodash/isArrayLikeObject.js +33 -0
- package/node_modules/lodash/isBoolean.js +29 -0
- package/node_modules/lodash/isBuffer.js +38 -0
- package/node_modules/lodash/isDate.js +27 -0
- package/node_modules/lodash/isElement.js +25 -0
- package/node_modules/lodash/isEmpty.js +77 -0
- package/node_modules/lodash/isEqual.js +35 -0
- package/node_modules/lodash/isEqualWith.js +41 -0
- package/node_modules/lodash/isError.js +36 -0
- package/node_modules/lodash/isFinite.js +36 -0
- package/node_modules/lodash/isFunction.js +37 -0
- package/node_modules/lodash/isInteger.js +33 -0
- package/node_modules/lodash/isLength.js +35 -0
- package/node_modules/lodash/isMap.js +27 -0
- package/node_modules/lodash/isMatch.js +36 -0
- package/node_modules/lodash/isMatchWith.js +41 -0
- package/node_modules/lodash/isNaN.js +38 -0
- package/node_modules/lodash/isNative.js +40 -0
- package/node_modules/lodash/isNil.js +25 -0
- package/node_modules/lodash/isNull.js +22 -0
- package/node_modules/lodash/isNumber.js +38 -0
- package/node_modules/lodash/isObject.js +31 -0
- package/node_modules/lodash/isObjectLike.js +29 -0
- package/node_modules/lodash/isPlainObject.js +62 -0
- package/node_modules/lodash/isRegExp.js +27 -0
- package/node_modules/lodash/isSafeInteger.js +37 -0
- package/node_modules/lodash/isSet.js +27 -0
- package/node_modules/lodash/isString.js +30 -0
- package/node_modules/lodash/isSymbol.js +29 -0
- package/node_modules/lodash/isTypedArray.js +27 -0
- package/node_modules/lodash/isUndefined.js +22 -0
- package/node_modules/lodash/isWeakMap.js +28 -0
- package/node_modules/lodash/isWeakSet.js +28 -0
- package/node_modules/lodash/iteratee.js +53 -0
- package/node_modules/lodash/join.js +26 -0
- package/node_modules/lodash/kebabCase.js +28 -0
- package/node_modules/lodash/keyBy.js +36 -0
- package/node_modules/lodash/keys.js +37 -0
- package/node_modules/lodash/keysIn.js +32 -0
- package/node_modules/lodash/lang.js +58 -0
- package/node_modules/lodash/last.js +20 -0
- package/node_modules/lodash/lastIndexOf.js +46 -0
- package/node_modules/lodash/lodash.js +17209 -0
- package/node_modules/lodash/lodash.min.js +140 -0
- package/node_modules/lodash/lowerCase.js +27 -0
- package/node_modules/lodash/lowerFirst.js +22 -0
- package/node_modules/lodash/lt.js +29 -0
- package/node_modules/lodash/lte.js +30 -0
- package/node_modules/lodash/map.js +53 -0
- package/node_modules/lodash/mapKeys.js +36 -0
- package/node_modules/lodash/mapValues.js +43 -0
- package/node_modules/lodash/matches.js +46 -0
- package/node_modules/lodash/matchesProperty.js +44 -0
- package/node_modules/lodash/math.js +17 -0
- package/node_modules/lodash/max.js +29 -0
- package/node_modules/lodash/maxBy.js +34 -0
- package/node_modules/lodash/mean.js +22 -0
- package/node_modules/lodash/meanBy.js +31 -0
- package/node_modules/lodash/memoize.js +73 -0
- package/node_modules/lodash/merge.js +39 -0
- package/node_modules/lodash/mergeWith.js +39 -0
- package/node_modules/lodash/method.js +34 -0
- package/node_modules/lodash/methodOf.js +33 -0
- package/node_modules/lodash/min.js +29 -0
- package/node_modules/lodash/minBy.js +34 -0
- package/node_modules/lodash/mixin.js +74 -0
- package/node_modules/lodash/multiply.js +22 -0
- package/node_modules/lodash/negate.js +40 -0
- package/node_modules/lodash/next.js +35 -0
- package/node_modules/lodash/noop.js +17 -0
- package/node_modules/lodash/now.js +23 -0
- package/node_modules/lodash/nth.js +29 -0
- package/node_modules/lodash/nthArg.js +32 -0
- package/node_modules/lodash/number.js +5 -0
- package/node_modules/lodash/object.js +49 -0
- package/node_modules/lodash/omit.js +57 -0
- package/node_modules/lodash/omitBy.js +29 -0
- package/node_modules/lodash/once.js +25 -0
- package/node_modules/lodash/orderBy.js +47 -0
- package/node_modules/lodash/over.js +24 -0
- package/node_modules/lodash/overArgs.js +61 -0
- package/node_modules/lodash/overEvery.js +34 -0
- package/node_modules/lodash/overSome.js +37 -0
- package/node_modules/lodash/package.json +17 -0
- package/node_modules/lodash/pad.js +49 -0
- package/node_modules/lodash/padEnd.js +39 -0
- package/node_modules/lodash/padStart.js +39 -0
- package/node_modules/lodash/parseInt.js +43 -0
- package/node_modules/lodash/partial.js +50 -0
- package/node_modules/lodash/partialRight.js +49 -0
- package/node_modules/lodash/partition.js +43 -0
- package/node_modules/lodash/pick.js +25 -0
- package/node_modules/lodash/pickBy.js +37 -0
- package/node_modules/lodash/plant.js +48 -0
- package/node_modules/lodash/property.js +32 -0
- package/node_modules/lodash/propertyOf.js +30 -0
- package/node_modules/lodash/pull.js +29 -0
- package/node_modules/lodash/pullAll.js +29 -0
- package/node_modules/lodash/pullAllBy.js +33 -0
- package/node_modules/lodash/pullAllWith.js +32 -0
- package/node_modules/lodash/pullAt.js +43 -0
- package/node_modules/lodash/random.js +82 -0
- package/node_modules/lodash/range.js +46 -0
- package/node_modules/lodash/rangeRight.js +41 -0
- package/node_modules/lodash/rearg.js +33 -0
- package/node_modules/lodash/reduce.js +51 -0
- package/node_modules/lodash/reduceRight.js +36 -0
- package/node_modules/lodash/reject.js +46 -0
- package/node_modules/lodash/release.md +48 -0
- package/node_modules/lodash/remove.js +53 -0
- package/node_modules/lodash/repeat.js +37 -0
- package/node_modules/lodash/replace.js +29 -0
- package/node_modules/lodash/rest.js +40 -0
- package/node_modules/lodash/result.js +56 -0
- package/node_modules/lodash/reverse.js +34 -0
- package/node_modules/lodash/round.js +26 -0
- package/node_modules/lodash/sample.js +24 -0
- package/node_modules/lodash/sampleSize.js +37 -0
- package/node_modules/lodash/seq.js +16 -0
- package/node_modules/lodash/set.js +35 -0
- package/node_modules/lodash/setWith.js +32 -0
- package/node_modules/lodash/shuffle.js +25 -0
- package/node_modules/lodash/size.js +46 -0
- package/node_modules/lodash/slice.js +37 -0
- package/node_modules/lodash/snakeCase.js +28 -0
- package/node_modules/lodash/some.js +51 -0
- package/node_modules/lodash/sortBy.js +48 -0
- package/node_modules/lodash/sortedIndex.js +24 -0
- package/node_modules/lodash/sortedIndexBy.js +33 -0
- package/node_modules/lodash/sortedIndexOf.js +31 -0
- package/node_modules/lodash/sortedLastIndex.js +25 -0
- package/node_modules/lodash/sortedLastIndexBy.js +33 -0
- package/node_modules/lodash/sortedLastIndexOf.js +31 -0
- package/node_modules/lodash/sortedUniq.js +24 -0
- package/node_modules/lodash/sortedUniqBy.js +26 -0
- package/node_modules/lodash/split.js +52 -0
- package/node_modules/lodash/spread.js +63 -0
- package/node_modules/lodash/startCase.js +29 -0
- package/node_modules/lodash/startsWith.js +39 -0
- package/node_modules/lodash/string.js +33 -0
- package/node_modules/lodash/stubArray.js +23 -0
- package/node_modules/lodash/stubFalse.js +18 -0
- package/node_modules/lodash/stubObject.js +23 -0
- package/node_modules/lodash/stubString.js +18 -0
- package/node_modules/lodash/stubTrue.js +18 -0
- package/node_modules/lodash/subtract.js +22 -0
- package/node_modules/lodash/sum.js +24 -0
- package/node_modules/lodash/sumBy.js +33 -0
- package/node_modules/lodash/tail.js +22 -0
- package/node_modules/lodash/take.js +37 -0
- package/node_modules/lodash/takeRight.js +39 -0
- package/node_modules/lodash/takeRightWhile.js +45 -0
- package/node_modules/lodash/takeWhile.js +45 -0
- package/node_modules/lodash/tap.js +29 -0
- package/node_modules/lodash/template.js +272 -0
- package/node_modules/lodash/templateSettings.js +67 -0
- package/node_modules/lodash/throttle.js +69 -0
- package/node_modules/lodash/thru.js +28 -0
- package/node_modules/lodash/times.js +51 -0
- package/node_modules/lodash/toArray.js +58 -0
- package/node_modules/lodash/toFinite.js +42 -0
- package/node_modules/lodash/toInteger.js +36 -0
- package/node_modules/lodash/toIterator.js +23 -0
- package/node_modules/lodash/toJSON.js +1 -0
- package/node_modules/lodash/toLength.js +38 -0
- package/node_modules/lodash/toLower.js +28 -0
- package/node_modules/lodash/toNumber.js +64 -0
- package/node_modules/lodash/toPairs.js +30 -0
- package/node_modules/lodash/toPairsIn.js +30 -0
- package/node_modules/lodash/toPath.js +33 -0
- package/node_modules/lodash/toPlainObject.js +32 -0
- package/node_modules/lodash/toSafeInteger.js +37 -0
- package/node_modules/lodash/toString.js +28 -0
- package/node_modules/lodash/toUpper.js +28 -0
- package/node_modules/lodash/transform.js +65 -0
- package/node_modules/lodash/trim.js +47 -0
- package/node_modules/lodash/trimEnd.js +41 -0
- package/node_modules/lodash/trimStart.js +43 -0
- package/node_modules/lodash/truncate.js +111 -0
- package/node_modules/lodash/unary.js +22 -0
- package/node_modules/lodash/unescape.js +34 -0
- package/node_modules/lodash/union.js +26 -0
- package/node_modules/lodash/unionBy.js +39 -0
- package/node_modules/lodash/unionWith.js +34 -0
- package/node_modules/lodash/uniq.js +25 -0
- package/node_modules/lodash/uniqBy.js +31 -0
- package/node_modules/lodash/uniqWith.js +28 -0
- package/node_modules/lodash/uniqueId.js +28 -0
- package/node_modules/lodash/unset.js +34 -0
- package/node_modules/lodash/unzip.js +45 -0
- package/node_modules/lodash/unzipWith.js +39 -0
- package/node_modules/lodash/update.js +35 -0
- package/node_modules/lodash/updateWith.js +33 -0
- package/node_modules/lodash/upperCase.js +27 -0
- package/node_modules/lodash/upperFirst.js +22 -0
- package/node_modules/lodash/util.js +34 -0
- package/node_modules/lodash/value.js +1 -0
- package/node_modules/lodash/valueOf.js +1 -0
- package/node_modules/lodash/values.js +34 -0
- package/node_modules/lodash/valuesIn.js +32 -0
- package/node_modules/lodash/without.js +31 -0
- package/node_modules/lodash/words.js +35 -0
- package/node_modules/lodash/wrap.js +30 -0
- package/node_modules/lodash/wrapperAt.js +48 -0
- package/node_modules/lodash/wrapperChain.js +34 -0
- package/node_modules/lodash/wrapperLodash.js +147 -0
- package/node_modules/lodash/wrapperReverse.js +44 -0
- package/node_modules/lodash/wrapperValue.js +21 -0
- package/node_modules/lodash/xor.js +28 -0
- package/node_modules/lodash/xorBy.js +39 -0
- package/node_modules/lodash/xorWith.js +34 -0
- package/node_modules/lodash/zip.js +22 -0
- package/node_modules/lodash/zipObject.js +24 -0
- package/node_modules/lodash/zipObjectDeep.js +23 -0
- package/node_modules/lodash/zipWith.js +32 -0
- 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
|
-
|
|
49
|
-
.
|
|
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.
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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";
|
package/lib/extensions/index.js
CHANGED
|
@@ -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
|
-
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXh0ZW5zaW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0RBQXNDO0FBQ3RDLHNEQUFvQztBQUNwQyw4REFBNEM7QUFDNUMsa0VBQWdEO0FBQ2hELDREQUEwQztBQUMxQyxpREFBK0I7QUFDL0IsMERBQXdDO0FBQ3hDLHFFQUFtRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0FwaUdhdGV3YXlFeHRlbnNpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL0Nsb3VkTWFwRXh0ZW5zaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Eb2N1bWVudERiQWNjZXNzRXh0ZW5zaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Eb21haW5FdmVudE1lc3NhZ2luZ0V4dGVuc2lvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vRXh0cmFDb250YWluZXJFeHRlbnNpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL0xvZ0V4dGVuc2lvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVGNwS2VlcEFsaXZlRXh0ZW5zaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9BcHBsaWNhdGlvbkxvYWRCYWxhbmNlckV4dGVuc2lvblwiO1xuIl19
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXh0ZW5zaW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsd0RBQXNDO0FBQ3RDLHFFQUFtRDtBQUNuRCxzREFBb0M7QUFDcEMsOERBQTRDO0FBQzVDLGtFQUFnRDtBQUNoRCw0REFBMEM7QUFDMUMsaURBQStCO0FBQy9CLDhEQUE0QztBQUM1QywwREFBd0M7QUFDeEMsMERBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vQXBpR2F0ZXdheUV4dGVuc2lvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJFeHRlbnNpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL0Nsb3VkTWFwRXh0ZW5zaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Eb2N1bWVudERiQWNjZXNzRXh0ZW5zaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Eb21haW5FdmVudE1lc3NhZ2luZ0V4dGVuc2lvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vRXh0cmFDb250YWluZXJFeHRlbnNpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL0xvZ0V4dGVuc2lvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vUG9zdGdyZXNEYkFjY2Vzc0V4dGVuc2lvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vU2hhcmVkVm9sdW1lRXh0ZW5zaW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9UY3BLZWVwQWxpdmVFeHRlbnNpb25cIjtcbiJdfQ==
|
package/lib/index.d.ts
CHANGED
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,
|
|
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==
|