{"id":17956845,"url":"https://github.com/gekorm/aws-sih","last_synced_at":"2026-03-04T04:32:03.501Z","repository":{"id":192045645,"uuid":"606784003","full_name":"GeKorm/aws-sih","owner":"GeKorm","description":"AWS solution to dynamically edit images on the fly with SharpJS","archived":false,"fork":false,"pushed_at":"2024-08-15T08:56:47.000Z","size":8491,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-25T11:07:32.600Z","etag":null,"topics":["aws-cdk","image-compression","image-processing","lambda","optimize-images","responsive-images","sharp"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GeKorm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-26T15:02:08.000Z","updated_at":"2024-08-15T08:56:51.000Z","dependencies_parsed_at":"2023-09-02T08:38:54.413Z","dependency_job_id":"6c9e87b1-1bcd-4c2d-af8a-d4220679b8cf","html_url":"https://github.com/GeKorm/aws-sih","commit_stats":null,"previous_names":["gekorm/aws-sih"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GeKorm/aws-sih","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeKorm%2Faws-sih","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeKorm%2Faws-sih/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeKorm%2Faws-sih/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeKorm%2Faws-sih/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GeKorm","download_url":"https://codeload.github.com/GeKorm/aws-sih/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GeKorm%2Faws-sih/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30071687,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T03:25:38.285Z","status":"ssl_error","status_checked_at":"2026-03-04T03:25:05.086Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-cdk","image-compression","image-processing","lambda","optimize-images","responsive-images","sharp"],"created_at":"2024-10-29T10:43:18.860Z","updated_at":"2026-03-04T04:32:03.475Z","avatar_url":"https://github.com/GeKorm.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"**Fork of [Serverless Image Handler](https://aws.amazon.com/solutions/implementations/serverless-image-handler/)**\n\n## Table of Contents\n\n- [Changes in this fork](#changes-in-this-fork)\n  - [Deploying or Customizing the Solution](#deploying-or-customizing-the-solution)\n    - [Prerequisites](#prerequisites)\n    - [1. Clone the repository](#1-clone-the-repository)\n    - [2. Unit Test](#2-unit-test)\n    - [3. Build and Deploy](#3-build-and-deploy)\n      - [Default generated cloudfront domain](#default-generated-cloudfront-domain)\n      - [Custom domains](#custom-domains)\n      - [Automated deployments](#automated-deployments)\n  - [Usage](#usage)\n    - [Basic example](#basic-example)\n      - [Other examples](#other-examples)\n    - [**Query parameters**](#query-parameters)\n    - [Thumbor and Rewrites](#thumbor-and-rewrites)\n  - [**Configuration reference**](#configuration-reference)\n    - [Cloudformation](#cloudformation)\n    - [Context](#context)\n    - [Environment variables](#environment-variables)\n  - [License](#license)\n\n# Changes in this fork\n\n- **New URL scheme**. Edit with Sharp using search (query) parameters for better SEO. See [Usage](#usage)\n- **Custom domain**. A certificate and hosted zone is automatically generated for your domain\n- Improved cache hit ratio when `AutoWebPParameter` is enabled\n- Origin Shield support for improved cache hit ratio and performance\n- Disabled data collection\n- Upgraded dependencies\n- Improved cross-region support\n- Scripts are only run from local dependencies (uses `npm run` instead of `npx`) for greater reliability\n\n## Deploying or Customizing the Solution\n\n### Prerequisites\n\n- [AWS Command Line Interface](https://aws.amazon.com/cli/)\n- Node.js 20.x or later\n\n### 1. Clone the repository\n\n```bash\ngit clone https://github.com/GeKorm/aws-sih.git\ncd aws-sih\nexport MAIN_DIRECTORY=$PWD\n```\n\n### 2. Unit Test\n\nAfter making changes, run unit tests to make sure added customization passes the tests:\n\n```bash\ncd $MAIN_DIRECTORY/deployment\nchmod +x run-unit-tests.sh \u0026\u0026 ./run-unit-tests.sh\n```\n\n### 3. Build and Deploy\n\nPick either\n\n- [Default generated cloudfront domain](#default-generated-cloudfront-domain)\n- [Custom domains](#custom-domains)\n\n#### Default generated cloudfront domain\n\n```bash\ncd $MAIN_DIRECTORY/source/constructs\nnpm run clean:install\noverrideWarningsEnabled=false npm run cdk -- bootstrap --profile \u003cPROFILE_NAME\u003e\noverrideWarningsEnabled=false npm run cdk -- deploy\\\n --parameters DeployDemoUIParameter=No\\\n  --parameters SourceBucketsParameter=\u003cMY_BUCKET\u003e\\\n   --profile \u003cPROFILE_NAME\u003e\n```\n\n#### Custom domains\n\n```bash\ncd $MAIN_DIRECTORY/source/constructs\nnpm run clean:install\noverrideWarningsEnabled=false npm run cdk -- bootstrap --profile \u003cPROFILE_NAME\u003e\noverrideWarningsEnabled=false npm run cdk -- deploy --all\\\n --parameters ServerlessImageHandlerStack:DeployDemoUIParameter=No\\\n  --parameters ServerlessImageHandlerStack:SourceBucketsParameter=\u003cMY_BUCKET\u003e\\\n   --context customDomain=\u003cMY_DOMAIN\u003e\\\n    --profile \u003cPROFILE_NAME\u003e\n```\n\nThe first deployment with a custom domain requires verifying ownership, if not already verified. Until verified, the **deployment will seem stuck** at the `Certificate create_in_progress` step. Please see `https://docs.aws.amazon.com/acm/latest/userguide/domain-ownership-validation.html` for instructions. The solution will have created a Hosted zone for you custom domain, which you can view in the AWS Route 53 dashboard.\n\n_Note:_\n\n- **MY_BUCKET**: name of an existing bucket or buckets in your account\n- **PROFILE_NAME**: name of an AWS CLI profile that has appropriate credentials for deploying in your preferred region\n- **MY_DOMAIN**: full domain to use as a Cloudfront alias, eg `--context customDomain=x.example.com`\n\nSee all parameters: [Parameters reference](#parameters-reference)\n\n#### Automated deployments\n\nFor automated deployments with GitHub actions, see `.github/workflows/pipeline-workflow.yml`.\n\n1. Fork this repo\n2. Bootstrap locally if not already done\n3. Change `if: github.repository_owner == 'GeKorm'` to your user or organization name\n4. Add the following variables and secrets:\n   - Secret **DISPATCHER_ROLE_ARN** (for [`role-to-assume` in aws credentials action](https://github.com/aws-actions/configure-aws-credentials))\n   - Secret **SOURCE_BUCKETS** (for [`SourceBucketsParameter`](#cloudformation))\n   - _[Optional]_ Variable **DEMO_UI** (for [`DeployDemoUIParameter`](#cloudformation))\n   - _[Optional]_ Secret **CUSTOM_DOMAIN** (for [`customDomain`](#context))\n   - _[Optional]_ Secret **AWS_REGION** ([environment variable](#environment-variables))\n\nFor further customization, such as using Origin Shield, please modify the pipeline workflow command.\n\n## Usage\n\nThe new URL scheme is `https://\u003cdomain\u003e/\u003cs3-url-or-path-to-image\u003e?edits=\u003cedits\u003e`. The bucket and key are part of the URL unencoded. All other parameters like moved to the query string portion of the URL.\n\n### Basic example\n\n```typescript\n// How to use edits https://docs.aws.amazon.com/solutions/latest/serverless-image-handler/create-and-use-image-requests.html#dynamically-resize-photos\nconst edits = {};\n\n// Stringify and encode URI\n// For s3 bucket \"bucket\" and image key \"/folder/image.jpg\":\nconst url = `https://example.cloudfront.net/bucket/folder/image.jpg?edits=${encodeURIComponent(\n  JSON.stringify(edits),\n)}`;\n```\n\n#### Other examples\n\nThe image's full S3 URL can be used. This is a non-exhaustive list of accepted formats\n\n- https://example.cloudfront.net/bucket/folder/image.jpg?edits=\n- https://example.cloudfront.net/s3.us-east-1.amazonaws.com/bucket/test.jpg?edits=\n- https://example.cloudfront.net/https://s3.amazonaws.com/bucket/test?edits= (extension is optional)\n- https://example.cloudfront.net/s3.amazonaws.com/bucket/test.jpg?edits=\n- https://example.cloudfront.net/https://s3-us-east-1.amazonaws.com/source-bucket/test.jpg?edits=\n\nPlease open an issue if your preferred S3 URL format isn't supported.\n\n### Query parameters\n\n| Key            | Value                                                                                             |\n| -------------- | ------------------------------------------------------------------------------------------------- |\n| `signature`    | `string`                                                                                          |\n| `effort`       | `number` (Default: `4`, see [Sharp `options.effort`](https://sharp.pixelplumbing.com/api-output)) |\n| `outputFormat` | [`ImageFormatTypes`](source/image-handler/lib/enums.ts#L19)                                       |\n| `edits`        | `encodeURIComponent(JSON.stringify(edits))`                                                       |\n| `headers`      | `encodeURIComponent(JSON.stringify(headers))`                                                     |\n\nAs an alternative to `encodeURIComponent` you can use `URL` or `URLSearchParams`\n\n```typescript\nconst url = new URL(\"https://cdn.example.com/bucket/image.jpg\");\nurl.searchParams.set(\"outputFormat\", \"webp\");\nurl.searchParams.set(\"edits\", JSON.stringify(edits));\n\nconsole.log(url.toString());\n// https://cdn.example.com/bucket/image.jpg?outputFormat=webp\u0026edits=%7B%22\n\n// or equivalent\nconst params = new URLSearchParams();\nparams.set(\"outputFormat\", \"webp\");\nparams.set(\"edits\", JSON.stringify(edits));\n\nconsole.log(\"https://cdn.example.com/bucket/image.jpg?\" + params.toString());\n// https://cdn.example.com/bucket/image.jpg?outputFormat=webp\u0026edits=%7B%22\n```\n\n### Thumbor and Rewrites\n\nThumbor and the Rewrite feature may work, but are not supported. Please use the [original solution](https://github.com/aws-solutions/serverless-image-handler) if required.\n\n## Configuration reference\n\nRequired in **bold**\n\n### Cloudformation\n\n#### `--parameters` flag\n\nThese parameters can be added using the `--parameters ServerlessImageHandlerStack:\u003cPARAMETER\u003e` command line flag.\n\n| Name                                                                                                                                                                                                                                                                                                                                                   | Type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | Default                                    |\n| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |\n| \u003cdetails\u003e\u003csummary\u003eCorsEnabledParameter\u003c/summary\u003e\u003ch6\u003eWould you like to enable Cross-Origin Resource Sharing (CORS) for the image handler API? Select 'Yes' if so.\u003c/h6\u003e\u003c/details\u003e                                                                                                                                                                        | \u003cdetails\u003e\u003csummary\u003eString\u003c/summary\u003e\u003ch6\u003e\u003c/h6\u003e\u003ctable role=\"table\"\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003eYes\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003eNo\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003c/details\u003e                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `No`                                       |\n| \u003cdetails\u003e\u003csummary\u003eCorsOriginParameter\u003c/summary\u003e\u003ch6\u003eIf you selected 'Yes' above, please specify an origin value here. A wildcard (\\*) value will support any origin. We recommend specifying an origin (i.e. https://example.domain) to restrict cross-site access to your API.\u003c/h6\u003e\u003c/details\u003e                                                          | String                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `*`                                        |\n| \u003cdetails\u003e\u003csummary\u003e\u003cstrong\u003eSourceBucketsParameter\u003c/strong\u003e\u003c/summary\u003e\u003ch6\u003e(Required) List the buckets (comma-separated) within your account that contain original image files. If you plan to use Thumbor or Custom image requests with this solution, the source bucket for those requests will be the first bucket listed in this field.\u003c/h6\u003e\u003c/details\u003e | String                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `defaultBucket, bucketNo2, bucketNo3, ...` |\n| \u003cdetails\u003e\u003csummary\u003eDeployDemoUIParameter\u003c/summary\u003e\u003ch6\u003eWould you like to deploy a demo UI to explore the features and capabilities of this solution? This will create an additional Amazon S3 bucket and Amazon CloudFront distribution in your account. NOTE: The demo UI doesn't work with this fork, \u003cstrong\u003eselect \"No\"\u003c/strong\u003e.\u003c/h6\u003e\u003c/details\u003e     | \u003cdetails\u003e\u003csummary\u003eString\u003c/summary\u003e\u003ch6\u003e\u003c/h6\u003e\u003ctable role=\"table\"\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003eYes\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003eNo\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003c/details\u003e                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `Yes`                                      |\n| \u003cdetails\u003e\u003csummary\u003eLogRetentionPeriodParameter\u003c/summary\u003e\u003ch6\u003eThis solution automatically logs events to Amazon CloudWatch. Select the amount of time for CloudWatch logs from this solution to be retained (in days).\u003c/h6\u003e\u003c/details\u003e                                                                                                                     | \u003cdetails\u003e\u003csummary\u003eNumber\u003c/summary\u003e\u003ch6\u003e\u003c/h6\u003e\u003ctable role=\"table\"\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e1\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e3\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e5\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e7\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e14\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e30\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e60\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e90\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e120\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e150\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e180\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e365\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e400\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e545\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e731\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e1827\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003e3653\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003c/details\u003e | `1`                                        |\n| \u003cdetails\u003e\u003csummary\u003eAutoWebPParameter\u003c/summary\u003e\u003ch6\u003eWould you like to enable automatic WebP based on accept headers? Select 'Yes' if so.\u003c/h6\u003e\u003c/details\u003e                                                                                                                                                                                                   | \u003cdetails\u003e\u003csummary\u003eString\u003c/summary\u003e\u003ch6\u003e\u003c/h6\u003e\u003ctable role=\"table\"\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003eYes\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003eNo\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003c/details\u003e                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `No`                                       |\n| \u003cdetails\u003e\u003csummary\u003eEnableSignatureParameter\u003c/summary\u003e\u003ch6\u003eWould you like to enable the signature? If so, select 'Yes' and provide SecretsManagerSecret and SecretsManagerKey values.\u003c/h6\u003e\u003c/details\u003e                                                                                                                                                      | \u003cdetails\u003e\u003csummary\u003eString\u003c/summary\u003e\u003ch6\u003e\u003c/h6\u003e\u003ctable role=\"table\"\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003eYes\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003eNo\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003c/details\u003e                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `No`                                       |\n| \u003cdetails\u003e\u003csummary\u003eSecretsManagerSecretParameter\u003c/summary\u003e\u003ch6\u003eThe name of AWS Secrets Manager secret. You need to create your secret under this name.\u003c/h6\u003e\u003c/details\u003e                                                                                                                                                                                    | String                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `­`                                        |\n| \u003cdetails\u003e\u003csummary\u003eSecretsManagerKeyParameter\u003c/summary\u003e\u003ch6\u003eThe name of AWS Secrets Manager secret key. You need to create secret key with this key name. The secret value would be used to check signature.\u003c/h6\u003e\u003c/details\u003e                                                                                                                              | String                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `­`                                        |\n| \u003cdetails\u003e\u003csummary\u003eEnableDefaultFallbackImageParameter\u003c/summary\u003e\u003ch6\u003eWould you like to enable the default fallback image? If so, select 'Yes' and provide FallbackImageS3Bucket and FallbackImageS3Key values.\u003c/h6\u003e\u003c/details\u003e                                                                                                                            | \u003cdetails\u003e\u003csummary\u003eString\u003c/summary\u003e\u003ch6\u003e\u003c/h6\u003e\u003ctable role=\"table\"\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003eYes\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003eNo\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003c/details\u003e                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `No`                                       |\n| \u003cdetails\u003e\u003csummary\u003eFallbackImageS3BucketParameter\u003c/summary\u003e\u003ch6\u003eThe name of the Amazon S3 bucket which contains the default fallback image. e.g. my-fallback-image-bucket\u003c/h6\u003e\u003c/details\u003e                                                                                                                                                                 | String                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `­`                                        |\n| \u003cdetails\u003e\u003csummary\u003eFallbackImageS3KeyParameter\u003c/summary\u003e\u003ch6\u003eThe name of the default fallback image object key including prefix. e.g. prefix/image.jpg\u003c/h6\u003e\u003c/details\u003e                                                                                                                                                                                    | String                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `­`                                        |\n| \u003cdetails\u003e\u003csummary\u003eCloudFrontPriceClassParameter\u003c/summary\u003e\u003ch6\u003eThe AWS CloudFront price class to use. For more information see: [Cloudfront documentation](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PriceClass.html)\u003c/h6\u003e\u003c/details\u003e                                                                                            | \u003cdetails\u003e\u003csummary\u003eString\u003c/summary\u003e\u003ch6\u003e\u003c/h6\u003e\u003ctable role=\"table\"\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003ePriceClass_All\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003ePriceClass_200\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003ePriceClass_100\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003c/details\u003e                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `PriceClass_All`                           |\n\n### Context\n\n#### `source/constructs/cdk.json`\n\nThese parameters can be added under `context` in `cdk.json`, or using the `--context` command line flag.\n\n| Name                                                                                                                                                                                                                                                                                                              | Type                                                                                                                                                                                               | Default                  |\n| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |\n| \u003cdetails\u003e\u003csummary\u003ecustomDomain\u003c/summary\u003e\u003ch6\u003eAlternative domain name for this distribution. For more information, see [Cloudfront documentation](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudfront.Distribution.html#domainnames)\u003c/h6\u003e\u003c/details\u003e                                              | String                                                                                                                                                                                             | `­`                      |\n| \u003cdetails\u003e\u003csummary\u003eoriginShieldEnabled\u003c/summary\u003e\u003ch6\u003eEnable Origin Shield to improve cache hit ratio and performance. For more information, see [Origin Shield documentation](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html)\u003c/h6\u003e\u003c/details\u003e                                 | \u003cdetails\u003e\u003csummary\u003eString\u003c/summary\u003e\u003ch6\u003e\u003c/h6\u003e\u003ctable role=\"table\"\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003eYes\u003c/code\u003e\u003c/td\u003e\u003ctd\u003e\u003ccode class=\"notranslate\"\u003eNo\u003c/code\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\u003c/details\u003e | `No`                     |\n| \u003cdetails\u003e\u003csummary\u003eoriginShieldRegion\u003c/summary\u003e\u003ch6\u003eMust be specified if Origin Shield is not supported in your [AWS_REGION](#environment-variables). See [Origin Shield regions](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html#choose-origin-shield-region)\u003c/h6\u003e\u003c/details\u003e | String                                                                                                                                                                                             | `process.env.AWS_REGION` |\n\n### Environment variables\n\n| Name                                                                                                                                                                                                               | Type   | Default     |\n| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------ | ----------- |\n| \u003cdetails\u003e\u003csummary\u003eAWS_REGION\u003c/summary\u003e\u003ch6\u003eDeploy the solution to this region. [Supported regions](https://docs.aws.amazon.com/solutions/latest/serverless-image-handler/supported-aws-regions.html)\u003c/h6\u003e\u003c/details\u003e | String | `us-east-1` |\n\n## License\n\nCopyright Amazon.com, Inc. or its affiliates. All Rights Reserved.  \nSPDX-License-Identifier: Apache-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgekorm%2Faws-sih","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgekorm%2Faws-sih","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgekorm%2Faws-sih/lists"}