terraconstructs 0.0.8
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/.envrc +5 -0
- package/.jsii +79780 -0
- package/.mise.toml +8 -0
- package/.nvmrc +1 -0
- package/.terraform-version +1 -0
- package/.terraform.d/plugin-cache/.gitignore +5 -0
- package/LICENSE +674 -0
- package/NOTICE.txt +12 -0
- package/README.md +42 -0
- package/bun.lockb +0 -0
- package/go.mod +158 -0
- package/go.sum +1206 -0
- package/lib/aws/arn.d.ts +187 -0
- package/lib/aws/arn.js +383 -0
- package/lib/aws/aws-construct.d.ts +76 -0
- package/lib/aws/aws-construct.js +38 -0
- package/lib/aws/aws-stack.d.ts +201 -0
- package/lib/aws/aws-stack.js +303 -0
- package/lib/aws/cloudwatch/actions/ec2.d.ts +35 -0
- package/lib/aws/cloudwatch/actions/ec2.js +48 -0
- package/lib/aws/cloudwatch/actions/index.d.ts +2 -0
- package/lib/aws/cloudwatch/actions/index.js +24 -0
- package/lib/aws/cloudwatch/actions/lambda.d.ts +16 -0
- package/lib/aws/cloudwatch/actions/lambda.js +48 -0
- package/lib/aws/cloudwatch/alarm-action.d.ts +23 -0
- package/lib/aws/cloudwatch/alarm-action.js +4 -0
- package/lib/aws/cloudwatch/alarm-base.d.ts +84 -0
- package/lib/aws/cloudwatch/alarm-base.js +64 -0
- package/lib/aws/cloudwatch/alarm-rule.d.ts +61 -0
- package/lib/aws/cloudwatch/alarm-rule.js +116 -0
- package/lib/aws/cloudwatch/alarm-status-widget.d.ts +77 -0
- package/lib/aws/cloudwatch/alarm-status-widget.js +62 -0
- package/lib/aws/cloudwatch/alarm.d.ts +158 -0
- package/lib/aws/cloudwatch/alarm.js +410 -0
- package/lib/aws/cloudwatch/composite-alarm.d.ts +88 -0
- package/lib/aws/cloudwatch/composite-alarm.js +98 -0
- package/lib/aws/cloudwatch/dashboard.d.ts +137 -0
- package/lib/aws/cloudwatch/dashboard.js +141 -0
- package/lib/aws/cloudwatch/data-protection-policy.d.ts +184 -0
- package/lib/aws/cloudwatch/data-protection-policy.js +246 -0
- package/lib/aws/cloudwatch/graph.d.ts +792 -0
- package/lib/aws/cloudwatch/graph.js +537 -0
- package/lib/aws/cloudwatch/index.d.ts +26 -0
- package/lib/aws/cloudwatch/index.js +49 -0
- package/lib/aws/cloudwatch/layout.d.ts +89 -0
- package/lib/aws/cloudwatch/layout.js +147 -0
- package/lib/aws/cloudwatch/log-destinations/index.d.ts +2 -0
- package/lib/aws/cloudwatch/log-destinations/index.js +20 -0
- package/lib/aws/cloudwatch/log-destinations/kinesis.d.ts +29 -0
- package/lib/aws/cloudwatch/log-destinations/kinesis.js +52 -0
- package/lib/aws/cloudwatch/log-destinations/lambda.d.ts +22 -0
- package/lib/aws/cloudwatch/log-destinations/lambda.js +46 -0
- package/lib/aws/cloudwatch/log-group.d.ts +453 -0
- package/lib/aws/cloudwatch/log-group.js +350 -0
- package/lib/aws/cloudwatch/log-query.d.ts +91 -0
- package/lib/aws/cloudwatch/log-query.js +85 -0
- package/lib/aws/cloudwatch/log-stream.d.ts +57 -0
- package/lib/aws/cloudwatch/log-stream.js +57 -0
- package/lib/aws/cloudwatch/metric-filter.d.ts +30 -0
- package/lib/aws/cloudwatch/metric-filter.js +69 -0
- package/lib/aws/cloudwatch/metric-types.d.ts +407 -0
- package/lib/aws/cloudwatch/metric-types.js +151 -0
- package/lib/aws/cloudwatch/metric.d.ts +492 -0
- package/lib/aws/cloudwatch/metric.js +493 -0
- package/lib/aws/cloudwatch/pattern.d.ts +195 -0
- package/lib/aws/cloudwatch/pattern.js +412 -0
- package/lib/aws/cloudwatch/policy.d.ts +43 -0
- package/lib/aws/cloudwatch/policy.js +50 -0
- package/lib/aws/cloudwatch/private/drop-empty-object-at-the-end-of-an-array-token.d.ts +14 -0
- package/lib/aws/cloudwatch/private/drop-empty-object-at-the-end-of-an-array-token.js +37 -0
- package/lib/aws/cloudwatch/private/env-tokens.d.ts +8 -0
- package/lib/aws/cloudwatch/private/env-tokens.js +48 -0
- package/lib/aws/cloudwatch/private/metric-util.d.ts +60 -0
- package/lib/aws/cloudwatch/private/metric-util.js +132 -0
- package/lib/aws/cloudwatch/private/object.d.ts +1 -0
- package/lib/aws/cloudwatch/private/object.js +18 -0
- package/lib/aws/cloudwatch/private/rendering.d.ts +60 -0
- package/lib/aws/cloudwatch/private/rendering.js +181 -0
- package/lib/aws/cloudwatch/private/statistic.d.ts +51 -0
- package/lib/aws/cloudwatch/private/statistic.js +176 -0
- package/lib/aws/cloudwatch/query-definition.d.ts +150 -0
- package/lib/aws/cloudwatch/query-definition.js +114 -0
- package/lib/aws/cloudwatch/stats.d.ts +150 -0
- package/lib/aws/cloudwatch/stats.js +207 -0
- package/lib/aws/cloudwatch/subscription-filter.d.ts +75 -0
- package/lib/aws/cloudwatch/subscription-filter.js +51 -0
- package/lib/aws/cloudwatch/text.d.ts +52 -0
- package/lib/aws/cloudwatch/text.js +53 -0
- package/lib/aws/cloudwatch/variable.d.ts +156 -0
- package/lib/aws/cloudwatch/variable.js +156 -0
- package/lib/aws/cloudwatch/widget.d.ts +62 -0
- package/lib/aws/cloudwatch/widget.js +45 -0
- package/lib/aws/compute/activity.d.ts +81 -0
- package/lib/aws/compute/activity.js +132 -0
- package/lib/aws/compute/architecture.d.ts +33 -0
- package/lib/aws/compute/architecture.js +42 -0
- package/lib/aws/compute/chain.d.ts +52 -0
- package/lib/aws/compute/chain.js +68 -0
- package/lib/aws/compute/condition.d.ts +202 -0
- package/lib/aws/compute/condition.js +409 -0
- package/lib/aws/compute/event-invoke-config.d.ts +74 -0
- package/lib/aws/compute/event-invoke-config.js +63 -0
- package/lib/aws/compute/event-source-filter.d.ts +64 -0
- package/lib/aws/compute/event-source-filter.js +86 -0
- package/lib/aws/compute/event-source-mapping.d.ts +310 -0
- package/lib/aws/compute/event-source-mapping.js +267 -0
- package/lib/aws/compute/event-sources/index.d.ts +4 -0
- package/lib/aws/compute/event-sources/index.js +28 -0
- package/lib/aws/compute/event-sources/s3-onfailure-destination.d.ts +13 -0
- package/lib/aws/compute/event-sources/s3-onfailure-destination.js +26 -0
- package/lib/aws/compute/event-sources/s3.d.ts +24 -0
- package/lib/aws/compute/event-sources/s3.js +25 -0
- package/lib/aws/compute/event-sources/sqs-dlq.d.ts +13 -0
- package/lib/aws/compute/event-sources/sqs-dlq.js +26 -0
- package/lib/aws/compute/event-sources/sqs.d.ts +75 -0
- package/lib/aws/compute/event-sources/sqs.js +84 -0
- package/lib/aws/compute/fields.d.ts +367 -0
- package/lib/aws/compute/fields.js +546 -0
- package/lib/aws/compute/function-alias.d.ts +148 -0
- package/lib/aws/compute/function-alias.js +176 -0
- package/lib/aws/compute/function-base.d.ts +314 -0
- package/lib/aws/compute/function-base.js +421 -0
- package/lib/aws/compute/function-destination.d.ts +42 -0
- package/lib/aws/compute/function-destination.js +18 -0
- package/lib/aws/compute/function-destinations/event-bridge.d.ts +19 -0
- package/lib/aws/compute/function-destinations/event-bridge.js +46 -0
- package/lib/aws/compute/function-destinations/function.d.ts +34 -0
- package/lib/aws/compute/function-destinations/function.js +55 -0
- package/lib/aws/compute/function-destinations/index.d.ts +3 -0
- package/lib/aws/compute/function-destinations/index.js +22 -0
- package/lib/aws/compute/function-destinations/sqs.d.ts +14 -0
- package/lib/aws/compute/function-destinations/sqs.js +27 -0
- package/lib/aws/compute/function-nodejs.d.ts +55 -0
- package/lib/aws/compute/function-nodejs.js +70 -0
- package/lib/aws/compute/function-permission.d.ts +83 -0
- package/lib/aws/compute/function-permission.js +3 -0
- package/lib/aws/compute/function-url.d.ts +210 -0
- package/lib/aws/compute/function-url.js +148 -0
- package/lib/aws/compute/function-vpc-config.generated.d.ts +36 -0
- package/lib/aws/compute/function-vpc-config.generated.js +3 -0
- package/lib/aws/compute/function.d.ts +492 -0
- package/lib/aws/compute/function.js +692 -0
- package/lib/aws/compute/index.d.ts +42 -0
- package/lib/aws/compute/index.js +64 -0
- package/lib/aws/compute/private/intrinstics.d.ts +86 -0
- package/lib/aws/compute/private/intrinstics.js +220 -0
- package/lib/aws/compute/private/json-path.d.ts +57 -0
- package/lib/aws/compute/private/json-path.js +351 -0
- package/lib/aws/compute/private/util.d.ts +1 -0
- package/lib/aws/compute/private/util.js +38 -0
- package/lib/aws/compute/state-graph.d.ts +100 -0
- package/lib/aws/compute/state-graph.js +177 -0
- package/lib/aws/compute/state-machine-fragment.d.ts +61 -0
- package/lib/aws/compute/state-machine-fragment.js +56 -0
- package/lib/aws/compute/state-machine.d.ts +323 -0
- package/lib/aws/compute/state-machine.js +392 -0
- package/lib/aws/compute/states/choice.d.ts +94 -0
- package/lib/aws/compute/states/choice.js +81 -0
- package/lib/aws/compute/states/custom-state.d.ts +55 -0
- package/lib/aws/compute/states/custom-state.js +114 -0
- package/lib/aws/compute/states/distributed-map/item-batcher.d.ts +64 -0
- package/lib/aws/compute/states/distributed-map/item-batcher.js +58 -0
- package/lib/aws/compute/states/distributed-map/item-reader.d.ts +256 -0
- package/lib/aws/compute/states/distributed-map/item-reader.js +253 -0
- package/lib/aws/compute/states/distributed-map/result-writer.d.ts +41 -0
- package/lib/aws/compute/states/distributed-map/result-writer.js +66 -0
- package/lib/aws/compute/states/distributed-map.d.ts +153 -0
- package/lib/aws/compute/states/distributed-map.js +207 -0
- package/lib/aws/compute/states/fail.d.ts +74 -0
- package/lib/aws/compute/states/fail.js +83 -0
- package/lib/aws/compute/states/map-base.d.ts +145 -0
- package/lib/aws/compute/states/map-base.js +109 -0
- package/lib/aws/compute/states/map.d.ts +76 -0
- package/lib/aws/compute/states/map.js +110 -0
- package/lib/aws/compute/states/parallel.d.ts +113 -0
- package/lib/aws/compute/states/parallel.js +100 -0
- package/lib/aws/compute/states/pass.d.ts +122 -0
- package/lib/aws/compute/states/pass.js +99 -0
- package/lib/aws/compute/states/private/state-type.d.ts +13 -0
- package/lib/aws/compute/states/private/state-type.js +19 -0
- package/lib/aws/compute/states/state.d.ts +276 -0
- package/lib/aws/compute/states/state.js +482 -0
- package/lib/aws/compute/states/succeed.d.ts +51 -0
- package/lib/aws/compute/states/succeed.js +32 -0
- package/lib/aws/compute/states/task-base.d.ts +225 -0
- package/lib/aws/compute/states/task-base.js +160 -0
- package/lib/aws/compute/states/task.d.ts +127 -0
- package/lib/aws/compute/states/task.js +92 -0
- package/lib/aws/compute/states/wait.d.ts +78 -0
- package/lib/aws/compute/states/wait.js +90 -0
- package/lib/aws/compute/step-functions-task.d.ts +78 -0
- package/lib/aws/compute/step-functions-task.js +27 -0
- package/lib/aws/compute/task-credentials.d.ts +45 -0
- package/lib/aws/compute/task-credentials.js +52 -0
- package/lib/aws/compute/task-input.d.ts +86 -0
- package/lib/aws/compute/task-input.js +107 -0
- package/lib/aws/compute/tasks/aws-sdk/call-aws-service.d.ts +73 -0
- package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +69 -0
- package/lib/aws/compute/tasks/eventbridge/put-events.d.ts +74 -0
- package/lib/aws/compute/tasks/eventbridge/put-events.js +94 -0
- package/lib/aws/compute/tasks/http/invoke.d.ts +104 -0
- package/lib/aws/compute/tasks/http/invoke.js +117 -0
- package/lib/aws/compute/tasks/index.d.ts +7 -0
- package/lib/aws/compute/tasks/index.js +42 -0
- package/lib/aws/compute/tasks/lambda/invoke.d.ts +106 -0
- package/lib/aws/compute/tasks/lambda/invoke.js +125 -0
- package/lib/aws/compute/tasks/private/task-utils.d.ts +8 -0
- package/lib/aws/compute/tasks/private/task-utils.js +36 -0
- package/lib/aws/compute/tasks/resource-arn-suffix.d.ts +3 -0
- package/lib/aws/compute/tasks/resource-arn-suffix.js +25 -0
- package/lib/aws/compute/tasks/sqs/send-message.d.ts +62 -0
- package/lib/aws/compute/tasks/sqs/send-message.js +70 -0
- package/lib/aws/compute/tasks/stepfunctions/invoke-activity.d.ts +36 -0
- package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +45 -0
- package/lib/aws/compute/tasks/stepfunctions/start-execution.d.ts +63 -0
- package/lib/aws/compute/tasks/stepfunctions/start-execution.js +123 -0
- package/lib/aws/compute/types.d.ts +214 -0
- package/lib/aws/compute/types.js +103 -0
- package/lib/aws/compute/util.d.ts +12 -0
- package/lib/aws/compute/util.js +29 -0
- package/lib/aws/edge/certificate.d.ts +144 -0
- package/lib/aws/edge/certificate.js +191 -0
- package/lib/aws/edge/distribution.d.ts +505 -0
- package/lib/aws/edge/distribution.js +444 -0
- package/lib/aws/edge/dns-alias-record-targets.d.ts +29 -0
- package/lib/aws/edge/dns-alias-record-targets.js +46 -0
- package/lib/aws/edge/dns-record.d.ts +536 -0
- package/lib/aws/edge/dns-record.js +532 -0
- package/lib/aws/edge/dns-zone.d.ts +169 -0
- package/lib/aws/edge/dns-zone.js +149 -0
- package/lib/aws/edge/function.d.ts +185 -0
- package/lib/aws/edge/function.js +141 -0
- package/lib/aws/edge/index.d.ts +8 -0
- package/lib/aws/edge/index.js +25 -0
- package/lib/aws/edge/key-value-store.d.ts +162 -0
- package/lib/aws/edge/key-value-store.js +163 -0
- package/lib/aws/edge/origin.d.ts +160 -0
- package/lib/aws/edge/origin.js +245 -0
- package/lib/aws/encryption/alias.d.ts +137 -0
- package/lib/aws/encryption/alias.js +216 -0
- package/lib/aws/encryption/index.d.ts +4 -0
- package/lib/aws/encryption/index.js +21 -0
- package/lib/aws/encryption/key-lookup.d.ts +11 -0
- package/lib/aws/encryption/key-lookup.js +4 -0
- package/lib/aws/encryption/key.d.ts +461 -0
- package/lib/aws/encryption/key.js +586 -0
- package/lib/aws/encryption/private/perms.d.ts +5 -0
- package/lib/aws/encryption/private/perms.js +30 -0
- package/lib/aws/encryption/via-service-principal.d.ts +11 -0
- package/lib/aws/encryption/via-service-principal.js +39 -0
- package/lib/aws/iam/grant.d.ts +221 -0
- package/lib/aws/iam/grant.js +239 -0
- package/lib/aws/iam/identity-base.d.ts +20 -0
- package/lib/aws/iam/identity-base.js +3 -0
- package/lib/aws/iam/index.d.ts +16 -0
- package/lib/aws/iam/index.js +34 -0
- package/lib/aws/iam/managed-policy.d.ts +227 -0
- package/lib/aws/iam/managed-policy.js +237 -0
- package/lib/aws/iam/oidc-provider.d.ts +120 -0
- package/lib/aws/iam/oidc-provider.js +82 -0
- package/lib/aws/iam/policy-document-config.generated.d.ts +78 -0
- package/lib/aws/iam/policy-document-config.generated.js +3 -0
- package/lib/aws/iam/policy-document.d.ts +150 -0
- package/lib/aws/iam/policy-document.js +172 -0
- package/lib/aws/iam/policy-statement-props.generated.d.ts +55 -0
- package/lib/aws/iam/policy-statement-props.generated.js +3 -0
- package/lib/aws/iam/policy-statement.d.ts +451 -0
- package/lib/aws/iam/policy-statement.js +947 -0
- package/lib/aws/iam/policy.d.ts +122 -0
- package/lib/aws/iam/policy.js +192 -0
- package/lib/aws/iam/principals.d.ts +668 -0
- package/lib/aws/iam/principals.js +1032 -0
- package/lib/aws/iam/private/adapter.d.ts +21 -0
- package/lib/aws/iam/private/adapter.js +51 -0
- package/lib/aws/iam/private/assume-role-policy.d.ts +8 -0
- package/lib/aws/iam/private/assume-role-policy.js +27 -0
- package/lib/aws/iam/private/comparable-principal.d.ts +6 -0
- package/lib/aws/iam/private/comparable-principal.js +20 -0
- package/lib/aws/iam/private/immutable-role.d.ts +43 -0
- package/lib/aws/iam/private/immutable-role.js +76 -0
- package/lib/aws/iam/private/imported-role.d.ts +49 -0
- package/lib/aws/iam/private/imported-role.js +103 -0
- package/lib/aws/iam/private/merge-statements.d.ts +44 -0
- package/lib/aws/iam/private/merge-statements.js +214 -0
- package/lib/aws/iam/private/postprocess-policy-document.d.ts +15 -0
- package/lib/aws/iam/private/postprocess-policy-document.js +102 -0
- package/lib/aws/iam/private/util.d.ts +37 -0
- package/lib/aws/iam/private/util.js +87 -0
- package/lib/aws/iam/role.d.ts +425 -0
- package/lib/aws/iam/role.js +407 -0
- package/lib/aws/iam/saml-provider.d.ts +79 -0
- package/lib/aws/iam/saml-provider.js +79 -0
- package/lib/aws/iam/unknown-principal.d.ts +32 -0
- package/lib/aws/iam/unknown-principal.js +45 -0
- package/lib/aws/iam/utils.d.ts +12 -0
- package/lib/aws/iam/utils.js +41 -0
- package/lib/aws/index.d.ts +13 -0
- package/lib/aws/index.js +34 -0
- package/lib/aws/log-retention.d.ts +97 -0
- package/lib/aws/log-retention.js +103 -0
- package/lib/aws/network/index.d.ts +4 -0
- package/lib/aws/network/index.js +21 -0
- package/lib/aws/network/network.d.ts +77 -0
- package/lib/aws/network/network.js +3 -0
- package/lib/aws/network/simple-ipv4-vpc.d.ts +84 -0
- package/lib/aws/network/simple-ipv4-vpc.js +236 -0
- package/lib/aws/network/subnet-group.d.ts +42 -0
- package/lib/aws/network/subnet-group.js +72 -0
- package/lib/aws/network/subnet.d.ts +95 -0
- package/lib/aws/network/subnet.js +123 -0
- package/lib/aws/notify/archive.d.ts +77 -0
- package/lib/aws/notify/archive.js +62 -0
- package/lib/aws/notify/connection.d.ts +276 -0
- package/lib/aws/notify/connection.js +261 -0
- package/lib/aws/notify/event-bus.d.ts +298 -0
- package/lib/aws/notify/event-bus.js +326 -0
- package/lib/aws/notify/event-pattern.d.ts +220 -0
- package/lib/aws/notify/event-pattern.js +197 -0
- package/lib/aws/notify/index.d.ts +15 -0
- package/lib/aws/notify/index.js +35 -0
- package/lib/aws/notify/input.d.ts +126 -0
- package/lib/aws/notify/input.js +282 -0
- package/lib/aws/notify/kinesis-canned-metrics.generated.d.ts +68 -0
- package/lib/aws/notify/kinesis-canned-metrics.generated.js +103 -0
- package/lib/aws/notify/kinesis-fixed-canned-metrics.d.ts +195 -0
- package/lib/aws/notify/kinesis-fixed-canned-metrics.js +155 -0
- package/lib/aws/notify/kinesis-stream.d.ts +705 -0
- package/lib/aws/notify/kinesis-stream.js +541 -0
- package/lib/aws/notify/on-event-options.d.ts +54 -0
- package/lib/aws/notify/on-event-options.js +3 -0
- package/lib/aws/notify/queue-config.generated.d.ts +85 -0
- package/lib/aws/notify/queue-config.generated.js +3 -0
- package/lib/aws/notify/queue-policy.d.ts +35 -0
- package/lib/aws/notify/queue-policy.js +39 -0
- package/lib/aws/notify/queue.d.ts +355 -0
- package/lib/aws/notify/queue.js +305 -0
- package/lib/aws/notify/resource-policy.d.ts +41 -0
- package/lib/aws/notify/resource-policy.js +43 -0
- package/lib/aws/notify/rule.d.ts +153 -0
- package/lib/aws/notify/rule.js +227 -0
- package/lib/aws/notify/schedule.d.ts +83 -0
- package/lib/aws/notify/schedule.js +116 -0
- package/lib/aws/notify/target.d.ts +102 -0
- package/lib/aws/notify/target.js +3 -0
- package/lib/aws/notify/targets/event-bus.d.ts +39 -0
- package/lib/aws/notify/targets/event-bus.js +40 -0
- package/lib/aws/notify/targets/function.d.ts +31 -0
- package/lib/aws/notify/targets/function.js +36 -0
- package/lib/aws/notify/targets/index.d.ts +6 -0
- package/lib/aws/notify/targets/index.js +37 -0
- package/lib/aws/notify/targets/log-group.d.ts +89 -0
- package/lib/aws/notify/targets/log-group.js +110 -0
- package/lib/aws/notify/targets/sqs.d.ts +45 -0
- package/lib/aws/notify/targets/sqs.js +73 -0
- package/lib/aws/notify/targets/state-machine.d.ts +36 -0
- package/lib/aws/notify/targets/state-machine.js +39 -0
- package/lib/aws/notify/targets/util.d.ts +71 -0
- package/lib/aws/notify/targets/util.js +130 -0
- package/lib/aws/notify/util.d.ts +13 -0
- package/lib/aws/notify/util.js +69 -0
- package/lib/aws/provider-config.generated.d.ts +220 -0
- package/lib/aws/provider-config.generated.js +3 -0
- package/lib/aws/storage/bucket-destination.d.ts +41 -0
- package/lib/aws/storage/bucket-destination.js +13 -0
- package/lib/aws/storage/bucket-notifications.d.ts +58 -0
- package/lib/aws/storage/bucket-notifications.js +169 -0
- package/lib/aws/storage/bucket-perms.d.ts +9 -0
- package/lib/aws/storage/bucket-perms.js +33 -0
- package/lib/aws/storage/bucket-policy.d.ts +51 -0
- package/lib/aws/storage/bucket-policy.js +53 -0
- package/lib/aws/storage/bucket-source.d.ts +41 -0
- package/lib/aws/storage/bucket-source.js +79 -0
- package/lib/aws/storage/bucket.d.ts +941 -0
- package/lib/aws/storage/bucket.js +869 -0
- package/lib/aws/storage/cors-config.generated.d.ts +57 -0
- package/lib/aws/storage/cors-config.generated.js +3 -0
- package/lib/aws/storage/cors-rule-config.generated.d.ts +38 -0
- package/lib/aws/storage/cors-rule-config.generated.js +3 -0
- package/lib/aws/storage/index.d.ts +12 -0
- package/lib/aws/storage/index.js +31 -0
- package/lib/aws/storage/lifecycle-config.generated.d.ts +55 -0
- package/lib/aws/storage/lifecycle-config.generated.js +3 -0
- package/lib/aws/storage/notification-targets/function.d.ts +11 -0
- package/lib/aws/storage/notification-targets/function.js +48 -0
- package/lib/aws/storage/notification-targets/index.d.ts +2 -0
- package/lib/aws/storage/notification-targets/index.js +21 -0
- package/lib/aws/storage/notification-targets/queue.d.ts +15 -0
- package/lib/aws/storage/notification-targets/queue.js +58 -0
- package/lib/aws/storage/origin-access-identity.d.ts +91 -0
- package/lib/aws/storage/origin-access-identity.js +76 -0
- package/lib/aws/storage/util.d.ts +40 -0
- package/lib/aws/storage/util.js +85 -0
- package/lib/aws/storage/website-config.generated.d.ts +73 -0
- package/lib/aws/storage/website-config.generated.js +3 -0
- package/lib/aws/util.d.ts +4 -0
- package/lib/aws/util.js +25 -0
- package/lib/construct-base.d.ts +69 -0
- package/lib/construct-base.js +89 -0
- package/lib/duration.d.ts +160 -0
- package/lib/duration.js +327 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.js +24 -0
- package/lib/private/index.d.ts +2 -0
- package/lib/private/index.js +19 -0
- package/lib/private/terraform-dependables-aspect.d.ts +20 -0
- package/lib/private/terraform-dependables-aspect.js +95 -0
- package/lib/private/unique-resource-name.d.ts +9 -0
- package/lib/private/unique-resource-name.js +145 -0
- package/lib/size.d.ts +146 -0
- package/lib/size.js +220 -0
- package/lib/stack-base.d.ts +188 -0
- package/lib/stack-base.js +183 -0
- package/lib/token.d.ts +32 -0
- package/lib/token.js +54 -0
- package/node_modules/camel-case/LICENSE +21 -0
- package/node_modules/camel-case/README.md +47 -0
- package/node_modules/camel-case/dist/index.d.ts +5 -0
- package/node_modules/camel-case/dist/index.js +23 -0
- package/node_modules/camel-case/dist/index.js.map +1 -0
- package/node_modules/camel-case/dist/index.spec.d.ts +1 -0
- package/node_modules/camel-case/dist/index.spec.js +26 -0
- package/node_modules/camel-case/dist/index.spec.js.map +1 -0
- package/node_modules/camel-case/dist.es2015/index.d.ts +5 -0
- package/node_modules/camel-case/dist.es2015/index.js +17 -0
- package/node_modules/camel-case/dist.es2015/index.js.map +1 -0
- package/node_modules/camel-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/camel-case/dist.es2015/index.spec.js +24 -0
- package/node_modules/camel-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/camel-case/package.json +89 -0
- package/node_modules/capital-case/LICENSE +21 -0
- package/node_modules/capital-case/README.md +37 -0
- package/node_modules/capital-case/dist/index.d.ts +4 -0
- package/node_modules/capital-case/dist/index.js +16 -0
- package/node_modules/capital-case/dist/index.js.map +1 -0
- package/node_modules/capital-case/dist/index.spec.d.ts +1 -0
- package/node_modules/capital-case/dist/index.spec.js +24 -0
- package/node_modules/capital-case/dist/index.spec.js.map +1 -0
- package/node_modules/capital-case/dist.es2015/index.d.ts +4 -0
- package/node_modules/capital-case/dist.es2015/index.js +11 -0
- package/node_modules/capital-case/dist.es2015/index.js.map +1 -0
- package/node_modules/capital-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/capital-case/dist.es2015/index.spec.js +22 -0
- package/node_modules/capital-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/capital-case/package.json +90 -0
- package/node_modules/change-case/LICENSE +21 -0
- package/node_modules/change-case/README.md +44 -0
- package/node_modules/change-case/dist/index.d.ts +11 -0
- package/node_modules/change-case/dist/index.js +15 -0
- package/node_modules/change-case/dist/index.js.map +1 -0
- package/node_modules/change-case/dist/index.spec.d.ts +1 -0
- package/node_modules/change-case/dist/index.spec.js +9 -0
- package/node_modules/change-case/dist/index.spec.js.map +1 -0
- package/node_modules/change-case/dist.es2015/index.d.ts +11 -0
- package/node_modules/change-case/dist.es2015/index.js +12 -0
- package/node_modules/change-case/dist.es2015/index.js.map +1 -0
- package/node_modules/change-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/change-case/dist.es2015/index.spec.js +7 -0
- package/node_modules/change-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/change-case/package.json +101 -0
- package/node_modules/constant-case/LICENSE +21 -0
- package/node_modules/constant-case/README.md +37 -0
- package/node_modules/constant-case/dist/index.d.ts +3 -0
- package/node_modules/constant-case/dist/index.js +12 -0
- package/node_modules/constant-case/dist/index.js.map +1 -0
- package/node_modules/constant-case/dist/index.spec.d.ts +1 -0
- package/node_modules/constant-case/dist/index.spec.js +26 -0
- package/node_modules/constant-case/dist/index.spec.js.map +1 -0
- package/node_modules/constant-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/constant-case/dist.es2015/index.js +8 -0
- package/node_modules/constant-case/dist.es2015/index.js.map +1 -0
- package/node_modules/constant-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/constant-case/dist.es2015/index.spec.js +24 -0
- package/node_modules/constant-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/constant-case/package.json +90 -0
- package/node_modules/dot-case/LICENSE +21 -0
- package/node_modules/dot-case/README.md +37 -0
- package/node_modules/dot-case/dist/index.d.ts +3 -0
- package/node_modules/dot-case/dist/index.js +11 -0
- package/node_modules/dot-case/dist/index.js.map +1 -0
- package/node_modules/dot-case/dist/index.spec.d.ts +1 -0
- package/node_modules/dot-case/dist/index.spec.js +26 -0
- package/node_modules/dot-case/dist/index.spec.js.map +1 -0
- package/node_modules/dot-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/dot-case/dist.es2015/index.js +7 -0
- package/node_modules/dot-case/dist.es2015/index.js.map +1 -0
- package/node_modules/dot-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/dot-case/dist.es2015/index.spec.js +24 -0
- package/node_modules/dot-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/dot-case/package.json +89 -0
- package/node_modules/esbuild-wasm/LICENSE.md +21 -0
- package/node_modules/esbuild-wasm/README.md +3 -0
- package/node_modules/esbuild-wasm/bin/esbuild +91 -0
- package/node_modules/esbuild-wasm/esbuild.wasm +0 -0
- package/node_modules/esbuild-wasm/esm/browser.d.ts +705 -0
- package/node_modules/esbuild-wasm/esm/browser.js +2370 -0
- package/node_modules/esbuild-wasm/esm/browser.min.js +20 -0
- package/node_modules/esbuild-wasm/lib/browser.d.ts +705 -0
- package/node_modules/esbuild-wasm/lib/browser.js +2415 -0
- package/node_modules/esbuild-wasm/lib/browser.min.js +22 -0
- package/node_modules/esbuild-wasm/lib/main.d.ts +705 -0
- package/node_modules/esbuild-wasm/lib/main.js +2051 -0
- package/node_modules/esbuild-wasm/package.json +19 -0
- package/node_modules/esbuild-wasm/wasm_exec.js +561 -0
- package/node_modules/esbuild-wasm/wasm_exec_node.js +39 -0
- package/node_modules/header-case/LICENSE +21 -0
- package/node_modules/header-case/README.md +37 -0
- package/node_modules/header-case/dist/index.d.ts +3 -0
- package/node_modules/header-case/dist/index.js +11 -0
- package/node_modules/header-case/dist/index.js.map +1 -0
- package/node_modules/header-case/dist/index.spec.d.ts +1 -0
- package/node_modules/header-case/dist/index.spec.js +24 -0
- package/node_modules/header-case/dist/index.spec.js.map +1 -0
- package/node_modules/header-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/header-case/dist.es2015/index.js +7 -0
- package/node_modules/header-case/dist.es2015/index.js.map +1 -0
- package/node_modules/header-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/header-case/dist.es2015/index.spec.js +22 -0
- package/node_modules/header-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/header-case/package.json +89 -0
- package/node_modules/lower-case/LICENSE +21 -0
- package/node_modules/lower-case/README.md +35 -0
- package/node_modules/lower-case/dist/index.d.ts +8 -0
- package/node_modules/lower-case/dist/index.js +53 -0
- package/node_modules/lower-case/dist/index.js.map +1 -0
- package/node_modules/lower-case/dist/index.spec.d.ts +1 -0
- package/node_modules/lower-case/dist/index.spec.js +36 -0
- package/node_modules/lower-case/dist/index.spec.js.map +1 -0
- package/node_modules/lower-case/dist.es2015/index.d.ts +8 -0
- package/node_modules/lower-case/dist.es2015/index.js +48 -0
- package/node_modules/lower-case/dist.es2015/index.js.map +1 -0
- package/node_modules/lower-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/lower-case/dist.es2015/index.spec.js +34 -0
- package/node_modules/lower-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/lower-case/package.json +87 -0
- package/node_modules/mime-db/HISTORY.md +507 -0
- package/node_modules/mime-db/LICENSE +23 -0
- package/node_modules/mime-db/README.md +100 -0
- package/node_modules/mime-db/db.json +8519 -0
- package/node_modules/mime-db/index.js +12 -0
- package/node_modules/mime-db/package.json +60 -0
- package/node_modules/mime-types/HISTORY.md +397 -0
- package/node_modules/mime-types/LICENSE +23 -0
- package/node_modules/mime-types/README.md +113 -0
- package/node_modules/mime-types/index.js +188 -0
- package/node_modules/mime-types/package.json +44 -0
- package/node_modules/no-case/LICENSE +21 -0
- package/node_modules/no-case/README.md +37 -0
- package/node_modules/no-case/dist/index.d.ts +10 -0
- package/node_modules/no-case/dist/index.js +35 -0
- package/node_modules/no-case/dist/index.js.map +1 -0
- package/node_modules/no-case/dist/index.spec.d.ts +1 -0
- package/node_modules/no-case/dist/index.spec.js +59 -0
- package/node_modules/no-case/dist/index.spec.js.map +1 -0
- package/node_modules/no-case/dist.es2015/index.d.ts +10 -0
- package/node_modules/no-case/dist.es2015/index.js +31 -0
- package/node_modules/no-case/dist.es2015/index.js.map +1 -0
- package/node_modules/no-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/no-case/dist.es2015/index.spec.js +57 -0
- package/node_modules/no-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/no-case/package.json +85 -0
- package/node_modules/param-case/LICENSE +21 -0
- package/node_modules/param-case/README.md +37 -0
- package/node_modules/param-case/dist/index.d.ts +3 -0
- package/node_modules/param-case/dist/index.js +11 -0
- package/node_modules/param-case/dist/index.js.map +1 -0
- package/node_modules/param-case/dist/index.spec.d.ts +1 -0
- package/node_modules/param-case/dist/index.spec.js +24 -0
- package/node_modules/param-case/dist/index.spec.js.map +1 -0
- package/node_modules/param-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/param-case/dist.es2015/index.js +7 -0
- package/node_modules/param-case/dist.es2015/index.js.map +1 -0
- package/node_modules/param-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/param-case/dist.es2015/index.spec.js +22 -0
- package/node_modules/param-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/param-case/package.json +91 -0
- package/node_modules/pascal-case/LICENSE +21 -0
- package/node_modules/pascal-case/README.md +47 -0
- package/node_modules/pascal-case/dist/index.d.ts +5 -0
- package/node_modules/pascal-case/dist/index.js +24 -0
- package/node_modules/pascal-case/dist/index.js.map +1 -0
- package/node_modules/pascal-case/dist/index.spec.d.ts +1 -0
- package/node_modules/pascal-case/dist/index.spec.js +25 -0
- package/node_modules/pascal-case/dist/index.spec.js.map +1 -0
- package/node_modules/pascal-case/dist.es2015/index.d.ts +5 -0
- package/node_modules/pascal-case/dist.es2015/index.js +18 -0
- package/node_modules/pascal-case/dist.es2015/index.js.map +1 -0
- package/node_modules/pascal-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/pascal-case/dist.es2015/index.spec.js +23 -0
- package/node_modules/pascal-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/pascal-case/package.json +90 -0
- package/node_modules/path-case/LICENSE +21 -0
- package/node_modules/path-case/README.md +37 -0
- package/node_modules/path-case/dist/index.d.ts +3 -0
- package/node_modules/path-case/dist/index.js +11 -0
- package/node_modules/path-case/dist/index.js.map +1 -0
- package/node_modules/path-case/dist/index.spec.d.ts +1 -0
- package/node_modules/path-case/dist/index.spec.js +24 -0
- package/node_modules/path-case/dist/index.spec.js.map +1 -0
- package/node_modules/path-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/path-case/dist.es2015/index.js +7 -0
- package/node_modules/path-case/dist.es2015/index.js.map +1 -0
- package/node_modules/path-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/path-case/dist.es2015/index.spec.js +22 -0
- package/node_modules/path-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/path-case/package.json +88 -0
- package/node_modules/sentence-case/LICENSE +21 -0
- package/node_modules/sentence-case/README.md +37 -0
- package/node_modules/sentence-case/dist/index.d.ts +4 -0
- package/node_modules/sentence-case/dist/index.js +19 -0
- package/node_modules/sentence-case/dist/index.js.map +1 -0
- package/node_modules/sentence-case/dist/index.spec.d.ts +1 -0
- package/node_modules/sentence-case/dist/index.spec.js +24 -0
- package/node_modules/sentence-case/dist/index.spec.js.map +1 -0
- package/node_modules/sentence-case/dist.es2015/index.d.ts +4 -0
- package/node_modules/sentence-case/dist.es2015/index.js +14 -0
- package/node_modules/sentence-case/dist.es2015/index.js.map +1 -0
- package/node_modules/sentence-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/sentence-case/dist.es2015/index.spec.js +22 -0
- package/node_modules/sentence-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/sentence-case/package.json +89 -0
- package/node_modules/snake-case/LICENSE +21 -0
- package/node_modules/snake-case/README.md +37 -0
- package/node_modules/snake-case/dist/index.d.ts +3 -0
- package/node_modules/snake-case/dist/index.js +11 -0
- package/node_modules/snake-case/dist/index.js.map +1 -0
- package/node_modules/snake-case/dist/index.spec.d.ts +1 -0
- package/node_modules/snake-case/dist/index.spec.js +25 -0
- package/node_modules/snake-case/dist/index.spec.js.map +1 -0
- package/node_modules/snake-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/snake-case/dist.es2015/index.js +7 -0
- package/node_modules/snake-case/dist.es2015/index.js.map +1 -0
- package/node_modules/snake-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/snake-case/dist.es2015/index.spec.js +23 -0
- package/node_modules/snake-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/snake-case/package.json +90 -0
- package/node_modules/tslib/CopyrightNotice.txt +15 -0
- package/node_modules/tslib/LICENSE.txt +12 -0
- package/node_modules/tslib/README.md +164 -0
- package/node_modules/tslib/SECURITY.md +41 -0
- package/node_modules/tslib/modules/index.d.ts +37 -0
- package/node_modules/tslib/modules/index.js +68 -0
- package/node_modules/tslib/modules/package.json +3 -0
- package/node_modules/tslib/package.json +47 -0
- package/node_modules/tslib/tslib.d.ts +453 -0
- package/node_modules/tslib/tslib.es6.html +1 -0
- package/node_modules/tslib/tslib.es6.js +374 -0
- package/node_modules/tslib/tslib.es6.mjs +373 -0
- package/node_modules/tslib/tslib.html +1 -0
- package/node_modules/tslib/tslib.js +424 -0
- package/node_modules/upper-case/README.md +34 -0
- package/node_modules/upper-case/dist/index.d.ts +8 -0
- package/node_modules/upper-case/dist/index.js +49 -0
- package/node_modules/upper-case/dist/index.js.map +1 -0
- package/node_modules/upper-case/dist/index.spec.d.ts +1 -0
- package/node_modules/upper-case/dist/index.spec.js +34 -0
- package/node_modules/upper-case/dist/index.spec.js.map +1 -0
- package/node_modules/upper-case/dist.es2015/index.d.ts +8 -0
- package/node_modules/upper-case/dist.es2015/index.js +44 -0
- package/node_modules/upper-case/dist.es2015/index.js.map +1 -0
- package/node_modules/upper-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/upper-case/dist.es2015/index.spec.js +32 -0
- package/node_modules/upper-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/upper-case/package.json +86 -0
- package/node_modules/upper-case-first/LICENSE +21 -0
- package/node_modules/upper-case-first/README.md +32 -0
- package/node_modules/upper-case-first/dist/index.d.ts +4 -0
- package/node_modules/upper-case-first/dist/index.js +11 -0
- package/node_modules/upper-case-first/dist/index.js.map +1 -0
- package/node_modules/upper-case-first/dist/index.spec.d.ts +1 -0
- package/node_modules/upper-case-first/dist/index.spec.js +20 -0
- package/node_modules/upper-case-first/dist/index.spec.js.map +1 -0
- package/node_modules/upper-case-first/dist.es2015/index.d.ts +4 -0
- package/node_modules/upper-case-first/dist.es2015/index.js +7 -0
- package/node_modules/upper-case-first/dist.es2015/index.js.map +1 -0
- package/node_modules/upper-case-first/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/upper-case-first/dist.es2015/index.spec.js +18 -0
- package/node_modules/upper-case-first/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/upper-case-first/package.json +87 -0
- package/package.json +152 -0
- package/setup.js +2 -0
|
@@ -0,0 +1,492 @@
|
|
|
1
|
+
import { lambdaFunction, cloudwatchLogGroup, securityGroup, lambdaEventSourceMapping } from "@cdktf/provider-aws";
|
|
2
|
+
import { IResolvable } from "cdktf";
|
|
3
|
+
import { Construct } from "constructs";
|
|
4
|
+
import { RetentionDays } from "..";
|
|
5
|
+
import { Architecture } from "./architecture";
|
|
6
|
+
import { EventInvokeConfigOptions } from "./event-invoke-config";
|
|
7
|
+
import { IEventSourceMapping } from "./event-source-mapping";
|
|
8
|
+
import { AliasOptions, Alias } from "./function-alias";
|
|
9
|
+
import { LambdaFunctionBase, IFunction, FunctionAttributes, IEventSource } from "./function-base";
|
|
10
|
+
import { FunctionUrl, FunctionUrlOptions } from "./function-url";
|
|
11
|
+
import { VpcConfig } from "./function-vpc-config.generated";
|
|
12
|
+
import { Duration } from "../../";
|
|
13
|
+
import * as iam from "../iam";
|
|
14
|
+
import { IQueue } from "../notify";
|
|
15
|
+
export interface FunctionOutputs {
|
|
16
|
+
/**
|
|
17
|
+
* AWS Lambda function name
|
|
18
|
+
*/
|
|
19
|
+
readonly name: string;
|
|
20
|
+
/**
|
|
21
|
+
* AWS Lambda arn of the function
|
|
22
|
+
*/
|
|
23
|
+
readonly arn: string;
|
|
24
|
+
/**
|
|
25
|
+
* The IAM Role associated with the Lambda function
|
|
26
|
+
*/
|
|
27
|
+
readonly roleArn: string;
|
|
28
|
+
/**
|
|
29
|
+
* Function URL if enabled
|
|
30
|
+
*/
|
|
31
|
+
readonly url?: string | IResolvable;
|
|
32
|
+
/**
|
|
33
|
+
* Security group of the function if created
|
|
34
|
+
*/
|
|
35
|
+
readonly defaultSecurityGroup?: string | IResolvable;
|
|
36
|
+
}
|
|
37
|
+
export interface FunctionProps extends EventInvokeConfigOptions {
|
|
38
|
+
/**
|
|
39
|
+
* Force function name (for adoption of existing resources).
|
|
40
|
+
*
|
|
41
|
+
* Prefer to use functionNamePrefix.
|
|
42
|
+
*
|
|
43
|
+
* Use [Terraform Resource Meta Arguments](https://developer.hashicorp.com/terraform/language/resources/syntax#meta-arguments)
|
|
44
|
+
* to control lifecycle when replacing the function.
|
|
45
|
+
*
|
|
46
|
+
* @default - If omitted, Refer to `functionNamePrefix`.
|
|
47
|
+
*/
|
|
48
|
+
readonly functionName?: string;
|
|
49
|
+
/**
|
|
50
|
+
* A name prefix for the function.
|
|
51
|
+
*
|
|
52
|
+
* @default - Grid generates a unique physical ID and uses that
|
|
53
|
+
* ID for the function's name.
|
|
54
|
+
*/
|
|
55
|
+
readonly functionNamePrefix?: string;
|
|
56
|
+
/**
|
|
57
|
+
* The environment variables to be passed to the Lambda function.
|
|
58
|
+
*
|
|
59
|
+
* Key-value pairs that Lambda caches and makes available for your Lambda
|
|
60
|
+
* functions. Use environment variables to apply configuration changes, such
|
|
61
|
+
* as test and production environment configurations, without changing your
|
|
62
|
+
* Lambda function source code.
|
|
63
|
+
*/
|
|
64
|
+
readonly environment?: {
|
|
65
|
+
[key: string]: string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Description of what your Lambda Function does.
|
|
69
|
+
*/
|
|
70
|
+
readonly description?: string;
|
|
71
|
+
/**
|
|
72
|
+
* The system architectures compatible with this lambda function.
|
|
73
|
+
* @default Architecture.X86_64
|
|
74
|
+
*/
|
|
75
|
+
readonly architecture?: Architecture;
|
|
76
|
+
/**
|
|
77
|
+
* The tracing mode for the Lambda function.
|
|
78
|
+
*
|
|
79
|
+
* The Lambda function iam role will receive permission to
|
|
80
|
+
* write to AWS X-Ray.
|
|
81
|
+
*
|
|
82
|
+
* @default Tracing.ACTIVE
|
|
83
|
+
*/
|
|
84
|
+
readonly tracing?: Tracing;
|
|
85
|
+
/**
|
|
86
|
+
* The log retention period in days. Defaults to 7.
|
|
87
|
+
*/
|
|
88
|
+
readonly logRetentionInDays?: RetentionDays;
|
|
89
|
+
/**
|
|
90
|
+
* The memory limit in MB.
|
|
91
|
+
*
|
|
92
|
+
* @default 128.
|
|
93
|
+
*/
|
|
94
|
+
readonly memorySize?: number;
|
|
95
|
+
/**
|
|
96
|
+
* The function execution time (in seconds) after which Lambda terminates
|
|
97
|
+
* the function. Because the execution time affects cost, set this value
|
|
98
|
+
* based on the function's expected execution time.
|
|
99
|
+
*
|
|
100
|
+
* @default Duration.seconds(3)
|
|
101
|
+
*/
|
|
102
|
+
readonly timeout?: Duration;
|
|
103
|
+
/**
|
|
104
|
+
* Layers for the Lambda.
|
|
105
|
+
*/
|
|
106
|
+
readonly layers?: string[];
|
|
107
|
+
/**
|
|
108
|
+
* Initial policy statements to add to the created Lambda Role.
|
|
109
|
+
*
|
|
110
|
+
* You can call `addToRolePolicy` to the created lambda to add statements post creation.
|
|
111
|
+
*
|
|
112
|
+
* @default - No policy statements are added to the created Lambda role.
|
|
113
|
+
*/
|
|
114
|
+
readonly initialPolicy?: iam.PolicyStatement[];
|
|
115
|
+
/**
|
|
116
|
+
* Lambda execution role.
|
|
117
|
+
*
|
|
118
|
+
* This is the role that will be assumed by the function upon execution.
|
|
119
|
+
* It controls the permissions that the function will have. The Role must
|
|
120
|
+
* be assumable by the 'lambda.amazonaws.com' service principal.
|
|
121
|
+
*
|
|
122
|
+
* The default Role automatically has permissions granted for Lambda execution. If you
|
|
123
|
+
* provide a Role, you must add the relevant AWS managed policies yourself.
|
|
124
|
+
*
|
|
125
|
+
* The relevant managed policies are "service-role/AWSLambdaBasicExecutionRole" and
|
|
126
|
+
* "service-role/AWSLambdaVPCAccessExecutionRole".
|
|
127
|
+
*
|
|
128
|
+
* @default - A unique role will be generated for this lambda function.
|
|
129
|
+
* Both supplied and generated roles can always be changed by calling `addToRolePolicy`.
|
|
130
|
+
*/
|
|
131
|
+
readonly role?: iam.IRole;
|
|
132
|
+
/**
|
|
133
|
+
* Config for network connectivity to AWS resources in a VPC, specify a list
|
|
134
|
+
* of subnet, and optionally security groups, in the VPC.
|
|
135
|
+
*
|
|
136
|
+
* The Lambda function iam role will receive permission to
|
|
137
|
+
* manage ENIs within the provided network.
|
|
138
|
+
*
|
|
139
|
+
* When you connect a function to a VPC, it can only access resources and the internet through that VPC.
|
|
140
|
+
*
|
|
141
|
+
* See [VPC Settings](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html).
|
|
142
|
+
*/
|
|
143
|
+
readonly networkConfig?: VpcConfig;
|
|
144
|
+
/**
|
|
145
|
+
* The SQS DLQ.
|
|
146
|
+
*
|
|
147
|
+
* The Lambda function iam role will receive permission to
|
|
148
|
+
* send messages on this queue.
|
|
149
|
+
*
|
|
150
|
+
* @default - no deadletter queue
|
|
151
|
+
*/
|
|
152
|
+
readonly deadLetterQueue?: IQueue;
|
|
153
|
+
/**
|
|
154
|
+
* Enabled DLQ. If `deadLetterQueue` is undefined,
|
|
155
|
+
* an SQS queue with default options will be defined for your Function.
|
|
156
|
+
*
|
|
157
|
+
* @default - false unless `deadLetterQueue` is set, which implies DLQ is enabled.
|
|
158
|
+
*/
|
|
159
|
+
readonly deadLetterQueueEnabled?: boolean;
|
|
160
|
+
/**
|
|
161
|
+
* Event sources for this function.
|
|
162
|
+
*
|
|
163
|
+
* You can also add event sources using `addEventSource`.
|
|
164
|
+
*
|
|
165
|
+
* @default - No event sources.
|
|
166
|
+
*/
|
|
167
|
+
readonly events?: IEventSource[];
|
|
168
|
+
/**
|
|
169
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.60.0/docs/resources/lambda_function#reserved_concurrent_executions LambdaFunction#reserved_concurrent_executions}
|
|
170
|
+
*/
|
|
171
|
+
readonly reservedConcurrentExecutions?: number;
|
|
172
|
+
/**
|
|
173
|
+
* Tags to apply to the Lambda function.
|
|
174
|
+
*/
|
|
175
|
+
readonly tags?: {
|
|
176
|
+
[key: string]: string;
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* Setting this property informs the CDK that the imported function ALREADY HAS the necessary permissions
|
|
180
|
+
* for what you are trying to do. When not configured, the CDK attempts to auto-determine whether or not
|
|
181
|
+
* additional permissions are necessary on the function when grant APIs are used. If the CDK tried to add
|
|
182
|
+
* permissions on an imported lambda, it will fail.
|
|
183
|
+
*
|
|
184
|
+
* Set this property *ONLY IF* you are committing to manage the imported function's permissions outside of
|
|
185
|
+
* CDK. You are acknowledging that your CDK code alone will have insufficient permissions to access the
|
|
186
|
+
* imported function.
|
|
187
|
+
*
|
|
188
|
+
* @default false
|
|
189
|
+
*/
|
|
190
|
+
readonly skipPermissions?: boolean;
|
|
191
|
+
/**
|
|
192
|
+
* Sets the loggingFormat for the function.
|
|
193
|
+
* @default LoggingFormat.TEXT
|
|
194
|
+
*/
|
|
195
|
+
readonly loggingFormat?: LoggingFormat;
|
|
196
|
+
/**
|
|
197
|
+
* Sets the application log level for the function.
|
|
198
|
+
* @default ApplicationLogLevel.INFO
|
|
199
|
+
*/
|
|
200
|
+
readonly applicationLogLevel?: ApplicationLogLevel;
|
|
201
|
+
/**
|
|
202
|
+
* Sets the system log level for the function.
|
|
203
|
+
* @default SystemLogLevel.INFO
|
|
204
|
+
*/
|
|
205
|
+
readonly systemLogLevel?: SystemLogLevel;
|
|
206
|
+
/**
|
|
207
|
+
* Whether to publish creation/change as new Lambda Function Version.
|
|
208
|
+
*
|
|
209
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_function#publish LambdaFunction#publish}
|
|
210
|
+
* @default false
|
|
211
|
+
*/
|
|
212
|
+
readonly publish?: boolean | IResolvable;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Provides a Lambda Function resource. Lambda allows you to trigger execution
|
|
216
|
+
* of code in response to events in AWS, enabling serverless backend solutions.
|
|
217
|
+
*
|
|
218
|
+
* The Lambda Function itself includes source code and runtime configuration.
|
|
219
|
+
*
|
|
220
|
+
* This Construct manages permissions as part of the function Principal iam policy.
|
|
221
|
+
* This works for same account resources, but for cross-account resources,
|
|
222
|
+
* you may need to manage access as part of the Resource iam policy.
|
|
223
|
+
*
|
|
224
|
+
* @resource aws_lambda_function
|
|
225
|
+
* @beacon-class compute.IFunction
|
|
226
|
+
*/
|
|
227
|
+
export declare class LambdaFunction extends LambdaFunctionBase implements IFunction {
|
|
228
|
+
/**
|
|
229
|
+
* Latest published version of your Lambda Function.
|
|
230
|
+
*/
|
|
231
|
+
get version(): string;
|
|
232
|
+
/**
|
|
233
|
+
* Import a lambda function into the TerraConstruct spec using its name
|
|
234
|
+
*/
|
|
235
|
+
static fromFunctionName(scope: Construct, id: string, functionName: string): IFunction;
|
|
236
|
+
/**
|
|
237
|
+
* Import a lambda function into the TerraConstruct spec using its ARN.
|
|
238
|
+
*
|
|
239
|
+
* For `Function.addPermissions()` to work on this imported lambda, make sure that is
|
|
240
|
+
* in the same account and region as the stack you are importing it into.
|
|
241
|
+
*/
|
|
242
|
+
static fromFunctionArn(scope: Construct, id: string, functionArn: string): IFunction;
|
|
243
|
+
/**
|
|
244
|
+
* Creates a Lambda function object which represents a function not defined
|
|
245
|
+
* within this stack.
|
|
246
|
+
*
|
|
247
|
+
* For `Function.addPermissions()` to work on this imported lambda, set the sameEnvironment property to true
|
|
248
|
+
* if this imported lambda is in the same account and region as the stack you are importing it into.
|
|
249
|
+
*
|
|
250
|
+
* @param scope The parent construct
|
|
251
|
+
* @param id The name of the lambda construct
|
|
252
|
+
* @param attrs the attributes of the function to import
|
|
253
|
+
*/
|
|
254
|
+
static fromFunctionAttributes(scope: Construct, id: string, attrs: FunctionAttributes): IFunction;
|
|
255
|
+
protected readonly resource: lambdaFunction.LambdaFunction;
|
|
256
|
+
private readonly _outputs;
|
|
257
|
+
/** Strongly Typed Function Outputs */
|
|
258
|
+
get functionOutputs(): FunctionOutputs;
|
|
259
|
+
get outputs(): Record<string, any>;
|
|
260
|
+
/**
|
|
261
|
+
* The name of the function.
|
|
262
|
+
*
|
|
263
|
+
* (not a TOKEN)
|
|
264
|
+
*/
|
|
265
|
+
readonly functionName: string;
|
|
266
|
+
/**
|
|
267
|
+
* The ARN fo the function.
|
|
268
|
+
*/
|
|
269
|
+
get functionArn(): string;
|
|
270
|
+
/**
|
|
271
|
+
* The ARN fo the function.
|
|
272
|
+
* (if versioning is enabled via publish = true)
|
|
273
|
+
*/
|
|
274
|
+
get functionQualifiedArn(): string;
|
|
275
|
+
/**
|
|
276
|
+
* The ARN fo the function.
|
|
277
|
+
*/
|
|
278
|
+
get functionQualifiedInvokeArn(): string;
|
|
279
|
+
/**
|
|
280
|
+
* The architecture of this Lambda Function.
|
|
281
|
+
*/
|
|
282
|
+
readonly architecture: Architecture;
|
|
283
|
+
/**
|
|
284
|
+
* The principal this Lambda Function is running as
|
|
285
|
+
*/
|
|
286
|
+
readonly grantPrincipal: iam.IPrincipal;
|
|
287
|
+
/**
|
|
288
|
+
* The IAM role associated with this function.
|
|
289
|
+
*
|
|
290
|
+
* Undefined if the function was imported without a role.
|
|
291
|
+
*/
|
|
292
|
+
readonly role?: iam.IRole;
|
|
293
|
+
/**
|
|
294
|
+
* The DLQ (as queue) associated with this Lambda Function (this is an optional attribute).
|
|
295
|
+
*/
|
|
296
|
+
readonly deadLetterQueue?: IQueue;
|
|
297
|
+
/**
|
|
298
|
+
* The timeout configured for this lambda.
|
|
299
|
+
*/
|
|
300
|
+
readonly timeout?: Duration;
|
|
301
|
+
/**
|
|
302
|
+
* The construct node where permissions are attached.
|
|
303
|
+
*/
|
|
304
|
+
readonly permissionsNode: import("constructs").Node;
|
|
305
|
+
protected readonly canCreatePermissions = true;
|
|
306
|
+
/**
|
|
307
|
+
* Mapping of invocation principals to grants. Used to de-dupe `grantInvoke()` calls.
|
|
308
|
+
* @internal
|
|
309
|
+
*/
|
|
310
|
+
protected _invocationGrants: Record<string, iam.Grant>;
|
|
311
|
+
/**
|
|
312
|
+
* Mapping of fucntion URL invocation principals to grants. Used to de-dupe `grantInvokeUrl()` calls.
|
|
313
|
+
* @internal
|
|
314
|
+
*/
|
|
315
|
+
protected _functionUrlInvocationGrants: Record<string, iam.Grant>;
|
|
316
|
+
/**
|
|
317
|
+
* The ARN(s) to put into the resource field of the generated IAM policy for grantInvoke()
|
|
318
|
+
*/
|
|
319
|
+
get resourceArnsForGrantInvoke(): string[];
|
|
320
|
+
/** @internal */
|
|
321
|
+
readonly _logGroup: cloudwatchLogGroup.CloudwatchLogGroup;
|
|
322
|
+
/**
|
|
323
|
+
* Environment variables for this function
|
|
324
|
+
*/
|
|
325
|
+
readonly environment: {
|
|
326
|
+
[key: string]: string;
|
|
327
|
+
};
|
|
328
|
+
private _url?;
|
|
329
|
+
/**
|
|
330
|
+
* HTTP Endpoint for this function if defined.
|
|
331
|
+
*
|
|
332
|
+
* use `addFunctionUrl` to enable Endpoint.
|
|
333
|
+
*/
|
|
334
|
+
get url(): string | undefined;
|
|
335
|
+
private _eventSources;
|
|
336
|
+
get eventSources(): lambdaEventSourceMapping.LambdaEventSourceMapping[];
|
|
337
|
+
private _securityGroup?;
|
|
338
|
+
get securityGroup(): securityGroup.SecurityGroup | undefined;
|
|
339
|
+
constructor(scope: Construct, name: string, props: FunctionProps);
|
|
340
|
+
/**
|
|
341
|
+
* Adds an environment variable to this Lambda function.
|
|
342
|
+
* If this is a ref to a Lambda function, this operation results in a no-op.
|
|
343
|
+
* @param key The environment variable key.
|
|
344
|
+
* @param value The environment variable's value.
|
|
345
|
+
*/
|
|
346
|
+
addEnvironment(key: string, value: string): IFunction;
|
|
347
|
+
addFunctionUrl(options?: FunctionUrlOptions): FunctionUrl;
|
|
348
|
+
/**
|
|
349
|
+
* Get Logging Config propety for the function.
|
|
350
|
+
* This method returns the function LoggingConfig Property if the property is set on the
|
|
351
|
+
* function and undefined if not.
|
|
352
|
+
*/
|
|
353
|
+
private getLoggingConfig;
|
|
354
|
+
/**
|
|
355
|
+
* Defines an alias for this function.
|
|
356
|
+
*
|
|
357
|
+
* The alias will automatically be updated to point to the latest version of
|
|
358
|
+
* the function as it is being updated during a deployment.
|
|
359
|
+
*
|
|
360
|
+
* ```ts
|
|
361
|
+
* declare const fn: compute.LambdaFunction;
|
|
362
|
+
*
|
|
363
|
+
* fn.addAlias('Live');
|
|
364
|
+
*
|
|
365
|
+
* // Is equivalent to
|
|
366
|
+
*
|
|
367
|
+
* new compute.Alias(this, 'AliasLive', {
|
|
368
|
+
* aliasName: 'Live',
|
|
369
|
+
* version: fn.version,
|
|
370
|
+
* });
|
|
371
|
+
* ```
|
|
372
|
+
*
|
|
373
|
+
* @param aliasName The name of the alias
|
|
374
|
+
* @param options Alias options
|
|
375
|
+
*/
|
|
376
|
+
addAlias(aliasName: string, options?: AliasOptions): Alias;
|
|
377
|
+
/**
|
|
378
|
+
* Optionally create LambdaFunctionVpcConfig
|
|
379
|
+
*/
|
|
380
|
+
private parseVpcConfig;
|
|
381
|
+
private isQueue;
|
|
382
|
+
private buildDeadLetterQueue;
|
|
383
|
+
/**
|
|
384
|
+
* Optionally create LambdaFunctionDeadLetterConfig
|
|
385
|
+
*/
|
|
386
|
+
private parseDeadLetterConfig;
|
|
387
|
+
private parseTracingConfig;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* X-Ray Tracing Modes (https://docs.aws.amazon.com/lambda/latest/dg/API_TracingConfig.html)
|
|
391
|
+
*/
|
|
392
|
+
export declare enum Tracing {
|
|
393
|
+
/**
|
|
394
|
+
* Lambda will respect any tracing header it receives from an upstream service.
|
|
395
|
+
* If no tracing header is received, Lambda will sample the request based on a fixed rate. Please see the [Using AWS Lambda with AWS X-Ray](https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html) documentation for details on this sampling behavior.
|
|
396
|
+
*/
|
|
397
|
+
ACTIVE = "Active",
|
|
398
|
+
/**
|
|
399
|
+
* Lambda will only trace the request from an upstream service
|
|
400
|
+
* if it contains a tracing header with "sampled=1"
|
|
401
|
+
*/
|
|
402
|
+
PASS_THROUGH = "PassThrough",
|
|
403
|
+
/**
|
|
404
|
+
* Lambda will not trace any request.
|
|
405
|
+
*/
|
|
406
|
+
DISABLED = "Disabled"
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Lambda service will automatically captures system logs about function invocation
|
|
410
|
+
* generated by the Lambda service (known as system logs) and sends these logs to a
|
|
411
|
+
* default CloudWatch log group named after the Lambda function.
|
|
412
|
+
*/
|
|
413
|
+
export declare enum SystemLogLevel {
|
|
414
|
+
/**
|
|
415
|
+
* Lambda will capture only logs at info level.
|
|
416
|
+
*/
|
|
417
|
+
INFO = "INFO",
|
|
418
|
+
/**
|
|
419
|
+
* Lambda will capture only logs at debug level.
|
|
420
|
+
*/
|
|
421
|
+
DEBUG = "DEBUG",
|
|
422
|
+
/**
|
|
423
|
+
* Lambda will capture only logs at warn level.
|
|
424
|
+
*/
|
|
425
|
+
WARN = "WARN"
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Lambda service automatically captures logs generated by the function code
|
|
429
|
+
* (known as application logs) and sends these logs to a default CloudWatch
|
|
430
|
+
* log group named after the Lambda function.
|
|
431
|
+
*/
|
|
432
|
+
export declare enum ApplicationLogLevel {
|
|
433
|
+
/**
|
|
434
|
+
* Lambda will capture only logs at info level.
|
|
435
|
+
*/
|
|
436
|
+
INFO = "INFO",
|
|
437
|
+
/**
|
|
438
|
+
* Lambda will capture only logs at debug level.
|
|
439
|
+
*/
|
|
440
|
+
DEBUG = "DEBUG",
|
|
441
|
+
/**
|
|
442
|
+
* Lambda will capture only logs at warn level.
|
|
443
|
+
*/
|
|
444
|
+
WARN = "WARN",
|
|
445
|
+
/**
|
|
446
|
+
* Lambda will capture only logs at trace level.
|
|
447
|
+
*/
|
|
448
|
+
TRACE = "TRACE",
|
|
449
|
+
/**
|
|
450
|
+
* Lambda will capture only logs at error level.
|
|
451
|
+
*/
|
|
452
|
+
ERROR = "ERROR",
|
|
453
|
+
/**
|
|
454
|
+
* Lambda will capture only logs at fatal level.
|
|
455
|
+
*/
|
|
456
|
+
FATAL = "FATAL"
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* This field takes in 2 values either Text or JSON. By setting this value to Text,
|
|
460
|
+
* will result in the current structure of logs format, whereas, by setting this value to JSON,
|
|
461
|
+
* Lambda will print the logs as Structured JSON Logs, with the corresponding timestamp and log level
|
|
462
|
+
* of each event. Selecting ‘JSON’ format will only allow customer’s to have different log level
|
|
463
|
+
* Application log level and the System log level.
|
|
464
|
+
*/
|
|
465
|
+
export declare enum LoggingFormat {
|
|
466
|
+
/**
|
|
467
|
+
* Lambda Logs text format.
|
|
468
|
+
*/
|
|
469
|
+
TEXT = "Text",
|
|
470
|
+
/**
|
|
471
|
+
* Lambda structured logging in Json format.
|
|
472
|
+
*/
|
|
473
|
+
JSON = "JSON"
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* A destination configuration
|
|
477
|
+
*/
|
|
478
|
+
export interface DlqDestinationConfig {
|
|
479
|
+
/**
|
|
480
|
+
* The Amazon Resource Name (ARN) of the destination resource
|
|
481
|
+
*/
|
|
482
|
+
readonly destination: string;
|
|
483
|
+
}
|
|
484
|
+
/**
|
|
485
|
+
* A DLQ for an event source
|
|
486
|
+
*/
|
|
487
|
+
export interface IEventSourceDlq {
|
|
488
|
+
/**
|
|
489
|
+
* Returns the DLQ destination config of the DLQ
|
|
490
|
+
*/
|
|
491
|
+
bind(target: IEventSourceMapping, targetHandler: IFunction): DlqDestinationConfig;
|
|
492
|
+
}
|