├── lambda-graviton2 ├── test.js ├── .github │ └── pull_request_template.md ├── src │ ├── lambda │ │ ├── container │ │ │ ├── arm │ │ │ │ ├── requirements.txt │ │ │ │ ├── Dockerfile │ │ │ │ └── lambda.py │ │ │ └── x86 │ │ │ │ ├── requirements.txt │ │ │ │ ├── Dockerfile │ │ │ │ └── lambda.py │ │ ├── perf-thumbnail │ │ │ ├── arm │ │ │ │ ├── requirements.txt │ │ │ │ ├── Pillow-8.4.0.dist-info │ │ │ │ │ ├── REQUESTED │ │ │ │ │ ├── zip-safe │ │ │ │ │ ├── INSTALLER │ │ │ │ │ ├── top_level.txt │ │ │ │ │ └── WHEEL │ │ │ │ ├── PIL │ │ │ │ │ ├── __main__.py │ │ │ │ │ ├── _version.py │ │ │ │ │ ├── __pycache__ │ │ │ │ │ │ ├── Image.cpython-38.pyc │ │ │ │ │ │ ├── PSDraw.cpython-38.pyc │ │ │ │ │ │ ├── TarIO.cpython-38.pyc │ │ │ │ │ │ ├── _util.cpython-38.pyc │ │ │ │ │ │ ├── ExifTags.cpython-38.pyc │ │ │ │ │ │ ├── FontFile.cpython-38.pyc │ │ │ │ │ │ ├── ImageCms.cpython-38.pyc │ │ │ │ │ │ ├── ImageOps.cpython-38.pyc │ │ │ │ │ │ ├── ImageQt.cpython-38.pyc │ │ │ │ │ │ ├── ImageTk.cpython-38.pyc │ │ │ │ │ │ ├── ImageWin.cpython-38.pyc │ │ │ │ │ │ ├── PyAccess.cpython-38.pyc │ │ │ │ │ │ ├── TiffTags.cpython-38.pyc │ │ │ │ │ │ ├── __init__.cpython-38.pyc │ │ │ │ │ │ ├── __main__.cpython-38.pyc │ │ │ │ │ │ ├── _binary.cpython-38.pyc │ │ │ │ │ │ ├── _version.cpython-38.pyc │ │ │ │ │ │ ├── features.cpython-38.pyc │ │ │ │ │ │ ├── BdfFontFile.cpython-38.pyc │ │ │ │ │ │ ├── ContainerIO.cpython-38.pyc │ │ │ │ │ │ ├── GdImageFile.cpython-38.pyc │ │ │ │ │ │ ├── ImageChops.cpython-38.pyc │ │ │ │ │ │ ├── ImageColor.cpython-38.pyc │ │ │ │ │ │ ├── ImageDraw.cpython-38.pyc │ │ │ │ │ │ ├── ImageDraw2.cpython-38.pyc │ │ │ │ │ │ ├── ImageFile.cpython-38.pyc │ │ │ │ │ │ ├── ImageFilter.cpython-38.pyc │ │ │ │ │ │ ├── ImageFont.cpython-38.pyc │ │ │ │ │ │ ├── ImageGrab.cpython-38.pyc │ │ │ │ │ │ ├── ImageMath.cpython-38.pyc │ │ │ │ │ │ ├── ImageMode.cpython-38.pyc │ │ │ │ │ │ ├── ImageMorph.cpython-38.pyc │ │ │ │ │ │ ├── ImagePath.cpython-38.pyc │ │ │ │ │ │ ├── ImageShow.cpython-38.pyc │ │ │ │ │ │ ├── ImageStat.cpython-38.pyc │ │ │ │ │ │ ├── JpegPresets.cpython-38.pyc │ │ │ │ │ │ ├── PaletteFile.cpython-38.pyc │ │ │ │ │ │ ├── PcfFontFile.cpython-38.pyc │ │ │ │ │ │ ├── PdfParser.cpython-38.pyc │ │ │ │ │ │ ├── ImImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── ImageEnhance.cpython-38.pyc │ │ │ │ │ │ ├── ImagePalette.cpython-38.pyc │ │ │ │ │ │ ├── ImageSequence.cpython-38.pyc │ │ │ │ │ │ ├── WalImageFile.cpython-38.pyc │ │ │ │ │ │ ├── BlpImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── BmpImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── CurImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── DcxImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── DdsImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── EpsImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── FliImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── FpxImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── FtexImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── GbrImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── GifImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── GimpGradientFile.cpython-38.pyc │ │ │ │ │ │ ├── GimpPaletteFile.cpython-38.pyc │ │ │ │ │ │ ├── IcnsImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── IcoImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── ImageTransform.cpython-38.pyc │ │ │ │ │ │ ├── ImtImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── IptcImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── JpegImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── MicImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── MpegImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── MpoImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── MspImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── PalmImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── PcdImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── PcxImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── PdfImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── PixarImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── PngImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── PpmImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── PsdImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── SgiImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── SunImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── TgaImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── TiffImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── WebPImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── WmfImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── XbmImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── XpmImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── _tkinter_finder.cpython-38.pyc │ │ │ │ │ │ ├── Jpeg2KImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── McIdasImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── SpiderImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── XVThumbImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── BufrStubImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── FitsStubImagePlugin.cpython-38.pyc │ │ │ │ │ │ ├── GribStubImagePlugin.cpython-38.pyc │ │ │ │ │ │ └── Hdf5StubImagePlugin.cpython-38.pyc │ │ │ │ │ ├── _webp.cpython-38-aarch64-linux-gnu.so │ │ │ │ │ ├── _imaging.cpython-38-aarch64-linux-gnu.so │ │ │ │ │ ├── _imagingcms.cpython-38-aarch64-linux-gnu.so │ │ │ │ │ ├── _imagingft.cpython-38-aarch64-linux-gnu.so │ │ │ │ │ ├── _imagingtk.cpython-38-aarch64-linux-gnu.so │ │ │ │ │ ├── _imagingmath.cpython-38-aarch64-linux-gnu.so │ │ │ │ │ ├── _imagingmorph.cpython-38-aarch64-linux-gnu.so │ │ │ │ │ ├── ImagePath.py │ │ │ │ │ ├── _util.py │ │ │ │ │ ├── _tkinter_finder.py │ │ │ │ │ ├── PaletteFile.py │ │ │ │ │ ├── GimpPaletteFile.py │ │ │ │ │ ├── TarIO.py │ │ │ │ │ ├── PcdImagePlugin.py │ │ │ │ │ ├── GribStubImagePlugin.py │ │ │ │ │ ├── Hdf5StubImagePlugin.py │ │ │ │ │ └── BufrStubImagePlugin.py │ │ │ │ ├── Pillow.libs │ │ │ │ │ ├── libXau-21870672.so.6.0.0 │ │ │ │ │ ├── libjpeg-ce8d4fc6.so.9.4.0 │ │ │ │ │ ├── liblzma-4da4ab69.so.5.2.5 │ │ │ │ │ ├── libtiff-436dd48e.so.5.7.0 │ │ │ │ │ ├── libwebp-00a3023b.so.7.1.2 │ │ │ │ │ ├── libxcb-be71eb15.so.1.1.0 │ │ │ │ │ ├── libz-21b81fdb.so.1.2.11 │ │ │ │ │ ├── liblcms2-21c6bf67.so.2.0.12 │ │ │ │ │ ├── libfreetype-61b29ddf.so.6.18.0 │ │ │ │ │ ├── libopenjp2-ae40752c.so.2.4.0 │ │ │ │ │ ├── libpng16-8c6bb7cf.so.16.37.0 │ │ │ │ │ ├── libwebpdemux-ff785d2e.so.2.0.8 │ │ │ │ │ ├── libwebpmux-4645d255.so.3.0.7 │ │ │ │ │ └── libharfbuzz-763106ea.so.0.30000.0 │ │ │ │ └── DockerFile │ │ │ └── x86 │ │ │ │ ├── requirements.txt │ │ │ │ ├── Pillow-8.4.0.dist-info │ │ │ │ ├── REQUESTED │ │ │ │ ├── zip-safe │ │ │ │ ├── INSTALLER │ │ │ │ ├── top_level.txt │ │ │ │ └── WHEEL │ │ │ │ ├── PIL │ │ │ │ ├── __main__.py │ │ │ │ ├── _version.py │ │ │ │ ├── __pycache__ │ │ │ │ │ ├── Image.cpython-38.pyc │ │ │ │ │ ├── PSDraw.cpython-38.pyc │ │ │ │ │ ├── TarIO.cpython-38.pyc │ │ │ │ │ ├── _util.cpython-38.pyc │ │ │ │ │ ├── ExifTags.cpython-38.pyc │ │ │ │ │ ├── FontFile.cpython-38.pyc │ │ │ │ │ ├── ImageCms.cpython-38.pyc │ │ │ │ │ ├── ImageOps.cpython-38.pyc │ │ │ │ │ ├── ImageQt.cpython-38.pyc │ │ │ │ │ ├── ImageTk.cpython-38.pyc │ │ │ │ │ ├── ImageWin.cpython-38.pyc │ │ │ │ │ ├── PyAccess.cpython-38.pyc │ │ │ │ │ ├── TiffTags.cpython-38.pyc │ │ │ │ │ ├── __init__.cpython-38.pyc │ │ │ │ │ ├── __main__.cpython-38.pyc │ │ │ │ │ ├── _binary.cpython-38.pyc │ │ │ │ │ ├── _version.cpython-38.pyc │ │ │ │ │ ├── features.cpython-38.pyc │ │ │ │ │ ├── BdfFontFile.cpython-38.pyc │ │ │ │ │ ├── ContainerIO.cpython-38.pyc │ │ │ │ │ ├── GdImageFile.cpython-38.pyc │ │ │ │ │ ├── ImageChops.cpython-38.pyc │ │ │ │ │ ├── ImageColor.cpython-38.pyc │ │ │ │ │ ├── ImageDraw.cpython-38.pyc │ │ │ │ │ ├── ImageDraw2.cpython-38.pyc │ │ │ │ │ ├── ImageFile.cpython-38.pyc │ │ │ │ │ ├── ImageFilter.cpython-38.pyc │ │ │ │ │ ├── ImageFont.cpython-38.pyc │ │ │ │ │ ├── ImageGrab.cpython-38.pyc │ │ │ │ │ ├── ImageMath.cpython-38.pyc │ │ │ │ │ ├── ImageMode.cpython-38.pyc │ │ │ │ │ ├── ImageMorph.cpython-38.pyc │ │ │ │ │ ├── ImagePath.cpython-38.pyc │ │ │ │ │ ├── ImageShow.cpython-38.pyc │ │ │ │ │ ├── ImageStat.cpython-38.pyc │ │ │ │ │ ├── JpegPresets.cpython-38.pyc │ │ │ │ │ ├── PaletteFile.cpython-38.pyc │ │ │ │ │ ├── PcfFontFile.cpython-38.pyc │ │ │ │ │ ├── PdfParser.cpython-38.pyc │ │ │ │ │ ├── ImImagePlugin.cpython-38.pyc │ │ │ │ │ ├── ImageEnhance.cpython-38.pyc │ │ │ │ │ ├── ImagePalette.cpython-38.pyc │ │ │ │ │ ├── ImageSequence.cpython-38.pyc │ │ │ │ │ ├── WalImageFile.cpython-38.pyc │ │ │ │ │ ├── BlpImagePlugin.cpython-38.pyc │ │ │ │ │ ├── BmpImagePlugin.cpython-38.pyc │ │ │ │ │ ├── CurImagePlugin.cpython-38.pyc │ │ │ │ │ ├── DcxImagePlugin.cpython-38.pyc │ │ │ │ │ ├── DdsImagePlugin.cpython-38.pyc │ │ │ │ │ ├── EpsImagePlugin.cpython-38.pyc │ │ │ │ │ ├── FliImagePlugin.cpython-38.pyc │ │ │ │ │ ├── FpxImagePlugin.cpython-38.pyc │ │ │ │ │ ├── FtexImagePlugin.cpython-38.pyc │ │ │ │ │ ├── GbrImagePlugin.cpython-38.pyc │ │ │ │ │ ├── GifImagePlugin.cpython-38.pyc │ │ │ │ │ ├── GimpGradientFile.cpython-38.pyc │ │ │ │ │ ├── GimpPaletteFile.cpython-38.pyc │ │ │ │ │ ├── IcnsImagePlugin.cpython-38.pyc │ │ │ │ │ ├── IcoImagePlugin.cpython-38.pyc │ │ │ │ │ ├── ImageTransform.cpython-38.pyc │ │ │ │ │ ├── ImtImagePlugin.cpython-38.pyc │ │ │ │ │ ├── IptcImagePlugin.cpython-38.pyc │ │ │ │ │ ├── JpegImagePlugin.cpython-38.pyc │ │ │ │ │ ├── MicImagePlugin.cpython-38.pyc │ │ │ │ │ ├── MpegImagePlugin.cpython-38.pyc │ │ │ │ │ ├── MpoImagePlugin.cpython-38.pyc │ │ │ │ │ ├── MspImagePlugin.cpython-38.pyc │ │ │ │ │ ├── PalmImagePlugin.cpython-38.pyc │ │ │ │ │ ├── PcdImagePlugin.cpython-38.pyc │ │ │ │ │ ├── PcxImagePlugin.cpython-38.pyc │ │ │ │ │ ├── PdfImagePlugin.cpython-38.pyc │ │ │ │ │ ├── PixarImagePlugin.cpython-38.pyc │ │ │ │ │ ├── PngImagePlugin.cpython-38.pyc │ │ │ │ │ ├── PpmImagePlugin.cpython-38.pyc │ │ │ │ │ ├── PsdImagePlugin.cpython-38.pyc │ │ │ │ │ ├── SgiImagePlugin.cpython-38.pyc │ │ │ │ │ ├── SunImagePlugin.cpython-38.pyc │ │ │ │ │ ├── TgaImagePlugin.cpython-38.pyc │ │ │ │ │ ├── TiffImagePlugin.cpython-38.pyc │ │ │ │ │ ├── WebPImagePlugin.cpython-38.pyc │ │ │ │ │ ├── WmfImagePlugin.cpython-38.pyc │ │ │ │ │ ├── XbmImagePlugin.cpython-38.pyc │ │ │ │ │ ├── XpmImagePlugin.cpython-38.pyc │ │ │ │ │ ├── _tkinter_finder.cpython-38.pyc │ │ │ │ │ ├── Jpeg2KImagePlugin.cpython-38.pyc │ │ │ │ │ ├── McIdasImagePlugin.cpython-38.pyc │ │ │ │ │ ├── SpiderImagePlugin.cpython-38.pyc │ │ │ │ │ ├── XVThumbImagePlugin.cpython-38.pyc │ │ │ │ │ ├── BufrStubImagePlugin.cpython-38.pyc │ │ │ │ │ ├── FitsStubImagePlugin.cpython-38.pyc │ │ │ │ │ ├── GribStubImagePlugin.cpython-38.pyc │ │ │ │ │ └── Hdf5StubImagePlugin.cpython-38.pyc │ │ │ │ ├── _webp.cpython-38-x86_64-linux-gnu.so │ │ │ │ ├── _imaging.cpython-38-x86_64-linux-gnu.so │ │ │ │ ├── _imagingcms.cpython-38-x86_64-linux-gnu.so │ │ │ │ ├── _imagingft.cpython-38-x86_64-linux-gnu.so │ │ │ │ ├── _imagingmath.cpython-38-x86_64-linux-gnu.so │ │ │ │ ├── _imagingtk.cpython-38-x86_64-linux-gnu.so │ │ │ │ ├── _imagingmorph.cpython-38-x86_64-linux-gnu.so │ │ │ │ ├── ImagePath.py │ │ │ │ ├── _util.py │ │ │ │ ├── _tkinter_finder.py │ │ │ │ ├── PaletteFile.py │ │ │ │ ├── GimpPaletteFile.py │ │ │ │ ├── TarIO.py │ │ │ │ ├── PcdImagePlugin.py │ │ │ │ ├── GribStubImagePlugin.py │ │ │ │ ├── Hdf5StubImagePlugin.py │ │ │ │ └── BufrStubImagePlugin.py │ │ │ │ └── Pillow.libs │ │ │ │ ├── libXau-00ec42fe.so.6.0.0 │ │ │ │ ├── libjpeg-183418da.so.9.4.0 │ │ │ │ ├── liblzma-d540a118.so.5.2.5 │ │ │ │ ├── libtiff-9ffe9659.so.5.7.0 │ │ │ │ ├── libwebp-d8a3db66.so.7.1.2 │ │ │ │ ├── libxcb-1122e22b.so.1.1.0 │ │ │ │ ├── libz-dd453c56.so.1.2.11 │ │ │ │ ├── liblcms2-035b9744.so.2.0.12 │ │ │ │ ├── libfreetype-804dfcff.so.6.18.0 │ │ │ │ ├── libopenjp2-430a98fc.so.2.4.0 │ │ │ │ ├── libpng16-213e245f.so.16.37.0 │ │ │ │ ├── libwebpdemux-f117ddb4.so.2.0.8 │ │ │ │ ├── libwebpmux-fe44437b.so.3.0.7 │ │ │ │ └── libharfbuzz-a69be65e.so.0.30000.0 │ │ └── perf │ │ │ └── lambda.py │ └── main.ts ├── design.png ├── cdk.json ├── test │ └── main.test.ts ├── .npmignore ├── perf.sample.yaml ├── README.md ├── .gitattributes ├── .gitignore ├── tsconfig.json ├── tsconfig.eslint.json ├── tsconfig.jest.json └── .projenrc.js ├── project-templating ├── hygen-example │ ├── .gitignore │ ├── _templates │ │ ├── generator │ │ │ ├── new │ │ │ │ ├── .gitignore │ │ │ │ └── src │ │ │ │ │ └── main.ejs.t │ │ │ ├── help │ │ │ │ └── index.ejs.t │ │ │ └── with-prompt │ │ │ │ └── prompt.ejs.t │ │ └── init │ │ │ └── repo │ │ │ └── new-repo.ejs.t │ └── src │ │ └── stack-talkncloud.ts ├── projen-example │ ├── README.md │ ├── .github │ │ ├── pull_request_template.md │ │ └── workflows │ │ │ └── pull-request-lint.yml │ ├── test │ │ └── main.test.ts │ ├── .npmignore │ ├── cdk.json │ ├── .projen │ │ └── files.json │ ├── .projenrc.js │ ├── src │ │ └── main.ts │ ├── .mergify.yml │ ├── .gitattributes │ ├── tsconfig.json │ ├── tsconfig.dev.json │ └── .gitignore ├── generator-yeoman-example │ ├── .gitattributes │ ├── generators │ │ └── app │ │ │ ├── templates │ │ │ ├── dummyfile.txt │ │ │ └── src │ │ │ │ └── main.ts │ │ │ └── index.js │ ├── .eslintignore │ ├── .gitignore │ ├── .travis.yml │ ├── .editorconfig │ ├── __tests__ │ │ └── app.js │ ├── LICENSE │ └── README.md └── readme.md ├── appsync-waf ├── lib │ └── appsync │ │ ├── Query.getTodo.res.vtl │ │ ├── Mutation.createTodo.res.vtl │ │ ├── Query.getTodo.req.vtl │ │ └── Mutation.createTodo.req.vtl ├── .npmignore ├── tnc-appsync-waf.png ├── jest.config.js ├── .gitignore ├── cdk.json ├── bin │ └── appsync-waf.ts ├── test │ └── appsync-waf.test.ts ├── tsconfig.json ├── package.json ├── README.md └── tnc-appsync-waf.drawio ├── appsync-waf-guard ├── lib │ └── appsync │ │ ├── Query.getTodo.res.vtl │ │ ├── Mutation.createTodo.res.vtl │ │ ├── Query.getTodo.req.vtl │ │ └── Mutation.createTodo.req.vtl ├── .npmignore ├── tnc-appsync-waf.png ├── jest.config.js ├── .gitignore ├── cdk.json ├── bin │ └── appsync-waf.ts ├── test │ └── appsync-waf.test.ts ├── tsconfig.json ├── package.json ├── cfn.ruleset ├── README.md └── tnc-appsync-waf.drawio ├── athena-appsync ├── design.jpeg ├── dashboard.png ├── dashboard_2.png ├── .npmignore ├── cost_estimate.png ├── lib │ ├── appsync │ │ └── schema.graphql │ └── lambda │ │ ├── athenaFederated │ │ └── package.json │ │ └── movieLoader.js ├── .gitignore ├── jest.config.js ├── bin │ └── athena-appsync.ts ├── test │ └── athena-appsync.test.ts ├── cdk.json ├── tsconfig.json ├── package.json └── README.md ├── lambda-nodejs ├── .npmignore ├── .gitignore ├── jest.config.js ├── lib │ ├── lambda │ │ └── src │ │ │ └── lambda-nodejs-stack.demo.ts │ └── lambda-nodejs-stack.ts ├── test │ └── lambda-nodejs.test.ts ├── package.json ├── tsconfig.json ├── README.md └── bin │ └── lambda-nodejs.ts ├── cognito-federation ├── .npmignore ├── jest.config.js ├── .gitignore ├── bin │ └── cognito-federation.ts ├── cdk.json ├── test │ └── cognito-federation.test.ts ├── tsconfig.json ├── package.json └── README.md ├── essential-billing ├── .npmignore ├── jest.config.js ├── .gitignore ├── cdk.json ├── bin │ └── essential-billing.ts ├── test │ └── essential-billing.test.ts ├── tsconfig.json ├── package.json ├── lib │ └── essential-billing-stack.ts └── README.md ├── essential-billing-bot ├── .npmignore ├── essential-billing │ ├── .npmignore │ ├── jest.config.js │ └── test │ │ └── essential-billing.test.ts ├── jest.config.js ├── .gitignore ├── cdk.json ├── bin │ └── essential-billing.ts ├── test │ └── essential-billing.test.ts ├── tsconfig.json ├── package.json └── README.md ├── global-ec2-notifications ├── design.png ├── .npmignore ├── design-program.png ├── jest.config.js ├── .gitignore ├── cdk.json ├── bin │ └── global-ec2-notifications.ts ├── test │ └── global-ec2-notifications.test.ts ├── tsconfig.json ├── package.json └── README.md ├── README.md ├── athena-express ├── package.json ├── README.md └── athena.js └── .gitignore /lambda-graviton2/test.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lambda-graviton2/.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | Fixes # -------------------------------------------------------------------------------- /project-templating/hygen-example/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /project-templating/projen-example/README.md: -------------------------------------------------------------------------------- 1 | # replace this -------------------------------------------------------------------------------- /appsync-waf/lib/appsync/Query.getTodo.res.vtl: -------------------------------------------------------------------------------- 1 | $util.toJson($ctx.result) -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/container/arm/requirements.txt: -------------------------------------------------------------------------------- 1 | boto3==1.18.51 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/container/x86/requirements.txt: -------------------------------------------------------------------------------- 1 | boto3==1.18.51 -------------------------------------------------------------------------------- /project-templating/projen-example/.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | Fixes # -------------------------------------------------------------------------------- /appsync-waf-guard/lib/appsync/Query.getTodo.res.vtl: -------------------------------------------------------------------------------- 1 | $util.toJson($ctx.result) -------------------------------------------------------------------------------- /appsync-waf/lib/appsync/Mutation.createTodo.res.vtl: -------------------------------------------------------------------------------- 1 | $util.toJson($ctx.result) -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/requirements.txt: -------------------------------------------------------------------------------- 1 | Pillow==8.4.0 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/requirements.txt: -------------------------------------------------------------------------------- 1 | Pillow==8.4.0 -------------------------------------------------------------------------------- /project-templating/generator-yeoman-example/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | -------------------------------------------------------------------------------- /appsync-waf-guard/lib/appsync/Mutation.createTodo.res.vtl: -------------------------------------------------------------------------------- 1 | $util.toJson($ctx.result) -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow-8.4.0.dist-info/REQUESTED: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow-8.4.0.dist-info/zip-safe: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow-8.4.0.dist-info/REQUESTED: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow-8.4.0.dist-info/zip-safe: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /project-templating/generator-yeoman-example/generators/app/templates/dummyfile.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow-8.4.0.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow-8.4.0.dist-info/INSTALLER: -------------------------------------------------------------------------------- 1 | pip 2 | -------------------------------------------------------------------------------- /project-templating/generator-yeoman-example/.eslintignore: -------------------------------------------------------------------------------- 1 | coverage 2 | **/templates 3 | -------------------------------------------------------------------------------- /project-templating/generator-yeoman-example/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | coverage 3 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow-8.4.0.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | PIL 2 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow-8.4.0.dist-info/top_level.txt: -------------------------------------------------------------------------------- 1 | PIL 2 | -------------------------------------------------------------------------------- /athena-appsync/design.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/athena-appsync/design.jpeg -------------------------------------------------------------------------------- /athena-appsync/dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/athena-appsync/dashboard.png -------------------------------------------------------------------------------- /lambda-graviton2/design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/design.png -------------------------------------------------------------------------------- /appsync-waf/.npmignore: -------------------------------------------------------------------------------- 1 | *.ts 2 | !*.d.ts 3 | 4 | # CDK asset staging directory 5 | .cdk.staging 6 | cdk.out 7 | -------------------------------------------------------------------------------- /appsync-waf/tnc-appsync-waf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/appsync-waf/tnc-appsync-waf.png -------------------------------------------------------------------------------- /athena-appsync/dashboard_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/athena-appsync/dashboard_2.png -------------------------------------------------------------------------------- /lambda-nodejs/.npmignore: -------------------------------------------------------------------------------- 1 | *.ts 2 | !*.d.ts 3 | 4 | # CDK asset staging directory 5 | .cdk.staging 6 | cdk.out 7 | -------------------------------------------------------------------------------- /appsync-waf-guard/.npmignore: -------------------------------------------------------------------------------- 1 | *.ts 2 | !*.d.ts 3 | 4 | # CDK asset staging directory 5 | .cdk.staging 6 | cdk.out 7 | -------------------------------------------------------------------------------- /athena-appsync/.npmignore: -------------------------------------------------------------------------------- 1 | *.ts 2 | !*.d.ts 3 | 4 | # CDK asset staging directory 5 | .cdk.staging 6 | cdk.out 7 | -------------------------------------------------------------------------------- /athena-appsync/cost_estimate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/athena-appsync/cost_estimate.png -------------------------------------------------------------------------------- /cognito-federation/.npmignore: -------------------------------------------------------------------------------- 1 | *.ts 2 | !*.d.ts 3 | 4 | # CDK asset staging directory 5 | .cdk.staging 6 | cdk.out 7 | -------------------------------------------------------------------------------- /essential-billing/.npmignore: -------------------------------------------------------------------------------- 1 | *.ts 2 | !*.d.ts 3 | 4 | # CDK asset staging directory 5 | .cdk.staging 6 | cdk.out 7 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__main__.py: -------------------------------------------------------------------------------- 1 | from .features import pilinfo 2 | 3 | pilinfo() 4 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__main__.py: -------------------------------------------------------------------------------- 1 | from .features import pilinfo 2 | 3 | pilinfo() 4 | -------------------------------------------------------------------------------- /project-templating/hygen-example/_templates/generator/new/.gitignore: -------------------------------------------------------------------------------- 1 | --- 2 | to: .gitignore 3 | --- 4 | node_modules -------------------------------------------------------------------------------- /essential-billing-bot/.npmignore: -------------------------------------------------------------------------------- 1 | *.ts 2 | !*.d.ts 3 | 4 | # CDK asset staging directory 5 | .cdk.staging 6 | cdk.out 7 | -------------------------------------------------------------------------------- /global-ec2-notifications/design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/global-ec2-notifications/design.png -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_version.py: -------------------------------------------------------------------------------- 1 | # Master version for Pillow 2 | __version__ = "8.4.0" 3 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_version.py: -------------------------------------------------------------------------------- 1 | # Master version for Pillow 2 | __version__ = "8.4.0" 3 | -------------------------------------------------------------------------------- /appsync-waf-guard/tnc-appsync-waf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/appsync-waf-guard/tnc-appsync-waf.png -------------------------------------------------------------------------------- /global-ec2-notifications/.npmignore: -------------------------------------------------------------------------------- 1 | *.ts 2 | !*.d.ts 3 | 4 | # CDK asset staging directory 5 | .cdk.staging 6 | cdk.out 7 | -------------------------------------------------------------------------------- /athena-appsync/lib/appsync/schema.graphql: -------------------------------------------------------------------------------- 1 | type Query { 2 | getAthena(param: String): String @function(name: "tnc-athena-handler") 3 | } -------------------------------------------------------------------------------- /global-ec2-notifications/design-program.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/global-ec2-notifications/design-program.png -------------------------------------------------------------------------------- /essential-billing-bot/essential-billing/.npmignore: -------------------------------------------------------------------------------- 1 | *.ts 2 | !*.d.ts 3 | 4 | # CDK asset staging directory 5 | .cdk.staging 6 | cdk.out 7 | -------------------------------------------------------------------------------- /lambda-nodejs/.gitignore: -------------------------------------------------------------------------------- 1 | *.js 2 | !jest.config.js 3 | *.d.ts 4 | node_modules 5 | 6 | # CDK asset staging directory 7 | .cdk.staging 8 | cdk.out 9 | -------------------------------------------------------------------------------- /athena-appsync/.gitignore: -------------------------------------------------------------------------------- 1 | !jest.config.js 2 | *.d.ts 3 | node_modules 4 | 5 | # CDK asset staging directory 6 | .cdk.staging 7 | cdk.out 8 | 9 | moviedata.json -------------------------------------------------------------------------------- /appsync-waf/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | roots: ['/test'], 3 | testMatch: ['**/*.test.ts'], 4 | transform: { 5 | '^.+\\.tsx?$': 'ts-jest' 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /athena-appsync/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | roots: ['/test'], 3 | testMatch: ['**/*.test.ts'], 4 | transform: { 5 | '^.+\\.tsx?$': 'ts-jest' 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /appsync-waf-guard/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | roots: ['/test'], 3 | testMatch: ['**/*.test.ts'], 4 | transform: { 5 | '^.+\\.tsx?$': 'ts-jest' 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /cognito-federation/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | roots: ['/test'], 3 | testMatch: ['**/*.test.ts'], 4 | transform: { 5 | '^.+\\.tsx?$': 'ts-jest' 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /essential-billing/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | roots: ['/test'], 3 | testMatch: ['**/*.test.ts'], 4 | transform: { 5 | '^.+\\.tsx?$': 'ts-jest' 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /project-templating/hygen-example/_templates/init/repo/new-repo.ejs.t: -------------------------------------------------------------------------------- 1 | --- 2 | setup: <%= name %> 3 | force: true # this is because mostly, people init into existing folders is safe 4 | --- 5 | -------------------------------------------------------------------------------- /essential-billing-bot/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | roots: ['/test'], 3 | testMatch: ['**/*.test.ts'], 4 | transform: { 5 | '^.+\\.tsx?$': 'ts-jest' 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /global-ec2-notifications/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | roots: ['/test'], 3 | testMatch: ['**/*.test.ts'], 4 | transform: { 5 | '^.+\\.tsx?$': 'ts-jest' 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /project-templating/generator-yeoman-example/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - v19 4 | - v18 5 | - v16 6 | - v14 7 | - v12 8 | - v10 9 | - v8 10 | - v6 11 | - v4 12 | -------------------------------------------------------------------------------- /essential-billing-bot/essential-billing/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | roots: ['/test'], 3 | testMatch: ['**/*.test.ts'], 4 | transform: { 5 | '^.+\\.tsx?$': 'ts-jest' 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/Image.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/Image.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PSDraw.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PSDraw.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/TarIO.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/TarIO.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/_util.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/_util.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libXau-21870672.so.6.0.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libXau-21870672.so.6.0.0 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libjpeg-ce8d4fc6.so.9.4.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libjpeg-ce8d4fc6.so.9.4.0 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/liblzma-4da4ab69.so.5.2.5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/liblzma-4da4ab69.so.5.2.5 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libtiff-436dd48e.so.5.7.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libtiff-436dd48e.so.5.7.0 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libwebp-00a3023b.so.7.1.2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libwebp-00a3023b.so.7.1.2 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libxcb-be71eb15.so.1.1.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libxcb-be71eb15.so.1.1.0 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libz-21b81fdb.so.1.2.11: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libz-21b81fdb.so.1.2.11 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/Image.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/Image.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PSDraw.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PSDraw.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/TarIO.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/TarIO.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/_util.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/_util.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libXau-00ec42fe.so.6.0.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libXau-00ec42fe.so.6.0.0 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libjpeg-183418da.so.9.4.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libjpeg-183418da.so.9.4.0 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/liblzma-d540a118.so.5.2.5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/liblzma-d540a118.so.5.2.5 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libtiff-9ffe9659.so.5.7.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libtiff-9ffe9659.so.5.7.0 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libwebp-d8a3db66.so.7.1.2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libwebp-d8a3db66.so.7.1.2 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libxcb-1122e22b.so.1.1.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libxcb-1122e22b.so.1.1.0 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libz-dd453c56.so.1.2.11: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libz-dd453c56.so.1.2.11 -------------------------------------------------------------------------------- /lambda-nodejs/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | testEnvironment: 'node', 3 | roots: ['/test'], 4 | testMatch: ['**/*.test.ts'], 5 | transform: { 6 | '^.+\\.tsx?$': 'ts-jest' 7 | } 8 | }; 9 | -------------------------------------------------------------------------------- /appsync-waf/.gitignore: -------------------------------------------------------------------------------- 1 | *.js 2 | !jest.config.js 3 | *.d.ts 4 | node_modules 5 | 6 | # CDK asset staging directory 7 | .cdk.staging 8 | cdk.out 9 | 10 | # Parcel default cache directory 11 | .parcel-cache 12 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ExifTags.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ExifTags.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/FontFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/FontFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageCms.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageCms.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageOps.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageOps.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageQt.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageQt.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageTk.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageTk.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageWin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageWin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PyAccess.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PyAccess.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/TiffTags.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/TiffTags.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/__main__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/__main__.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/_binary.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/_binary.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/_version.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/_version.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/features.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/features.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/liblcms2-21c6bf67.so.2.0.12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/liblcms2-21c6bf67.so.2.0.12 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ExifTags.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ExifTags.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/FontFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/FontFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageCms.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageCms.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageOps.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageOps.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageQt.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageQt.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageTk.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageTk.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageWin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageWin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PyAccess.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PyAccess.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/TiffTags.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/TiffTags.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/__init__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/__init__.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/__main__.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/__main__.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/_binary.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/_binary.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/_version.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/_version.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/features.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/features.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/liblcms2-035b9744.so.2.0.12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/liblcms2-035b9744.so.2.0.12 -------------------------------------------------------------------------------- /appsync-waf-guard/.gitignore: -------------------------------------------------------------------------------- 1 | *.js 2 | !jest.config.js 3 | *.d.ts 4 | node_modules 5 | 6 | # CDK asset staging directory 7 | .cdk.staging 8 | cdk.out 9 | 10 | # Parcel default cache directory 11 | .parcel-cache 12 | -------------------------------------------------------------------------------- /cognito-federation/.gitignore: -------------------------------------------------------------------------------- 1 | *.js 2 | !jest.config.js 3 | *.d.ts 4 | node_modules 5 | 6 | # CDK asset staging directory 7 | .cdk.staging 8 | cdk.out 9 | 10 | # Parcel default cache directory 11 | .parcel-cache 12 | -------------------------------------------------------------------------------- /essential-billing/.gitignore: -------------------------------------------------------------------------------- 1 | *.js 2 | !jest.config.js 3 | *.d.ts 4 | node_modules 5 | 6 | # CDK asset staging directory 7 | .cdk.staging 8 | cdk.out 9 | 10 | # Parcel default cache directory 11 | .parcel-cache 12 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/BdfFontFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/BdfFontFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ContainerIO.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ContainerIO.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/GdImageFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/GdImageFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageChops.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageChops.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageColor.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageColor.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageDraw.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageDraw.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageDraw2.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageDraw2.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageFilter.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageFilter.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageFont.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageFont.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageGrab.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageGrab.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageMath.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageMath.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageMode.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageMode.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageMorph.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageMorph.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImagePath.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImagePath.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageShow.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageShow.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageStat.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageStat.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/JpegPresets.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/JpegPresets.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PaletteFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PaletteFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PcfFontFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PcfFontFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PdfParser.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PdfParser.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_webp.cpython-38-aarch64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_webp.cpython-38-aarch64-linux-gnu.so -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libfreetype-61b29ddf.so.6.18.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libfreetype-61b29ddf.so.6.18.0 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libopenjp2-ae40752c.so.2.4.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libopenjp2-ae40752c.so.2.4.0 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libpng16-8c6bb7cf.so.16.37.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libpng16-8c6bb7cf.so.16.37.0 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libwebpdemux-ff785d2e.so.2.0.8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libwebpdemux-ff785d2e.so.2.0.8 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libwebpmux-4645d255.so.3.0.7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libwebpmux-4645d255.so.3.0.7 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/BdfFontFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/BdfFontFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ContainerIO.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ContainerIO.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/GdImageFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/GdImageFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageChops.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageChops.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageColor.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageColor.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageDraw.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageDraw.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageDraw2.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageDraw2.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageFilter.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageFilter.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageFont.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageFont.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageGrab.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageGrab.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageMath.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageMath.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageMode.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageMode.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageMorph.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageMorph.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImagePath.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImagePath.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageShow.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageShow.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageStat.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageStat.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/JpegPresets.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/JpegPresets.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PaletteFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PaletteFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PcfFontFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PcfFontFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PdfParser.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PdfParser.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_webp.cpython-38-x86_64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_webp.cpython-38-x86_64-linux-gnu.so -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libfreetype-804dfcff.so.6.18.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libfreetype-804dfcff.so.6.18.0 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libopenjp2-430a98fc.so.2.4.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libopenjp2-430a98fc.so.2.4.0 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libpng16-213e245f.so.16.37.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libpng16-213e245f.so.16.37.0 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libwebpdemux-f117ddb4.so.2.0.8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libwebpdemux-f117ddb4.so.2.0.8 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libwebpmux-fe44437b.so.3.0.7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libwebpmux-fe44437b.so.3.0.7 -------------------------------------------------------------------------------- /essential-billing-bot/.gitignore: -------------------------------------------------------------------------------- 1 | *.js 2 | !jest.config.js 3 | *.d.ts 4 | node_modules 5 | 6 | # CDK asset staging directory 7 | .cdk.staging 8 | cdk.out 9 | 10 | # Parcel default cache directory 11 | .parcel-cache 12 | -------------------------------------------------------------------------------- /global-ec2-notifications/.gitignore: -------------------------------------------------------------------------------- 1 | *.js 2 | !jest.config.js 3 | *.d.ts 4 | node_modules 5 | 6 | # CDK asset staging directory 7 | .cdk.staging 8 | cdk.out 9 | 10 | # Parcel default cache directory 11 | .parcel-cache 12 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageEnhance.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageEnhance.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImagePalette.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImagePalette.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageSequence.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageSequence.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/WalImageFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/WalImageFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_imaging.cpython-38-aarch64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_imaging.cpython-38-aarch64-linux-gnu.so -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageEnhance.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageEnhance.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImagePalette.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImagePalette.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageSequence.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageSequence.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/WalImageFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/WalImageFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_imaging.cpython-38-x86_64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_imaging.cpython-38-x86_64-linux-gnu.so -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/BlpImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/BlpImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/BmpImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/BmpImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/CurImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/CurImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/DcxImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/DcxImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/DdsImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/DdsImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/EpsImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/EpsImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/FliImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/FliImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/FpxImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/FpxImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/FtexImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/FtexImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/GbrImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/GbrImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/GifImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/GifImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/GimpGradientFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/GimpGradientFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/GimpPaletteFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/GimpPaletteFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/IcnsImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/IcnsImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/IcoImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/IcoImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageTransform.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImageTransform.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImtImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/ImtImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/IptcImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/IptcImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/JpegImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/JpegImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/MicImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/MicImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/MpegImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/MpegImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/MpoImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/MpoImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/MspImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/MspImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PalmImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PalmImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PcdImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PcdImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PcxImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PcxImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PdfImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PdfImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PixarImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PixarImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PngImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PngImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PpmImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PpmImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PsdImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/PsdImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/SgiImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/SgiImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/SunImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/SunImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/TgaImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/TgaImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/TiffImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/TiffImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/WebPImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/WebPImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/WmfImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/WmfImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/XbmImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/XbmImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/XpmImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/XpmImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/_tkinter_finder.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/_tkinter_finder.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_imagingcms.cpython-38-aarch64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_imagingcms.cpython-38-aarch64-linux-gnu.so -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_imagingft.cpython-38-aarch64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_imagingft.cpython-38-aarch64-linux-gnu.so -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_imagingtk.cpython-38-aarch64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_imagingtk.cpython-38-aarch64-linux-gnu.so -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libharfbuzz-763106ea.so.0.30000.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow.libs/libharfbuzz-763106ea.so.0.30000.0 -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/BlpImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/BlpImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/BmpImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/BmpImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/CurImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/CurImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/DcxImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/DcxImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/DdsImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/DdsImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/EpsImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/EpsImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/FliImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/FliImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/FpxImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/FpxImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/FtexImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/FtexImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/GbrImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/GbrImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/GifImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/GifImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/GimpGradientFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/GimpGradientFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/GimpPaletteFile.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/GimpPaletteFile.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/IcnsImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/IcnsImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/IcoImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/IcoImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageTransform.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImageTransform.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImtImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/ImtImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/IptcImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/IptcImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/JpegImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/JpegImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/MicImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/MicImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/MpegImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/MpegImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/MpoImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/MpoImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/MspImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/MspImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PalmImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PalmImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PcdImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PcdImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PcxImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PcxImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PdfImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PdfImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PixarImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PixarImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PngImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PngImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PpmImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PpmImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PsdImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/PsdImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/SgiImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/SgiImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/SunImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/SunImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/TgaImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/TgaImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/TiffImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/TiffImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/WebPImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/WebPImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/WmfImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/WmfImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/XbmImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/XbmImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/XpmImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/XpmImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/_tkinter_finder.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/_tkinter_finder.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_imagingcms.cpython-38-x86_64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_imagingcms.cpython-38-x86_64-linux-gnu.so -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_imagingft.cpython-38-x86_64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_imagingft.cpython-38-x86_64-linux-gnu.so -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_imagingmath.cpython-38-x86_64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_imagingmath.cpython-38-x86_64-linux-gnu.so -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_imagingtk.cpython-38-x86_64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_imagingtk.cpython-38-x86_64-linux-gnu.so -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libharfbuzz-a69be65e.so.0.30000.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow.libs/libharfbuzz-a69be65e.so.0.30000.0 -------------------------------------------------------------------------------- /project-templating/hygen-example/_templates/generator/help/index.ejs.t: -------------------------------------------------------------------------------- 1 | --- 2 | message: | 3 | hygen {bold generator new} --name [NAME] --action [ACTION] 4 | hygen {bold generator with-prompt} --name [NAME] --action [ACTION] 5 | --- -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # aws 2 | 3 | ## about 4 | This repo is mainly for projects discussed at https://www.talkncloud.com 5 | 6 | This will contain code in the form of IaC, apps and the like. 7 | 8 | Feel free to comment, update, share, improve. 9 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/Jpeg2KImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/Jpeg2KImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/McIdasImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/McIdasImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/SpiderImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/SpiderImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/XVThumbImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/XVThumbImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_imagingmath.cpython-38-aarch64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_imagingmath.cpython-38-aarch64-linux-gnu.so -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_imagingmorph.cpython-38-aarch64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_imagingmorph.cpython-38-aarch64-linux-gnu.so -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/Jpeg2KImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/Jpeg2KImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/McIdasImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/McIdasImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/SpiderImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/SpiderImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/XVThumbImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/XVThumbImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_imagingmorph.cpython-38-x86_64-linux-gnu.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_imagingmorph.cpython-38-x86_64-linux-gnu.so -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/BufrStubImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/BufrStubImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/FitsStubImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/FitsStubImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/GribStubImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/GribStubImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/Hdf5StubImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/__pycache__/Hdf5StubImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/BufrStubImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/BufrStubImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/FitsStubImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/FitsStubImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/GribStubImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/GribStubImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/Hdf5StubImagePlugin.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/talkncloud/aws/HEAD/lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/__pycache__/Hdf5StubImagePlugin.cpython-38.pyc -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/Pillow-8.4.0.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.37.0) 3 | Root-Is-Purelib: false 4 | Tag: cp38-cp38-manylinux_2_17_x86_64 5 | Tag: cp38-cp38-manylinux2014_x86_64 6 | 7 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/Pillow-8.4.0.dist-info/WHEEL: -------------------------------------------------------------------------------- 1 | Wheel-Version: 1.0 2 | Generator: bdist_wheel (0.37.0) 3 | Root-Is-Purelib: false 4 | Tag: cp38-cp38-manylinux_2_17_aarch64 5 | Tag: cp38-cp38-manylinux2014_aarch64 6 | 7 | -------------------------------------------------------------------------------- /appsync-waf/lib/appsync/Query.getTodo.req.vtl: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2017-02-28", 3 | "operation": "GetItem", 4 | "key": #if( $modelObjectKey ) $util.toJson($modelObjectKey) #else { 5 | "id": $util.dynamodb.toDynamoDBJson($ctx.args.id) 6 | } #end 7 | } -------------------------------------------------------------------------------- /appsync-waf-guard/lib/appsync/Query.getTodo.req.vtl: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2017-02-28", 3 | "operation": "GetItem", 4 | "key": #if( $modelObjectKey ) $util.toJson($modelObjectKey) #else { 5 | "id": $util.dynamodb.toDynamoDBJson($ctx.args.id) 6 | } #end 7 | } -------------------------------------------------------------------------------- /appsync-waf/cdk.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "npx ts-node bin/appsync-waf.ts", 3 | "context": { 4 | "@aws-cdk/core:enableStackNameDuplicates": "true", 5 | "aws-cdk:enableDiffNoFail": "true", 6 | "@aws-cdk/core:stackRelativeExports": "true" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /appsync-waf-guard/cdk.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "npx ts-node bin/appsync-waf.ts", 3 | "context": { 4 | "@aws-cdk/core:enableStackNameDuplicates": "true", 5 | "aws-cdk:enableDiffNoFail": "true", 6 | "@aws-cdk/core:stackRelativeExports": "true" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /essential-billing-bot/cdk.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "npx ts-node bin/essential-billing.ts", 3 | "context": { 4 | "@aws-cdk/core:enableStackNameDuplicates": "true", 5 | "aws-cdk:enableDiffNoFail": "true", 6 | "@aws-cdk/core:stackRelativeExports": "true" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /essential-billing/cdk.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "npx ts-node bin/essential-billing.ts", 3 | "context": { 4 | "@aws-cdk/core:enableStackNameDuplicates": "true", 5 | "aws-cdk:enableDiffNoFail": "true", 6 | "@aws-cdk/core:stackRelativeExports": "true" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /appsync-waf/bin/appsync-waf.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import 'source-map-support/register'; 3 | import * as cdk from '@aws-cdk/core'; 4 | import { AppsyncWafStack } from '../lib/appsync-waf-stack'; 5 | 6 | const app = new cdk.App(); 7 | new AppsyncWafStack(app, 'AppsyncWafStack'); 8 | -------------------------------------------------------------------------------- /global-ec2-notifications/cdk.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "npx ts-node bin/global-ec2-notifications.ts", 3 | "context": { 4 | "@aws-cdk/core:enableStackNameDuplicates": "true", 5 | "aws-cdk:enableDiffNoFail": "true", 6 | "@aws-cdk/core:stackRelativeExports": "true" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /project-templating/generator-yeoman-example/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | 10 | [*.md] 11 | trim_trailing_whitespace = false 12 | -------------------------------------------------------------------------------- /appsync-waf-guard/bin/appsync-waf.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import 'source-map-support/register'; 3 | import * as cdk from '@aws-cdk/core'; 4 | import { AppsyncWafStack } from '../lib/appsync-waf-stack'; 5 | 6 | const app = new cdk.App(); 7 | new AppsyncWafStack(app, 'AppsyncWafStack'); 8 | -------------------------------------------------------------------------------- /athena-appsync/bin/athena-appsync.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import 'source-map-support/register'; 3 | import * as cdk from '@aws-cdk/core'; 4 | import { AthenaAppsyncStack } from '../lib/athena-appsync-stack'; 5 | 6 | const app = new cdk.App(); 7 | new AthenaAppsyncStack(app, 'AthenaAppsyncStack'); 8 | -------------------------------------------------------------------------------- /project-templating/readme.md: -------------------------------------------------------------------------------- 1 | ## Project Templating 2 | 3 | The sub-folders here are a few examples of project templating your projects. 4 | 5 | I discuss project generators like yeoman, projen and hygen in more detail in the following article: 6 | 7 | https://www.talkncloud.com/project-templating-for-cloud/ 8 | -------------------------------------------------------------------------------- /cognito-federation/bin/cognito-federation.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import 'source-map-support/register'; 3 | import * as cdk from '@aws-cdk/core'; 4 | import { CognitoFederationStack } from '../lib/cognito-federation-stack'; 5 | 6 | const app = new cdk.App(); 7 | new CognitoFederationStack(app, 'CognitoFederationStack'); 8 | -------------------------------------------------------------------------------- /cognito-federation/cdk.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "npx ts-node --prefer-ts-exts bin/cognito-federation.ts", 3 | "context": { 4 | "@aws-cdk/core:enableStackNameDuplicates": "true", 5 | "aws-cdk:enableDiffNoFail": "true", 6 | "@aws-cdk/core:stackRelativeExports": "true", 7 | "@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": true 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /athena-express/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lambda", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "athena.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "Mick Jacobsson", 10 | "license": "ISC", 11 | "dependencies": { 12 | "athena-express": "^6.0.4" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /project-templating/hygen-example/src/stack-talkncloud.ts: -------------------------------------------------------------------------------- 1 | import { App, Stack, StackProps } from 'aws-cdk-lib'; 2 | import { Construct } from 'constructs'; 3 | 4 | export class talkncloud extends Stack { 5 | constructor(scope: Construct, id: string, props: StackProps = {}) { 6 | super(scope, id, props); 7 | 8 | // define resources here... 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /essential-billing/bin/essential-billing.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import 'source-map-support/register'; 3 | import * as cdk from '@aws-cdk/core'; 4 | import { EssentialBillingStack } from '../lib/essential-billing-stack'; 5 | 6 | const app = new cdk.App(); 7 | new EssentialBillingStack(app, 'EssentialBillingStack', { 8 | env: { 9 | //region: 'us-east-1' 10 | } 11 | }); 12 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/container/x86/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM public.ecr.aws/lambda/python:3.8 2 | 3 | # Copy function code 4 | COPY . ${LAMBDA_TASK_ROOT} 5 | 6 | # COPY requirements.txt . 7 | RUN pip3 install -r requirements.txt --target "${LAMBDA_TASK_ROOT}" 8 | 9 | # Set the CMD to your handler (could also be done as a parameter override outside of the Dockerfile) 10 | CMD [ "lambda.handler" ] -------------------------------------------------------------------------------- /athena-appsync/lib/lambda/athenaFederated/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lambda", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "athena.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "Mick Jacobsson @talkncloud", 10 | "license": "ISC", 11 | "dependencies": { 12 | "athena-express": "^6.0.4" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/container/arm/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM public.ecr.aws/lambda/python:3.8-arm64 2 | 3 | # Copy function code 4 | COPY . ${LAMBDA_TASK_ROOT} 5 | 6 | # COPY requirements.txt . 7 | RUN pip3 install -r requirements.txt --target "${LAMBDA_TASK_ROOT}" 8 | 9 | # Set the CMD to your handler (could also be done as a parameter override outside of the Dockerfile) 10 | CMD [ "lambda.handler" ] -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/DockerFile: -------------------------------------------------------------------------------- 1 | FROM public.ecr.aws/lambda/python:3.8 2 | 3 | # Copy function code 4 | COPY lambda.py ${LAMBDA_TASK_ROOT} 5 | 6 | # Install pillow 7 | RUN pip3 install -r requirements.txt --target "${LAMBDA_TASK_ROOT}" 8 | 9 | # Set the CMD to your handler (could also be done as a parameter override outside of the Dockerfile) 10 | CMD [ "lambda.handler" ] -------------------------------------------------------------------------------- /project-templating/hygen-example/_templates/generator/with-prompt/prompt.ejs.t: -------------------------------------------------------------------------------- 1 | --- 2 | to: _templates/<%= name %>/<%= action || 'new' %>/prompt.js 3 | --- 4 | 5 | // see types of prompts: 6 | // https://github.com/enquirer/enquirer/tree/master/examples 7 | // 8 | module.exports = [ 9 | { 10 | type: 'input', 11 | name: 'message', 12 | message: "What's your message?" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /project-templating/projen-example/test/main.test.ts: -------------------------------------------------------------------------------- 1 | import { App } from 'aws-cdk-lib'; 2 | import { Template } from 'aws-cdk-lib/assertions'; 3 | import { MyStack } from '../src/main'; 4 | 5 | test('Snapshot', () => { 6 | const app = new App(); 7 | const stack = new MyStack(app, 'test'); 8 | 9 | const template = Template.fromStack(stack); 10 | expect(template.toJSON()).toMatchSnapshot(); 11 | }); -------------------------------------------------------------------------------- /essential-billing-bot/bin/essential-billing.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import 'source-map-support/register'; 3 | import * as cdk from '@aws-cdk/core'; 4 | import { EssentialBillingBotStack } from '../lib/essential-billing-bot-stack'; 5 | 6 | const app = new cdk.App(); 7 | new EssentialBillingBotStack(app, 'EssentialBillingBotStack', { 8 | env: { 9 | //region: 'us-east-1' 10 | } 11 | }); 12 | -------------------------------------------------------------------------------- /lambda-graviton2/cdk.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "npx ts-node --prefer-ts-exts src/main.ts", 3 | "context": { 4 | "@aws-cdk/core:newStyleStackSynthesis": true, 5 | "@aws-cdk/core:enableStackNameDuplicates": "true", 6 | "aws-cdk:enableDiffNoFail": "true", 7 | "@aws-cdk/core:stackRelativeExports": "true" 8 | }, 9 | "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." 10 | } 11 | -------------------------------------------------------------------------------- /project-templating/hygen-example/_templates/generator/new/src/main.ejs.t: -------------------------------------------------------------------------------- 1 | --- 2 | to: src/stack-<%=name%>.ts 3 | --- 4 | import { App, Stack, StackProps } from 'aws-cdk-lib'; 5 | import { Construct } from 'constructs'; 6 | 7 | export class <%=name%> extends Stack { 8 | constructor(scope: Construct, id: string, props: StackProps = {}) { 9 | super(scope, id, props); 10 | 11 | // define resources here... 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /lambda-graviton2/test/main.test.ts: -------------------------------------------------------------------------------- 1 | import "@aws-cdk/assert/jest"; 2 | import { App } from "@aws-cdk/core"; 3 | import { MyStack } from "../src/main"; 4 | 5 | test("Snapshot", () => { 6 | const app = new App(); 7 | const stack = new MyStack(app, "test"); 8 | 9 | expect(stack).not.toHaveResource("AWS::S3::Bucket"); 10 | expect( 11 | app.synth().getStackArtifact(stack.artifactId).template 12 | ).toMatchSnapshot(); 13 | }); 14 | -------------------------------------------------------------------------------- /lambda-graviton2/.npmignore: -------------------------------------------------------------------------------- 1 | # ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". 2 | /.projen/ 3 | /test-reports/ 4 | junit.xml 5 | /coverage/ 6 | /test/ 7 | /src/ 8 | !/lib/ 9 | !/lib/**/*.js 10 | !/lib/**/*.d.ts 11 | dist 12 | /tsconfig.json 13 | /.github/ 14 | /.vscode/ 15 | /.idea/ 16 | /.projenrc.js 17 | tsconfig.tsbuildinfo 18 | /tsconfig.jest.json 19 | /.eslintrc.json 20 | /tsconfig.eslint.json 21 | cdk.out/ 22 | .cdk.staging/ 23 | -------------------------------------------------------------------------------- /lambda-graviton2/src/main.ts: -------------------------------------------------------------------------------- 1 | import { App, Construct, Stack, StackProps } from "@aws-cdk/core"; 2 | import { TalkncloudLambdaGravitonStack } from "./lambda-graviton2"; 3 | 4 | const devEnv = { 5 | account: process.env.CDK_DEFAULT_ACCOUNT, 6 | region: process.env.CDK_DEFAULT_REGION, 7 | }; 8 | 9 | const app = new App(); 10 | 11 | new TalkncloudLambdaGravitonStack(app, "talkncloud-lambda-graviton", { 12 | env: devEnv, 13 | }); 14 | 15 | app.synth(); 16 | -------------------------------------------------------------------------------- /global-ec2-notifications/bin/global-ec2-notifications.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import 'source-map-support/register'; 3 | import * as cdk from '@aws-cdk/core'; 4 | import { GlobalEc2NotificationsStack } from '../lib/global-ec2-notifications-stack'; 5 | 6 | const app = new cdk.App(); 7 | new GlobalEc2NotificationsStack(app, 'tnc-global-notification-stack', { 8 | description: "tnc: this stack checks global running ec2 instances and sends notifications" 9 | }); 10 | -------------------------------------------------------------------------------- /athena-express/README.md: -------------------------------------------------------------------------------- 1 | # Simple example using athena-express with federated queries 2 | 3 | Detailed info: https://www.talkncloud.com/athena-express-with-aws-with-fed/ 4 | 5 | ## General 6 | Discuss it, change it, improve it, share it... 7 | 8 | ## Fork 9 | You need to the fork to enable this which is the catalog component of Athena 10 | 11 | https://github.com/ghdna/athena-express/pull/56 12 | 13 | https://github.com/talkncloud/athena-express 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /lambda-nodejs/lib/lambda/src/lambda-nodejs-stack.demo.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Simple typescript lambda handler example. 3 | * 4 | * @returns json 5 | */ 6 | export const handler = async () => { 7 | console.info("handler: handler is running"); 8 | 9 | return { 10 | statusCode: 200, 11 | headers: { 12 | "Content-Type": "application/json", 13 | }, 14 | body: { 15 | message: "howdy do, if you're reading this you did it!", 16 | }, 17 | }; 18 | }; 19 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/ImagePath.py: -------------------------------------------------------------------------------- 1 | # 2 | # The Python Imaging Library 3 | # $Id$ 4 | # 5 | # path interface 6 | # 7 | # History: 8 | # 1996-11-04 fl Created 9 | # 2002-04-14 fl Added documentation stub class 10 | # 11 | # Copyright (c) Secret Labs AB 1997. 12 | # Copyright (c) Fredrik Lundh 1996. 13 | # 14 | # See the README file for information on usage and redistribution. 15 | # 16 | 17 | from . import Image 18 | 19 | Path = Image.core.path 20 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/ImagePath.py: -------------------------------------------------------------------------------- 1 | # 2 | # The Python Imaging Library 3 | # $Id$ 4 | # 5 | # path interface 6 | # 7 | # History: 8 | # 1996-11-04 fl Created 9 | # 2002-04-14 fl Added documentation stub class 10 | # 11 | # Copyright (c) Secret Labs AB 1997. 12 | # Copyright (c) Fredrik Lundh 1996. 13 | # 14 | # See the README file for information on usage and redistribution. 15 | # 16 | 17 | from . import Image 18 | 19 | Path = Image.core.path 20 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_util.py: -------------------------------------------------------------------------------- 1 | import os 2 | from pathlib import Path 3 | 4 | 5 | def isPath(f): 6 | return isinstance(f, (bytes, str, Path)) 7 | 8 | 9 | # Checks if an object is a string, and that it points to a directory. 10 | def isDirectory(f): 11 | return isPath(f) and os.path.isdir(f) 12 | 13 | 14 | class deferred_error: 15 | def __init__(self, ex): 16 | self.ex = ex 17 | 18 | def __getattr__(self, elt): 19 | raise self.ex 20 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_util.py: -------------------------------------------------------------------------------- 1 | import os 2 | from pathlib import Path 3 | 4 | 5 | def isPath(f): 6 | return isinstance(f, (bytes, str, Path)) 7 | 8 | 9 | # Checks if an object is a string, and that it points to a directory. 10 | def isDirectory(f): 11 | return isPath(f) and os.path.isdir(f) 12 | 13 | 14 | class deferred_error: 15 | def __init__(self, ex): 16 | self.ex = ex 17 | 18 | def __getattr__(self, elt): 19 | raise self.ex 20 | -------------------------------------------------------------------------------- /appsync-waf/test/appsync-waf.test.ts: -------------------------------------------------------------------------------- 1 | import { expect as expectCDK, matchTemplate, MatchStyle } from '@aws-cdk/assert'; 2 | import * as cdk from '@aws-cdk/core'; 3 | import * as AppsyncWaf from '../lib/appsync-waf-stack'; 4 | 5 | test('Empty Stack', () => { 6 | const app = new cdk.App(); 7 | // WHEN 8 | const stack = new AppsyncWaf.AppsyncWafStack(app, 'MyTestStack'); 9 | // THEN 10 | expectCDK(stack).to(matchTemplate({ 11 | "Resources": {} 12 | }, MatchStyle.EXACT)) 13 | }); 14 | -------------------------------------------------------------------------------- /project-templating/projen-example/.npmignore: -------------------------------------------------------------------------------- 1 | # ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". 2 | /.projen/ 3 | /test-reports/ 4 | junit.xml 5 | /coverage/ 6 | permissions-backup.acl 7 | /.mergify.yml 8 | /test/ 9 | /tsconfig.dev.json 10 | /src/ 11 | !/lib/ 12 | !/lib/**/*.js 13 | !/lib/**/*.d.ts 14 | dist 15 | /tsconfig.json 16 | /.github/ 17 | /.vscode/ 18 | /.idea/ 19 | /.projenrc.js 20 | tsconfig.tsbuildinfo 21 | /.eslintrc.json 22 | !/assets/ 23 | cdk.out/ 24 | .cdk.staging/ 25 | -------------------------------------------------------------------------------- /appsync-waf-guard/test/appsync-waf.test.ts: -------------------------------------------------------------------------------- 1 | import { expect as expectCDK, matchTemplate, MatchStyle } from '@aws-cdk/assert'; 2 | import * as cdk from '@aws-cdk/core'; 3 | import * as AppsyncWaf from '../lib/appsync-waf-stack'; 4 | 5 | test('Empty Stack', () => { 6 | const app = new cdk.App(); 7 | // WHEN 8 | const stack = new AppsyncWaf.AppsyncWafStack(app, 'MyTestStack'); 9 | // THEN 10 | expectCDK(stack).to(matchTemplate({ 11 | "Resources": {} 12 | }, MatchStyle.EXACT)) 13 | }); 14 | -------------------------------------------------------------------------------- /project-templating/generator-yeoman-example/__tests__/app.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | const path = require("path"); 3 | const assert = require("yeoman-assert"); 4 | const helpers = require("yeoman-test"); 5 | 6 | describe("generator-yeoman-example:app", () => { 7 | beforeAll(() => { 8 | return helpers 9 | .run(path.join(__dirname, "../generators/app")) 10 | .withPrompts({ someAnswer: true }); 11 | }); 12 | 13 | it("creates files", () => { 14 | assert.file(["dummyfile.txt"]); 15 | }); 16 | }); 17 | -------------------------------------------------------------------------------- /athena-appsync/test/athena-appsync.test.ts: -------------------------------------------------------------------------------- 1 | import { expect as expectCDK, matchTemplate, MatchStyle } from '@aws-cdk/assert'; 2 | import * as cdk from '@aws-cdk/core'; 3 | import * as AthenaAppsync from '../lib/athena-appsync-stack'; 4 | 5 | test('Empty Stack', () => { 6 | const app = new cdk.App(); 7 | // WHEN 8 | const stack = new AthenaAppsync.AthenaAppsyncStack(app, 'MyTestStack'); 9 | // THEN 10 | expectCDK(stack).to(matchTemplate({ 11 | "Resources": {} 12 | }, MatchStyle.EXACT)) 13 | }); 14 | -------------------------------------------------------------------------------- /essential-billing/test/essential-billing.test.ts: -------------------------------------------------------------------------------- 1 | import { expect as expectCDK, matchTemplate, MatchStyle } from '@aws-cdk/assert'; 2 | import * as cdk from '@aws-cdk/core'; 3 | import * as EssentialBilling from '../lib/essential-billing-stack'; 4 | 5 | test('Empty Stack', () => { 6 | const app = new cdk.App(); 7 | // WHEN 8 | const stack = new EssentialBilling.EssentialBillingStack(app, 'MyTestStack'); 9 | // THEN 10 | expectCDK(stack).to(matchTemplate({ 11 | "Resources": {} 12 | }, MatchStyle.EXACT)) 13 | }); 14 | -------------------------------------------------------------------------------- /cognito-federation/test/cognito-federation.test.ts: -------------------------------------------------------------------------------- 1 | import { expect as expectCDK, matchTemplate, MatchStyle } from '@aws-cdk/assert'; 2 | import * as cdk from '@aws-cdk/core'; 3 | import * as CognitoFederation from '../lib/cognito-federation-stack'; 4 | 5 | test('Empty Stack', () => { 6 | const app = new cdk.App(); 7 | // WHEN 8 | const stack = new CognitoFederation.CognitoFederationStack(app, 'MyTestStack'); 9 | // THEN 10 | expectCDK(stack).to(matchTemplate({ 11 | "Resources": {} 12 | }, MatchStyle.EXACT)) 13 | }); 14 | -------------------------------------------------------------------------------- /lambda-graviton2/perf.sample.yaml: -------------------------------------------------------------------------------- 1 | config: 2 | target: "https://TALKNCLOUD.execute-api.ap-southeast-2.amazonaws.com/kaboom" 3 | phases: 4 | - duration: 900 5 | arrivalRate: 30 6 | defaults: 7 | headers: 8 | # x-api-key: "{{ $processEnvironment.SERVICE_API_KEY }}" 9 | x-api-key: "SOMEKEYGENERATED" 10 | scenarios: 11 | - flow: 12 | - get: 13 | url: "/x86" 14 | - get: 15 | url: "/arm" 16 | - get: 17 | url: "/x86container" 18 | - get: 19 | url: "/armcontainer" -------------------------------------------------------------------------------- /essential-billing-bot/test/essential-billing.test.ts: -------------------------------------------------------------------------------- 1 | import { expect as expectCDK, matchTemplate, MatchStyle } from '@aws-cdk/assert'; 2 | import * as cdk from '@aws-cdk/core'; 3 | import * as EssentialBilling from '../lib/essential-billing-bot-stack'; 4 | 5 | test('Empty Stack', () => { 6 | const app = new cdk.App(); 7 | // WHEN 8 | const stack = new EssentialBilling.EssentialBillingBotStack(app, 'MyTestStack'); 9 | // THEN 10 | expectCDK(stack).to(matchTemplate({ 11 | "Resources": {} 12 | }, MatchStyle.EXACT)) 13 | }); 14 | -------------------------------------------------------------------------------- /essential-billing-bot/essential-billing/test/essential-billing.test.ts: -------------------------------------------------------------------------------- 1 | import { expect as expectCDK, matchTemplate, MatchStyle } from '@aws-cdk/assert'; 2 | import * as cdk from '@aws-cdk/core'; 3 | import * as EssentialBilling from '../lib/essential-billing-stack'; 4 | 5 | test('Empty Stack', () => { 6 | const app = new cdk.App(); 7 | // WHEN 8 | const stack = new EssentialBilling.EssentialBillingStack(app, 'MyTestStack'); 9 | // THEN 10 | expectCDK(stack).to(matchTemplate({ 11 | "Resources": {} 12 | }, MatchStyle.EXACT)) 13 | }); 14 | -------------------------------------------------------------------------------- /athena-appsync/cdk.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "npx ts-node --prefer-ts-exts bin/athena-appsync.ts", 3 | "context": { 4 | "@aws-cdk/core:enableStackNameDuplicates": "true", 5 | "aws-cdk:enableDiffNoFail": "true", 6 | "@aws-cdk/core:stackRelativeExports": "true", 7 | "@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": true, 8 | "@aws-cdk/aws-secretsmanager:parseOwnedSecretName": true, 9 | "@aws-cdk/aws-kms:defaultKeyPolicies": true, 10 | "@aws-cdk/aws-s3:grantWriteWithoutAcl": true, 11 | "@aws-cdk/aws-ecs-patterns:removeDefaultDesiredCount": true 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /global-ec2-notifications/test/global-ec2-notifications.test.ts: -------------------------------------------------------------------------------- 1 | import { expect as expectCDK, matchTemplate, MatchStyle } from '@aws-cdk/assert'; 2 | import * as cdk from '@aws-cdk/core'; 3 | import * as GlobalEc2Notifications from '../lib/global-ec2-notifications-stack'; 4 | 5 | test('Empty Stack', () => { 6 | const app = new cdk.App(); 7 | // WHEN 8 | const stack = new GlobalEc2Notifications.GlobalEc2NotificationsStack(app, 'MyTestStack'); 9 | // THEN 10 | expectCDK(stack).to(matchTemplate({ 11 | "Resources": {} 12 | }, MatchStyle.EXACT)) 13 | }); 14 | -------------------------------------------------------------------------------- /project-templating/projen-example/cdk.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "npx ts-node -P tsconfig.json --prefer-ts-exts src/main.ts", 3 | "output": "cdk.out", 4 | "build": "npx projen bundle", 5 | "watch": { 6 | "include": [ 7 | "src/**/*.ts", 8 | "test/**/*.ts" 9 | ], 10 | "exclude": [ 11 | "README.md", 12 | "cdk*.json", 13 | "**/*.d.ts", 14 | "**/*.js", 15 | "tsconfig.json", 16 | "package*.json", 17 | "yarn.lock", 18 | "node_modules" 19 | ] 20 | }, 21 | "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." 22 | } 23 | -------------------------------------------------------------------------------- /project-templating/projen-example/.projen/files.json: -------------------------------------------------------------------------------- 1 | { 2 | "files": [ 3 | ".eslintrc.json", 4 | ".gitattributes", 5 | ".github/pull_request_template.md", 6 | ".github/workflows/build.yml", 7 | ".github/workflows/pull-request-lint.yml", 8 | ".github/workflows/upgrade.yml", 9 | ".gitignore", 10 | ".mergify.yml", 11 | ".npmignore", 12 | ".projen/deps.json", 13 | ".projen/files.json", 14 | ".projen/tasks.json", 15 | "cdk.json", 16 | "LICENSE", 17 | "tsconfig.dev.json", 18 | "tsconfig.json" 19 | ], 20 | "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." 21 | } 22 | -------------------------------------------------------------------------------- /lambda-nodejs/lib/lambda-nodejs-stack.ts: -------------------------------------------------------------------------------- 1 | import * as cdk from "aws-cdk-lib"; 2 | import { Construct } from "constructs"; 3 | import { aws_lambda_nodejs as lambda } from "aws-cdk-lib"; 4 | import * as path from "path"; 5 | 6 | export class LambdaNodejsStack extends cdk.Stack { 7 | constructor(scope: Construct, id: string, props?: cdk.StackProps) { 8 | super(scope, id, props); 9 | } 10 | 11 | lambdaFunction = new lambda.NodejsFunction(this, "demo", { 12 | bundling: { 13 | minify: true, 14 | }, 15 | functionName: "talkncloud-demo-function", 16 | entry: path.join(__dirname, "lambda/src/lambda-nodejs-stack.demo.ts"), 17 | }); 18 | } 19 | -------------------------------------------------------------------------------- /athena-express/athena.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | const AthenaExpress = require("athena-express"), 4 | aws = require("aws-sdk"); 5 | 6 | const athenaExpressConfig = { 7 | aws, 8 | catalog: "somecats", 9 | db: "default", 10 | workgroup: "somewg", 11 | s3: "s3://supercoolbucket", 12 | getStats: true 13 | }; 14 | const athenaExpress = new AthenaExpress(athenaExpressConfig); 15 | 16 | exports.handler = async (event, context, callback) => { 17 | const sqlQuery = "SELECT count(*) from dynamotable" 18 | 19 | try { 20 | let results = await athenaExpress.query(sqlQuery); 21 | callback(null, results); 22 | } catch (error) { 23 | callback(error, null); 24 | } 25 | }; -------------------------------------------------------------------------------- /lambda-graviton2/README.md: -------------------------------------------------------------------------------- 1 | # Welcome to talkncloud CDK TypeScript project! 2 | 3 | This example was developed to provide performance testing of the new Graviton2 arm support for AWS Lambda functions. 4 | 5 | Detailed info: https://www.talkncloud.com/lambda-graviton2-now-you-can-have-slower-functions/ 6 | 7 | ![](design.png) 8 | 9 | ## Usage 10 | * yarn install 11 | * projen 12 | * projen deploy 13 | 14 | ## Grab your API-Key 15 | You'll need a key to hit the API-GW, one is created during provisioning. Grab the key on the console or use the AWS CLI: 16 | 17 | ``` 18 | aws apigateway get-api-keys --query 'items[?name==`tnc-key`].value' --include-values --output text 19 | ``` -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/_tkinter_finder.py: -------------------------------------------------------------------------------- 1 | """ Find compiled module linking to Tcl / Tk libraries 2 | """ 3 | import sys 4 | import tkinter 5 | import warnings 6 | from tkinter import _tkinter as tk 7 | 8 | if hasattr(sys, "pypy_find_executable"): 9 | TKINTER_LIB = tk.tklib_cffi.__file__ 10 | else: 11 | TKINTER_LIB = tk.__file__ 12 | 13 | tk_version = str(tkinter.TkVersion) 14 | if tk_version == "8.4": 15 | warnings.warn( 16 | "Support for Tk/Tcl 8.4 is deprecated and will be removed" 17 | " in Pillow 10 (2023-01-02). Please upgrade to Tk/Tcl 8.5 " 18 | "or newer.", 19 | DeprecationWarning, 20 | ) 21 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/_tkinter_finder.py: -------------------------------------------------------------------------------- 1 | """ Find compiled module linking to Tcl / Tk libraries 2 | """ 3 | import sys 4 | import tkinter 5 | import warnings 6 | from tkinter import _tkinter as tk 7 | 8 | if hasattr(sys, "pypy_find_executable"): 9 | TKINTER_LIB = tk.tklib_cffi.__file__ 10 | else: 11 | TKINTER_LIB = tk.__file__ 12 | 13 | tk_version = str(tkinter.TkVersion) 14 | if tk_version == "8.4": 15 | warnings.warn( 16 | "Support for Tk/Tcl 8.4 is deprecated and will be removed" 17 | " in Pillow 10 (2023-01-02). Please upgrade to Tk/Tcl 8.5 " 18 | "or newer.", 19 | DeprecationWarning, 20 | ) 21 | -------------------------------------------------------------------------------- /lambda-nodejs/test/lambda-nodejs.test.ts: -------------------------------------------------------------------------------- 1 | // import * as cdk from 'aws-cdk-lib'; 2 | // import { Template } from 'aws-cdk-lib/assertions'; 3 | // import * as LambdaNodejs from '../lib/lambda-nodejs-stack'; 4 | 5 | // example test. To run these tests, uncomment this file along with the 6 | // example resource in lib/lambda-nodejs-stack.ts 7 | test('SQS Queue Created', () => { 8 | // const app = new cdk.App(); 9 | // // WHEN 10 | // const stack = new LambdaNodejs.LambdaNodejsStack(app, 'MyTestStack'); 11 | // // THEN 12 | // const template = Template.fromStack(stack); 13 | 14 | // template.hasResourceProperties('AWS::SQS::Queue', { 15 | // VisibilityTimeout: 300 16 | // }); 17 | }); 18 | -------------------------------------------------------------------------------- /lambda-nodejs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lambda-nodejs", 3 | "version": "0.1.0", 4 | "bin": { 5 | "lambda-nodejs": "bin/lambda-nodejs.js" 6 | }, 7 | "scripts": { 8 | "build": "tsc", 9 | "watch": "tsc -w", 10 | "test": "jest", 11 | "cdk": "cdk" 12 | }, 13 | "devDependencies": { 14 | "@types/jest": "^29.4.0", 15 | "@types/node": "18.14.6", 16 | "aws-cdk": "2.68.0", 17 | "esbuild": "0", 18 | "jest": "^29.5.0", 19 | "ts-jest": "^29.0.5", 20 | "ts-node": "^10.9.1", 21 | "typescript": "~4.9.5" 22 | }, 23 | "dependencies": { 24 | "aws-cdk-lib": "2.68.0", 25 | "constructs": "^10.0.0", 26 | "source-map-support": "^0.5.21" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /appsync-waf/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2018", 4 | "module": "commonjs", 5 | "lib": ["es2018"], 6 | "declaration": true, 7 | "strict": true, 8 | "noImplicitAny": true, 9 | "strictNullChecks": true, 10 | "noImplicitThis": true, 11 | "alwaysStrict": true, 12 | "noUnusedLocals": false, 13 | "noUnusedParameters": false, 14 | "noImplicitReturns": true, 15 | "noFallthroughCasesInSwitch": false, 16 | "inlineSourceMap": true, 17 | "inlineSources": true, 18 | "experimentalDecorators": true, 19 | "strictPropertyInitialization": false, 20 | "typeRoots": ["./node_modules/@types"] 21 | }, 22 | "exclude": ["cdk.out"] 23 | } 24 | -------------------------------------------------------------------------------- /athena-appsync/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2018", 4 | "module": "commonjs", 5 | "lib": ["es2018"], 6 | "declaration": true, 7 | "strict": true, 8 | "noImplicitAny": true, 9 | "strictNullChecks": true, 10 | "noImplicitThis": true, 11 | "alwaysStrict": true, 12 | "noUnusedLocals": false, 13 | "noUnusedParameters": false, 14 | "noImplicitReturns": true, 15 | "noFallthroughCasesInSwitch": false, 16 | "inlineSourceMap": true, 17 | "inlineSources": true, 18 | "experimentalDecorators": true, 19 | "strictPropertyInitialization": false, 20 | "typeRoots": ["./node_modules/@types"] 21 | }, 22 | "exclude": ["cdk.out"] 23 | } 24 | -------------------------------------------------------------------------------- /project-templating/projen-example/.projenrc.js: -------------------------------------------------------------------------------- 1 | const { awscdk } = require("projen"); 2 | const project = new awscdk.AwsCdkTypeScriptApp({ 3 | cdkVersion: "2.1.0", 4 | defaultReleaseBranch: "main", 5 | name: "projen-example", 6 | 7 | deps: ["prettier"], // simple example of adding dependancy, you'd likely add this to devDeps.... 8 | 9 | // deps: [], /* Runtime dependencies of this module. */ 10 | // description: undefined, /* The description is just a string that helps people understand the purpose of the package. */ 11 | // devDeps: [], /* Build dependencies for this module. */ 12 | // packageName: undefined, /* The "name" in package.json. */ 13 | }); 14 | project.synth(); 15 | -------------------------------------------------------------------------------- /project-templating/projen-example/src/main.ts: -------------------------------------------------------------------------------- 1 | import { App, Stack, StackProps } from 'aws-cdk-lib'; 2 | import { Construct } from 'constructs'; 3 | 4 | export class MyStack extends Stack { 5 | constructor(scope: Construct, id: string, props: StackProps = {}) { 6 | super(scope, id, props); 7 | 8 | // define resources here... 9 | } 10 | } 11 | 12 | // for development, use account/region from cdk cli 13 | const devEnv = { 14 | account: process.env.CDK_DEFAULT_ACCOUNT, 15 | region: process.env.CDK_DEFAULT_REGION, 16 | }; 17 | 18 | const app = new App(); 19 | 20 | new MyStack(app, 'projen-example-dev', { env: devEnv }); 21 | // new MyStack(app, 'projen-example-prod', { env: prodEnv }); 22 | 23 | app.synth(); -------------------------------------------------------------------------------- /appsync-waf-guard/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2018", 4 | "module": "commonjs", 5 | "lib": ["es2018"], 6 | "declaration": true, 7 | "strict": true, 8 | "noImplicitAny": true, 9 | "strictNullChecks": true, 10 | "noImplicitThis": true, 11 | "alwaysStrict": true, 12 | "noUnusedLocals": false, 13 | "noUnusedParameters": false, 14 | "noImplicitReturns": true, 15 | "noFallthroughCasesInSwitch": false, 16 | "inlineSourceMap": true, 17 | "inlineSources": true, 18 | "experimentalDecorators": true, 19 | "strictPropertyInitialization": false, 20 | "typeRoots": ["./node_modules/@types"] 21 | }, 22 | "exclude": ["cdk.out"] 23 | } 24 | -------------------------------------------------------------------------------- /cognito-federation/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2018", 4 | "module": "commonjs", 5 | "lib": ["es2018"], 6 | "declaration": true, 7 | "strict": true, 8 | "noImplicitAny": true, 9 | "strictNullChecks": true, 10 | "noImplicitThis": true, 11 | "alwaysStrict": true, 12 | "noUnusedLocals": false, 13 | "noUnusedParameters": false, 14 | "noImplicitReturns": true, 15 | "noFallthroughCasesInSwitch": false, 16 | "inlineSourceMap": true, 17 | "inlineSources": true, 18 | "experimentalDecorators": true, 19 | "strictPropertyInitialization": false, 20 | "typeRoots": ["./node_modules/@types"] 21 | }, 22 | "exclude": ["cdk.out"] 23 | } 24 | -------------------------------------------------------------------------------- /essential-billing/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2018", 4 | "module": "commonjs", 5 | "lib": ["es2018"], 6 | "declaration": true, 7 | "strict": true, 8 | "noImplicitAny": true, 9 | "strictNullChecks": true, 10 | "noImplicitThis": true, 11 | "alwaysStrict": true, 12 | "noUnusedLocals": false, 13 | "noUnusedParameters": false, 14 | "noImplicitReturns": true, 15 | "noFallthroughCasesInSwitch": false, 16 | "inlineSourceMap": true, 17 | "inlineSources": true, 18 | "experimentalDecorators": true, 19 | "strictPropertyInitialization": false, 20 | "typeRoots": ["./node_modules/@types"] 21 | }, 22 | "exclude": ["cdk.out"] 23 | } 24 | -------------------------------------------------------------------------------- /essential-billing-bot/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2018", 4 | "module": "commonjs", 5 | "lib": ["es2018"], 6 | "declaration": true, 7 | "strict": true, 8 | "noImplicitAny": true, 9 | "strictNullChecks": true, 10 | "noImplicitThis": true, 11 | "alwaysStrict": true, 12 | "noUnusedLocals": false, 13 | "noUnusedParameters": false, 14 | "noImplicitReturns": true, 15 | "noFallthroughCasesInSwitch": false, 16 | "inlineSourceMap": true, 17 | "inlineSources": true, 18 | "experimentalDecorators": true, 19 | "strictPropertyInitialization": false, 20 | "typeRoots": ["./node_modules/@types"] 21 | }, 22 | "exclude": ["cdk.out"] 23 | } 24 | -------------------------------------------------------------------------------- /global-ec2-notifications/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2018", 4 | "module": "commonjs", 5 | "lib": ["es2018"], 6 | "declaration": true, 7 | "strict": true, 8 | "noImplicitAny": true, 9 | "strictNullChecks": true, 10 | "noImplicitThis": true, 11 | "alwaysStrict": true, 12 | "noUnusedLocals": false, 13 | "noUnusedParameters": false, 14 | "noImplicitReturns": true, 15 | "noFallthroughCasesInSwitch": false, 16 | "inlineSourceMap": true, 17 | "inlineSources": true, 18 | "experimentalDecorators": true, 19 | "strictPropertyInitialization": false, 20 | "typeRoots": ["./node_modules/@types"] 21 | }, 22 | "exclude": ["cdk.out"] 23 | } 24 | -------------------------------------------------------------------------------- /project-templating/projen-example/.mergify.yml: -------------------------------------------------------------------------------- 1 | # ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". 2 | 3 | queue_rules: 4 | - name: default 5 | conditions: 6 | - "#approved-reviews-by>=1" 7 | - -label~=(do-not-merge) 8 | - status-success=build 9 | pull_request_rules: 10 | - name: Automatic merge on approval and successful build 11 | actions: 12 | delete_head_branch: {} 13 | queue: 14 | method: squash 15 | name: default 16 | commit_message_template: |- 17 | {{ title }} (#{{ number }}) 18 | 19 | {{ body }} 20 | conditions: 21 | - "#approved-reviews-by>=1" 22 | - -label~=(do-not-merge) 23 | - status-success=build 24 | -------------------------------------------------------------------------------- /essential-billing/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "essential-billing", 3 | "version": "0.1.0", 4 | "bin": { 5 | "essential-billing": "bin/essential-billing.js" 6 | }, 7 | "scripts": { 8 | "build": "tsc", 9 | "watch": "tsc -w", 10 | "test": "jest", 11 | "cdk": "cdk" 12 | }, 13 | "devDependencies": { 14 | "@aws-cdk/assert": "1.67.0", 15 | "@types/jest": "^26.0.10", 16 | "@types/node": "10.17.27", 17 | "jest": "^26.4.2", 18 | "ts-jest": "^26.2.0", 19 | "aws-cdk": "1.67.0", 20 | "ts-node": "^8.1.0", 21 | "typescript": "~3.9.7" 22 | }, 23 | "dependencies": { 24 | "@aws-cdk/aws-budgets": "^1.67.0", 25 | "@aws-cdk/core": "1.67.0", 26 | "source-map-support": "^0.5.16" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /project-templating/generator-yeoman-example/generators/app/templates/src/main.ts: -------------------------------------------------------------------------------- 1 | import { App, Stack, StackProps } from 'aws-cdk-lib'; 2 | import { Construct } from 'constructs'; 3 | 4 | export class MyStack extends Stack { 5 | constructor(scope: Construct, id: string, props: StackProps = {}) { 6 | super(scope, id, props); 7 | 8 | // define resources here... 9 | } 10 | } 11 | 12 | // for development, use account/region from cdk cli 13 | const devEnv = { 14 | account: process.env.CDK_DEFAULT_ACCOUNT, 15 | region: process.env.CDK_DEFAULT_REGION, 16 | }; 17 | 18 | const app = new App(); 19 | 20 | new MyStack(app, 'projen-example-dev', { env: devEnv }); 21 | // new MyStack(app, 'projen-example-prod', { env: prodEnv }); 22 | 23 | app.synth(); -------------------------------------------------------------------------------- /lambda-graviton2/.gitattributes: -------------------------------------------------------------------------------- 1 | # ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". 2 | 3 | *.snap linguist-generated 4 | /.eslintrc.json linguist-generated 5 | /.gitattributes linguist-generated 6 | /.gitignore linguist-generated 7 | /.npmignore linguist-generated 8 | /.projen/** linguist-generated 9 | /.projen/deps.json linguist-generated 10 | /.projen/tasks.json linguist-generated 11 | /cdk.json linguist-generated 12 | /LICENSE linguist-generated 13 | /package.json linguist-generated 14 | /tsconfig.eslint.json linguist-generated 15 | /tsconfig.jest.json linguist-generated 16 | /tsconfig.json linguist-generated 17 | /yarn.lock linguist-generated -------------------------------------------------------------------------------- /cognito-federation/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cognito-federation", 3 | "version": "0.1.0", 4 | "bin": { 5 | "cognito-federation": "bin/cognito-federation.js" 6 | }, 7 | "scripts": { 8 | "build": "tsc", 9 | "watch": "tsc -w", 10 | "test": "jest", 11 | "cdk": "cdk" 12 | }, 13 | "devDependencies": { 14 | "@aws-cdk/assert": "1.82.0", 15 | "@types/jest": "^26.0.19", 16 | "@types/node": "14.14.20", 17 | "jest": "^26.6.3", 18 | "ts-jest": "^26.4.4", 19 | "aws-cdk": "1.82.0", 20 | "ts-node": "^9.1.1", 21 | "typescript": "~4.1.3" 22 | }, 23 | "dependencies": { 24 | "@aws-cdk/aws-cognito": "^1.82.0", 25 | "@aws-cdk/aws-iam": "^1.82.0", 26 | "@aws-cdk/core": "1.82.0", 27 | "source-map-support": "^0.5.19" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /lambda-nodejs/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "module": "commonjs", 5 | "lib": [ 6 | "es2020" 7 | ], 8 | "declaration": true, 9 | "strict": true, 10 | "noImplicitAny": true, 11 | "strictNullChecks": true, 12 | "noImplicitThis": true, 13 | "alwaysStrict": true, 14 | "noUnusedLocals": false, 15 | "noUnusedParameters": false, 16 | "noImplicitReturns": true, 17 | "noFallthroughCasesInSwitch": false, 18 | "inlineSourceMap": true, 19 | "inlineSources": true, 20 | "experimentalDecorators": true, 21 | "strictPropertyInitialization": false, 22 | "typeRoots": [ 23 | "./node_modules/@types" 24 | ] 25 | }, 26 | "exclude": [ 27 | "node_modules", 28 | "cdk.out" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /project-templating/projen-example/.github/workflows/pull-request-lint.yml: -------------------------------------------------------------------------------- 1 | # ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". 2 | 3 | name: pull-request-lint 4 | on: 5 | pull_request_target: 6 | types: 7 | - labeled 8 | - opened 9 | - synchronize 10 | - reopened 11 | - ready_for_review 12 | - edited 13 | jobs: 14 | validate: 15 | name: Validate PR title 16 | runs-on: ubuntu-latest 17 | permissions: 18 | pull-requests: write 19 | steps: 20 | - uses: amannn/action-semantic-pull-request@v5.0.2 21 | env: 22 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 23 | with: 24 | types: |- 25 | feat 26 | fix 27 | chore 28 | requireScope: false 29 | -------------------------------------------------------------------------------- /cognito-federation/README.md: -------------------------------------------------------------------------------- 1 | # Welcome to talkncloud CDK TypeScript project! 2 | 3 | This example was written to help new comers setup cognito with CDK. 4 | 5 | Detailed info: https://www.talkncloud.com/aws-cognito-the-good-the-bad-the-ugly/ 6 | 7 | ## General 8 | Discuss it, change it, improve it, share it... 9 | 10 | The `cdk.json` file tells the CDK Toolkit how to execute your app. 11 | 12 | ## Useful commands 13 | 14 | * `npm run build` compile typescript to js 15 | * `npm run watch` watch for changes and compile 16 | * `npm run test` perform the jest unit tests 17 | * `cdk deploy` deploy this stack to your default AWS account/region 18 | * `cdk diff` compare deployed stack with current state 19 | * `cdk synth` emits the synthesized CloudFormation template 20 | 21 | 22 | -------------------------------------------------------------------------------- /lambda-nodejs/README.md: -------------------------------------------------------------------------------- 1 | # Welcome to the typescript Lambda example 2 | 3 | This is a simple example of using nodeJsFunction construct in the aws-libs to build and deploy a typescript function. 4 | 5 | More details can be found here: 6 | https://www.talkncloud.com/no-fuss-no-muss-typescript-lambda-cdk/ 7 | 8 | ## This CDK TypeScript project 9 | 10 | This is a blank project for CDK development with TypeScript. 11 | 12 | The `cdk.json` file tells the CDK Toolkit how to execute your app. 13 | 14 | ## Useful commands 15 | 16 | - `npm run build` compile typescript to js 17 | - `npm run watch` watch for changes and compile 18 | - `npm run test` perform the jest unit tests 19 | - `cdk deploy` deploy this stack to your default AWS account/region 20 | - `cdk diff` compare deployed stack with current state 21 | - `cdk synth` emits the synthesized CloudFormation template 22 | -------------------------------------------------------------------------------- /essential-billing-bot/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "essential-billing", 3 | "version": "0.1.0", 4 | "bin": { 5 | "essential-billing": "bin/essential-billing.js" 6 | }, 7 | "scripts": { 8 | "build": "tsc", 9 | "watch": "tsc -w", 10 | "test": "jest", 11 | "cdk": "cdk" 12 | }, 13 | "devDependencies": { 14 | "@aws-cdk/assert": "1.68.0", 15 | "@types/jest": "^26.0.14", 16 | "@types/node": "14.11.8", 17 | "aws-cdk": "1.68.0", 18 | "jest": "^26.5.3", 19 | "ts-jest": "^26.4.1", 20 | "ts-node": "^9.0.0", 21 | "typescript": "~4.0.3" 22 | }, 23 | "dependencies": { 24 | "@aws-cdk/aws-budgets": "^1.68.0", 25 | "@aws-cdk/aws-chatbot": "^1.68.0", 26 | "@aws-cdk/aws-iam": "^1.68.0", 27 | "@aws-cdk/aws-sns": "^1.68.0", 28 | "@aws-cdk/core": "1.68.0", 29 | "source-map-support": "^0.5.19" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /appsync-waf/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "appsync-waf", 3 | "version": "0.1.0", 4 | "bin": { 5 | "appsync-waf": "bin/appsync-waf.js" 6 | }, 7 | "scripts": { 8 | "build": "tsc", 9 | "watch": "tsc -w", 10 | "test": "jest", 11 | "cdk": "cdk" 12 | }, 13 | "devDependencies": { 14 | "@aws-cdk/assert": "1.70.0", 15 | "@types/jest": "^26.0.15", 16 | "@types/node": "14.14.2", 17 | "jest": "^26.6.1", 18 | "ts-jest": "^26.4.2", 19 | "aws-cdk": "1.70.0", 20 | "ts-node": "^9.0.0", 21 | "typescript": "~4.0.3" 22 | }, 23 | "dependencies": { 24 | "@aws-cdk/aws-appsync": "^1.70.0", 25 | "@aws-cdk/aws-cognito": "^1.70.0", 26 | "@aws-cdk/aws-dynamodb": "^1.70.0", 27 | "@aws-cdk/aws-iam": "^1.70.0", 28 | "@aws-cdk/aws-wafv2": "^1.70.0", 29 | "@aws-cdk/core": "1.70.0", 30 | "source-map-support": "^0.5.19" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /appsync-waf-guard/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "appsync-waf", 3 | "version": "0.1.0", 4 | "bin": { 5 | "appsync-waf": "bin/appsync-waf.js" 6 | }, 7 | "scripts": { 8 | "build": "tsc", 9 | "watch": "tsc -w", 10 | "test": "jest", 11 | "cdk": "cdk" 12 | }, 13 | "devDependencies": { 14 | "@aws-cdk/assert": "1.70.0", 15 | "@types/jest": "^26.0.15", 16 | "@types/node": "14.14.2", 17 | "jest": "^26.6.1", 18 | "ts-jest": "^26.4.2", 19 | "aws-cdk": "1.70.0", 20 | "ts-node": "^9.0.0", 21 | "typescript": "~4.0.3" 22 | }, 23 | "dependencies": { 24 | "@aws-cdk/aws-appsync": "^1.70.0", 25 | "@aws-cdk/aws-cognito": "^1.70.0", 26 | "@aws-cdk/aws-dynamodb": "^1.70.0", 27 | "@aws-cdk/aws-iam": "^1.70.0", 28 | "@aws-cdk/aws-wafv2": "^1.70.0", 29 | "@aws-cdk/core": "1.70.0", 30 | "source-map-support": "^0.5.19" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /lambda-graviton2/.gitignore: -------------------------------------------------------------------------------- 1 | # ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". 2 | !/.gitattributes 3 | !/.projen/tasks.json 4 | !/.projen/deps.json 5 | !/package.json 6 | !/LICENSE 7 | !/.npmignore 8 | logs 9 | *.log 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | lerna-debug.log* 14 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 15 | pids 16 | *.pid 17 | *.seed 18 | *.pid.lock 19 | lib-cov 20 | coverage 21 | *.lcov 22 | .nyc_output 23 | build/Release 24 | node_modules/ 25 | jspm_packages/ 26 | *.tsbuildinfo 27 | .eslintcache 28 | *.tgz 29 | .yarn-integrity 30 | .cache 31 | .DS_Store 32 | perf.yaml 33 | report.* 34 | !/.projenrc.js 35 | /test-reports/ 36 | junit.xml 37 | /coverage/ 38 | !/test/ 39 | !/tsconfig.json 40 | !/src/ 41 | /lib 42 | /dist/ 43 | !/tsconfig.jest.json 44 | !/.eslintrc.json 45 | !/tsconfig.eslint.json 46 | cdk.out/ 47 | .cdk.staging/ 48 | .parcel-cache/ 49 | !/cdk.json 50 | -------------------------------------------------------------------------------- /project-templating/projen-example/.gitattributes: -------------------------------------------------------------------------------- 1 | # ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". 2 | 3 | *.snap linguist-generated 4 | /.eslintrc.json linguist-generated 5 | /.gitattributes linguist-generated 6 | /.github/pull_request_template.md linguist-generated 7 | /.github/workflows/build.yml linguist-generated 8 | /.github/workflows/pull-request-lint.yml linguist-generated 9 | /.github/workflows/upgrade.yml linguist-generated 10 | /.gitignore linguist-generated 11 | /.mergify.yml linguist-generated 12 | /.npmignore linguist-generated 13 | /.projen/** linguist-generated 14 | /.projen/deps.json linguist-generated 15 | /.projen/files.json linguist-generated 16 | /.projen/tasks.json linguist-generated 17 | /cdk.json linguist-generated 18 | /LICENSE linguist-generated 19 | /package.json linguist-generated 20 | /tsconfig.dev.json linguist-generated 21 | /tsconfig.json linguist-generated 22 | /yarn.lock linguist-generated -------------------------------------------------------------------------------- /appsync-waf-guard/cfn.ruleset: -------------------------------------------------------------------------------- 1 | AWS::AppSync::GraphQLApi AuthenticationType == AMAZON_COGNITO_USER_POOLS 2 | AWS::WAFv2::WebACL Rules == [{"Action":{"Count":{}},"Name":"GeoMatch","Priority":0,"Statement":{"NotStatement":{"Statement":{"GeoMatchStatement":{"CountryCodes":["AU"]}}}},"VisibilityConfig":{"CloudWatchMetricsEnabled":true,"MetricName":"GeoMatch","SampledRequestsEnabled":true}},{"Name":"AWS-AWSManagedRulesCommonRuleSet","OverrideAction":{"None":{}},"Priority":1,"Statement":{"ManagedRuleGroupStatement":{"ExcludedRules":[{"Name":"NoUserAgent_HEADER"}],"Name":"AWSManagedRulesCommonRuleSet","VendorName":"AWS"}},"VisibilityConfig":{"CloudWatchMetricsEnabled":true,"MetricName":"AWS-AWSManagedRulesCommonRuleSet","SampledRequestsEnabled":true}},{"Action":{"Block":{}},"Name":"LimitRequests100","Priority":2,"Statement":{"RateBasedStatement":{"AggregateKeyType":"IP","Limit":100}},"VisibilityConfig":{"CloudWatchMetricsEnabled":true,"MetricName":"LimitRequests100","SampledRequestsEnabled":true}}] 3 | -------------------------------------------------------------------------------- /global-ec2-notifications/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "global-ec2-notifications", 3 | "version": "0.1.0", 4 | "bin": { 5 | "global-ec2-notifications": "bin/global-ec2-notifications.js" 6 | }, 7 | "scripts": { 8 | "build": "tsc", 9 | "watch": "tsc -w", 10 | "test": "jest", 11 | "cdk": "cdk" 12 | }, 13 | "devDependencies": { 14 | "@aws-cdk/assert": "1.72.0", 15 | "@types/jest": "^26.0.10", 16 | "@types/node": "10.17.27", 17 | "jest": "^26.4.2", 18 | "ts-jest": "^26.2.0", 19 | "aws-cdk": "1.72.0", 20 | "ts-node": "^8.1.0", 21 | "typescript": "~3.9.7" 22 | }, 23 | "dependencies": { 24 | "@aws-cdk/aws-events": "^1.72.0", 25 | "@aws-cdk/aws-events-targets": "^1.72.0", 26 | "@aws-cdk/aws-iam": "^1.72.0", 27 | "@aws-cdk/aws-lambda": "^1.72.0", 28 | "@aws-cdk/aws-sns": "^1.72.0", 29 | "@aws-cdk/aws-sns-subscriptions": "^1.72.0", 30 | "@aws-cdk/core": "1.72.0", 31 | "source-map-support": "^0.5.16" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /lambda-graviton2/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "rootDir": "src", 4 | "outDir": "lib", 5 | "alwaysStrict": true, 6 | "declaration": true, 7 | "experimentalDecorators": true, 8 | "inlineSourceMap": true, 9 | "inlineSources": true, 10 | "lib": [ 11 | "es2018" 12 | ], 13 | "module": "CommonJS", 14 | "noEmitOnError": false, 15 | "noFallthroughCasesInSwitch": true, 16 | "noImplicitAny": true, 17 | "noImplicitReturns": true, 18 | "noImplicitThis": true, 19 | "noUnusedLocals": false, 20 | "noUnusedParameters": true, 21 | "resolveJsonModule": true, 22 | "strict": true, 23 | "strictNullChecks": true, 24 | "strictPropertyInitialization": true, 25 | "stripInternal": true, 26 | "target": "ES2018" 27 | }, 28 | "include": [ 29 | "src/**/*.ts" 30 | ], 31 | "exclude": [ 32 | "cdk.out" 33 | ], 34 | "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." 35 | } 36 | -------------------------------------------------------------------------------- /lambda-graviton2/tsconfig.eslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "alwaysStrict": true, 4 | "declaration": true, 5 | "experimentalDecorators": true, 6 | "inlineSourceMap": true, 7 | "inlineSources": true, 8 | "lib": [ 9 | "es2018" 10 | ], 11 | "module": "CommonJS", 12 | "noEmitOnError": false, 13 | "noFallthroughCasesInSwitch": true, 14 | "noImplicitAny": true, 15 | "noImplicitReturns": true, 16 | "noImplicitThis": true, 17 | "noUnusedLocals": false, 18 | "noUnusedParameters": true, 19 | "resolveJsonModule": true, 20 | "strict": true, 21 | "strictNullChecks": true, 22 | "strictPropertyInitialization": true, 23 | "stripInternal": true, 24 | "target": "ES2018" 25 | }, 26 | "include": [ 27 | ".projenrc.js", 28 | "src/**/*.ts", 29 | "test/**/*.ts" 30 | ], 31 | "exclude": [ 32 | "node_modules" 33 | ], 34 | "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." 35 | } 36 | -------------------------------------------------------------------------------- /lambda-graviton2/tsconfig.jest.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "alwaysStrict": true, 4 | "declaration": true, 5 | "experimentalDecorators": true, 6 | "inlineSourceMap": true, 7 | "inlineSources": true, 8 | "lib": [ 9 | "es2018" 10 | ], 11 | "module": "CommonJS", 12 | "noEmitOnError": false, 13 | "noFallthroughCasesInSwitch": true, 14 | "noImplicitAny": true, 15 | "noImplicitReturns": true, 16 | "noImplicitThis": true, 17 | "noUnusedLocals": false, 18 | "noUnusedParameters": true, 19 | "resolveJsonModule": true, 20 | "strict": true, 21 | "strictNullChecks": true, 22 | "strictPropertyInitialization": true, 23 | "stripInternal": true, 24 | "target": "ES2018" 25 | }, 26 | "include": [ 27 | ".projenrc.js", 28 | "src/**/*.ts", 29 | "test/**/*.ts" 30 | ], 31 | "exclude": [ 32 | "node_modules" 33 | ], 34 | "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." 35 | } 36 | -------------------------------------------------------------------------------- /project-templating/projen-example/tsconfig.json: -------------------------------------------------------------------------------- 1 | // ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". 2 | { 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib", 6 | "alwaysStrict": true, 7 | "declaration": true, 8 | "esModuleInterop": true, 9 | "experimentalDecorators": true, 10 | "inlineSourceMap": true, 11 | "inlineSources": true, 12 | "lib": [ 13 | "es2019" 14 | ], 15 | "module": "CommonJS", 16 | "noEmitOnError": false, 17 | "noFallthroughCasesInSwitch": true, 18 | "noImplicitAny": true, 19 | "noImplicitReturns": true, 20 | "noImplicitThis": true, 21 | "noUnusedLocals": true, 22 | "noUnusedParameters": true, 23 | "resolveJsonModule": true, 24 | "strict": true, 25 | "strictNullChecks": true, 26 | "strictPropertyInitialization": true, 27 | "stripInternal": true, 28 | "target": "ES2019" 29 | }, 30 | "include": [ 31 | "src/**/*.ts" 32 | ], 33 | "exclude": [ 34 | "cdk.out" 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /project-templating/projen-example/tsconfig.dev.json: -------------------------------------------------------------------------------- 1 | // ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". 2 | { 3 | "compilerOptions": { 4 | "alwaysStrict": true, 5 | "declaration": true, 6 | "esModuleInterop": true, 7 | "experimentalDecorators": true, 8 | "inlineSourceMap": true, 9 | "inlineSources": true, 10 | "lib": [ 11 | "es2019" 12 | ], 13 | "module": "CommonJS", 14 | "noEmitOnError": false, 15 | "noFallthroughCasesInSwitch": true, 16 | "noImplicitAny": true, 17 | "noImplicitReturns": true, 18 | "noImplicitThis": true, 19 | "noUnusedLocals": true, 20 | "noUnusedParameters": true, 21 | "resolveJsonModule": true, 22 | "strict": true, 23 | "strictNullChecks": true, 24 | "strictPropertyInitialization": true, 25 | "stripInternal": true, 26 | "target": "ES2019" 27 | }, 28 | "include": [ 29 | ".projenrc.js", 30 | "src/**/*.ts", 31 | "test/**/*.ts" 32 | ], 33 | "exclude": [ 34 | "node_modules" 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /project-templating/generator-yeoman-example/generators/app/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | const Generator = require("yeoman-generator"); 3 | const chalk = require("chalk"); 4 | const yosay = require("yosay"); 5 | 6 | module.exports = class extends Generator { 7 | prompting() { 8 | // Have Yeoman greet the user. 9 | this.log( 10 | yosay( 11 | `Welcome to the wondrous ${chalk.red( 12 | "generator-yeoman-example" 13 | )} generator!` 14 | ) 15 | ); 16 | 17 | const prompts = [ 18 | { 19 | type: "confirm", 20 | name: "someAnswer", 21 | message: "Would you like to enable this option?", 22 | default: true 23 | } 24 | ]; 25 | 26 | return this.prompt(prompts).then(props => { 27 | // To access props later use this.props.someAnswer; 28 | this.props = props; 29 | }); 30 | } 31 | 32 | writing() { 33 | this.fs.copy(this.templatePath("/"), this.destinationPath("/")); 34 | } 35 | 36 | install() { 37 | this.installDependencies(); 38 | } 39 | }; 40 | -------------------------------------------------------------------------------- /athena-appsync/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "athena-appsync", 3 | "version": "0.1.0", 4 | "bin": { 5 | "athena-appsync": "bin/athena-appsync.js" 6 | }, 7 | "scripts": { 8 | "build": "tsc", 9 | "watch": "tsc -w", 10 | "test": "jest", 11 | "cdk": "cdk" 12 | }, 13 | "devDependencies": { 14 | "@aws-cdk/assert": "1.97.0", 15 | "@types/jest": "^26.0.22", 16 | "@types/node": "14.14.37", 17 | "jest": "^26.6.3", 18 | "ts-jest": "^26.5.4", 19 | "aws-cdk": "1.97.0", 20 | "ts-node": "^9.1.1", 21 | "typescript": "~4.2.4" 22 | }, 23 | "dependencies": { 24 | "@aws-cdk/aws-appsync": "^1.97.0", 25 | "@aws-cdk/aws-athena": "^1.97.0", 26 | "@aws-cdk/aws-dynamodb": "^1.97.0", 27 | "@aws-cdk/aws-iam": "^1.97.0", 28 | "@aws-cdk/aws-lambda": "^1.97.0", 29 | "@aws-cdk/aws-lambda-event-sources": "^1.97.0", 30 | "@aws-cdk/aws-s3": "^1.97.0", 31 | "@aws-cdk/aws-sam": "^1.97.0", 32 | "@aws-cdk/core": "1.97.0", 33 | "aws-sdk": "^2.892.0", 34 | "source-map-support": "^0.5.19" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /lambda-nodejs/bin/lambda-nodejs.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import 'source-map-support/register'; 3 | import * as cdk from 'aws-cdk-lib'; 4 | import { LambdaNodejsStack } from '../lib/lambda-nodejs-stack'; 5 | 6 | const app = new cdk.App(); 7 | new LambdaNodejsStack(app, 'LambdaNodejsStack', { 8 | /* If you don't specify 'env', this stack will be environment-agnostic. 9 | * Account/Region-dependent features and context lookups will not work, 10 | * but a single synthesized template can be deployed anywhere. */ 11 | 12 | /* Uncomment the next line to specialize this stack for the AWS Account 13 | * and Region that are implied by the current CLI configuration. */ 14 | // env: { account: process.env.CDK_DEFAULT_ACCOUNT, region: process.env.CDK_DEFAULT_REGION }, 15 | 16 | /* Uncomment the next line if you know exactly what Account and Region you 17 | * want to deploy the stack to. */ 18 | // env: { account: '123456789012', region: 'us-east-1' }, 19 | 20 | /* For more information, see https://docs.aws.amazon.com/cdk/latest/guide/environments.html */ 21 | }); -------------------------------------------------------------------------------- /project-templating/projen-example/.gitignore: -------------------------------------------------------------------------------- 1 | # ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". 2 | !/.gitattributes 3 | !/.projen/tasks.json 4 | !/.projen/deps.json 5 | !/.projen/files.json 6 | !/.github/workflows/pull-request-lint.yml 7 | !/package.json 8 | !/LICENSE 9 | !/.npmignore 10 | logs 11 | *.log 12 | npm-debug.log* 13 | yarn-debug.log* 14 | yarn-error.log* 15 | lerna-debug.log* 16 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 17 | pids 18 | *.pid 19 | *.seed 20 | *.pid.lock 21 | lib-cov 22 | coverage 23 | *.lcov 24 | .nyc_output 25 | build/Release 26 | node_modules/ 27 | jspm_packages/ 28 | *.tsbuildinfo 29 | .eslintcache 30 | *.tgz 31 | .yarn-integrity 32 | .cache 33 | !/.projenrc.js 34 | /test-reports/ 35 | junit.xml 36 | /coverage/ 37 | !/.github/workflows/build.yml 38 | !/.mergify.yml 39 | !/.github/workflows/upgrade.yml 40 | !/.github/pull_request_template.md 41 | !/test/ 42 | !/tsconfig.json 43 | !/tsconfig.dev.json 44 | !/src/ 45 | /lib 46 | /dist/ 47 | !/.eslintrc.json 48 | /assets/ 49 | !/cdk.json 50 | /cdk.out/ 51 | .cdk.staging/ 52 | .parcel-cache/ 53 | -------------------------------------------------------------------------------- /lambda-graviton2/.projenrc.js: -------------------------------------------------------------------------------- 1 | const { AwsCdkTypeScriptApp, ProjectType } = require("projen"); 2 | const project = new AwsCdkTypeScriptApp({ 3 | cdkVersion: "1.125.0", 4 | defaultReleaseBranch: "main", 5 | name: "lambda-graviton2", 6 | cdkVersionPinning: true, 7 | devDeps: ["prettier"], 8 | eslintOptions: { 9 | prettier: true, 10 | }, 11 | cdkDependencies: [ 12 | "@aws-cdk/aws-apigateway", 13 | "@aws-cdk/aws-lambda", 14 | "@aws-cdk/aws-s3", 15 | ], 16 | authorEmail: "github@talkncloud.com", 17 | authorName: "mick jacobsson", 18 | description: "performance testing graviton2 lambda", 19 | keywords: ["graviton2", "lambda"], 20 | repository: "https://github.com/talkncloud/aws/lambda-graviton2", 21 | context: { 22 | "@aws-cdk/core:newStyleStackSynthesis": true, 23 | "@aws-cdk/core:enableStackNameDuplicates": "true", 24 | "aws-cdk:enableDiffNoFail": "true", 25 | "@aws-cdk/core:stackRelativeExports": "true", 26 | }, 27 | tsconfig: { 28 | compilerOptions: { noUnusedLocals: false }, 29 | }, 30 | projectType: ProjectType.APP, 31 | gitignore: [".DS_Store", "perf.yaml", "report.*"], 32 | github: false, 33 | }); 34 | project.synth(); 35 | -------------------------------------------------------------------------------- /essential-billing/lib/essential-billing-stack.ts: -------------------------------------------------------------------------------- 1 | import * as cdk from '@aws-cdk/core'; 2 | import * as budget from '@aws-cdk/aws-budgets'; 3 | 4 | export class EssentialBillingStack extends cdk.Stack { 5 | constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) { 6 | super(scope, id, props); 7 | 8 | 9 | const email = new cdk.CfnParameter(this, "email", { 10 | type: "String", 11 | description: "email address for notifications"}); 12 | 13 | const spend = new cdk.CfnParameter(this, "spend", { 14 | type: "Number", 15 | description: "max budget for alarm"}); 16 | 17 | const billingBudget = new budget.CfnBudget(this, 'my-budget', { 18 | budget: { 19 | budgetName: "my-budget", 20 | budgetType: "COST", 21 | timeUnit: "MONTHLY", 22 | budgetLimit: { amount: spend.valueAsNumber, unit: "USD" } 23 | }, 24 | notificationsWithSubscribers: [{ 25 | notification: { 26 | notificationType: "ACTUAL", 27 | comparisonOperator: "GREATER_THAN", 28 | threshold: 80 // percent 29 | }, 30 | subscribers: [{subscriptionType: "EMAIL", address: email.valueAsString}] 31 | }] 32 | }) 33 | 34 | 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /project-templating/generator-yeoman-example/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2023 Mike Jacobsson (https://www.talkncloud.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /essential-billing/README.md: -------------------------------------------------------------------------------- 1 | # Welcome to talkncloud CDK TypeScript project! 2 | 3 | This example was written to help new comers setup billing alarms with AWS Budgets. 4 | 5 | More info: https://www.talkncloud.com/aws-essential-setting-budget-and-alarms/ 6 | 7 | ## General 8 | Discuss it, change it, improve it, share it... 9 | 10 | The `cdk.json` file tells the CDK Toolkit how to execute your app. 11 | 12 | ## Useful commands 13 | 14 | * `npm run build` compile typescript to js 15 | * `npm run watch` watch for changes and compile 16 | * `npm run test` perform the jest unit tests 17 | * `cdk deploy` deploy this stack to your default AWS account/region 18 | * `cdk diff` compare deployed stack with current state 19 | * `cdk synth` emits the synthesized CloudFormation template 20 | 21 | ## Usage 22 | cdk deploy --parameters email=demo@example.com --parameters spend=10 23 | 24 | ## Launch the stack in AWS using CF 25 | [![Launch Stack](https://cdn.rawgit.com/buildkite/cloudformation-launch-stack-button-svg/master/launch-stack.svg)](https://console.aws.amazon.com/cloudformation/home?#/stacks/new?stackName=MyBudgetAlarm&templateURL=https://talkncloud-stax.s3-ap-southeast-2.amazonaws.com/EssentialBillingStack.template.json) 26 | 27 | 28 | -------------------------------------------------------------------------------- /appsync-waf/README.md: -------------------------------------------------------------------------------- 1 | # Welcome to talkncloud CDK TypeScript project! 2 | 3 | This example was developed to provide a working demo of AppSync + WAF + Cognito + Dynamo! 4 | 5 | Detailed info: https://www.talkncloud.com/aws-appsync-with-waf-wooo-cdk-cf/ 6 | 7 | ![design](https://www.talkncloud.com/content/images/2020/10/tnc-appsync-waf-1.png) 8 | 9 | ## General 10 | Discuss it, change it, improve it, share it... 11 | 12 | The `cdk.json` file tells the CDK Toolkit how to execute your app. 13 | 14 | ## Useful commands 15 | 16 | * `npm run build` compile typescript to js 17 | * `npm run watch` watch for changes and compile 18 | * `npm run test` perform the jest unit tests 19 | * `cdk deploy` deploy this stack to your default AWS account/region 20 | * `cdk diff` compare deployed stack with current state 21 | * `cdk synth` emits the synthesized CloudFormation template 22 | 23 | ## Usage 24 | cdk deploy 25 | 26 | ## Launch the stack in AWS using CF 27 | [![Launch Stack](https://cdn.rawgit.com/buildkite/cloudformation-launch-stack-button-svg/master/launch-stack.svg)](https://console.aws.amazon.com/cloudformation/home?#/stacks/new?stackName=TncAppSyncWaf&templateURL=https://talkncloud-stax.s3-ap-southeast-2.amazonaws.com/AppsyncWafStack.template.json) 28 | 29 | 30 | -------------------------------------------------------------------------------- /essential-billing-bot/README.md: -------------------------------------------------------------------------------- 1 | # Welcome to talkncloud CDK TypeScript project! 2 | 3 | This example was written to help new comers setup billing alarms with AWS Budgets and Chatbot! 4 | 5 | Detailed info: https://www.talkncloud.com/enter-the-bots-aws-budgets-with-bots/ 6 | 7 | ## General 8 | Discuss it, change it, improve it, share it... 9 | 10 | The `cdk.json` file tells the CDK Toolkit how to execute your app. 11 | 12 | ## Useful commands 13 | 14 | * `npm run build` compile typescript to js 15 | * `npm run watch` watch for changes and compile 16 | * `npm run test` perform the jest unit tests 17 | * `cdk deploy` deploy this stack to your default AWS account/region 18 | * `cdk diff` compare deployed stack with current state 19 | * `cdk synth` emits the synthesized CloudFormation template 20 | 21 | ## Usage 22 | cdk deploy --parameters email=demo@example.com --parameters spend=10 --parameters workspace=XXXXMICKXXXX --parameters channel=XXXXTALKNCLOUDXXXX 23 | 24 | ## Launch the stack in AWS using CF 25 | [![Launch Stack](https://cdn.rawgit.com/buildkite/cloudformation-launch-stack-button-svg/master/launch-stack.svg)](https://console.aws.amazon.com/cloudformation/home?#/stacks/new?stackName=MyBudgetBotAlarm&templateURL=https://talkncloud-stax.s3-ap-southeast-2.amazonaws.com/EssentialBillingBotStack.template.json) 26 | 27 | 28 | -------------------------------------------------------------------------------- /appsync-waf-guard/README.md: -------------------------------------------------------------------------------- 1 | # Welcome to talkncloud CDK TypeScript project! 2 | 3 | This example was developed to provide a working run through of cloudformation guard (cfn-guard)! 4 | 5 | **WAIT! This project is a clone of the original project, this is simply to demo cfn-guard and is NOT a working example for AppSync, please use original** 6 | 7 | Detailed info: https://www.talkncloud.com/cloudformation-cfn-guard-policy-as-code/ 8 | 9 | ## General 10 | Discuss it, change it, improve it, share it... 11 | 12 | The `cdk.json` file tells the CDK Toolkit how to execute your app. 13 | 14 | ## Useful commands 15 | 16 | * `npm run build` compile typescript to js 17 | * `npm run watch` watch for changes and compile 18 | * `npm run test` perform the jest unit tests 19 | * `cdk deploy` deploy this stack to your default AWS account/region 20 | * `cdk diff` compare deployed stack with current state 21 | * `cdk synth` emits the synthesized CloudFormation template 22 | 23 | ## Usage 24 | cdk deploy 25 | 26 | ## Launch the stack in AWS using CF 27 | [![Launch Stack](https://cdn.rawgit.com/buildkite/cloudformation-launch-stack-button-svg/master/launch-stack.svg)](https://console.aws.amazon.com/cloudformation/home?#/stacks/new?stackName=TncAppSyncWaf&templateURL=https://talkncloud-stax.s3-ap-southeast-2.amazonaws.com/AppsyncWafStack.template.json) 28 | 29 | 30 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/PaletteFile.py: -------------------------------------------------------------------------------- 1 | # 2 | # Python Imaging Library 3 | # $Id$ 4 | # 5 | # stuff to read simple, teragon-style palette files 6 | # 7 | # History: 8 | # 97-08-23 fl Created 9 | # 10 | # Copyright (c) Secret Labs AB 1997. 11 | # Copyright (c) Fredrik Lundh 1997. 12 | # 13 | # See the README file for information on usage and redistribution. 14 | # 15 | 16 | from ._binary import o8 17 | 18 | 19 | class PaletteFile: 20 | """File handler for Teragon-style palette files.""" 21 | 22 | rawmode = "RGB" 23 | 24 | def __init__(self, fp): 25 | 26 | self.palette = [(i, i, i) for i in range(256)] 27 | 28 | while True: 29 | 30 | s = fp.readline() 31 | 32 | if not s: 33 | break 34 | if s[0:1] == b"#": 35 | continue 36 | if len(s) > 100: 37 | raise SyntaxError("bad palette file") 38 | 39 | v = [int(x) for x in s.split()] 40 | try: 41 | [i, r, g, b] = v 42 | except ValueError: 43 | [i, r] = v 44 | g = b = r 45 | 46 | if 0 <= i <= 255: 47 | self.palette[i] = o8(r) + o8(g) + o8(b) 48 | 49 | self.palette = b"".join(self.palette) 50 | 51 | def getpalette(self): 52 | 53 | return self.palette, self.rawmode 54 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/PaletteFile.py: -------------------------------------------------------------------------------- 1 | # 2 | # Python Imaging Library 3 | # $Id$ 4 | # 5 | # stuff to read simple, teragon-style palette files 6 | # 7 | # History: 8 | # 97-08-23 fl Created 9 | # 10 | # Copyright (c) Secret Labs AB 1997. 11 | # Copyright (c) Fredrik Lundh 1997. 12 | # 13 | # See the README file for information on usage and redistribution. 14 | # 15 | 16 | from ._binary import o8 17 | 18 | 19 | class PaletteFile: 20 | """File handler for Teragon-style palette files.""" 21 | 22 | rawmode = "RGB" 23 | 24 | def __init__(self, fp): 25 | 26 | self.palette = [(i, i, i) for i in range(256)] 27 | 28 | while True: 29 | 30 | s = fp.readline() 31 | 32 | if not s: 33 | break 34 | if s[0:1] == b"#": 35 | continue 36 | if len(s) > 100: 37 | raise SyntaxError("bad palette file") 38 | 39 | v = [int(x) for x in s.split()] 40 | try: 41 | [i, r, g, b] = v 42 | except ValueError: 43 | [i, r] = v 44 | g = b = r 45 | 46 | if 0 <= i <= 255: 47 | self.palette[i] = o8(r) + o8(g) + o8(b) 48 | 49 | self.palette = b"".join(self.palette) 50 | 51 | def getpalette(self): 52 | 53 | return self.palette, self.rawmode 54 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # General 2 | .DS_Store 3 | .AppleDouble 4 | .LSOverride 5 | 6 | # Icon must end with two \r 7 | Icon 8 | 9 | # Thumbnails 10 | ._* 11 | 12 | # Files that might appear in the root of a volume 13 | .DocumentRevisions-V100 14 | .fseventsd 15 | .Spotlight-V100 16 | .TemporaryItems 17 | .Trashes 18 | .VolumeIcon.icns 19 | .com.apple.timemachine.donotpresent 20 | 21 | # Directories potentially created on remote AFP share 22 | .AppleDB 23 | .AppleDesktop 24 | Network Trash Folder 25 | Temporary Items 26 | .apdisk 27 | 28 | **/node_modules 29 | 30 | # ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". 31 | !/.gitattributes 32 | !/.projen/tasks.json 33 | !/.projen/deps.json 34 | !/package.json 35 | !/LICENSE 36 | !/.npmignore 37 | logs 38 | *.log 39 | npm-debug.log* 40 | yarn-debug.log* 41 | yarn-error.log* 42 | lerna-debug.log* 43 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 44 | pids 45 | *.pid 46 | *.seed 47 | *.pid.lock 48 | lib-cov 49 | coverage 50 | *.lcov 51 | .nyc_output 52 | build/Release 53 | node_modules/ 54 | jspm_packages/ 55 | *.tsbuildinfo 56 | .eslintcache 57 | *.tgz 58 | .yarn-integrity 59 | .cache 60 | .DS_Store 61 | perf.yaml 62 | !/.projenrc.js 63 | /test-reports/ 64 | junit.xml 65 | /coverage/ 66 | !/test/ 67 | !/tsconfig.json 68 | !/src/ 69 | /lib 70 | /dist/ 71 | !/tsconfig.jest.json 72 | !/.eslintrc.json 73 | !/tsconfig.eslint.json 74 | cdk.out/ 75 | .cdk.staging/ 76 | .parcel-cache/ 77 | !/cdk.json 78 | -------------------------------------------------------------------------------- /global-ec2-notifications/README.md: -------------------------------------------------------------------------------- 1 | # Welcome to talkncloud CDK TypeScript project! 2 | 3 | This project was developed to find ec2 instances running in all regions, if found and past various thresholds send an email with the details. 4 | 5 | More info: https://www.talkncloud.com/aws-ec2-scheduling/ 6 | 7 | ![design](https://www.talkncloud.com/content/images/2020/11/design.png) 8 | 9 | Note: There are env variables so you don't need to modify the code (optional), price estimates at link above. 10 | 11 | ## General 12 | Discuss it, change it, improve it, share it... 13 | 14 | The `cdk.json` file tells the CDK Toolkit how to execute your app. 15 | 16 | ## Useful commands 17 | 18 | * `npm run build` compile typescript to js 19 | * `npm run watch` watch for changes and compile 20 | * `npm run test` perform the jest unit tests 21 | * `cdk deploy` deploy this stack to your default AWS account/region 22 | * `cdk diff` compare deployed stack with current state 23 | * `cdk synth` emits the synthesized CloudFormation template 24 | 25 | ## Usage 26 | cdk deploy --parameters email=demo@example.com 27 | 28 | ## Launch the stack in AWS using CF 29 | [![Launch Stack](https://cdn.rawgit.com/buildkite/cloudformation-launch-stack-button-svg/master/launch-stack.svg)](https://console.aws.amazon.com/cloudformation/home?#/stacks/new?stackName=tnc-ec2runner&templateURL=https://talkncloud-stax.s3-ap-southeast-2.amazonaws.com/tnc-global-notification-stack.template.json) -------------------------------------------------------------------------------- /project-templating/generator-yeoman-example/README.md: -------------------------------------------------------------------------------- 1 | # generator-yeoman-example [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Dependency Status][daviddm-image]][daviddm-url] 2 | > talkncloud example generator 3 | 4 | ## Installation 5 | 6 | First, install [Yeoman](http://yeoman.io) and generator-yeoman-example using [npm](https://www.npmjs.com/) (we assume you have pre-installed [node.js](https://nodejs.org/)). 7 | 8 | ```bash 9 | npm install -g yo 10 | npm install -g generator-yeoman-example 11 | ``` 12 | 13 | Then generate your new project: 14 | 15 | ```bash 16 | yo yeoman-example 17 | ``` 18 | 19 | ## Getting To Know Yeoman 20 | 21 | * Yeoman has a heart of gold. 22 | * Yeoman is a person with feelings and opinions, but is very easy to work with. 23 | * Yeoman can be too opinionated at times but is easily convinced not to be. 24 | * Feel free to [learn more about Yeoman](http://yeoman.io/). 25 | 26 | ## License 27 | 28 | MIT © [Mike Jacobsson](https://www.talkncloud.com) 29 | 30 | 31 | [npm-image]: https://badge.fury.io/js/generator-yeoman-example.svg 32 | [npm-url]: https://npmjs.org/package/generator-yeoman-example 33 | [travis-image]: https://travis-ci.com//generator-yeoman-example.svg?branch=master 34 | [travis-url]: https://travis-ci.com//generator-yeoman-example 35 | [daviddm-image]: https://david-dm.org//generator-yeoman-example.svg?theme=shields.io 36 | [daviddm-url]: https://david-dm.org//generator-yeoman-example 37 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/GimpPaletteFile.py: -------------------------------------------------------------------------------- 1 | # 2 | # Python Imaging Library 3 | # $Id$ 4 | # 5 | # stuff to read GIMP palette files 6 | # 7 | # History: 8 | # 1997-08-23 fl Created 9 | # 2004-09-07 fl Support GIMP 2.0 palette files. 10 | # 11 | # Copyright (c) Secret Labs AB 1997-2004. All rights reserved. 12 | # Copyright (c) Fredrik Lundh 1997-2004. 13 | # 14 | # See the README file for information on usage and redistribution. 15 | # 16 | 17 | import re 18 | 19 | from ._binary import o8 20 | 21 | 22 | class GimpPaletteFile: 23 | """File handler for GIMP's palette format.""" 24 | 25 | rawmode = "RGB" 26 | 27 | def __init__(self, fp): 28 | 29 | self.palette = [o8(i) * 3 for i in range(256)] 30 | 31 | if fp.readline()[:12] != b"GIMP Palette": 32 | raise SyntaxError("not a GIMP palette file") 33 | 34 | for i in range(256): 35 | 36 | s = fp.readline() 37 | if not s: 38 | break 39 | 40 | # skip fields and comment lines 41 | if re.match(br"\w+:|#", s): 42 | continue 43 | if len(s) > 100: 44 | raise SyntaxError("bad palette file") 45 | 46 | v = tuple(map(int, s.split()[:3])) 47 | if len(v) != 3: 48 | raise ValueError("bad palette entry") 49 | 50 | self.palette[i] = o8(v[0]) + o8(v[1]) + o8(v[2]) 51 | 52 | self.palette = b"".join(self.palette) 53 | 54 | def getpalette(self): 55 | 56 | return self.palette, self.rawmode 57 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/GimpPaletteFile.py: -------------------------------------------------------------------------------- 1 | # 2 | # Python Imaging Library 3 | # $Id$ 4 | # 5 | # stuff to read GIMP palette files 6 | # 7 | # History: 8 | # 1997-08-23 fl Created 9 | # 2004-09-07 fl Support GIMP 2.0 palette files. 10 | # 11 | # Copyright (c) Secret Labs AB 1997-2004. All rights reserved. 12 | # Copyright (c) Fredrik Lundh 1997-2004. 13 | # 14 | # See the README file for information on usage and redistribution. 15 | # 16 | 17 | import re 18 | 19 | from ._binary import o8 20 | 21 | 22 | class GimpPaletteFile: 23 | """File handler for GIMP's palette format.""" 24 | 25 | rawmode = "RGB" 26 | 27 | def __init__(self, fp): 28 | 29 | self.palette = [o8(i) * 3 for i in range(256)] 30 | 31 | if fp.readline()[:12] != b"GIMP Palette": 32 | raise SyntaxError("not a GIMP palette file") 33 | 34 | for i in range(256): 35 | 36 | s = fp.readline() 37 | if not s: 38 | break 39 | 40 | # skip fields and comment lines 41 | if re.match(br"\w+:|#", s): 42 | continue 43 | if len(s) > 100: 44 | raise SyntaxError("bad palette file") 45 | 46 | v = tuple(map(int, s.split()[:3])) 47 | if len(v) != 3: 48 | raise ValueError("bad palette entry") 49 | 50 | self.palette[i] = o8(v[0]) + o8(v[1]) + o8(v[2]) 51 | 52 | self.palette = b"".join(self.palette) 53 | 54 | def getpalette(self): 55 | 56 | return self.palette, self.rawmode 57 | -------------------------------------------------------------------------------- /athena-appsync/README.md: -------------------------------------------------------------------------------- 1 | # Welcome to talkncloud CDK TypeScript project! 2 | 3 | This example was developed to provide an example of athena federated queries with appsync, athena, dynamodb and quicksight. This provides an example on how to easily query dynamodb data and create dashboards. 4 | 5 | Detailed info: https://www.talkncloud.com/athena-dynamodb-quicksight-cdk/ 6 | 7 | ![](design.jpeg) 8 | 9 | Example dashboard from this demo: 10 | ![](dashboard.png) 11 | 12 | ![](dashboard_2.png) 13 | 14 | ## General 15 | Discuss it, change it, improve it, share it... 16 | 17 | The `cdk.json` file tells the CDK Toolkit how to execute your app. 18 | 19 | ## Useful commands 20 | 21 | * `npm run build` compile typescript to js 22 | * `npm run watch` watch for changes and compile 23 | * `npm run test` perform the jest unit tests 24 | * `cdk deploy` deploy this stack to your default AWS account/region 25 | * `cdk diff` compare deployed stack with current state 26 | * `cdk synth` emits the synthesized CloudFormation template 27 | 28 | ## Usage 29 | cdk deploy 30 | 31 | ## DynamoDB dummy data 32 | Use the following to load sample data or your own: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.NodeJs.02.html#GettingStarted.NodeJs.02.01 33 | 34 | ## Cost Estimates (tcup) 35 | tcup: https://github.com/talkncloud/tnc-cup-client - AWS cost estimation for cloudformation templates 36 | 37 | RAW cost estimation can be found here: [cost estimate](AthenaAppsyncStack.tcup.txt) 38 | 39 | NOTE: QuickSight has not been provisioned in this demo via CDK, very few options for QuickSight, add ~$9.00 USD to this estimate 40 | 41 | ![](cost_estimate.png) -------------------------------------------------------------------------------- /appsync-waf/lib/appsync/Mutation.createTodo.req.vtl: -------------------------------------------------------------------------------- 1 | ## [Start] Prepare DynamoDB PutItem Request. ** 2 | $util.qr($context.args.input.put("createdAt", $util.defaultIfNull($ctx.args.input.createdAt, $util.time.nowISO8601()))) 3 | $util.qr($context.args.input.put("updatedAt", $util.defaultIfNull($ctx.args.input.updatedAt, $util.time.nowISO8601()))) 4 | $util.qr($context.args.input.put("__typename", "Todo")) 5 | #set( $condition = { 6 | "expression": "attribute_not_exists(#id)", 7 | "expressionNames": { 8 | "#id": "id" 9 | } 10 | } ) 11 | #if( $context.args.condition ) 12 | #set( $condition.expressionValues = {} ) 13 | #set( $conditionFilterExpressions = $util.parseJson($util.transform.toDynamoDBConditionExpression($context.args.condition)) ) 14 | $util.qr($condition.put("expression", "($condition.expression) AND $conditionFilterExpressions.expression")) 15 | $util.qr($condition.expressionNames.putAll($conditionFilterExpressions.expressionNames)) 16 | $util.qr($condition.expressionValues.putAll($conditionFilterExpressions.expressionValues)) 17 | #end 18 | #if( $condition.expressionValues && $condition.expressionValues.size() == 0 ) 19 | #set( $condition = { 20 | "expression": $condition.expression, 21 | "expressionNames": $condition.expressionNames 22 | } ) 23 | #end 24 | { 25 | "version": "2017-02-28", 26 | "operation": "PutItem", 27 | "key": #if( $modelObjectKey ) $util.toJson($modelObjectKey) #else { 28 | "id": $util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.args.input.id, $util.autoId())) 29 | } #end, 30 | "attributeValues": $util.dynamodb.toMapValuesJson($context.args.input), 31 | "condition": $util.toJson($condition) 32 | } 33 | ## [End] Prepare DynamoDB PutItem Request. ** -------------------------------------------------------------------------------- /appsync-waf-guard/lib/appsync/Mutation.createTodo.req.vtl: -------------------------------------------------------------------------------- 1 | ## [Start] Prepare DynamoDB PutItem Request. ** 2 | $util.qr($context.args.input.put("createdAt", $util.defaultIfNull($ctx.args.input.createdAt, $util.time.nowISO8601()))) 3 | $util.qr($context.args.input.put("updatedAt", $util.defaultIfNull($ctx.args.input.updatedAt, $util.time.nowISO8601()))) 4 | $util.qr($context.args.input.put("__typename", "Todo")) 5 | #set( $condition = { 6 | "expression": "attribute_not_exists(#id)", 7 | "expressionNames": { 8 | "#id": "id" 9 | } 10 | } ) 11 | #if( $context.args.condition ) 12 | #set( $condition.expressionValues = {} ) 13 | #set( $conditionFilterExpressions = $util.parseJson($util.transform.toDynamoDBConditionExpression($context.args.condition)) ) 14 | $util.qr($condition.put("expression", "($condition.expression) AND $conditionFilterExpressions.expression")) 15 | $util.qr($condition.expressionNames.putAll($conditionFilterExpressions.expressionNames)) 16 | $util.qr($condition.expressionValues.putAll($conditionFilterExpressions.expressionValues)) 17 | #end 18 | #if( $condition.expressionValues && $condition.expressionValues.size() == 0 ) 19 | #set( $condition = { 20 | "expression": $condition.expression, 21 | "expressionNames": $condition.expressionNames 22 | } ) 23 | #end 24 | { 25 | "version": "2017-02-28", 26 | "operation": "PutItem", 27 | "key": #if( $modelObjectKey ) $util.toJson($modelObjectKey) #else { 28 | "id": $util.dynamodb.toDynamoDBJson($util.defaultIfNullOrBlank($ctx.args.input.id, $util.autoId())) 29 | } #end, 30 | "attributeValues": $util.dynamodb.toMapValuesJson($context.args.input), 31 | "condition": $util.toJson($condition) 32 | } 33 | ## [End] Prepare DynamoDB PutItem Request. ** -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/TarIO.py: -------------------------------------------------------------------------------- 1 | # 2 | # The Python Imaging Library. 3 | # $Id$ 4 | # 5 | # read files from within a tar file 6 | # 7 | # History: 8 | # 95-06-18 fl Created 9 | # 96-05-28 fl Open files in binary mode 10 | # 11 | # Copyright (c) Secret Labs AB 1997. 12 | # Copyright (c) Fredrik Lundh 1995-96. 13 | # 14 | # See the README file for information on usage and redistribution. 15 | # 16 | 17 | import io 18 | 19 | from . import ContainerIO 20 | 21 | 22 | class TarIO(ContainerIO.ContainerIO): 23 | """A file object that provides read access to a given member of a TAR file.""" 24 | 25 | def __init__(self, tarfile, file): 26 | """ 27 | Create file object. 28 | 29 | :param tarfile: Name of TAR file. 30 | :param file: Name of member file. 31 | """ 32 | self.fh = open(tarfile, "rb") 33 | 34 | while True: 35 | 36 | s = self.fh.read(512) 37 | if len(s) != 512: 38 | raise OSError("unexpected end of tar file") 39 | 40 | name = s[:100].decode("utf-8") 41 | i = name.find("\0") 42 | if i == 0: 43 | raise OSError("cannot find subfile") 44 | if i > 0: 45 | name = name[:i] 46 | 47 | size = int(s[124:135], 8) 48 | 49 | if file == name: 50 | break 51 | 52 | self.fh.seek((size + 511) & (~511), io.SEEK_CUR) 53 | 54 | # Open region 55 | super().__init__(self.fh, self.fh.tell(), size) 56 | 57 | # Context manager support 58 | def __enter__(self): 59 | return self 60 | 61 | def __exit__(self, *args): 62 | self.close() 63 | 64 | def close(self): 65 | self.fh.close() 66 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/TarIO.py: -------------------------------------------------------------------------------- 1 | # 2 | # The Python Imaging Library. 3 | # $Id$ 4 | # 5 | # read files from within a tar file 6 | # 7 | # History: 8 | # 95-06-18 fl Created 9 | # 96-05-28 fl Open files in binary mode 10 | # 11 | # Copyright (c) Secret Labs AB 1997. 12 | # Copyright (c) Fredrik Lundh 1995-96. 13 | # 14 | # See the README file for information on usage and redistribution. 15 | # 16 | 17 | import io 18 | 19 | from . import ContainerIO 20 | 21 | 22 | class TarIO(ContainerIO.ContainerIO): 23 | """A file object that provides read access to a given member of a TAR file.""" 24 | 25 | def __init__(self, tarfile, file): 26 | """ 27 | Create file object. 28 | 29 | :param tarfile: Name of TAR file. 30 | :param file: Name of member file. 31 | """ 32 | self.fh = open(tarfile, "rb") 33 | 34 | while True: 35 | 36 | s = self.fh.read(512) 37 | if len(s) != 512: 38 | raise OSError("unexpected end of tar file") 39 | 40 | name = s[:100].decode("utf-8") 41 | i = name.find("\0") 42 | if i == 0: 43 | raise OSError("cannot find subfile") 44 | if i > 0: 45 | name = name[:i] 46 | 47 | size = int(s[124:135], 8) 48 | 49 | if file == name: 50 | break 51 | 52 | self.fh.seek((size + 511) & (~511), io.SEEK_CUR) 53 | 54 | # Open region 55 | super().__init__(self.fh, self.fh.tell(), size) 56 | 57 | # Context manager support 58 | def __enter__(self): 59 | return self 60 | 61 | def __exit__(self, *args): 62 | self.close() 63 | 64 | def close(self): 65 | self.fh.close() 66 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/PcdImagePlugin.py: -------------------------------------------------------------------------------- 1 | # 2 | # The Python Imaging Library. 3 | # $Id$ 4 | # 5 | # PCD file handling 6 | # 7 | # History: 8 | # 96-05-10 fl Created 9 | # 96-05-27 fl Added draft mode (128x192, 256x384) 10 | # 11 | # Copyright (c) Secret Labs AB 1997. 12 | # Copyright (c) Fredrik Lundh 1996. 13 | # 14 | # See the README file for information on usage and redistribution. 15 | # 16 | 17 | 18 | from . import Image, ImageFile 19 | 20 | ## 21 | # Image plugin for PhotoCD images. This plugin only reads the 768x512 22 | # image from the file; higher resolutions are encoded in a proprietary 23 | # encoding. 24 | 25 | 26 | class PcdImageFile(ImageFile.ImageFile): 27 | 28 | format = "PCD" 29 | format_description = "Kodak PhotoCD" 30 | 31 | def _open(self): 32 | 33 | # rough 34 | self.fp.seek(2048) 35 | s = self.fp.read(2048) 36 | 37 | if s[:4] != b"PCD_": 38 | raise SyntaxError("not a PCD file") 39 | 40 | orientation = s[1538] & 3 41 | self.tile_post_rotate = None 42 | if orientation == 1: 43 | self.tile_post_rotate = 90 44 | elif orientation == 3: 45 | self.tile_post_rotate = -90 46 | 47 | self.mode = "RGB" 48 | self._size = 768, 512 # FIXME: not correct for rotated images! 49 | self.tile = [("pcd", (0, 0) + self.size, 96 * 2048, None)] 50 | 51 | def load_end(self): 52 | if self.tile_post_rotate: 53 | # Handle rotated PCDs 54 | self.im = self.im.rotate(self.tile_post_rotate) 55 | self._size = self.im.size 56 | 57 | 58 | # 59 | # registry 60 | 61 | Image.register_open(PcdImageFile.format, PcdImageFile) 62 | 63 | Image.register_extension(PcdImageFile.format, ".pcd") 64 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/PcdImagePlugin.py: -------------------------------------------------------------------------------- 1 | # 2 | # The Python Imaging Library. 3 | # $Id$ 4 | # 5 | # PCD file handling 6 | # 7 | # History: 8 | # 96-05-10 fl Created 9 | # 96-05-27 fl Added draft mode (128x192, 256x384) 10 | # 11 | # Copyright (c) Secret Labs AB 1997. 12 | # Copyright (c) Fredrik Lundh 1996. 13 | # 14 | # See the README file for information on usage and redistribution. 15 | # 16 | 17 | 18 | from . import Image, ImageFile 19 | 20 | ## 21 | # Image plugin for PhotoCD images. This plugin only reads the 768x512 22 | # image from the file; higher resolutions are encoded in a proprietary 23 | # encoding. 24 | 25 | 26 | class PcdImageFile(ImageFile.ImageFile): 27 | 28 | format = "PCD" 29 | format_description = "Kodak PhotoCD" 30 | 31 | def _open(self): 32 | 33 | # rough 34 | self.fp.seek(2048) 35 | s = self.fp.read(2048) 36 | 37 | if s[:4] != b"PCD_": 38 | raise SyntaxError("not a PCD file") 39 | 40 | orientation = s[1538] & 3 41 | self.tile_post_rotate = None 42 | if orientation == 1: 43 | self.tile_post_rotate = 90 44 | elif orientation == 3: 45 | self.tile_post_rotate = -90 46 | 47 | self.mode = "RGB" 48 | self._size = 768, 512 # FIXME: not correct for rotated images! 49 | self.tile = [("pcd", (0, 0) + self.size, 96 * 2048, None)] 50 | 51 | def load_end(self): 52 | if self.tile_post_rotate: 53 | # Handle rotated PCDs 54 | self.im = self.im.rotate(self.tile_post_rotate) 55 | self._size = self.im.size 56 | 57 | 58 | # 59 | # registry 60 | 61 | Image.register_open(PcdImageFile.format, PcdImageFile) 62 | 63 | Image.register_extension(PcdImageFile.format, ".pcd") 64 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf/lambda.py: -------------------------------------------------------------------------------- 1 | """ 2 | Description: Simple response for the lambda load testing comparison 3 | x86 vs arm / graviton2. 4 | 5 | Author: Mick Jacobsson (https://www.talkncloud.com) 6 | Repo: https://github.com/talkncloud/aws/lambda-graviton2 7 | 8 | """ 9 | 10 | import logging 11 | import boto3 12 | import os 13 | import platform 14 | import json 15 | 16 | logger = logging.getLogger() 17 | logging.basicConfig() 18 | logger.setLevel(logging.INFO) 19 | 20 | def handler(event, context): 21 | """ 22 | Entry point for lambda. 23 | """ 24 | logger.info("tnc - handler called") 25 | 26 | # message 27 | message = "talkncloud performance test" 28 | 29 | # get the arch, should tell us if its x86 or arm 30 | architecture = platform.platform() 31 | 32 | # all payload 33 | payload = {"message": message, "arch": architecture, "boto3": boto3.__version__} 34 | 35 | response = { 36 | "statusCode": 200, 37 | "body": json.dumps(payload) 38 | } 39 | 40 | # simple loop for processor, there are probably better ways to test this 41 | listAppend = [] 42 | for item in range(10): 43 | someString = "i like" 44 | someString = someString + " pie" 45 | listAppend.append(someString) 46 | 47 | # number calculation 48 | # Source / Credit: https://github.com/alexdedyura/cpu-benchmark 49 | for x in range(1,1000): 50 | 3.141592 * 2**x 51 | for x in range(1,10000): 52 | float(x) / 3.141592 53 | for x in range(1,10000): 54 | float(3.141592) / x 55 | 56 | return response 57 | 58 | if __name__ == "__main__": 59 | """ 60 | Used for local testing 61 | """ 62 | test = handler(None, None) 63 | print(test) -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/container/arm/lambda.py: -------------------------------------------------------------------------------- 1 | """ 2 | Description: Simple response for the lambda load testing comparison 3 | x86 vs arm / graviton2. 4 | 5 | Author: Mick Jacobsson (https://www.talkncloud.com) 6 | Repo: https://github.com/talkncloud/aws/lambda-graviton2 7 | 8 | """ 9 | 10 | import logging 11 | import boto3 12 | import os 13 | import platform 14 | import json 15 | 16 | logger = logging.getLogger() 17 | logging.basicConfig() 18 | logger.setLevel(logging.INFO) 19 | 20 | def handler(event, context): 21 | """ 22 | Entry point for lambda. 23 | """ 24 | logger.info("tnc - handler called") 25 | 26 | # message 27 | message = "talkncloud performance test" 28 | 29 | # get the arch, should tell us if its x86 or arm 30 | architecture = platform.platform() 31 | 32 | # all payload 33 | payload = {"message": message, "arch": architecture, "boto3": boto3.__version__} 34 | 35 | response = { 36 | "statusCode": 200, 37 | "body": json.dumps(payload) 38 | } 39 | 40 | # simple loop for processor, there are probably better ways to test this 41 | listAppend = [] 42 | for item in range(10): 43 | someString = "i like" 44 | someString = someString + " pie" 45 | listAppend.append(someString) 46 | 47 | # number calculation 48 | # Source / Credit: https://github.com/alexdedyura/cpu-benchmark 49 | for x in range(1,1000): 50 | 3.141592 * 2**x 51 | for x in range(1,10000): 52 | float(x) / 3.141592 53 | for x in range(1,10000): 54 | float(3.141592) / x 55 | 56 | return response 57 | 58 | if __name__ == "__main__": 59 | """ 60 | Used for local testing 61 | """ 62 | test = handler(None, None) 63 | print(test) -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/container/x86/lambda.py: -------------------------------------------------------------------------------- 1 | """ 2 | Description: Simple response for the lambda load testing comparison 3 | x86 vs arm / graviton2. 4 | 5 | Author: Mick Jacobsson (https://www.talkncloud.com) 6 | Repo: https://github.com/talkncloud/aws/lambda-graviton2 7 | 8 | """ 9 | 10 | import logging 11 | import boto3 12 | import os 13 | import platform 14 | import json 15 | 16 | logger = logging.getLogger() 17 | logging.basicConfig() 18 | logger.setLevel(logging.INFO) 19 | 20 | def handler(event, context): 21 | """ 22 | Entry point for lambda. 23 | """ 24 | logger.info("tnc - handler called") 25 | 26 | # message 27 | message = "talkncloud performance test" 28 | 29 | # get the arch, should tell us if its x86 or arm 30 | architecture = platform.platform() 31 | 32 | # all payload 33 | payload = {"message": message, "arch": architecture, "boto3": boto3.__version__} 34 | 35 | response = { 36 | "statusCode": 200, 37 | "body": json.dumps(payload) 38 | } 39 | 40 | # simple loop for processor, there are probably better ways to test this 41 | listAppend = [] 42 | for item in range(10): 43 | someString = "i like" 44 | someString = someString + " pie" 45 | listAppend.append(someString) 46 | 47 | # number calculation 48 | # Source / Credit: https://github.com/alexdedyura/cpu-benchmark 49 | for x in range(1,1000): 50 | 3.141592 * 2**x 51 | for x in range(1,10000): 52 | float(x) / 3.141592 53 | for x in range(1,10000): 54 | float(3.141592) / x 55 | 56 | return response 57 | 58 | if __name__ == "__main__": 59 | """ 60 | Used for local testing 61 | """ 62 | test = handler(None, None) 63 | print(test) -------------------------------------------------------------------------------- /appsync-waf/tnc-appsync-waf.drawio: -------------------------------------------------------------------------------- 1 | 7Vltb+I4EP41SHcftkriBMpHEsreSj2pEidV+6kyiQnemjhnTIH79TeOnRDHoS86ekjLBtTaj+3xeOaZsWMGKFnvvwpcrv7kGWGDwMv2AzQdBME4HMJfBRw0MLz1NJALmmnIPwJz+g8xYN1tSzOysTpKzpmkpQ2mvChIKi0MC8F3drclZ/asJc6JA8xTzFz0kWZypdHbYHTE/yA0X9Uz+8Oxblng9DkXfFuY+QYBWlaPbl7jWpZZ6GaFM75rQehugBLBudSl9T4hTJm2NpseNzvR2ugtSCHfM+BrlhfhiojvZP9Ev+ce8kj8xUh5wWxr7DF5nAOQML7N4P8X5Q7MnotUA9VC5KE2XslpISsHRDF8QYHEG0TQkqjaTRB1gG59ZAO+W1MybKBbH9mA3xXvd+b3uwq2AKdmifc683stBeGLYr6VjBYkaajqAZgLnFHwUcIZF4AVvADrxSu5ZlDzobhbUUnmJU6VVXcQZYAteSFNsPhBXTeGV1KBTaUqr/e5CssbvNuEN4qOZTXlNwiX3tYnKD5VznzCTCpBUvBnUisHJIbPTDEoXlLGOkq/ECEpxM6E0VzJl1xNh02NkWUlEVZCi/y+qk2RZ7TvmyLDmxXJzJIMFWEKsj/Jcb+JHEhIhK+JFAfoUg+ITLCZZNQE3+4Y2uHYYKtWWId1R2zSSd7IPoYUFExUfSDCRk6EOVFEMshIpsqFXPGcF5jdHdG4SjONoY597rlyQEWiH0TKg2EM3kpuU0zPqSZ63bKgF9+KlLyyIKO/xCIn8pV+qN9TgjAs6Yutx9mtHjhWfyQLACZlyYDAkkJ4KJcPqxhYCCjlqjSjguxwJf+3x8nsd8dXvSF+it7d0Ie2WRSOwnGrbQozppU+KsqEYqkVeTAmGfnIn/XFqtlwOoFUR+k9XhD2wDfUiF9wKfn6zTBOQSsibP68lY7wptTmWNK90qM/Pwmi2aWzUwzVvjy1w2pFTCkfN3ts36JNovmrioEzZRA09O0MErkZZHTrJpAaOzuTb3+2/IHemT/CS+aP8bVaPbqk1ZF7Gi3L+aFIVeZ++Hb+ZIzC8Db4WDKOEx9Fw6tJxrgsN8oB70rIn5B/Q+/C+Td0ODk9FHjNp/HZ6RhOR9D4MTrCE8bjq6FjVtk+W3wO2SJ0YbJFDtkSnhcU9oVf59D/nWupMf1ZqBZ49pvpxfOa7179uEecIpuoK7ZBcwHQ+Ne3/aLwByzBX0WFBB5qeFJfqwUuQ2fV8wknHdcPLTtHPRcANfbug46Z4UHdgLUyyth2c1OvRWj1zaj2bZ0jaGwJCroXFPok5wgCf+FDq5u5oTupMBDR5qXvvaFX54ZlbPWHgtbgSMzGB/+Bq+7rfP3qDu+AhUXa4d9bdaMaW6Xq3d6vx4AOepjGXdozRssNOXEz12K9k21On5HCqfq8EgGdXNv0P8c2hzo+69nmUE9MoM+6E/Pdg77tT+2Y4Fod1t0s0PDSDnNPwX0OQ9fqsLBz74xGl3aYe5Lsc1j4y2GnT/5nchhUjz/y6R3x+EMquvsX -------------------------------------------------------------------------------- /appsync-waf-guard/tnc-appsync-waf.drawio: -------------------------------------------------------------------------------- 1 | 7Vltb+I4EP41SHcftkriBMpHEsreSj2pEidV+6kyiQnemjhnTIH79TeOnRDHoS86ekjLBtTaj+3xeOaZsWMGKFnvvwpcrv7kGWGDwMv2AzQdBME4HMJfBRw0MLz1NJALmmnIPwJz+g8xYN1tSzOysTpKzpmkpQ2mvChIKi0MC8F3drclZ/asJc6JA8xTzFz0kWZypdHbYHTE/yA0X9Uz+8Oxblng9DkXfFuY+QYBWlaPbl7jWpZZ6GaFM75rQehugBLBudSl9T4hTJm2NpseNzvR2ugtSCHfM+BrlhfhiojvZP9Ev+ce8kj8xUh5wWxr7DF5nAOQML7N4P8X5Q7MnotUA9VC5KE2XslpISsHRDF8QYHEG0TQkqjaTRB1gG59ZAO+W1MybKBbH9mA3xXvd+b3uwq2AKdmifc683stBeGLYr6VjBYkaajqAZgLnFHwUcIZF4AVvADrxSu5ZlDzobhbUUnmJU6VVXcQZYAteSFNsPhBXTeGV1KBTaUqr/e5CssbvNuEN4qOZTXlNwiX3tYnKD5VznzCTCpBUvBnUisHJIbPTDEoXlLGOkq/ECEpxM6E0VzJl1xNh02NkWUlEVZCi/y+qk2RZ7TvmyLDmxXJzJIMFWEKsj/Jcb+JHEhIhK+JFAfoUg+ITLCZZNQE3+4Y2uHYYKtWWId1R2zSSd7IPoYUFExUfSDCRk6EOVFEMshIpsqFXPGcF5jdHdG4SjONoY597rlyQEWiH0TKg2EM3kpuU0zPqSZ63bKgF9+KlLyyIKO/xCIn8pV+qN9TgjAs6Yutx9mtHjhWfyQLACZlyYDAkkJ4KJcPqxhYCCjlqjSjguxwJf+3x8nsd8dXvSF+it7d0Ie2WRSOwnGrbQozppU+KsqEYqkVeTAmGfnIn/XFqtlwOoFUR+k9XhD2wDfUiF9wKfn6zTBOQSsibP68lY7wptTmWNK90qM/Pwmi2aWzUwzVvjy1w2pFTCkfN3ts36JNovmrioEzZRA09O0MErkZZHTrJpAaOzuTb3+2/IHemT/CS+aP8bVaPbqk1ZF7Gi3L+aFIVeZ++Hb+ZIzC8Db4WDKOEx9Fw6tJxrgsN8oB70rIn5B/Q+/C+Td0ODk9FHjNp/HZ6RhOR9D4MTrCE8bjq6FjVtk+W3wO2SJ0YbJFDtkSnhcU9oVf59D/nWupMf1ZqBZ49pvpxfOa7179uEecIpuoK7ZBcwHQ+Ne3/aLwByzBX0WFBB5qeFJfqwUuQ2fV8wknHdcPLTtHPRcANfbug46Z4UHdgLUyyth2c1OvRWj1zaj2bZ0jaGwJCroXFPok5wgCf+FDq5u5oTupMBDR5qXvvaFX54ZlbPWHgtbgSMzGB/+Bq+7rfP3qDu+AhUXa4d9bdaMaW6Xq3d6vx4AOepjGXdozRssNOXEz12K9k21On5HCqfq8EgGdXNv0P8c2hzo+69nmUE9MoM+6E/Pdg77tT+2Y4Fod1t0s0PDSDnNPwX0OQ9fqsLBz74xGl3aYe5Lsc1j4y2GnT/5nchhUjz/y6R3x+EMquvsX -------------------------------------------------------------------------------- /athena-appsync/lib/lambda/movieLoader.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 | * 4 | * This file is licensed under the Apache License, Version 2.0 (the "License"). 5 | * You may not use this file except in compliance with the License. A copy of 6 | * the License is located at 7 | * 8 | * http://aws.amazon.com/apache2.0/ 9 | * 10 | * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 11 | * CONDITIONS OF ANY KIND, either express or implied. See the License for the 12 | * specific language governing permissions and limitations under the License. 13 | */ 14 | 15 | // SOURCE: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.NodeJs.02.html#GettingStarted.NodeJs.02.01 16 | 17 | var AWS = require("aws-sdk"); 18 | var fs = require('fs'); 19 | const { 20 | v1: uuidv1, 21 | v4: uuidv4, 22 | } = require('uuid'); 23 | 24 | AWS.config.update({ 25 | region: "ap-southeast-2", 26 | endpoint: "https://dynamodb.ap-southeast-2.amazonaws.com" 27 | }); 28 | 29 | var docClient = new AWS.DynamoDB.DocumentClient(); 30 | 31 | console.log("Importing movies into DynamoDB. Please wait."); 32 | 33 | var allMovies = JSON.parse(fs.readFileSync('moviedata.json', 'utf8')); 34 | allMovies.forEach(function(movie) { 35 | var params = { 36 | TableName: "INSERT YOUR TABLE NAME HERE", 37 | Item: { 38 | "id": uuidv4(), 39 | "year": movie.year, 40 | "title": movie.title, 41 | "info": movie.info 42 | } 43 | }; 44 | 45 | docClient.put(params, function(err, data) { 46 | if (err) { 47 | console.error("Unable to add movie", movie.title, ". Error JSON:", JSON.stringify(err, null, 2)); 48 | } else { 49 | console.log("PutItem succeeded:", movie.title); 50 | } 51 | }); 52 | }); 53 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/GribStubImagePlugin.py: -------------------------------------------------------------------------------- 1 | # 2 | # The Python Imaging Library 3 | # $Id$ 4 | # 5 | # GRIB stub adapter 6 | # 7 | # Copyright (c) 1996-2003 by Fredrik Lundh 8 | # 9 | # See the README file for information on usage and redistribution. 10 | # 11 | 12 | from . import Image, ImageFile 13 | 14 | _handler = None 15 | 16 | 17 | def register_handler(handler): 18 | """ 19 | Install application-specific GRIB image handler. 20 | 21 | :param handler: Handler object. 22 | """ 23 | global _handler 24 | _handler = handler 25 | 26 | 27 | # -------------------------------------------------------------------- 28 | # Image adapter 29 | 30 | 31 | def _accept(prefix): 32 | return prefix[0:4] == b"GRIB" and prefix[7] == 1 33 | 34 | 35 | class GribStubImageFile(ImageFile.StubImageFile): 36 | 37 | format = "GRIB" 38 | format_description = "GRIB" 39 | 40 | def _open(self): 41 | 42 | offset = self.fp.tell() 43 | 44 | if not _accept(self.fp.read(8)): 45 | raise SyntaxError("Not a GRIB file") 46 | 47 | self.fp.seek(offset) 48 | 49 | # make something up 50 | self.mode = "F" 51 | self._size = 1, 1 52 | 53 | loader = self._load() 54 | if loader: 55 | loader.open(self) 56 | 57 | def _load(self): 58 | return _handler 59 | 60 | 61 | def _save(im, fp, filename): 62 | if _handler is None or not hasattr("_handler", "save"): 63 | raise OSError("GRIB save handler not installed") 64 | _handler.save(im, fp, filename) 65 | 66 | 67 | # -------------------------------------------------------------------- 68 | # Registry 69 | 70 | Image.register_open(GribStubImageFile.format, GribStubImageFile, _accept) 71 | Image.register_save(GribStubImageFile.format, _save) 72 | 73 | Image.register_extension(GribStubImageFile.format, ".grib") 74 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/Hdf5StubImagePlugin.py: -------------------------------------------------------------------------------- 1 | # 2 | # The Python Imaging Library 3 | # $Id$ 4 | # 5 | # HDF5 stub adapter 6 | # 7 | # Copyright (c) 2000-2003 by Fredrik Lundh 8 | # 9 | # See the README file for information on usage and redistribution. 10 | # 11 | 12 | from . import Image, ImageFile 13 | 14 | _handler = None 15 | 16 | 17 | def register_handler(handler): 18 | """ 19 | Install application-specific HDF5 image handler. 20 | 21 | :param handler: Handler object. 22 | """ 23 | global _handler 24 | _handler = handler 25 | 26 | 27 | # -------------------------------------------------------------------- 28 | # Image adapter 29 | 30 | 31 | def _accept(prefix): 32 | return prefix[:8] == b"\x89HDF\r\n\x1a\n" 33 | 34 | 35 | class HDF5StubImageFile(ImageFile.StubImageFile): 36 | 37 | format = "HDF5" 38 | format_description = "HDF5" 39 | 40 | def _open(self): 41 | 42 | offset = self.fp.tell() 43 | 44 | if not _accept(self.fp.read(8)): 45 | raise SyntaxError("Not an HDF file") 46 | 47 | self.fp.seek(offset) 48 | 49 | # make something up 50 | self.mode = "F" 51 | self._size = 1, 1 52 | 53 | loader = self._load() 54 | if loader: 55 | loader.open(self) 56 | 57 | def _load(self): 58 | return _handler 59 | 60 | 61 | def _save(im, fp, filename): 62 | if _handler is None or not hasattr("_handler", "save"): 63 | raise OSError("HDF5 save handler not installed") 64 | _handler.save(im, fp, filename) 65 | 66 | 67 | # -------------------------------------------------------------------- 68 | # Registry 69 | 70 | Image.register_open(HDF5StubImageFile.format, HDF5StubImageFile, _accept) 71 | Image.register_save(HDF5StubImageFile.format, _save) 72 | 73 | Image.register_extensions(HDF5StubImageFile.format, [".h5", ".hdf"]) 74 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/GribStubImagePlugin.py: -------------------------------------------------------------------------------- 1 | # 2 | # The Python Imaging Library 3 | # $Id$ 4 | # 5 | # GRIB stub adapter 6 | # 7 | # Copyright (c) 1996-2003 by Fredrik Lundh 8 | # 9 | # See the README file for information on usage and redistribution. 10 | # 11 | 12 | from . import Image, ImageFile 13 | 14 | _handler = None 15 | 16 | 17 | def register_handler(handler): 18 | """ 19 | Install application-specific GRIB image handler. 20 | 21 | :param handler: Handler object. 22 | """ 23 | global _handler 24 | _handler = handler 25 | 26 | 27 | # -------------------------------------------------------------------- 28 | # Image adapter 29 | 30 | 31 | def _accept(prefix): 32 | return prefix[0:4] == b"GRIB" and prefix[7] == 1 33 | 34 | 35 | class GribStubImageFile(ImageFile.StubImageFile): 36 | 37 | format = "GRIB" 38 | format_description = "GRIB" 39 | 40 | def _open(self): 41 | 42 | offset = self.fp.tell() 43 | 44 | if not _accept(self.fp.read(8)): 45 | raise SyntaxError("Not a GRIB file") 46 | 47 | self.fp.seek(offset) 48 | 49 | # make something up 50 | self.mode = "F" 51 | self._size = 1, 1 52 | 53 | loader = self._load() 54 | if loader: 55 | loader.open(self) 56 | 57 | def _load(self): 58 | return _handler 59 | 60 | 61 | def _save(im, fp, filename): 62 | if _handler is None or not hasattr("_handler", "save"): 63 | raise OSError("GRIB save handler not installed") 64 | _handler.save(im, fp, filename) 65 | 66 | 67 | # -------------------------------------------------------------------- 68 | # Registry 69 | 70 | Image.register_open(GribStubImageFile.format, GribStubImageFile, _accept) 71 | Image.register_save(GribStubImageFile.format, _save) 72 | 73 | Image.register_extension(GribStubImageFile.format, ".grib") 74 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/Hdf5StubImagePlugin.py: -------------------------------------------------------------------------------- 1 | # 2 | # The Python Imaging Library 3 | # $Id$ 4 | # 5 | # HDF5 stub adapter 6 | # 7 | # Copyright (c) 2000-2003 by Fredrik Lundh 8 | # 9 | # See the README file for information on usage and redistribution. 10 | # 11 | 12 | from . import Image, ImageFile 13 | 14 | _handler = None 15 | 16 | 17 | def register_handler(handler): 18 | """ 19 | Install application-specific HDF5 image handler. 20 | 21 | :param handler: Handler object. 22 | """ 23 | global _handler 24 | _handler = handler 25 | 26 | 27 | # -------------------------------------------------------------------- 28 | # Image adapter 29 | 30 | 31 | def _accept(prefix): 32 | return prefix[:8] == b"\x89HDF\r\n\x1a\n" 33 | 34 | 35 | class HDF5StubImageFile(ImageFile.StubImageFile): 36 | 37 | format = "HDF5" 38 | format_description = "HDF5" 39 | 40 | def _open(self): 41 | 42 | offset = self.fp.tell() 43 | 44 | if not _accept(self.fp.read(8)): 45 | raise SyntaxError("Not an HDF file") 46 | 47 | self.fp.seek(offset) 48 | 49 | # make something up 50 | self.mode = "F" 51 | self._size = 1, 1 52 | 53 | loader = self._load() 54 | if loader: 55 | loader.open(self) 56 | 57 | def _load(self): 58 | return _handler 59 | 60 | 61 | def _save(im, fp, filename): 62 | if _handler is None or not hasattr("_handler", "save"): 63 | raise OSError("HDF5 save handler not installed") 64 | _handler.save(im, fp, filename) 65 | 66 | 67 | # -------------------------------------------------------------------- 68 | # Registry 69 | 70 | Image.register_open(HDF5StubImageFile.format, HDF5StubImageFile, _accept) 71 | Image.register_save(HDF5StubImageFile.format, _save) 72 | 73 | Image.register_extensions(HDF5StubImageFile.format, [".h5", ".hdf"]) 74 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/arm/PIL/BufrStubImagePlugin.py: -------------------------------------------------------------------------------- 1 | # 2 | # The Python Imaging Library 3 | # $Id$ 4 | # 5 | # BUFR stub adapter 6 | # 7 | # Copyright (c) 1996-2003 by Fredrik Lundh 8 | # 9 | # See the README file for information on usage and redistribution. 10 | # 11 | 12 | from . import Image, ImageFile 13 | 14 | _handler = None 15 | 16 | 17 | def register_handler(handler): 18 | """ 19 | Install application-specific BUFR image handler. 20 | 21 | :param handler: Handler object. 22 | """ 23 | global _handler 24 | _handler = handler 25 | 26 | 27 | # -------------------------------------------------------------------- 28 | # Image adapter 29 | 30 | 31 | def _accept(prefix): 32 | return prefix[:4] == b"BUFR" or prefix[:4] == b"ZCZC" 33 | 34 | 35 | class BufrStubImageFile(ImageFile.StubImageFile): 36 | 37 | format = "BUFR" 38 | format_description = "BUFR" 39 | 40 | def _open(self): 41 | 42 | offset = self.fp.tell() 43 | 44 | if not _accept(self.fp.read(4)): 45 | raise SyntaxError("Not a BUFR file") 46 | 47 | self.fp.seek(offset) 48 | 49 | # make something up 50 | self.mode = "F" 51 | self._size = 1, 1 52 | 53 | loader = self._load() 54 | if loader: 55 | loader.open(self) 56 | 57 | def _load(self): 58 | return _handler 59 | 60 | 61 | def _save(im, fp, filename): 62 | if _handler is None or not hasattr("_handler", "save"): 63 | raise OSError("BUFR save handler not installed") 64 | _handler.save(im, fp, filename) 65 | 66 | 67 | # -------------------------------------------------------------------- 68 | # Registry 69 | 70 | Image.register_open(BufrStubImageFile.format, BufrStubImageFile, _accept) 71 | Image.register_save(BufrStubImageFile.format, _save) 72 | 73 | Image.register_extension(BufrStubImageFile.format, ".bufr") 74 | -------------------------------------------------------------------------------- /lambda-graviton2/src/lambda/perf-thumbnail/x86/PIL/BufrStubImagePlugin.py: -------------------------------------------------------------------------------- 1 | # 2 | # The Python Imaging Library 3 | # $Id$ 4 | # 5 | # BUFR stub adapter 6 | # 7 | # Copyright (c) 1996-2003 by Fredrik Lundh 8 | # 9 | # See the README file for information on usage and redistribution. 10 | # 11 | 12 | from . import Image, ImageFile 13 | 14 | _handler = None 15 | 16 | 17 | def register_handler(handler): 18 | """ 19 | Install application-specific BUFR image handler. 20 | 21 | :param handler: Handler object. 22 | """ 23 | global _handler 24 | _handler = handler 25 | 26 | 27 | # -------------------------------------------------------------------- 28 | # Image adapter 29 | 30 | 31 | def _accept(prefix): 32 | return prefix[:4] == b"BUFR" or prefix[:4] == b"ZCZC" 33 | 34 | 35 | class BufrStubImageFile(ImageFile.StubImageFile): 36 | 37 | format = "BUFR" 38 | format_description = "BUFR" 39 | 40 | def _open(self): 41 | 42 | offset = self.fp.tell() 43 | 44 | if not _accept(self.fp.read(4)): 45 | raise SyntaxError("Not a BUFR file") 46 | 47 | self.fp.seek(offset) 48 | 49 | # make something up 50 | self.mode = "F" 51 | self._size = 1, 1 52 | 53 | loader = self._load() 54 | if loader: 55 | loader.open(self) 56 | 57 | def _load(self): 58 | return _handler 59 | 60 | 61 | def _save(im, fp, filename): 62 | if _handler is None or not hasattr("_handler", "save"): 63 | raise OSError("BUFR save handler not installed") 64 | _handler.save(im, fp, filename) 65 | 66 | 67 | # -------------------------------------------------------------------- 68 | # Registry 69 | 70 | Image.register_open(BufrStubImageFile.format, BufrStubImageFile, _accept) 71 | Image.register_save(BufrStubImageFile.format, _save) 72 | 73 | Image.register_extension(BufrStubImageFile.format, ".bufr") 74 | --------------------------------------------------------------------------------