@remotion/lambda 4.0.0-webhook.27 → 4.1.0-alpha3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +8 -8
- package/dist/admin/bundle-lambda.d.ts +0 -0
- package/dist/admin/bundle-lambda.js +24 -13
- package/dist/admin/generate-etag-list.d.ts +1 -0
- package/dist/admin/generate-etag-list.js +14 -0
- package/dist/admin/make-layer-public.d.ts +0 -0
- package/dist/admin/make-layer-public.js +59 -65
- package/dist/api/bucket-exists.d.ts +0 -0
- package/dist/api/bucket-exists.js +0 -0
- package/dist/api/clean-items.d.ts +0 -0
- package/dist/api/clean-items.js +1 -1
- package/dist/api/create-bucket.d.ts +0 -0
- package/dist/api/create-bucket.js +34 -1
- package/dist/api/create-function.d.ts +1 -3
- package/dist/api/create-function.js +27 -6
- package/dist/api/delete-function.d.ts +4 -4
- package/dist/api/delete-function.js +3 -3
- package/dist/api/delete-render.d.ts +2 -2
- package/dist/api/delete-render.js +1 -1
- package/dist/api/delete-site.d.ts +7 -7
- package/dist/api/delete-site.js +9 -7
- package/dist/api/deploy-function.d.ts +11 -13
- package/dist/api/deploy-function.js +28 -31
- package/dist/api/deploy-site.d.ts +13 -5
- package/dist/api/deploy-site.js +61 -25
- package/dist/api/download-media.d.ts +4 -8
- package/dist/api/download-media.js +5 -9
- package/dist/api/estimate-price.d.ts +3 -5
- package/dist/api/estimate-price.js +4 -10
- package/dist/api/get-aws-client.d.ts +6 -4
- package/dist/api/get-aws-client.js +3 -1
- package/dist/api/get-buckets.d.ts +2 -2
- package/dist/api/get-buckets.js +35 -12
- package/dist/api/get-compositions-on-lambda.d.ts +33 -0
- package/dist/api/get-compositions-on-lambda.js +57 -0
- package/dist/api/get-function-info.d.ts +3 -3
- package/dist/api/get-function-info.js +1 -1
- package/dist/api/get-functions.d.ts +5 -7
- package/dist/api/get-functions.js +8 -10
- package/dist/api/get-or-create-bucket.d.ts +6 -6
- package/dist/api/get-or-create-bucket.js +10 -18
- package/dist/api/get-regions.d.ts +6 -2
- package/dist/api/get-regions.js +6 -3
- package/dist/api/get-render-progress.d.ts +3 -3
- package/dist/api/get-render-progress.js +6 -11
- package/dist/api/get-sites.d.ts +6 -6
- package/dist/api/get-sites.js +5 -4
- package/dist/api/iam-validation/role-permissions.d.ts +0 -0
- package/dist/api/iam-validation/role-permissions.js +0 -0
- package/dist/api/iam-validation/simulate-rule.d.ts +2 -2
- package/dist/api/iam-validation/simulate-rule.js +0 -22
- package/dist/api/iam-validation/simulate.d.ts +3 -3
- package/dist/api/iam-validation/simulate.js +27 -6
- package/dist/api/iam-validation/suggested-policy.d.ts +0 -0
- package/dist/api/iam-validation/suggested-policy.js +0 -0
- package/dist/api/iam-validation/user-permissions.d.ts +1 -1
- package/dist/api/iam-validation/user-permissions.js +3 -8
- package/dist/api/make-lambda-payload.d.ts +5 -0
- package/dist/api/make-lambda-payload.js +79 -0
- package/dist/api/mock-functions.d.ts +0 -0
- package/dist/api/mock-functions.js +0 -0
- package/dist/api/presign-url.d.ts +4 -5
- package/dist/api/presign-url.js +3 -3
- package/dist/api/render-media-on-lambda.d.ts +27 -11
- package/dist/api/render-media-on-lambda.js +15 -49
- package/dist/api/render-still-on-lambda.d.ts +17 -6
- package/dist/api/render-still-on-lambda.js +25 -10
- package/dist/api/speculate-function-name.d.ts +14 -0
- package/dist/api/speculate-function-name.js +22 -0
- package/dist/api/upload-dir.d.ts +6 -5
- package/dist/api/upload-dir.js +54 -51
- package/dist/api/validate-webhook-signature.d.ts +2 -2
- package/dist/api/validate-webhook-signature.js +1 -1
- package/dist/cli/args.d.ts +7 -5
- package/dist/cli/args.js +1 -5
- package/dist/cli/commands/compositions/index.d.ts +2 -0
- package/dist/cli/commands/compositions/index.js +44 -0
- package/dist/cli/commands/functions/deploy.d.ts +0 -0
- package/dist/cli/commands/functions/deploy.js +15 -15
- package/dist/cli/commands/functions/index.d.ts +0 -0
- package/dist/cli/commands/functions/index.js +16 -17
- package/dist/cli/commands/functions/ls.d.ts +0 -0
- package/dist/cli/commands/functions/ls.js +17 -10
- package/dist/cli/commands/functions/rm.d.ts +0 -0
- package/dist/cli/commands/functions/rm.js +20 -7
- package/dist/cli/commands/functions/rmall.d.ts +0 -0
- package/dist/cli/commands/functions/rmall.js +20 -8
- package/dist/cli/commands/policies/policies.d.ts +0 -0
- package/dist/cli/commands/policies/policies.js +0 -0
- package/dist/cli/commands/policies/role.d.ts +0 -0
- package/dist/cli/commands/policies/role.js +0 -0
- package/dist/cli/commands/policies/user.d.ts +0 -0
- package/dist/cli/commands/policies/user.js +0 -0
- package/dist/cli/commands/policies/validate.d.ts +0 -0
- package/dist/cli/commands/policies/validate.js +0 -0
- package/dist/cli/commands/quotas/increase.d.ts +0 -0
- package/dist/cli/commands/quotas/increase.js +30 -10
- package/dist/cli/commands/quotas/index.d.ts +0 -0
- package/dist/cli/commands/quotas/index.js +8 -9
- package/dist/cli/commands/quotas/list.d.ts +0 -0
- package/dist/cli/commands/quotas/list.js +0 -0
- package/dist/cli/commands/regions.d.ts +0 -0
- package/dist/cli/commands/regions.js +6 -2
- package/dist/cli/commands/render/progress.d.ts +11 -7
- package/dist/cli/commands/render/progress.js +55 -45
- package/dist/cli/commands/render/render.d.ts +1 -1
- package/dist/cli/commands/render/render.js +99 -27
- package/dist/cli/commands/sites/create.d.ts +1 -1
- package/dist/cli/commands/sites/create.js +37 -33
- package/dist/cli/commands/sites/index.d.ts +1 -1
- package/dist/cli/commands/sites/index.js +18 -16
- package/dist/cli/commands/sites/ls.d.ts +0 -0
- package/dist/cli/commands/sites/ls.js +9 -10
- package/dist/cli/commands/sites/rm.d.ts +0 -0
- package/dist/cli/commands/sites/rm.js +7 -16
- package/dist/cli/commands/sites/rmall.d.ts +0 -0
- package/dist/cli/commands/sites/rmall.js +5 -16
- package/dist/cli/commands/still.d.ts +1 -1
- package/dist/cli/commands/still.js +49 -20
- package/dist/cli/get-aws-region.d.ts +0 -0
- package/dist/cli/get-aws-region.js +0 -0
- package/dist/cli/help.d.ts +0 -0
- package/dist/cli/help.js +4 -0
- package/dist/cli/helpers/confirm.d.ts +0 -0
- package/dist/cli/helpers/confirm.js +0 -0
- package/dist/cli/helpers/date-string.d.ts +0 -0
- package/dist/cli/helpers/date-string.js +0 -0
- package/dist/cli/helpers/find-function-name.d.ts +0 -0
- package/dist/cli/helpers/find-function-name.js +35 -6
- package/dist/cli/helpers/progress-bar.d.ts +12 -7
- package/dist/cli/helpers/progress-bar.js +20 -11
- package/dist/cli/helpers/quit.d.ts +0 -0
- package/dist/cli/helpers/quit.js +0 -0
- package/dist/cli/helpers/yes-or-no.d.ts +0 -0
- package/dist/cli/helpers/yes-or-no.js +0 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +23 -12
- package/dist/cli/is-cli.d.ts +0 -0
- package/dist/cli/is-cli.js +0 -0
- package/dist/cli/log.d.ts +14 -0
- package/dist/cli/log.js +0 -0
- package/dist/client.d.ts +8 -2
- package/dist/client.js +9 -1
- package/dist/defaults.d.ts +0 -0
- package/dist/defaults.js +0 -0
- package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +1 -5
- package/dist/functions/chunk-optimization/plan-frame-ranges.js +2 -15
- package/dist/functions/chunk-optimization/types.d.ts +2 -13
- package/dist/functions/chunk-optimization/types.js +0 -0
- package/dist/functions/compositions.d.ts +8 -0
- package/dist/functions/compositions.js +59 -0
- package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
- package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
- package/dist/functions/helpers/calculate-chunk-times.d.ts +0 -0
- package/dist/functions/helpers/calculate-chunk-times.js +0 -0
- package/dist/functions/helpers/calculate-price-from-bucket.d.ts +1 -3
- package/dist/functions/helpers/calculate-price-from-bucket.js +1 -2
- package/dist/functions/helpers/check-if-render-exists.d.ts +0 -0
- package/dist/functions/helpers/check-if-render-exists.js +0 -0
- package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
- package/dist/functions/helpers/clean-tmpdir.js +8 -8
- package/dist/functions/helpers/concat-videos.d.ts +13 -5
- package/dist/functions/helpers/concat-videos.js +38 -39
- package/dist/functions/helpers/create-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/create-post-render-data.js +1 -15
- package/dist/functions/helpers/delete-chunks.d.ts +0 -0
- package/dist/functions/helpers/delete-chunks.js +0 -0
- package/dist/functions/helpers/expected-out-name.d.ts +0 -0
- package/dist/functions/helpers/expected-out-name.js +2 -2
- package/dist/functions/helpers/find-output-file-in-bucket.d.ts +1 -1
- package/dist/functions/helpers/find-output-file-in-bucket.js +0 -0
- package/dist/functions/helpers/format-costs-info.d.ts +0 -0
- package/dist/functions/helpers/format-costs-info.js +0 -0
- package/dist/functions/helpers/get-browser-instance.d.ts +2 -3
- package/dist/functions/helpers/get-browser-instance.js +9 -5
- package/dist/functions/helpers/get-chromium-executable-path.d.ts +1 -1
- package/dist/functions/helpers/get-chromium-executable-path.js +8 -6
- package/dist/functions/helpers/get-cleanup-progress.d.ts +0 -0
- package/dist/functions/helpers/get-cleanup-progress.js +0 -0
- package/dist/functions/helpers/get-current-region.d.ts +1 -1
- package/dist/functions/helpers/get-current-region.js +0 -0
- package/dist/functions/helpers/get-custom-out-name.d.ts +0 -0
- package/dist/functions/helpers/get-custom-out-name.js +1 -1
- package/dist/functions/helpers/get-encoding-metadata.d.ts +5 -8
- package/dist/functions/helpers/get-encoding-metadata.js +7 -17
- package/dist/functions/helpers/get-files-in-folder.d.ts +1 -1
- package/dist/functions/helpers/get-files-in-folder.js +5 -5
- package/dist/functions/helpers/get-files-to-delete.d.ts +1 -1
- package/dist/functions/helpers/get-files-to-delete.js +0 -0
- package/dist/functions/helpers/get-final-encoding-status.d.ts +2 -4
- package/dist/functions/helpers/get-final-encoding-status.js +1 -4
- package/dist/functions/helpers/get-folder-size.d.ts +0 -0
- package/dist/functions/helpers/get-folder-size.js +0 -0
- package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +2 -6
- package/dist/functions/helpers/get-lambdas-invoked-stats.js +1 -9
- package/dist/functions/helpers/get-output-url-from-metadata.d.ts +0 -0
- package/dist/functions/helpers/get-output-url-from-metadata.js +0 -0
- package/dist/functions/helpers/get-overall-progress.d.ts +2 -1
- package/dist/functions/helpers/get-overall-progress.js +7 -5
- package/dist/functions/helpers/get-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/get-post-render-data.js +0 -0
- package/dist/functions/helpers/get-progress.d.ts +0 -0
- package/dist/functions/helpers/get-progress.js +43 -42
- package/dist/functions/helpers/get-render-metadata.d.ts +0 -0
- package/dist/functions/helpers/get-render-metadata.js +0 -0
- package/dist/functions/helpers/get-rendered-frames-progress.d.ts +8 -0
- package/dist/functions/helpers/get-rendered-frames-progress.js +37 -0
- package/dist/functions/helpers/get-retry-stats.d.ts +1 -1
- package/dist/functions/helpers/get-retry-stats.js +0 -0
- package/dist/functions/helpers/get-time-to-finish.d.ts +0 -0
- package/dist/functions/helpers/get-time-to-finish.js +0 -0
- package/dist/functions/helpers/inspect-errors.d.ts +0 -0
- package/dist/functions/helpers/inspect-errors.js +0 -0
- package/dist/functions/helpers/io.d.ts +10 -4
- package/dist/functions/helpers/io.js +25 -3
- package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
- package/dist/functions/helpers/is-enosp-err.js +1 -1
- package/dist/functions/helpers/is-warm.d.ts +0 -0
- package/dist/functions/helpers/is-warm.js +0 -0
- package/dist/functions/helpers/make-timeout-error.d.ts +8 -0
- package/dist/functions/helpers/make-timeout-error.js +35 -0
- package/dist/functions/helpers/make-timeout-message.d.ts +6 -0
- package/dist/functions/helpers/make-timeout-message.js +31 -0
- package/dist/functions/helpers/min-max.d.ts +0 -0
- package/dist/functions/helpers/min-max.js +0 -0
- package/dist/functions/helpers/print-cloudwatch-helper.d.ts +0 -0
- package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
- package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
- package/dist/functions/helpers/print-concurrency-curve.js +0 -0
- package/dist/functions/helpers/read-with-progress.d.ts +1 -1
- package/dist/functions/helpers/read-with-progress.js +1 -1
- package/dist/functions/helpers/streamify-response.d.ts +16 -0
- package/dist/functions/helpers/streamify-response.js +67 -0
- package/dist/functions/helpers/timer.d.ts +0 -0
- package/dist/functions/helpers/timer.js +0 -0
- package/dist/functions/helpers/validate-composition.d.ts +10 -9
- package/dist/functions/helpers/validate-composition.js +16 -13
- package/dist/functions/helpers/write-lambda-error.d.ts +2 -2
- package/dist/functions/helpers/write-lambda-error.js +0 -0
- package/dist/functions/helpers/write-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/write-post-render-data.js +0 -0
- package/dist/functions/index.d.ts +1 -7
- package/dist/functions/index.js +43 -10
- package/dist/functions/info.d.ts +0 -0
- package/dist/functions/info.js +0 -0
- package/dist/functions/launch.d.ts +2 -1
- package/dist/functions/launch.js +151 -134
- package/dist/functions/progress.d.ts +1 -1
- package/dist/functions/progress.js +2 -2
- package/dist/functions/renderer.d.ts +1 -1
- package/dist/functions/renderer.js +73 -44
- package/dist/functions/start.d.ts +1 -1
- package/dist/functions/start.js +21 -8
- package/dist/functions/still.d.ts +1 -1
- package/dist/functions/still.js +78 -37
- package/dist/index.d.ts +24 -8
- package/dist/index.js +23 -6
- package/dist/internals.d.ts +3 -1
- package/dist/internals.js +3 -0
- package/dist/pricing/aws-regions.d.ts +3 -2
- package/dist/pricing/aws-regions.js +31 -1
- package/dist/pricing/price-per-1-s.d.ts +0 -0
- package/dist/pricing/price-per-1-s.js +413 -39
- package/dist/regions.d.ts +0 -0
- package/dist/regions.js +0 -0
- package/dist/shared/await.d.ts +1 -1
- package/dist/shared/await.js +0 -0
- package/dist/shared/aws-clients.d.ts +6 -3
- package/dist/shared/aws-clients.js +75 -13
- package/dist/shared/bundle-site.d.ts +0 -0
- package/dist/shared/bundle-site.js +0 -0
- package/dist/shared/call-lambda.d.ts +0 -0
- package/dist/shared/call-lambda.js +27 -2
- package/dist/shared/check-credentials.d.ts +0 -0
- package/dist/shared/check-credentials.js +3 -0
- package/dist/shared/chunk-progress.d.ts +9 -0
- package/dist/shared/chunk-progress.js +2034 -0
- package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
- package/dist/shared/cleanup-serialized-input-props.js +19 -0
- package/dist/shared/constants.d.ts +135 -89
- package/dist/shared/constants.js +7 -4
- package/dist/shared/content-disposition-header.d.ts +1 -1
- package/dist/shared/content-disposition-header.js +0 -0
- package/dist/shared/convert-to-serve-url.d.ts +5 -1
- package/dist/shared/convert-to-serve-url.js +1 -5
- package/dist/shared/deserialize-input-props.d.ts +8 -0
- package/dist/shared/deserialize-input-props.js +26 -0
- package/dist/shared/docs-url.d.ts +0 -0
- package/dist/shared/docs-url.js +0 -0
- package/dist/shared/function-zip-path.d.ts +1 -1
- package/dist/shared/function-zip-path.js +3 -3
- package/dist/shared/get-account-id.d.ts +0 -0
- package/dist/shared/get-account-id.js +4 -6
- package/dist/shared/{get-cloudwatch-stream-url.d.ts → get-aws-urls.d.ts} +7 -1
- package/dist/shared/get-aws-urls.js +12 -0
- package/dist/shared/get-etag.d.ts +1 -0
- package/dist/shared/get-etag.js +24 -0
- package/dist/shared/get-function-version.d.ts +0 -0
- package/dist/shared/get-function-version.js +0 -0
- package/dist/shared/get-most-expensive-chunks.d.ts +2 -2
- package/dist/shared/get-most-expensive-chunks.js +3 -2
- package/dist/shared/get-s3-operations.d.ts +10 -0
- package/dist/shared/get-s3-operations.js +36 -0
- package/dist/shared/hosted-layers.d.ts +5 -8
- package/dist/shared/hosted-layers.js +210 -284
- package/dist/shared/invoke-webhook.d.ts +5 -18
- package/dist/shared/invoke-webhook.js +4 -19
- package/dist/shared/is-in-lambda.d.ts +0 -0
- package/dist/shared/is-in-lambda.js +0 -0
- package/dist/shared/lambda-version-string.d.ts +0 -0
- package/dist/shared/lambda-version-string.js +0 -0
- package/dist/shared/make-s3-key.d.ts +0 -0
- package/dist/shared/make-s3-key.js +2 -2
- package/dist/shared/make-s3-url.d.ts +0 -0
- package/dist/shared/make-s3-url.js +2 -2
- package/dist/shared/p-limit.d.ts +0 -0
- package/dist/shared/p-limit.js +0 -0
- package/dist/shared/parse-chunk-key.d.ts +4 -0
- package/dist/shared/parse-chunk-key.js +14 -0
- package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
- package/dist/shared/parse-lambda-initialized-key.js +0 -0
- package/dist/shared/parse-lambda-timings-key.d.ts +1 -1
- package/dist/shared/parse-lambda-timings-key.js +0 -0
- package/dist/shared/random-hash.d.ts +0 -0
- package/dist/shared/random-hash.js +0 -0
- package/dist/shared/read-dir.d.ts +9 -0
- package/dist/shared/read-dir.js +57 -0
- package/dist/shared/return-values.d.ts +7 -0
- package/dist/shared/return-values.js +0 -0
- package/dist/shared/serialize-input-props.d.ts +8 -0
- package/dist/shared/serialize-input-props.js +42 -0
- package/dist/shared/sleep.d.ts +0 -0
- package/dist/shared/sleep.js +0 -0
- package/dist/shared/stream-to-string.d.ts +0 -0
- package/dist/shared/stream-to-string.js +0 -0
- package/dist/shared/truthy.d.ts +1 -1
- package/dist/shared/truthy.js +0 -0
- package/dist/shared/validate-aws-region.d.ts +0 -0
- package/dist/shared/validate-aws-region.js +0 -0
- package/dist/shared/validate-bucketname.d.ts +5 -0
- package/dist/shared/validate-bucketname.js +19 -1
- package/dist/shared/validate-custom-role-arn.d.ts +0 -0
- package/dist/shared/validate-custom-role-arn.js +0 -0
- package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
- package/dist/shared/validate-disk-size-in-mb.js +0 -0
- package/dist/shared/validate-download-behavior.d.ts +0 -0
- package/dist/shared/validate-download-behavior.js +0 -0
- package/dist/shared/validate-frames-per-lambda.d.ts +0 -0
- package/dist/shared/validate-frames-per-lambda.js +0 -0
- package/dist/shared/validate-lambda-codec.d.ts +2 -2
- package/dist/shared/validate-lambda-codec.js +1 -1
- package/dist/shared/validate-memory-size.d.ts +0 -0
- package/dist/shared/validate-memory-size.js +0 -0
- package/dist/shared/validate-outname.d.ts +2 -2
- package/dist/shared/validate-outname.js +16 -10
- package/dist/shared/validate-presign-expiration.d.ts +0 -0
- package/dist/shared/validate-presign-expiration.js +0 -0
- package/dist/shared/validate-privacy.d.ts +1 -1
- package/dist/shared/validate-privacy.js +5 -2
- package/dist/shared/validate-retention-period.d.ts +0 -0
- package/dist/shared/validate-retention-period.js +0 -0
- package/dist/shared/validate-retries.d.ts +0 -0
- package/dist/shared/validate-retries.js +0 -0
- package/dist/shared/validate-serveurl.d.ts +0 -0
- package/dist/shared/validate-serveurl.js +0 -0
- package/dist/shared/validate-site-name.d.ts +0 -0
- package/dist/shared/validate-site-name.js +0 -0
- package/dist/shared/validate-timeout.d.ts +0 -0
- package/dist/shared/validate-timeout.js +0 -0
- package/package.json +89 -65
- package/remotionlambda-arm64.zip +0 -0
- package/.prettierrc.js +0 -14
- package/client.d.ts +0 -1
- package/client.js +0 -1
- package/dist/api/enable-s3-website.d.ts +0 -5
- package/dist/api/enable-s3-website.js +0 -16
- package/dist/cli/helpers/determine-image-format.d.ts +0 -10
- package/dist/cli/helpers/determine-image-format.js +0 -47
- package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
- package/dist/cli/helpers/get-cloudwatch-stream-url.js +0 -7
- package/dist/cli/helpers/webhook-types.d.ts +0 -6
- package/dist/cli/helpers/webhook-types.js +0 -2
- package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
- package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
- package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
- package/dist/functions/chunk-optimization/collect-data.js +0 -27
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -3
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
- package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
- package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
- package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
- package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
- package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
- package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
- package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -9
- package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
- package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
- package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -47
- package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -7
- package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
- package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
- package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
- package/dist/functions/helpers/get-current-architecture.d.ts +0 -2
- package/dist/functions/helpers/get-current-architecture.js +0 -11
- package/dist/shared/get-cloudwatch-stream-url.js +0 -7
- package/dist/shared/validate-architecture.d.ts +0 -4
- package/dist/shared/validate-architecture.js +0 -14
- package/remotionlambda.zip +0 -0
- package/tsconfig.json +0 -16
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
|
-
export
|
|
2
|
+
export type FunctionInfo = {
|
|
3
3
|
functionName: string;
|
|
4
4
|
timeoutInSeconds: number;
|
|
5
5
|
memorySizeInMb: number;
|
|
6
6
|
version: string | null;
|
|
7
7
|
diskSizeInMb: number;
|
|
8
8
|
};
|
|
9
|
-
export
|
|
9
|
+
export type GetFunctionInfoInput = {
|
|
10
10
|
region: AwsRegion;
|
|
11
11
|
functionName: string;
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
14
14
|
* @description Given a region and function name, returns information about the function such as version, memory size and timeout.
|
|
15
|
-
* @
|
|
15
|
+
* @see [Documentation](https://remotion.dev/docs/lambda/getfunctioninfo)
|
|
16
16
|
* @param {AwsRegion} options.region The region in which the function resides in.
|
|
17
17
|
* @param {string} options.functionName The name of the function
|
|
18
18
|
* @return {Promise<FunctionInfo>} Promise resolving to information about the function.
|
|
@@ -8,7 +8,7 @@ const get_function_version_1 = require("../shared/get-function-version");
|
|
|
8
8
|
const validate_aws_region_1 = require("../shared/validate-aws-region");
|
|
9
9
|
/**
|
|
10
10
|
* @description Given a region and function name, returns information about the function such as version, memory size and timeout.
|
|
11
|
-
* @
|
|
11
|
+
* @see [Documentation](https://remotion.dev/docs/lambda/getfunctioninfo)
|
|
12
12
|
* @param {AwsRegion} options.region The region in which the function resides in.
|
|
13
13
|
* @param {string} options.functionName The name of the function
|
|
14
14
|
* @return {Promise<FunctionInfo>} Promise resolving to information about the function.
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
2
|
import type { FunctionInfo } from './get-function-info';
|
|
3
|
-
export
|
|
3
|
+
export type GetFunctionsInput = {
|
|
4
4
|
region: AwsRegion;
|
|
5
5
|
compatibleOnly: boolean;
|
|
6
6
|
};
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
8
|
* @description Lists Remotion Lambda render functions deployed to AWS Lambda.
|
|
11
|
-
* @
|
|
12
|
-
* @param
|
|
13
|
-
* @param
|
|
9
|
+
* @see [Documentation](https://remotion.dev/docs/lambda/getfunctions)
|
|
10
|
+
* @param params.region The region of which the functions should be listed.
|
|
11
|
+
* @param params.compatibleOnly Whether only functions compatible with the installed version of Remotion Lambda should be returned.
|
|
14
12
|
* @returns {Promise<FunctionInfo[]>} An array with the objects containing information about the deployed functions.
|
|
15
13
|
*/
|
|
16
|
-
export declare const getFunctions: (
|
|
14
|
+
export declare const getFunctions: (params: GetFunctionsInput) => Promise<FunctionInfo[]>;
|
|
@@ -27,19 +27,17 @@ const getAllFunctions = async ({ existing, nextMarker, region, }) => {
|
|
|
27
27
|
return allLambdas;
|
|
28
28
|
};
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
30
|
* @description Lists Remotion Lambda render functions deployed to AWS Lambda.
|
|
33
|
-
* @
|
|
34
|
-
* @param
|
|
35
|
-
* @param
|
|
31
|
+
* @see [Documentation](https://remotion.dev/docs/lambda/getfunctions)
|
|
32
|
+
* @param params.region The region of which the functions should be listed.
|
|
33
|
+
* @param params.compatibleOnly Whether only functions compatible with the installed version of Remotion Lambda should be returned.
|
|
36
34
|
* @returns {Promise<FunctionInfo[]>} An array with the objects containing information about the deployed functions.
|
|
37
35
|
*/
|
|
38
|
-
const getFunctions = async (
|
|
36
|
+
const getFunctions = async (params) => {
|
|
39
37
|
const lambdas = await getAllFunctions({
|
|
40
38
|
existing: [],
|
|
41
39
|
nextMarker: null,
|
|
42
|
-
region:
|
|
40
|
+
region: params.region,
|
|
43
41
|
});
|
|
44
42
|
const remotionLambdas = lambdas.filter((f) => {
|
|
45
43
|
var _a;
|
|
@@ -49,7 +47,7 @@ const getFunctions = async (options) => {
|
|
|
49
47
|
try {
|
|
50
48
|
const version = await (0, get_function_version_1.getFunctionVersion)({
|
|
51
49
|
functionName: fn.FunctionName,
|
|
52
|
-
region:
|
|
50
|
+
region: params.region,
|
|
53
51
|
});
|
|
54
52
|
return version;
|
|
55
53
|
}
|
|
@@ -67,11 +65,11 @@ const getFunctions = async (options) => {
|
|
|
67
65
|
diskSizeInMb: (_b = (_a = lambda.EphemeralStorage) === null || _a === void 0 ? void 0 : _a.Size) !== null && _b !== void 0 ? _b : constants_1.DEFAULT_EPHEMERAL_STORAGE_IN_MB,
|
|
68
66
|
};
|
|
69
67
|
});
|
|
70
|
-
if (!
|
|
68
|
+
if (!params.compatibleOnly) {
|
|
71
69
|
return list;
|
|
72
70
|
}
|
|
73
71
|
return list.filter((l) => {
|
|
74
|
-
if (!
|
|
72
|
+
if (!params.compatibleOnly) {
|
|
75
73
|
return true;
|
|
76
74
|
}
|
|
77
75
|
return l.version === version_1.VERSION;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
|
-
export
|
|
2
|
+
export type GetOrCreateBucketInput = {
|
|
3
3
|
region: AwsRegion;
|
|
4
|
-
onBucketEnsured?: () => void;
|
|
5
4
|
};
|
|
6
|
-
export
|
|
5
|
+
export type GetOrCreateBucketOutput = {
|
|
7
6
|
bucketName: string;
|
|
7
|
+
alreadyExisted: boolean;
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
10
|
* @description Creates a bucket for Remotion Lambda in your S3 account. If one already exists, it will get returned instead.
|
|
11
|
-
* @
|
|
12
|
-
* @param
|
|
11
|
+
* @see [Documentation](https://remotion.dev/docs/lambda/getorcreatebucket)
|
|
12
|
+
* @param params.region The region in which you want your S3 bucket to reside in.
|
|
13
13
|
* @returns {Promise<GetOrCreateBucketOutput>} An object containing the `bucketName`.
|
|
14
14
|
*/
|
|
15
|
-
export declare const getOrCreateBucket: (
|
|
15
|
+
export declare const getOrCreateBucket: (params: GetOrCreateBucketInput) => Promise<GetOrCreateBucketOutput>;
|
|
@@ -2,36 +2,28 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getOrCreateBucket = void 0;
|
|
4
4
|
const constants_1 = require("../shared/constants");
|
|
5
|
-
const
|
|
5
|
+
const validate_bucketname_1 = require("../shared/validate-bucketname");
|
|
6
6
|
const create_bucket_1 = require("./create-bucket");
|
|
7
|
-
const enable_s3_website_1 = require("./enable-s3-website");
|
|
8
7
|
const get_buckets_1 = require("./get-buckets");
|
|
9
8
|
/**
|
|
10
9
|
* @description Creates a bucket for Remotion Lambda in your S3 account. If one already exists, it will get returned instead.
|
|
11
|
-
* @
|
|
12
|
-
* @param
|
|
10
|
+
* @see [Documentation](https://remotion.dev/docs/lambda/getorcreatebucket)
|
|
11
|
+
* @param params.region The region in which you want your S3 bucket to reside in.
|
|
13
12
|
* @returns {Promise<GetOrCreateBucketOutput>} An object containing the `bucketName`.
|
|
14
13
|
*/
|
|
15
|
-
const getOrCreateBucket = async (
|
|
16
|
-
|
|
17
|
-
const { remotionBuckets } = await (0, get_buckets_1.getRemotionS3Buckets)(options.region);
|
|
14
|
+
const getOrCreateBucket = async (params) => {
|
|
15
|
+
const { remotionBuckets } = await (0, get_buckets_1.getRemotionS3Buckets)(params.region);
|
|
18
16
|
if (remotionBuckets.length > 1) {
|
|
19
|
-
throw new Error(`You have multiple buckets (${remotionBuckets.map((b) => b.name)}) in your S3 region (${
|
|
17
|
+
throw new Error(`You have multiple buckets (${remotionBuckets.map((b) => b.name)}) in your S3 region (${params.region}) starting with "${constants_1.REMOTION_BUCKET_PREFIX}". Please see https://remotion.dev/docs/lambda/multiple-buckets.`);
|
|
20
18
|
}
|
|
21
19
|
if (remotionBuckets.length === 1) {
|
|
22
|
-
|
|
23
|
-
return { bucketName: remotionBuckets[0].name };
|
|
20
|
+
return { bucketName: remotionBuckets[0].name, alreadyExisted: true };
|
|
24
21
|
}
|
|
25
|
-
const bucketName =
|
|
22
|
+
const bucketName = (0, validate_bucketname_1.makeBucketName)(params.region);
|
|
26
23
|
await (0, create_bucket_1.createBucket)({
|
|
27
24
|
bucketName,
|
|
28
|
-
region:
|
|
25
|
+
region: params.region,
|
|
29
26
|
});
|
|
30
|
-
|
|
31
|
-
await (0, enable_s3_website_1.enableS3Website)({
|
|
32
|
-
region: options.region,
|
|
33
|
-
bucketName,
|
|
34
|
-
});
|
|
35
|
-
return { bucketName };
|
|
27
|
+
return { bucketName, alreadyExisted: false };
|
|
36
28
|
};
|
|
37
29
|
exports.getOrCreateBucket = getOrCreateBucket;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
|
+
type Options = {
|
|
3
|
+
enabledByDefaultOnly?: boolean;
|
|
4
|
+
};
|
|
2
5
|
/**
|
|
3
6
|
* @description Gets an array of all supported AWS regions of this release of Remotion Lambda.
|
|
4
|
-
* @
|
|
7
|
+
* @see [Documentation](https://remotion.dev/docs/lambda/getregions)
|
|
5
8
|
* @returns {AwsRegion[]} A list of AWS regions.
|
|
6
9
|
*/
|
|
7
|
-
export declare const getRegions: () => readonly AwsRegion[];
|
|
10
|
+
export declare const getRegions: (options?: Options) => readonly AwsRegion[];
|
|
11
|
+
export {};
|
package/dist/api/get-regions.js
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getRegions = void 0;
|
|
4
|
+
const aws_regions_1 = require("../pricing/aws-regions");
|
|
4
5
|
const regions_1 = require("../regions");
|
|
5
6
|
/**
|
|
6
7
|
* @description Gets an array of all supported AWS regions of this release of Remotion Lambda.
|
|
7
|
-
* @
|
|
8
|
+
* @see [Documentation](https://remotion.dev/docs/lambda/getregions)
|
|
8
9
|
* @returns {AwsRegion[]} A list of AWS regions.
|
|
9
10
|
*/
|
|
10
|
-
const getRegions = () => {
|
|
11
|
-
|
|
11
|
+
const getRegions = (options) => {
|
|
12
|
+
var _a;
|
|
13
|
+
const onlyEnabledByDefault = (_a = options === null || options === void 0 ? void 0 : options.enabledByDefaultOnly) !== null && _a !== void 0 ? _a : false;
|
|
14
|
+
return onlyEnabledByDefault ? aws_regions_1.DEFAULT_AWS_REGIONS : regions_1.AWS_REGIONS;
|
|
12
15
|
};
|
|
13
16
|
exports.getRegions = getRegions;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
2
|
import type { CustomCredentials } from '../shared/aws-clients';
|
|
3
3
|
import type { RenderProgress } from '../shared/constants';
|
|
4
|
-
export
|
|
4
|
+
export type GetRenderInput = {
|
|
5
5
|
functionName: string;
|
|
6
6
|
bucketName: string;
|
|
7
7
|
renderId: string;
|
|
@@ -10,7 +10,7 @@ export declare type GetRenderInput = {
|
|
|
10
10
|
};
|
|
11
11
|
/**
|
|
12
12
|
* @description Gets the current status of a render originally triggered via renderMediaOnLambda().
|
|
13
|
-
* @
|
|
13
|
+
* @see [Documentation](https://remotion.dev/docs/lambda/getrenderprogress)
|
|
14
14
|
* @param {string} params.functionName The name of the function used to trigger the render.
|
|
15
15
|
* @param {string} params.bucketName The name of the bucket that was used in the render.
|
|
16
16
|
* @param {string} params.renderId The ID of the render that was returned by `renderMediaOnLambda()`.
|
|
@@ -18,4 +18,4 @@ export declare type GetRenderInput = {
|
|
|
18
18
|
* @param {CustomCredentials} params.s3OutputProvider? Endpoint and credentials if the output file is stored outside of AWS.
|
|
19
19
|
* @returns {Promise<RenderProgress>} See documentation for this function to see all properties on the return object.
|
|
20
20
|
*/
|
|
21
|
-
export declare const getRenderProgress: (
|
|
21
|
+
export declare const getRenderProgress: (input: GetRenderInput) => Promise<RenderProgress>;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getRenderProgress = void 0;
|
|
4
|
-
const version_1 = require("remotion/version");
|
|
5
4
|
const call_lambda_1 = require("../shared/call-lambda");
|
|
6
5
|
const constants_1 = require("../shared/constants");
|
|
6
|
+
const make_lambda_payload_1 = require("./make-lambda-payload");
|
|
7
7
|
/**
|
|
8
8
|
* @description Gets the current status of a render originally triggered via renderMediaOnLambda().
|
|
9
|
-
* @
|
|
9
|
+
* @see [Documentation](https://remotion.dev/docs/lambda/getrenderprogress)
|
|
10
10
|
* @param {string} params.functionName The name of the function used to trigger the render.
|
|
11
11
|
* @param {string} params.bucketName The name of the bucket that was used in the render.
|
|
12
12
|
* @param {string} params.renderId The ID of the render that was returned by `renderMediaOnLambda()`.
|
|
@@ -14,17 +14,12 @@ const constants_1 = require("../shared/constants");
|
|
|
14
14
|
* @param {CustomCredentials} params.s3OutputProvider? Endpoint and credentials if the output file is stored outside of AWS.
|
|
15
15
|
* @returns {Promise<RenderProgress>} See documentation for this function to see all properties on the return object.
|
|
16
16
|
*/
|
|
17
|
-
const getRenderProgress = async (
|
|
17
|
+
const getRenderProgress = async (input) => {
|
|
18
18
|
const result = await (0, call_lambda_1.callLambda)({
|
|
19
|
-
functionName,
|
|
19
|
+
functionName: input.functionName,
|
|
20
20
|
type: constants_1.LambdaRoutines.status,
|
|
21
|
-
payload:
|
|
22
|
-
|
|
23
|
-
renderId,
|
|
24
|
-
version: version_1.VERSION,
|
|
25
|
-
s3OutputProvider,
|
|
26
|
-
},
|
|
27
|
-
region,
|
|
21
|
+
payload: (0, make_lambda_payload_1.getRenderProgressPayload)(input),
|
|
22
|
+
region: input.region,
|
|
28
23
|
});
|
|
29
24
|
return result;
|
|
30
25
|
};
|
package/dist/api/get-sites.d.ts
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
2
|
import type { BucketWithLocation } from './get-buckets';
|
|
3
|
-
|
|
3
|
+
type Site = {
|
|
4
4
|
sizeInBytes: number;
|
|
5
5
|
lastModified: number | null;
|
|
6
6
|
bucketName: string;
|
|
7
7
|
id: string;
|
|
8
8
|
serveUrl: string;
|
|
9
9
|
};
|
|
10
|
-
export
|
|
10
|
+
export type GetSitesInput = {
|
|
11
11
|
region: AwsRegion;
|
|
12
|
+
forceBucketName?: string;
|
|
12
13
|
};
|
|
13
|
-
export
|
|
14
|
+
export type GetSitesOutput = {
|
|
14
15
|
sites: Site[];
|
|
15
16
|
buckets: BucketWithLocation[];
|
|
16
17
|
};
|
|
17
18
|
/**
|
|
18
|
-
*
|
|
19
19
|
* @description Gets all the deployed sites for a certain AWS region.
|
|
20
|
-
* @
|
|
20
|
+
* @see [Documentation](https://remotion.dev/docs/lambda/getsites)
|
|
21
21
|
* @param {AwsRegion} params.region The AWS region that you want to query for.
|
|
22
22
|
* @returns {Promise<GetSitesOutput>} A Promise containing an object with `sites` and `bucket` keys. Consult documentation for details.
|
|
23
23
|
*/
|
|
24
|
-
export declare const getSites: ({ region, }: GetSitesInput) => Promise<GetSitesOutput>;
|
|
24
|
+
export declare const getSites: ({ region, forceBucketName, }: GetSitesInput) => Promise<GetSitesOutput>;
|
|
25
25
|
export {};
|
package/dist/api/get-sites.js
CHANGED
|
@@ -7,15 +7,16 @@ const get_account_id_1 = require("../shared/get-account-id");
|
|
|
7
7
|
const make_s3_url_1 = require("../shared/make-s3-url");
|
|
8
8
|
const get_buckets_1 = require("./get-buckets");
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
10
|
* @description Gets all the deployed sites for a certain AWS region.
|
|
12
|
-
* @
|
|
11
|
+
* @see [Documentation](https://remotion.dev/docs/lambda/getsites)
|
|
13
12
|
* @param {AwsRegion} params.region The AWS region that you want to query for.
|
|
14
13
|
* @returns {Promise<GetSitesOutput>} A Promise containing an object with `sites` and `bucket` keys. Consult documentation for details.
|
|
15
14
|
*/
|
|
16
|
-
const getSites = async ({ region, }) => {
|
|
15
|
+
const getSites = async ({ region, forceBucketName, }) => {
|
|
17
16
|
var _a;
|
|
18
|
-
const { remotionBuckets } =
|
|
17
|
+
const { remotionBuckets } = forceBucketName
|
|
18
|
+
? await (0, get_buckets_1.getRemotionS3Buckets)(region, forceBucketName)
|
|
19
|
+
: await (0, get_buckets_1.getRemotionS3Buckets)(region);
|
|
19
20
|
const accountId = await (0, get_account_id_1.getAccountId)({ region });
|
|
20
21
|
const sites = {};
|
|
21
22
|
for (const bucket of remotionBuckets) {
|
|
File without changes
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
-
export
|
|
3
|
-
export
|
|
2
|
+
export type EvalDecision = 'allowed' | 'explicitDeny' | 'implicitDeny';
|
|
3
|
+
export type SimulationResult = {
|
|
4
4
|
decision: EvalDecision;
|
|
5
5
|
name: string;
|
|
6
6
|
};
|
|
@@ -2,32 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.simulateRule = void 0;
|
|
4
4
|
const client_iam_1 = require("@aws-sdk/client-iam");
|
|
5
|
-
const aws_policies_1 = require("aws-policies");
|
|
6
5
|
const aws_clients_1 = require("../../shared/aws-clients");
|
|
7
6
|
const simulateRule = async (options) => {
|
|
8
7
|
var _a;
|
|
9
8
|
try {
|
|
10
|
-
if (options.actionNames.includes(aws_policies_1.iam.GetUser)) {
|
|
11
|
-
try {
|
|
12
|
-
await (0, aws_clients_1.getIamClient)(options.region).send(new client_iam_1.GetUserCommand({}));
|
|
13
|
-
const result = [
|
|
14
|
-
{
|
|
15
|
-
decision: 'allowed',
|
|
16
|
-
name: aws_policies_1.iam.GetUser,
|
|
17
|
-
},
|
|
18
|
-
];
|
|
19
|
-
return result;
|
|
20
|
-
}
|
|
21
|
-
catch (err) {
|
|
22
|
-
const result = [
|
|
23
|
-
{
|
|
24
|
-
decision: 'explicitDeny',
|
|
25
|
-
name: aws_policies_1.iam.GetUser,
|
|
26
|
-
},
|
|
27
|
-
];
|
|
28
|
-
return result;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
9
|
const res = await (0, aws_clients_1.getIamClient)(options.region).send(new client_iam_1.SimulatePrincipalPolicyCommand({
|
|
32
10
|
ActionNames: options.actionNames,
|
|
33
11
|
PolicySourceArn: options.arn,
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
2
2
|
import type { SimulationResult } from './simulate-rule';
|
|
3
3
|
export declare const logPermissionOutput: (output: SimulationResult) => string;
|
|
4
|
-
export
|
|
4
|
+
export type SimulatePermissionsInput = {
|
|
5
5
|
region: AwsRegion;
|
|
6
6
|
onSimulation?: (result: SimulationResult) => void;
|
|
7
7
|
};
|
|
8
|
-
export
|
|
8
|
+
export type SimulatePermissionsOutput = {
|
|
9
9
|
results: SimulationResult[];
|
|
10
10
|
};
|
|
11
11
|
/**
|
|
12
12
|
* @description Simulates calls using the AWS Simulator to validate the correct permissions.
|
|
13
|
-
* @
|
|
13
|
+
* @see [Documentation](http://remotion.dev/docs/lambda/simulatepermissions)
|
|
14
14
|
* @param {AwsRegion} options.region The region which you would like to validate
|
|
15
15
|
* @param {(result: SimulationResult) => void} options.onSimulation The region which you would like to validate
|
|
16
16
|
* @returns {Promise<SimulatePermissionsOutput>} See documentation for detailed response structure.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.simulatePermissions = exports.logPermissionOutput = void 0;
|
|
4
|
-
const
|
|
4
|
+
const client_sts_1 = require("@aws-sdk/client-sts");
|
|
5
5
|
const aws_clients_1 = require("../../shared/aws-clients");
|
|
6
6
|
const simulate_rule_1 = require("./simulate-rule");
|
|
7
7
|
const user_permissions_1 = require("./user-permissions");
|
|
@@ -19,22 +19,43 @@ const logPermissionOutput = (output) => {
|
|
|
19
19
|
exports.logPermissionOutput = logPermissionOutput;
|
|
20
20
|
/**
|
|
21
21
|
* @description Simulates calls using the AWS Simulator to validate the correct permissions.
|
|
22
|
-
* @
|
|
22
|
+
* @see [Documentation](http://remotion.dev/docs/lambda/simulatepermissions)
|
|
23
23
|
* @param {AwsRegion} options.region The region which you would like to validate
|
|
24
24
|
* @param {(result: SimulationResult) => void} options.onSimulation The region which you would like to validate
|
|
25
25
|
* @returns {Promise<SimulatePermissionsOutput>} See documentation for detailed response structure.
|
|
26
26
|
*/
|
|
27
27
|
const simulatePermissions = async (options) => {
|
|
28
28
|
var _a;
|
|
29
|
-
const
|
|
30
|
-
if (!
|
|
31
|
-
throw new Error('No valid AWS
|
|
29
|
+
const callerIdentity = await (0, aws_clients_1.getStsClient)(options.region).send(new client_sts_1.GetCallerIdentityCommand({}));
|
|
30
|
+
if (!(callerIdentity === null || callerIdentity === void 0 ? void 0 : callerIdentity.Arn)) {
|
|
31
|
+
throw new Error('No valid AWS Caller Identity detected');
|
|
32
|
+
}
|
|
33
|
+
const callerIdentityArnComponents = callerIdentity.Arn.match(/arn:aws:([^:]+)::(\d+):([^/]+)(.*)/);
|
|
34
|
+
if (!callerIdentityArnComponents) {
|
|
35
|
+
throw new Error('Unknown AWS Caller Identity ARN detected');
|
|
36
|
+
}
|
|
37
|
+
const callerIdentityArnType = callerIdentityArnComponents[1];
|
|
38
|
+
let callerArn;
|
|
39
|
+
if (callerIdentityArnType === 'iam' &&
|
|
40
|
+
callerIdentityArnComponents[3] === 'user') {
|
|
41
|
+
callerArn = callerIdentity.Arn;
|
|
42
|
+
}
|
|
43
|
+
else if (callerIdentityArnType === 'sts' &&
|
|
44
|
+
callerIdentityArnComponents[3] === 'assumed-role') {
|
|
45
|
+
const assumedRoleComponents = callerIdentityArnComponents[4].match(/\/([^/]+)\/(.*)/);
|
|
46
|
+
if (!assumedRoleComponents) {
|
|
47
|
+
throw new Error('Unsupported AWS Caller Identity as Assumed-Role ARN detected');
|
|
48
|
+
}
|
|
49
|
+
callerArn = `arn:aws:iam::${callerIdentityArnComponents[2]}:role/${assumedRoleComponents[1]}`;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
throw new Error('Unsupported AWS Caller Identity ARN detected');
|
|
32
53
|
}
|
|
33
54
|
const results = [];
|
|
34
55
|
for (const per of user_permissions_1.requiredPermissions) {
|
|
35
56
|
const result = await (0, simulate_rule_1.simulateRule)({
|
|
36
57
|
actionNames: per.actions,
|
|
37
|
-
arn:
|
|
58
|
+
arn: callerArn,
|
|
38
59
|
region: options.region,
|
|
39
60
|
resource: per.resource,
|
|
40
61
|
retries: 2,
|
|
File without changes
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { iam, lambda, logs, s3, servicequotas } from 'aws-policies';
|
|
2
2
|
export declare const requiredPermissions: {
|
|
3
|
-
actions: (s3 | iam | lambda | logs | servicequotas)[];
|
|
3
|
+
actions: (s3 | iam | lambda | 'lambda:PutRuntimeManagementConfig' | logs | servicequotas)[];
|
|
4
4
|
resource: string[];
|
|
5
5
|
id: string;
|
|
6
6
|
}[];
|
|
@@ -15,12 +15,6 @@ exports.requiredPermissions = [
|
|
|
15
15
|
],
|
|
16
16
|
resource: ['*'],
|
|
17
17
|
},
|
|
18
|
-
{
|
|
19
|
-
id: 'Identity',
|
|
20
|
-
actions: [aws_policies_1.iam.GetUser],
|
|
21
|
-
// eslint-disable-next-line no-template-curly-in-string
|
|
22
|
-
resource: ['arn:aws:iam::*:user/${aws:username}'],
|
|
23
|
-
},
|
|
24
18
|
{
|
|
25
19
|
id: 'PermissionValidation',
|
|
26
20
|
actions: [aws_policies_1.iam.SimulatePrincipalPolicy],
|
|
@@ -43,8 +37,8 @@ exports.requiredPermissions = [
|
|
|
43
37
|
aws_policies_1.s3.GetBucketLocation,
|
|
44
38
|
aws_policies_1.s3.PutBucketAcl,
|
|
45
39
|
aws_policies_1.s3.DeleteBucket,
|
|
46
|
-
aws_policies_1.s3.
|
|
47
|
-
aws_policies_1.s3.
|
|
40
|
+
aws_policies_1.s3.PutBucketOwnershipControls,
|
|
41
|
+
aws_policies_1.s3.PutBucketPublicAccessBlock,
|
|
48
42
|
],
|
|
49
43
|
resource: [`arn:aws:s3:::${constants_1.REMOTION_BUCKET_PREFIX}*`],
|
|
50
44
|
},
|
|
@@ -66,6 +60,7 @@ exports.requiredPermissions = [
|
|
|
66
60
|
aws_policies_1.lambda.CreateFunction,
|
|
67
61
|
aws_policies_1.lambda.DeleteFunction,
|
|
68
62
|
aws_policies_1.lambda.PutFunctionEventInvokeConfig,
|
|
63
|
+
'lambda:PutRuntimeManagementConfig',
|
|
69
64
|
],
|
|
70
65
|
resource: [`arn:aws:lambda:*:*:function:${constants_1.RENDER_FN_PREFIX}*`],
|
|
71
66
|
},
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { LambdaStartPayload, LambdaStatusPayload } from '../defaults';
|
|
2
|
+
import type { GetRenderInput } from './get-render-progress';
|
|
3
|
+
import type { RenderMediaOnLambdaInput } from './render-media-on-lambda';
|
|
4
|
+
export declare const makeLambdaRenderMediaPayload: ({ rendererFunctionName, frameRange, framesPerLambda, forceBucketName: bucketName, codec, composition, serveUrl, imageFormat, inputProps, region, crf, envVariables, pixelFormat, proResProfile, maxRetries, privacy, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, everyNthFrame, numberOfGifLoops, audioBitrate, concurrencyPerLambda, audioCodec, forceHeight, forceWidth, webhook, videoBitrate, downloadBehavior, muted, overwrite, dumpBrowserLogs, jpegQuality, quality, }: RenderMediaOnLambdaInput) => Promise<LambdaStartPayload>;
|
|
5
|
+
export declare const getRenderProgressPayload: ({ bucketName, renderId, s3OutputProvider, }: GetRenderInput) => LambdaStatusPayload;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRenderProgressPayload = exports.makeLambdaRenderMediaPayload = void 0;
|
|
4
|
+
const version_1 = require("remotion/version");
|
|
5
|
+
const defaults_1 = require("../defaults");
|
|
6
|
+
const serialize_input_props_1 = require("../shared/serialize-input-props");
|
|
7
|
+
const validate_download_behavior_1 = require("../shared/validate-download-behavior");
|
|
8
|
+
const validate_frames_per_lambda_1 = require("../shared/validate-frames-per-lambda");
|
|
9
|
+
const validate_lambda_codec_1 = require("../shared/validate-lambda-codec");
|
|
10
|
+
const validate_serveurl_1 = require("../shared/validate-serveurl");
|
|
11
|
+
const renderer_1 = require("@remotion/renderer");
|
|
12
|
+
const makeLambdaRenderMediaPayload = async ({ rendererFunctionName, frameRange, framesPerLambda, forceBucketName: bucketName, codec, composition, serveUrl, imageFormat, inputProps, region, crf, envVariables, pixelFormat, proResProfile, maxRetries, privacy, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, everyNthFrame, numberOfGifLoops, audioBitrate, concurrencyPerLambda, audioCodec, forceHeight, forceWidth, webhook, videoBitrate, downloadBehavior, muted, overwrite, dumpBrowserLogs, jpegQuality, quality, }) => {
|
|
13
|
+
if (quality) {
|
|
14
|
+
throw new Error('quality has been renamed to jpegQuality. Please rename the option.');
|
|
15
|
+
}
|
|
16
|
+
const actualCodec = (0, validate_lambda_codec_1.validateLambdaCodec)(codec);
|
|
17
|
+
(0, validate_serveurl_1.validateServeUrl)(serveUrl);
|
|
18
|
+
(0, validate_frames_per_lambda_1.validateFramesPerLambda)({
|
|
19
|
+
framesPerLambda: framesPerLambda !== null && framesPerLambda !== void 0 ? framesPerLambda : null,
|
|
20
|
+
durationInFrames: 1,
|
|
21
|
+
});
|
|
22
|
+
(0, validate_download_behavior_1.validateDownloadBehavior)(downloadBehavior);
|
|
23
|
+
const serializedInputProps = await (0, serialize_input_props_1.serializeInputProps)({
|
|
24
|
+
inputProps: inputProps !== null && inputProps !== void 0 ? inputProps : {},
|
|
25
|
+
region,
|
|
26
|
+
type: 'video-or-audio',
|
|
27
|
+
userSpecifiedBucketName: bucketName !== null && bucketName !== void 0 ? bucketName : null,
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
rendererFunctionName: rendererFunctionName !== null && rendererFunctionName !== void 0 ? rendererFunctionName : null,
|
|
31
|
+
framesPerLambda: framesPerLambda !== null && framesPerLambda !== void 0 ? framesPerLambda : null,
|
|
32
|
+
composition,
|
|
33
|
+
serveUrl,
|
|
34
|
+
inputProps: serializedInputProps,
|
|
35
|
+
codec: actualCodec,
|
|
36
|
+
imageFormat: imageFormat !== null && imageFormat !== void 0 ? imageFormat : 'jpeg',
|
|
37
|
+
crf,
|
|
38
|
+
envVariables,
|
|
39
|
+
pixelFormat,
|
|
40
|
+
proResProfile,
|
|
41
|
+
jpegQuality,
|
|
42
|
+
maxRetries: maxRetries !== null && maxRetries !== void 0 ? maxRetries : 1,
|
|
43
|
+
privacy: privacy !== null && privacy !== void 0 ? privacy : 'public',
|
|
44
|
+
logLevel: dumpBrowserLogs
|
|
45
|
+
? 'verbose'
|
|
46
|
+
: logLevel !== null && logLevel !== void 0 ? logLevel : renderer_1.RenderInternals.getLogLevel(),
|
|
47
|
+
frameRange: frameRange !== null && frameRange !== void 0 ? frameRange : null,
|
|
48
|
+
outName: outName !== null && outName !== void 0 ? outName : null,
|
|
49
|
+
timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : 30000,
|
|
50
|
+
chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
|
|
51
|
+
scale: scale !== null && scale !== void 0 ? scale : 1,
|
|
52
|
+
everyNthFrame: everyNthFrame !== null && everyNthFrame !== void 0 ? everyNthFrame : 1,
|
|
53
|
+
numberOfGifLoops: numberOfGifLoops !== null && numberOfGifLoops !== void 0 ? numberOfGifLoops : 0,
|
|
54
|
+
concurrencyPerLambda: concurrencyPerLambda !== null && concurrencyPerLambda !== void 0 ? concurrencyPerLambda : 1,
|
|
55
|
+
downloadBehavior: downloadBehavior !== null && downloadBehavior !== void 0 ? downloadBehavior : { type: 'play-in-browser' },
|
|
56
|
+
muted: muted !== null && muted !== void 0 ? muted : false,
|
|
57
|
+
version: version_1.VERSION,
|
|
58
|
+
overwrite: overwrite !== null && overwrite !== void 0 ? overwrite : false,
|
|
59
|
+
audioBitrate: audioBitrate !== null && audioBitrate !== void 0 ? audioBitrate : null,
|
|
60
|
+
videoBitrate: videoBitrate !== null && videoBitrate !== void 0 ? videoBitrate : null,
|
|
61
|
+
webhook: webhook !== null && webhook !== void 0 ? webhook : null,
|
|
62
|
+
forceHeight: forceHeight !== null && forceHeight !== void 0 ? forceHeight : null,
|
|
63
|
+
forceWidth: forceWidth !== null && forceWidth !== void 0 ? forceWidth : null,
|
|
64
|
+
bucketName: bucketName !== null && bucketName !== void 0 ? bucketName : null,
|
|
65
|
+
audioCodec: audioCodec !== null && audioCodec !== void 0 ? audioCodec : null,
|
|
66
|
+
type: defaults_1.LambdaRoutines.start,
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
exports.makeLambdaRenderMediaPayload = makeLambdaRenderMediaPayload;
|
|
70
|
+
const getRenderProgressPayload = ({ bucketName, renderId, s3OutputProvider, }) => {
|
|
71
|
+
return {
|
|
72
|
+
type: defaults_1.LambdaRoutines.status,
|
|
73
|
+
bucketName,
|
|
74
|
+
renderId,
|
|
75
|
+
version: version_1.VERSION,
|
|
76
|
+
s3OutputProvider,
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
exports.getRenderProgressPayload = getRenderProgressPayload;
|
|
File without changes
|
|
File without changes
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { AwsRegion } from '../pricing/aws-regions';
|
|
2
|
-
|
|
2
|
+
export type PresignUrlInput<CheckIfObjectExists extends boolean = boolean> = {
|
|
3
3
|
region: AwsRegion;
|
|
4
4
|
bucketName: string;
|
|
5
5
|
objectKey: string;
|
|
6
|
-
checkIfObjectExists?:
|
|
6
|
+
checkIfObjectExists?: CheckIfObjectExists;
|
|
7
7
|
expiresInSeconds: number;
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
10
|
* @description Returns a public url of an object stored in Remotion's S3 bucket.
|
|
11
|
-
* @
|
|
11
|
+
* @see [Documentation](https://remotion.dev/docs/lambda/presignurl)
|
|
12
12
|
* @param {AwsRegion} params.region The region in which the S3 bucket resides in.
|
|
13
13
|
* @param {string} params.bucketName The name of the bucket to fetch the object from.
|
|
14
14
|
* @param {string} params.objectKey Key of the S3 object to get.
|
|
@@ -16,5 +16,4 @@ declare type PresignURLInput = {
|
|
|
16
16
|
* @param {boolean} params.checkIfObjectExists Whether the function should check if the object exists in the bucket before generating the presigned url.
|
|
17
17
|
* @returns {Promise<string | null>} The public url of an object or `null` if `checkIfObjectExists=true` & object does not exist.
|
|
18
18
|
*/
|
|
19
|
-
export declare const presignUrl: ({ region, bucketName, objectKey, checkIfObjectExists, expiresInSeconds, }:
|
|
20
|
-
export {};
|
|
19
|
+
export declare const presignUrl: <CheckIfObjectExists extends boolean = false>({ region, bucketName, objectKey, checkIfObjectExists, expiresInSeconds, }: PresignUrlInput<CheckIfObjectExists>) => Promise<CheckIfObjectExists extends true ? string | null : string>;
|