From ef94fd27d484dc1b3b8a3114e2f0905f8e51733a Mon Sep 17 00:00:00 2001 From: Sebastian Jackel Date: Wed, 2 Jul 2025 13:40:54 +0200 Subject: [PATCH] feat: Add option to create SingleTableDatastore from existing DynamoDB table --- docs/constructs/assets/hierarchy.js | 2 +- docs/constructs/assets/navigation.js | 2 +- docs/constructs/assets/search.js | 2 +- .../classes/SingleTableDatastore.html | 9 +++++---- docs/constructs/classes/Workflow.html | 2 +- docs/constructs/hierarchy.html | 2 +- docs/constructs/interfaces/BaseApiProps.html | 4 ++-- .../interfaces/GraphQlApiProps.html | 4 ++-- .../interfaces/ISingleTableDatastore.html | 3 +++ docs/constructs/interfaces/RestApiProps.html | 4 ++-- docs/constructs/modules.html | 2 +- src/constructs/base-api.ts | 4 ++-- src/constructs/table.ts | 20 ++++++++++++++++++- 13 files changed, 41 insertions(+), 19 deletions(-) create mode 100644 docs/constructs/interfaces/ISingleTableDatastore.html diff --git a/docs/constructs/assets/hierarchy.js b/docs/constructs/assets/hierarchy.js index 7d2a5d3c..48e4dc78 100644 --- a/docs/constructs/assets/hierarchy.js +++ b/docs/constructs/assets/hierarchy.js @@ -1 +1 @@ -window.hierarchyData = "eJyVkrFuwyAURf/lzaSRA8aYLe1QdWu7RhmQ/VKjELCATJH/vSJNW9pEtrMwwH2cewQn8M7FAHIjKOEVKeotAY87g03UzgaQJyjqtFp1QJDw8uQ+rI5ufYwd2qgblXJAYK9tC3JVcgJHb0CCthH9TjUYlreHHrp4MECgMSoEkBBDu0i3LH4m02GnTevRgtwwvh0IMJ61GS9TrMR3mTMDw/K+Il8bAwFeZdBHFXDd61fv+jAhnkfv1aW0JKw6Owt6jR+zvEQmvP7SOCOsFolGaZnhnr3quzczU/hfeoZzAnJ2Ezim+Juafj1W5X/mHUOcaZNH56mwWlyjxjwukSmJYfgEhuw1OA==" \ No newline at end of file +window.hierarchyData = "eJyVk7tuwjAUht/lzKYIfEu8QStVbL1tiMENhlg1NrLNhPLulSlt3RLlsmRI/pPv/5LjM3jnYgCxLjBiHM1KRBneIPBqZ1QVtbMBxBlmZbpaeVAgYHXv9lZHtzjFWtmoK5lygOBD2y2IOWUITt6AAG2j8jtZqTBtH7qr48EAgsrIEEBADNtJesvkZzI9rLXZemVBrAnbNAgIy9p0l5nNi+8yF4YK03FFvm40CBjPoEsZ1OKon7w7hh7xPDpWF2OKCL84F/gW32V5jfR4/aUxgkhZJBrGNMM9enmsn81A4X/pAc4JyEgrsEvxN9X/9wjPd+ZFhTjQJo8OUyFlcYvq8rhG+iUoy5dg9art3qg3+W7Ug4wyROdV3ylsmxm7lZTztCOU5yeis0yL9Kgi1y/QNJ/jTozm" \ No newline at end of file diff --git a/docs/constructs/assets/navigation.js b/docs/constructs/assets/navigation.js index 91da0e73..e34f79f2 100644 --- a/docs/constructs/assets/navigation.js +++ b/docs/constructs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJyNlF1PwjAUhv9Lr4kKCX5whxiNxERFoheGi7IdtobSLu1BNIb/bjQbbPb0bNfnOc/edW/3/i0QPlGMxNh7wElqRE8UEnMxEomW3oM/rSYnOW606Im1MqkY9QeX+95h+1p6GBcqXC4H3O7EZkahHW8xB4MqkagsEYPEOO+dk0X+rMlYxxlneJCbZSpvtyahIzXnnGkGHskg5YDbfVEm0zCXSw03EqVH6yAUURRnfbNuvdJ2F5qqCbdddeLJ2cIfFcoguJVMaq35I5qqwfA8rE7cVAc4EVmQuDaOcw85Fidu/sdwuvuW8tesNMrKpzvsIg4wTjr1M/BWf4B7LH5Z+ggCilM2r1H8XAmuXTt3MlEm48JSICcu72w8aB3gRNSdjVujdNdHgFcZXYGA4pSvqLtUIMQ4afXTib9+g2j/7kE0/CoO35oOdHZ10R8O9osf1Rx0Wg==" \ No newline at end of file +window.navigationData = "eJyNlF1PwjAUhv9Lr4kKCX5whxiNxERFoheGi7IdtobSLu1BNIb/bjQb2+zpGdfnOc/ete/2/i0QPlGMxNh7wElqRE8UEnMxEomW3oM/rSYnOW606Im1MqkY9QeX+95h+1p6GBcqXC4H3O7EZkahHW8xB4MqkagsEYPEOO+dk0X+rMlY9YwzPMjNMpW3W5PQkdpzzjQDj2SQcsDtviiTaZjLpYYbidKjdRCKKIqzvlm3Xmm7C03VhNuuOvHkbOFrhTIIbiWTRmv+iLZqMDwPqxM3NQFORBYkro3j3EPq4sTN/xhOd99R/oaVRln5dIfHiAOMlfJ1bHq7K9lWT/0MvNUf4B6L3xj06QYUp2x/ofErI7hu7dzJRJmMC0uBnLj8HcSDNgFORJ193Bqlj30EeJXR7QooTvmK+pgKhBgnrf5n8ddvEd33HkTDr+Jw13Sgs6uL/nCwX/wACnuUNw==" \ No newline at end of file diff --git a/docs/constructs/assets/search.js b/docs/constructs/assets/search.js index 6dcfc4a5..273395c8 100644 --- a/docs/constructs/assets/search.js +++ b/docs/constructs/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "eJy1XW2T2zaS/itXmq9ah813zjfH3uwlm93Neuxs1U25rjgiRqatIbUk5cmsy//9CiApNYAG2ZR0n+KM0C8AHjQaT5Pgt1VTP7er2/tvqy9lVaxu/Sher6r8SaxuV6/bVnRviuq3pt63q/Xq0OxWt6uy6kTzmG9E+4PW4NWn7mm3Wq82u7xtRbu6Xa2+r0e14PnhUW9RP+Vl9Xf5PyylN71A1Qsg/evVPm9E1Vm+Ogx/qttugVnZ/DyjfmoN4tHmoOpocHLcIvCPmjZ11XbNYdPVzbSyG73ltO+usfpPXYkZM0OT8/RLme7Hw+aL6GbMqJYPY8sLrL21cTdhcQHokFW8fn5+U2+rsqtfH7pPourKTd6VdUWBj27JX1GHVjT7ut4t1H2D5OgeOrrg6O8vzx2jr1Yrfj/Ltj2I5kNDd5RWfNMLHZqJXtqOu3B0KEpRbcgI4rKPZC41//n5S7uw91Lk7L7j2SWR4Nwa3K2Xofq3ut65QvaMjSO6J9fwRLccbnVNud2K5pxu3yDZa7kzjtK5U3Ecpv2g4FqOtaL981Ne7u5EVYjmHM9a0QqpoR01XMu1bVMfzhuso+S1XCkL2bB7+c0RvuccGuUnwzjPLZS1TO9c4665fNfi5jMTexYnuZnbtaY3T4YTsxvnIg9IDDC8OH/uXZ5sDm1XP/1NtG2+FT8dqs3Ceb/pFTz1Ch5PCq7g274Rd+W2+rA/x699I9pyWx32V/fpff1FVH8RlWhUyzOd66SW7VHLxV76XnhazXlRfBh2iTe7UipY4FxeFCPaN6PwmT6hbOLHvBWv96Vz08K/8zOGfF+6kgVL4U2+LyczA81F1x7X5VvBN6maX2z0qZbD3JTVlmdVa39BX8tquxPv84edeJt3edvVDbfbSrKTkgWSPN+VfPaUQUy3KXOBefNMP21Ytt4UF5osilL6ne/+XH1l2j2KCCVyvvFd/vRQ5P/YS2281XrTi9RHkUuNv2/yDRvwvUh3FDnf+DRVZVtmkAYcs5J5EsX/YApm0mzffpKPYYFsX/73ifPihdBZksxlGGWbQxNrVxr+fpWMEuti5ZCjU/wpIk05pqZriz+V7Z/2Td2JTSeKBZaHWSJ5LM20a3Yusz3BopnWHavhMvs//fPt32ctP/7biLfLbPpelkB0AtavZADsXvai/UH7bRKqOP/5FUe1ichKtePnQ3+8y18mIqdT+c0fTf4yFz/JLkz1dkyNnUkf0Yzf18lUzKWZkZFRvjtcEFXXvCwyP0pcbPpTXhU7mmVxGj/JXGy+EO2mKfeubMzpgi53sRsqxVzkwChxHdP/aspOLIJ278DzKHexGyMbuMiHWTZjgQOfn7tFtvv2F5ulykkc85zi0lI3iB2S7QojgVzgTlltdodC3L396yJPBrG2+HKVMZk7urhHhHWCWeDK7EHG6QrvPLPYldnN2ekKb3d2uoKyb72llVrpP18lFydUslJyw1MH29WK7r22D0yZbUW3ZAuYsPnBjLwzZhcGXZflbZNXfX/V5sOyrmROG881PJBFHlXtafkeqLLOKHOxBx/2uzovVEl+gQ8HJZWPUhd78VbsRCeUF3wnCiWUD0IX+/BOLB+HRlxzFD4M2JaeLJiLQarppa7qxcLFgV25xhqRMal8EvWBhwoZlY7Nl9pF566/NPn+0z93U0S70WTBU1zisazU9vxTuXMevCj1NyfRx3I3ffoye7Cc+Cc9oLj/gSIoq09CznhxhhuTZ1DSEfr8eQVXposEpC+OOsE1xoVZOqCHaK56cAUH5wsKNIzcNYVrODVRZqDdoSoN13BkLoOnvXFm71dwaTaTJ11yZ/FXc2kio59wicrmr+DSdPmCjs2TnO0lzkwXNUhnpsnziyA9XepwbRpTfPpCd/A+/Xu3eyfaevdVNBOQtlst2K3zLr+rDw396KJD842Kt6MUvUETrjtc+Jo3pQziS/p2g4XOcAAP8i8tY4ytRosI6PbT7/nuQPeQ1nyjpL6OUnQXbc9dj6OUe7ErK3HXib1c9UscGWXbTuyrQfYMdxCxcMK+lfSefroKoWCoY5EJyDt3jJi11Lc510I3ZkTG0nRZOyVB04uStGwfkF5vNqK1D4mmVdU2H9teweKHSj4jtMTuocp7iStYX2r7UsuiG09pP9XNP/bDE17zHohufArssW5qJHeuJ3lR9KfGcfnOo7so+vykOUlcYP3tS5U/1W8fUMjmuFAoseLha7e7rh+/3J3jxuf2Ol4ss34tqwvH/uwx5z4sYdpkPi/xX7yk65xnKIgQz3qM4nKXJh6tIJxiPl1xuVvkExeEQ7MPXSx3Bedv70TbTTFZ+PcFj4weunp4ele8qw+O8q2lWx796+F5XdGMcvT60Bx3uNEs7dyNlMj35fRbGxzT2lH6xxd7h5p0QztSP7zM71Mcl3jcou3MAmKR48ampt/ysQ0PLc83NUFgEthbyF5yHJikLm0XlvOWHCemSUvbizMYS9ZYMOlKYlgu4SpZOJklKslQdQ5LyXJngqIkHFnKT7JcmCMnCT/OYiYXx9IzAuj/gzMThKTLmaVsJCukT1KRRChfzkNy3JgmIW03zmAgmeF+in4kQ/5i7tHlCKJohiZWdjf8/SrkDNbFYmZGpxbQMpqNKU5mXvfdXmxm9bd9I64N7RC22Ym8Ouzn7QwNLVtTzzLP2OaSEZofS5kIvg829+QyPJtduaw91UX5eEpqmZZ7qWNXL/YiLwrZQp68SaJPx1dRyOS+ETMs37zNN+ptzEWW+xc4r2F/n3ebT3dic2jK7mXarmranpqei3Uu6aAZvwbjMB9WnHSDGVou5xrmnZkgGkx3rsEyzDtEUgymK5fxCwRa8d0ld8ycn2zIpxucT6i79c48o057TvcSN1XvQ1OeWI34vds35VPevPxVkG9B0IpvBqEvwv0ihO23a3jLJ/G+/rX8Kl53XVM+HDpysB2eSOmu3pVfRY6kL3Rpu6sf8t3PVSH+oLklhzO9XHmUu9CNXb05xwsldokTLviNSHUyXs7GSx5R42DcVn5zFJzvr94P54tBm+bF+XbMjDOa8NUdYqzVSZ+4y9bpFjqNTMbgcVdYHH+1pOSxqZ/op8Pd8VfKTMfgmRDMPSm5XeAcm2acmNiG5u1f1H0cAv5VN18ed/Wzc9lrDRY9fNGJv+WbT2Ul3r/syahvq75RYk+9WNeL0V3U/XbG2O22rLZvJP28PbhZdMKRQXRjiF7gzEDinOPMIHpFZ3iEPuHKAkZ/oSN3h4e2K7uDk6qb9KY1pBe6hILe2MZajeMPVyFhNGWscHL0y1WxqokIopsZmpyn/3n4/XVj0xO6mbFl3syj1Jmlyec9fmvKalPuc/sdHt2garxHjedsflyvVA61uv22+iqaVq6n25X/KniVrdarx1LsCnkJ62rEt7xBSV20U9Sbg/rnx6HZ70JOmmzct/7BW63vvXWYvIqy4OPH9f0orH5Qfxh1nP6iBGG1vod1EL+KvUQTBEsQNEF/tb73KYu+JehrgsFqfR9QFgNLMNAEw9X6PlwH3is/1AVDSzDUBKPV+j6iXI0swUgTjFfr+3gd+q/CNNIEY0sw1gST1fo+oQQTSzDRBNPV+j6lXE0twVQTzFbr+2wdZK/A1+QySy7T51/CAUjogI0dMMCj0AOkMIEfHUAgYQEkhMDGEOggAgkNCEhhG0egAwkkPCAkhW0sgQ4mkBABEk5g4wl0QIGECcSksI0p0EEFEiqQkMI2rkAHFki4AAktsLEFOrhAYgYyUtgGGOgI8yVmfI9aDb6NMF9HmC8x45MI822E+UaI8l0RwyeClA4wP3AsKN+Gl6/Dyw/dHbbh5evw8iVgfDqw2vDydXj5EjA+uSp8G16+Di9fAsYnV4Vvw8vX4eVLwPjkqvBtePk6vHwJGJ9cFb4NL1+HV6DglRAzFdjoCnR0BQpdKbkZ2egKdHQFagekIBLY6AqMPVBtgh5pmNgGdXwFEjEBUIZteAU6vILIufva6Ap0dAUSL4FPCtvoCnR0BRIvQbAOwlexLmpjK9CxFUi0BCFp18ZWoGMryFwJTmBDK9ChFUq0BNE68F8ZsAxtaIU6tEIJliCmZG1khTqyQgmWgAz0oQ2tUIdWGDjTJBtZoZFhhc4OEzmWjqwwcnbYRlaoIytUyEoJRIc2sEIdWKECFrUMQxtZoY6sMHWAMrRxFeq4CiVUQjJvCm1ghTqwIomVkNzVIhtZkY6sSIIlJHeIyIZWpEMr8p0RL7KhFenQihS0yO0lsrEV6diKVPpObi+RDa7IyOAlXkI6hyeSeB1dkQRMGBMIiWx0RTq6IgmYkFyKkQ2vSIdXlDpyiMiGV6TDK1LwItO1yIZXpMMr9pznFhtdsY6uGFxHl9gGV6yDK1b5Fpkmxja4Yh1cceDcXWIbXLEOrjh0LOTYhlasQyuOnLtLbEMrNg6IEi0RGQVi4oyoYytOXJE6tqEV69CKJVwiMoLENrhiHVyxhEtERpDYBlesgyuReInIIJDY6Ep0dCUSMBEZBBIbXokOr0QCJiKDQGLDK9HhlUjARGSOmdjwSnR4JRIyERkFEhtgiQ6wRNEP5FJObIAlOsASBTBySSU2wBKDhZCYiUl0JgQRoSMskZiJSYQlNsISHWGJxEzsE6EvsQGW6ABLnQl9auMr1fGVuhP61MZXquMrdSb0qQ2vVIdX6k7oUxteqQ6v1JnQpza6Uh1dqTOhT21wpTq4UndCn9rgSnVwpa6EPrWhlRoklzuhTwmeS4dW6kzoUxtaqQ6tzJnQZza0Mh1amTOhz2xkZTqyMgmWmIyZmQ2tTIdWJsESkzEzs6GV6dDKJFpiMmZmNrYyHVuZhEtMxszMBlemgytT5CkZMzMbXJkOrkxFLjJmZja8Mh1emYpcZMzMbHhlBo+auTbljKBSTS5VQiYhmZ/+N10c/W2QV8kXzad6BKHqGYyqJ5GT0JSqR3CqnkGqehI8Cc2qegSt6hm8qifxk9DEqkcwq55BrXoSQklEjx9BrnoGu+pJFCU0veoR/KpnEKye4u1phtUjKFbP4Fg9iaWEJlk9gmX1DJrVk3hKaJ7VI4hWz8CfoudTmsyn2HyLzgdXfASSzzfgpzh6MkQCxeiblL5i6UkWAChO3yT1FU9PEgFAsfomra+Y+hRI7FHEvsnsK7I+pdcexe2b5L7i6132CeyZ/L6i7FN67VIMv0nxgzNlA4rjN0h+ULx9Si99guYHg+eHnuinsj4giH4wmH7w3bwGEGQ/GGw/KAqfzP2AIPzBYPxBkfh0+gcE5w8G6Q+KxyczQCBYfzBof1BMPpkEAsH7g0H8g+Ly6TwQCOofDO4ffBeNBgT3Dwb5D4rPp7NBIOh/MPh/UJw+XcImKgBglAAgcMc8ogYARhEAAnfMI8oAYNQBQFH7KV1NJCoBYJQCIHAWxYEoBoBRDQDF8DsSFqIgAEZFABTJn9IbLlETAKMoAIrpT+kNlygMgFEZAEX2OxIGojYARnEAFOGf0hs2UR8Ao0AAivRP6Q2bqBGAUSQARfxn9IZN1AnAKBSA4v4zOmEkSgVg1ApA8f8ZvWkR5QIw6gXgLhgAUTEAo2QA7poBEEUDMKoG4C4bAFE3AKNwAO7KARClAzBqB6AKAhm94RL1AzAKCNBXEChaGogKAhglBFBVgYzecIkiAhhVBFCFgczxHAMBPaOQAKo2kNFLnyglgFFLAFUeyOilT1QTwCgngKoQZPTSJQoKYFQUQBUJMnrpEjUFMIoKoAoF4NFrlygsgFFZAFUsAI9evERxAYzqAqiSAXj06iVKDGDUGECVDRxZC1FlAKPMAHH/7BC9BIhSAxi1BlD1A3r3IqoNYJQboK83kCuIqDeAUXAAVUMAj15CRM0BjKIDqEoCePQaIioPYJQeQFUTwHM8D0SA0Cg/QNyDkF5FRAUCjBIEqLICnfUTRQgwqhAQ9xCkVyFRiACjEgGquAAevQyJYgQY1QhQBQYaQkQ5Aox6BCT9E2z0KiZKEmDUJECVGcDxDBxRlgCjLgGq1ACO5+CI0sT4N/Uw6VfRdKL4uX+o9P5+5Xhz89vqf4cHTzMYn3X9tpLZwO23799PT5refvuOHjaVv0nTjkuvTkqTFCn10qVKtculkNYEa024WvGVDidlgX9SFsS9dBz0/02H/5fnGqYRxzhk2OOMq8y8Ww0pjLHCmKvQOfkennzgqjO/+3lS6EcnhT573h3znWLvwONpk+/4o/HCKjxvmNYg4urCb7ki7CB4hyNWYAAPhMxpGV9cRXoRXMJk1BuOeplgxK8KI90IOf1Mr1dh1P83g9GWP47Q+I+QPVSmQR+t1mAY+XScAZ+JtfFGBQQKvAIC5lDjj/mcVCFNYwBggux4Xw0aX9TbXiwYRjeNxk4v8HZTVMMNXicTCMsL/KQhjCZnAFrMnJJDUYpKDyOAYikwtxDj7iE0kGhDCgbsp+Ma8JlwJC5hQxDC7gJvUh7yVhixJUBjyNw4By3WzPoIij5vm9AuAUF9w3tkwIsYm/77zO4p8dGUMFcuqdPqN4R4/2EqRq8onTQhRQNW/CGEhcNyjAecZ9kY40ZQxWP4S3jLqr/UDY057oXP1EF/Dx2NOQIpE/X4AmAU5ZB3WcBTRLxchxQiz5JxMGH8R8zDnPONOQQOD2eRMS+b0D4ciOCB8pKIOZrDu97YIZxNRLzAQYdfnHQPu8UwgOkRnjwg4bfAsavYQsSbE+PlbawNR8yINxPDJyzRHKAtMuIBEb1hjb0JMC54w+S8qwhtiRHOFcdNO+D1Vr+SCMUGjOGAF9qNGx5Quo6DO3MItUu6UWfxjHq83cu6+xqpwyHQ40Vy4hpvpBDPsbegq9o3s076IrTDJgvUobc5EQK1hGeJOvw5LeQczsYWDB7+UBrShuYi4e3W1offkDY0Ecz9kfiAGtKHVlmyAHf6R8CQPrTAEl5kd33JCylFB7GEF+e38prif++MHDFGijJmJDkqstKlGAX1hKutPhg5F+YkeAHp+EFgFMwRyCIeZPF9WiiLRngIh+NhOGRm2XhchDFDC8Z/hHyb1sEUJVYsJeVsgowwyJuWspCKupf+Q4/IN5Rh+EPvfV5Xy8/PndtD0IgQnkL0tVc08Qg+MXP86Ntv0b6Gg33IHMG2PYhGvo2vBWZ8smPpORF3x6tW0YJDu0bGCy6fn7+0ple4e7zNQn39GA06AljEW7M9h0idLCIEhZgX3HRlVlwK0ZKKeMNu3G6L4gEmUoYjWw+J9Soe6YCRG2NSjO67yNESxpMES/Qeb8VFnUDRMRidH+mgdHR+yUQORogBC9F0hkyV2uVdaB3iZJUZ1ekLanDgwYRdzFtE7ms20YThfSzkhTR8LzgKukjTSHymIwHq8xascVMlGlOcKoZMZfYnl1BMQpOU8Q52+0adZQ97kmhAwGcylPtGdPUXUQ0UG5ohTTFaBMxCCr7yDw0hPpgx48vwFQQNMFhNwJsJ/WMKSJe20YxnReD1sr/+Bu9aeHNmpuytaPvUX54BtNQM8CrmBbLT167RNoG6yCRf8OdpEWBR7xLeCGmfwUYuobUU80LdXOoRIOeCsfw3VnL8kSFk7rmUMQs6GY5bTC4KK7ZoqQyfvSNeIESfaUALFgFnTLSjMR6OibfPy/m0z9chLKCTbsYLNvZVbHhzwWs65u1YFtJDtENFYzkvPBKavA5bn2BDXAYOFh5veZ8O4/pmj8aPyeqRl5ci9ODtOWL2lbwHDk8LJqqYOWbXlNut0Jl10HIHlhoqbuBDeC/mD0ucyWWOSi0aV9uZFqmyayF4zHhTiz6CiZYY8injrQhUf6cOQShByHgAeT7eXYdBgQMfM3xrV7jhHRMvKSaNNOqyR97DETTmZQZ/NPkLkfmHyDFmLDYZEVyqmFfwcX1MF1e39x+/f/8/f2Cr6w=="; \ No newline at end of file diff --git a/docs/constructs/classes/SingleTableDatastore.html b/docs/constructs/classes/SingleTableDatastore.html index 21d4361f..4b01db98 100644 --- a/docs/constructs/classes/SingleTableDatastore.html +++ b/docs/constructs/classes/SingleTableDatastore.html @@ -4,10 +4,11 @@
const datastore = new SingleTableDatastore(this, 'MyDatastore', {
design: {
primaryKey: {
partitionKey: 'PK',
sortKey: 'SK',
},
globalIndexes: [
{
indexName: 'GSI1',
partitionKey: { name: 'GSI1PK', type: dynamodb.AttributeType.STRING },
sortKey: { name: 'GSI1SK', type: dynamodb.AttributeType.STRING },
},
],
localIndexes: [
{
indexName: 'LSI1',
sortKey: { name: 'LSI1SK', type: dynamodb.AttributeType.STRING },
},
],
timeToLiveAttribute: 'TTL',
},
encryption: dynamodb.TableEncryption.AWS_MANAGED,
});
-

Hierarchy

Constructors

Hierarchy

  • Construct
    • SingleTableDatastore

Implements

Constructors

Properties

Methods

Constructors

Properties

node: Node

The tree node.

table: Table

The DynamoDB table instance.

-

Methods

  • Returns a string representation of this construct.

    -

    Returns string

Methods

  • Returns a string representation of this construct.

    +

    Returns string

  • Checks if x is a construct.

    Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

    Explanation: in JavaScript, multiple copies of the constructs library on @@ -31,4 +32,4 @@ this type-testing method instead.

    Parameters

    • x: any

      Any object

    Returns x is Construct

    true if x is an object created from a class which extends Construct.

    -
+
diff --git a/docs/constructs/classes/Workflow.html b/docs/constructs/classes/Workflow.html index e5ce34d6..6f77ba82 100644 --- a/docs/constructs/classes/Workflow.html +++ b/docs/constructs/classes/Workflow.html @@ -4,7 +4,7 @@
const workflow = new Workflow(this, 'MyWorkflow', {
definitionFileName: 'path/to/definition.asl.json',
stateMachineType: sfn.StateMachineType.STANDARD,
loggingConfiguration: {
level: sfn.LogLevel.ALL,
includeExecutionData: true,
destinations: [new logs.LogGroup(this, 'LogGroup')],
},
tracingConfiguration: {
enabled: true,
},
definitionSubstitutions: {
'${MyVariable}': 'MyValue',
},
});

const lambdaFunction = new lambda.Function(this, 'MyFunction', {
runtime: lambda.Runtime.NODEJS_20_X,
handler: 'index.handler',
code: lambda.Code.fromAsset('lambda'),
});

workflow.grantPrincipal.grantInvoke(lambdaFunction);
-

Hierarchy

Implements

Constructors

Hierarchy

  • Construct
    • Workflow

Implements

  • IGrantable

Constructors

Properties

grantPrincipal node role diff --git a/docs/constructs/hierarchy.html b/docs/constructs/hierarchy.html index c0bc8871..c6663f39 100644 --- a/docs/constructs/hierarchy.html +++ b/docs/constructs/hierarchy.html @@ -1 +1 @@ -cdk-serverless
+cdk-serverless
diff --git a/docs/constructs/interfaces/BaseApiProps.html b/docs/constructs/interfaces/BaseApiProps.html index b6e97753..706056e9 100644 --- a/docs/constructs/interfaces/BaseApiProps.html +++ b/docs/constructs/interfaces/BaseApiProps.html @@ -1,4 +1,4 @@ -BaseApiProps | cdk-serverless

Interface BaseApiProps

interface BaseApiProps {
    additionalEnv?: { [key: string]: string };
    apiHostname?: string;
    apiName: string;
    assetCdn?: AssetCdn;
    authentication?: IJwtAuthentication | ICognitoAuthentication;
    domainName?: string;
    hostedZone?: IHostedZone;
    lambdaOptions?: LambdaOptions;
    lambdaTracing?: LambdaTracingOptions;
    monitoring?: boolean;
    singleTableDatastore?: SingleTableDatastore;
    stageName: string;
}

Hierarchy (View Summary)

Properties

additionalEnv? +BaseApiProps | cdk-serverless

Interface BaseApiProps

interface BaseApiProps {
    additionalEnv?: { [key: string]: string };
    apiHostname?: string;
    apiName: string;
    assetCdn?: AssetCdn;
    authentication?: IJwtAuthentication | ICognitoAuthentication;
    domainName?: string;
    hostedZone?: IHostedZone;
    lambdaOptions?: LambdaOptions;
    lambdaTracing?: LambdaTracingOptions;
    monitoring?: boolean;
    singleTableDatastore?: ISingleTableDatastore;
    stageName: string;
}

Hierarchy (View Summary)

Properties

true
 
-
singleTableDatastore?: SingleTableDatastore
none
+
singleTableDatastore?: ISingleTableDatastore
none
 
stageName: string

Deployment stage (e.g. dev)

diff --git a/docs/constructs/interfaces/GraphQlApiProps.html b/docs/constructs/interfaces/GraphQlApiProps.html index 723a6295..936d022e 100644 --- a/docs/constructs/interfaces/GraphQlApiProps.html +++ b/docs/constructs/interfaces/GraphQlApiProps.html @@ -1,4 +1,4 @@ -GraphQlApiProps | cdk-serverless

Interface GraphQlApiProps

interface GraphQlApiProps {
    additionalEnv?: { [key: string]: string };
    apiHostname?: string;
    apiName: string;
    assetCdn?: AssetCdn;
    authentication?: IJwtAuthentication | ICognitoAuthentication;
    definitionFileName: string;
    domainName?: string;
    hostedZone?: IHostedZone;
    lambdaOptions?: LambdaOptions;
    lambdaTracing?: LambdaTracingOptions;
    monitoring?: boolean;
    singleTableDatastore?: SingleTableDatastore;
    stageName: string;
}

Hierarchy (View Summary)

Properties

additionalEnv? +GraphQlApiProps | cdk-serverless

Interface GraphQlApiProps

interface GraphQlApiProps {
    additionalEnv?: { [key: string]: string };
    apiHostname?: string;
    apiName: string;
    assetCdn?: AssetCdn;
    authentication?: IJwtAuthentication | ICognitoAuthentication;
    definitionFileName: string;
    domainName?: string;
    hostedZone?: IHostedZone;
    lambdaOptions?: LambdaOptions;
    lambdaTracing?: LambdaTracingOptions;
    monitoring?: boolean;
    singleTableDatastore?: ISingleTableDatastore;
    stageName: string;
}

Hierarchy (View Summary)

Properties

true
 
-
singleTableDatastore?: SingleTableDatastore
none
+
singleTableDatastore?: ISingleTableDatastore
none
 
stageName: string

Deployment stage (e.g. dev)

diff --git a/docs/constructs/interfaces/ISingleTableDatastore.html b/docs/constructs/interfaces/ISingleTableDatastore.html new file mode 100644 index 00000000..92d1a9f0 --- /dev/null +++ b/docs/constructs/interfaces/ISingleTableDatastore.html @@ -0,0 +1,3 @@ +ISingleTableDatastore | cdk-serverless

Interface ISingleTableDatastore

interface ISingleTableDatastore {
    table: Table;
}

Implemented by

Properties

Properties

table: Table

The DynamoDB table instance behind the SingleTableDatastore.

+
diff --git a/docs/constructs/interfaces/RestApiProps.html b/docs/constructs/interfaces/RestApiProps.html index f46b808e..2d594dd5 100644 --- a/docs/constructs/interfaces/RestApiProps.html +++ b/docs/constructs/interfaces/RestApiProps.html @@ -1,4 +1,4 @@ -RestApiProps | cdk-serverless

Interface RestApiProps<OPS>

interface RestApiProps<OPS> {
    additionalEnv?: { [key: string]: string };
    apiHostname?: string;
    apiName: string;
    assetCdn?: AssetCdn;
    authentication?: IJwtAuthentication | ICognitoAuthentication;
    autoGenerateRoutes?: boolean;
    cors: boolean;
    definitionFileName: string;
    domainName?: string;
    hostedZone?: IHostedZone;
    lambdaOptions?: LambdaOptions;
    lambdaOptionsByOperation?: {
        [operationId in string | number | symbol]?: LambdaOptions
    };
    lambdaTracing?: LambdaTracingOptions;
    monitoring?: boolean;
    restApiProps?: RestApiBaseProps;
    singleTableDatastore?: SingleTableDatastore;
    stageName: string;
}

Type Parameters

  • OPS

Hierarchy (View Summary)

Properties

additionalEnv? +RestApiProps | cdk-serverless

Interface RestApiProps<OPS>

interface RestApiProps<OPS> {
    additionalEnv?: { [key: string]: string };
    apiHostname?: string;
    apiName: string;
    assetCdn?: AssetCdn;
    authentication?: IJwtAuthentication | ICognitoAuthentication;
    autoGenerateRoutes?: boolean;
    cors: boolean;
    definitionFileName: string;
    domainName?: string;
    hostedZone?: IHostedZone;
    lambdaOptions?: LambdaOptions;
    lambdaOptionsByOperation?: {
        [operationId in string | number | symbol]?: LambdaOptions
    };
    lambdaTracing?: LambdaTracingOptions;
    monitoring?: boolean;
    restApiProps?: RestApiBaseProps;
    singleTableDatastore?: ISingleTableDatastore;
    stageName: string;
}

Type Parameters

  • OPS

Hierarchy (View Summary)

Properties

-
 
-
singleTableDatastore?: SingleTableDatastore
none
+
singleTableDatastore?: ISingleTableDatastore
none
 
stageName: string

Deployment stage (e.g. dev)

diff --git a/docs/constructs/modules.html b/docs/constructs/modules.html index 713d5e6c..4101dd39 100644 --- a/docs/constructs/modules.html +++ b/docs/constructs/modules.html @@ -1 +1 @@ -cdk-serverless
+cdk-serverless
diff --git a/src/constructs/base-api.ts b/src/constructs/base-api.ts index 1ec453b9..e722ed3c 100644 --- a/src/constructs/base-api.ts +++ b/src/constructs/base-api.ts @@ -3,7 +3,7 @@ import { Construct } from 'constructs'; import { AssetCdn } from './asset-cdn'; import { ICognitoAuthentication, IJwtAuthentication } from './authentication'; import { LambdaOptions, LambdaTracingOptions } from './func'; -import { SingleTableDatastore } from './table'; +import { ISingleTableDatastore } from './table'; export interface BaseApiProps { @@ -27,7 +27,7 @@ export interface BaseApiProps { /** * @default none */ - singleTableDatastore?: SingleTableDatastore; + singleTableDatastore?: ISingleTableDatastore; /** * Use a Cognito user pool for authorization. diff --git a/src/constructs/table.ts b/src/constructs/table.ts index 835bdb21..5d2359dc 100644 --- a/src/constructs/table.ts +++ b/src/constructs/table.ts @@ -2,6 +2,14 @@ import { aws_dynamodb as dynamodb, aws_kms as kms } from 'aws-cdk-lib'; import { GlobalSecondaryIndexProps, LocalSecondaryIndexProps } from 'aws-cdk-lib/aws-dynamodb'; import { Construct } from 'constructs'; +export interface ISingleTableDatastore { + + /** + * The DynamoDB table instance behind the SingleTableDatastore. + */ + readonly table: dynamodb.Table; +} + export interface SingleTableDesign { /** @@ -87,7 +95,17 @@ export interface SingleTableDatastoreProps { * encryption: dynamodb.TableEncryption.AWS_MANAGED, * }); */ -export class SingleTableDatastore extends Construct { +export class SingleTableDatastore extends Construct implements ISingleTableDatastore { + + public static fromTable(scope: Construct, id: string, table: dynamodb.Table): ISingleTableDatastore { + class ExternalTableDatastore extends Construct implements ISingleTableDatastore { + public readonly table = table; + constructor() { + super(scope, id); + } + } + return new ExternalTableDatastore(); + } /** * The DynamoDB table instance.