terraconstructs 0.1.3 → 0.1.5
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/.jsii +460 -269
- package/.mise.toml +1 -1
- package/.nvmrc +1 -1
- package/lib/asset-staging.js +1 -1
- package/lib/aws/arn.js +1 -1
- package/lib/aws/aws-asset-manager.js +1 -1
- package/lib/aws/aws-construct.js +1 -1
- package/lib/aws/aws-stack.js +1 -1
- package/lib/aws/aws-tags.js +2 -2
- package/lib/aws/cloudwatch/actions/appscaling.js +1 -1
- package/lib/aws/cloudwatch/actions/ec2.js +1 -1
- package/lib/aws/cloudwatch/actions/lambda.js +1 -1
- package/lib/aws/cloudwatch/actions/sns.js +1 -1
- package/lib/aws/cloudwatch/actions/ssm.js +2 -2
- package/lib/aws/cloudwatch/alarm-base.js +1 -1
- package/lib/aws/cloudwatch/alarm-rule.js +1 -1
- package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
- package/lib/aws/cloudwatch/alarm.js +1 -1
- package/lib/aws/cloudwatch/composite-alarm.js +1 -1
- package/lib/aws/cloudwatch/dashboard.js +1 -1
- package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
- package/lib/aws/cloudwatch/graph.js +8 -8
- package/lib/aws/cloudwatch/layout.js +3 -3
- package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
- package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
- package/lib/aws/cloudwatch/log-group.js +1 -1
- package/lib/aws/cloudwatch/log-query.js +1 -1
- package/lib/aws/cloudwatch/log-stream.js +1 -1
- package/lib/aws/cloudwatch/metric-filter.js +1 -1
- package/lib/aws/cloudwatch/metric.js +2 -2
- package/lib/aws/cloudwatch/pattern.js +3 -3
- package/lib/aws/cloudwatch/policy.js +1 -1
- package/lib/aws/cloudwatch/query-definition.js +2 -2
- package/lib/aws/cloudwatch/stats.js +1 -1
- package/lib/aws/cloudwatch/subscription-filter.js +1 -1
- package/lib/aws/cloudwatch/text.js +1 -1
- package/lib/aws/cloudwatch/variable.js +3 -3
- package/lib/aws/cloudwatch/widget.js +1 -1
- package/lib/aws/compute/access-log.js +4 -4
- package/lib/aws/compute/activity.js +1 -1
- package/lib/aws/compute/alb/application-listener-action.js +1 -1
- package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
- package/lib/aws/compute/alb/application-listener-rule.js +1 -1
- package/lib/aws/compute/alb/application-listener.js +1 -1
- package/lib/aws/compute/alb/application-load-balancer.js +1 -1
- package/lib/aws/compute/alb/application-target-group.js +1 -1
- package/lib/aws/compute/alb/conditions.js +1 -1
- package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
- package/lib/aws/compute/alb/trust-store.js +1 -1
- package/lib/aws/compute/api-definition.js +5 -5
- package/lib/aws/compute/api-key.js +2 -2
- package/lib/aws/compute/architecture.js +1 -1
- package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
- package/lib/aws/compute/authorizer.js +1 -1
- package/lib/aws/compute/authorizers/identity-source.js +1 -1
- package/lib/aws/compute/authorizers/lambda.js +2 -2
- package/lib/aws/compute/base-path-mapping.js +1 -1
- package/lib/aws/compute/base-scalable-attribute.js +1 -1
- package/lib/aws/compute/bastion-host.js +1 -1
- package/lib/aws/compute/chain.js +1 -1
- package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
- package/lib/aws/compute/client-vpn-endpoint.js +2 -2
- package/lib/aws/compute/client-vpn-route.js +2 -2
- package/lib/aws/compute/code.js +44 -11
- package/lib/aws/compute/condition.js +1 -1
- package/lib/aws/compute/connections.js +1 -1
- package/lib/aws/compute/cors.js +1 -1
- package/lib/aws/compute/deployment.js +1 -1
- package/lib/aws/compute/domain-name.js +1 -1
- package/lib/aws/compute/event-invoke-config.js +1 -1
- package/lib/aws/compute/event-source-filter.js +2 -2
- package/lib/aws/compute/event-source-mapping.js +1 -1
- package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
- package/lib/aws/compute/event-sources/s3.js +1 -1
- package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
- package/lib/aws/compute/event-sources/sqs.js +1 -1
- package/lib/aws/compute/fields.js +4 -4
- package/lib/aws/compute/function-alias.js +1 -1
- package/lib/aws/compute/function-base.d.ts +20 -0
- package/lib/aws/compute/function-base.js +23 -3
- package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
- package/lib/aws/compute/function-destinations/function.js +1 -1
- package/lib/aws/compute/function-destinations/sqs.js +1 -1
- package/lib/aws/compute/function-nodejs/Dockerfile +55 -0
- package/lib/aws/compute/function-nodejs/function.js +1 -1
- package/lib/aws/compute/function-nodejs/util.d.ts +1 -1
- package/lib/aws/compute/function-url.js +1 -1
- package/lib/aws/compute/function.d.ts +88 -1
- package/lib/aws/compute/function.js +108 -18
- package/lib/aws/compute/gateway-response.js +2 -2
- package/lib/aws/compute/handler.js +1 -1
- package/lib/aws/compute/instance-types.js +1 -1
- package/lib/aws/compute/instance.js +1 -1
- package/lib/aws/compute/integration.js +1 -1
- package/lib/aws/compute/integrations/aws.js +1 -1
- package/lib/aws/compute/integrations/http.js +1 -1
- package/lib/aws/compute/integrations/lambda.js +1 -1
- package/lib/aws/compute/integrations/mock.js +1 -1
- package/lib/aws/compute/integrations/stepfunctions.js +1 -1
- package/lib/aws/compute/ip-addresses.js +2 -2
- package/lib/aws/compute/ipam.js +1 -1
- package/lib/aws/compute/key-pair.js +1 -1
- package/lib/aws/compute/lambda-api.js +1 -1
- package/lib/aws/compute/launch-template.js +2 -2
- package/lib/aws/compute/lb-shared/base-listener.js +1 -1
- package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
- package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
- package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
- package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
- package/lib/aws/compute/lb-targets/alb-target.js +3 -3
- package/lib/aws/compute/lb-targets/instance-target.js +2 -2
- package/lib/aws/compute/lb-targets/ip-target.js +1 -1
- package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
- package/lib/aws/compute/load-balancer.js +3 -3
- package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
- package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
- package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
- package/lib/aws/compute/machine-image/common.js +1 -1
- package/lib/aws/compute/machine-image/machine-image.js +8 -8
- package/lib/aws/compute/method.js +1 -1
- package/lib/aws/compute/model.js +3 -3
- package/lib/aws/compute/nat.js +5 -5
- package/lib/aws/compute/network-acl-types.js +2 -2
- package/lib/aws/compute/network-acl.js +3 -3
- package/lib/aws/compute/nlb/network-listener-action.js +1 -1
- package/lib/aws/compute/nlb/network-listener.js +1 -1
- package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
- package/lib/aws/compute/nlb/network-target-group.js +1 -1
- package/lib/aws/compute/peer.js +1 -1
- package/lib/aws/compute/placement-group.js +1 -1
- package/lib/aws/compute/port.js +1 -1
- package/lib/aws/compute/prefix-list.js +1 -1
- package/lib/aws/compute/requestvalidator.js +1 -1
- package/lib/aws/compute/resource.js +3 -3
- package/lib/aws/compute/restapi.js +3 -3
- package/lib/aws/compute/route.js +8 -8
- package/lib/aws/compute/runtime.js +1 -1
- package/lib/aws/compute/scalable-target.js +1 -1
- package/lib/aws/compute/schedule.js +1 -1
- package/lib/aws/compute/security-group.js +1 -1
- package/lib/aws/compute/stage.js +2 -2
- package/lib/aws/compute/state-graph.js +1 -1
- package/lib/aws/compute/state-machine-fragment.js +1 -1
- package/lib/aws/compute/state-machine.js +4 -4
- package/lib/aws/compute/states/choice.js +1 -1
- package/lib/aws/compute/states/custom-state.js +1 -1
- package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
- package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
- package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
- package/lib/aws/compute/states/distributed-map.js +1 -1
- package/lib/aws/compute/states/fail.js +1 -1
- package/lib/aws/compute/states/map-base.js +1 -1
- package/lib/aws/compute/states/map.js +1 -1
- package/lib/aws/compute/states/parallel.js +1 -1
- package/lib/aws/compute/states/pass.js +2 -2
- package/lib/aws/compute/states/state.js +1 -1
- package/lib/aws/compute/states/succeed.js +1 -1
- package/lib/aws/compute/states/task-base.js +2 -2
- package/lib/aws/compute/states/task.js +1 -1
- package/lib/aws/compute/states/wait.js +2 -2
- package/lib/aws/compute/step-scaling-action.js +1 -1
- package/lib/aws/compute/step-scaling-policy.js +1 -1
- package/lib/aws/compute/stepfunctions-api.js +1 -1
- package/lib/aws/compute/subnet-v2.js +2 -2
- package/lib/aws/compute/subnet.js +1 -1
- package/lib/aws/compute/target-tracking-scaling-policy.js +1 -1
- package/lib/aws/compute/task-credentials.js +1 -1
- package/lib/aws/compute/task-input.js +1 -1
- package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
- package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
- package/lib/aws/compute/tasks/http/invoke.js +1 -1
- package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
- package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
- package/lib/aws/compute/types.js +1 -1
- package/lib/aws/compute/usage-plan.js +1 -1
- package/lib/aws/compute/user-data.js +3 -3
- package/lib/aws/compute/volume.js +2 -2
- package/lib/aws/compute/vpc-endpoint-service.js +1 -1
- package/lib/aws/compute/vpc-endpoint.js +6 -6
- package/lib/aws/compute/vpc-flow-logs.js +4 -4
- package/lib/aws/compute/vpc-link.js +1 -1
- package/lib/aws/compute/vpc-v2-base.js +1 -1
- package/lib/aws/compute/vpc-v2.js +2 -2
- package/lib/aws/compute/vpc.js +4 -4
- package/lib/aws/compute/vpn.js +3 -3
- package/lib/aws/edge/certificate.js +1 -1
- package/lib/aws/edge/distribution.js +3 -3
- package/lib/aws/edge/dns-alias-record-targets.js +3 -3
- package/lib/aws/edge/dns-record.js +13 -13
- package/lib/aws/edge/dns-zone.js +1 -1
- package/lib/aws/edge/function.js +2 -2
- package/lib/aws/edge/key-value-store.js +4 -4
- package/lib/aws/edge/origin.js +3 -3
- package/lib/aws/edge/response-headers-policy.js +1 -1
- package/lib/aws/encryption/alias.js +1 -1
- package/lib/aws/encryption/key.js +1 -1
- package/lib/aws/encryption/via-service-principal.js +1 -1
- package/lib/aws/iam/grant.js +2 -2
- package/lib/aws/iam/group.js +1 -1
- package/lib/aws/iam/instance-profile.js +1 -1
- package/lib/aws/iam/managed-policy.js +1 -1
- package/lib/aws/iam/oidc-provider.js +1 -1
- package/lib/aws/iam/policy-document.js +1 -1
- package/lib/aws/iam/policy-statement.js +1 -1
- package/lib/aws/iam/policy.js +1 -1
- package/lib/aws/iam/principals.js +20 -20
- package/lib/aws/iam/role.js +1 -1
- package/lib/aws/iam/saml-provider.js +2 -2
- package/lib/aws/iam/unknown-principal.js +1 -1
- package/lib/aws/iam/user.js +1 -1
- package/lib/aws/network/simple-ipv4-vpc.d.ts +1 -0
- package/lib/aws/network/simple-ipv4-vpc.js +3 -2
- package/lib/aws/network/subnet-group.js +3 -3
- package/lib/aws/network/subnet.d.ts +9 -0
- package/lib/aws/network/subnet.js +14 -5
- package/lib/aws/notify/archive.js +1 -1
- package/lib/aws/notify/connection.js +3 -3
- package/lib/aws/notify/event-bus.js +3 -3
- package/lib/aws/notify/event-pattern.js +1 -1
- package/lib/aws/notify/input.js +2 -2
- package/lib/aws/notify/kinesis-stream.js +1 -1
- package/lib/aws/notify/notification-rule.js +1 -1
- package/lib/aws/notify/policy.js +1 -1
- package/lib/aws/notify/queue-policy.js +1 -1
- package/lib/aws/notify/queue.js +1 -1
- package/lib/aws/notify/resource-policy.js +1 -1
- package/lib/aws/notify/rule.js +1 -1
- package/lib/aws/notify/schedule.js +1 -1
- package/lib/aws/notify/subscription-filter.js +1 -1
- package/lib/aws/notify/subscription.js +4 -4
- package/lib/aws/notify/subscriptions/email.js +1 -1
- package/lib/aws/notify/subscriptions/lambda.js +1 -1
- package/lib/aws/notify/subscriptions/sms.js +1 -1
- package/lib/aws/notify/subscriptions/sqs.js +1 -1
- package/lib/aws/notify/subscriptions/url.js +1 -1
- package/lib/aws/notify/targets/event-bus.js +1 -1
- package/lib/aws/notify/targets/function.js +1 -1
- package/lib/aws/notify/targets/log-group.js +2 -2
- package/lib/aws/notify/targets/sqs.js +1 -1
- package/lib/aws/notify/targets/state-machine.js +1 -1
- package/lib/aws/notify/topic-base.js +1 -1
- package/lib/aws/notify/topic.js +1 -1
- package/lib/aws/storage/assets/image-asset.js +3 -3
- package/lib/aws/storage/assets/s3.js +1 -1
- package/lib/aws/storage/auth-token.js +2 -2
- package/lib/aws/storage/billing.js +1 -1
- package/lib/aws/storage/bucket-notifications.js +1 -1
- package/lib/aws/storage/bucket-policy.js +1 -1
- package/lib/aws/storage/bucket-source.js +1 -1
- package/lib/aws/storage/bucket.js +2 -2
- package/lib/aws/storage/capacity.js +1 -1
- package/lib/aws/storage/ecr-repository.js +3 -3
- package/lib/aws/storage/encryption.js +6 -14
- package/lib/aws/storage/notification-targets/function.js +1 -1
- package/lib/aws/storage/notification-targets/queue.js +1 -1
- package/lib/aws/storage/origin-access-identity.js +1 -1
- package/lib/aws/storage/parameter.js +2 -2
- package/lib/aws/storage/table.js +3 -3
- package/lib/bundling.js +3 -3
- package/lib/construct-base.js +2 -2
- package/lib/duration.js +1 -1
- package/lib/errors.d.ts +118 -0
- package/lib/errors.js +215 -0
- package/lib/expiration.js +1 -1
- package/lib/fs/ignore.js +4 -4
- package/lib/fs/index.js +1 -1
- package/lib/private/asset-staging.d.ts +1 -1
- package/lib/size.js +1 -1
- package/lib/stack-base.js +1 -1
- package/lib/terra-func.js +1 -1
- package/lib/time-zone.js +1 -1
- package/package.json +21 -22
- /package/node_modules/{minimatch/node_modules/brace-expansion → brace-expansion}/LICENSE +0 -0
- /package/node_modules/{minimatch/node_modules/brace-expansion → brace-expansion}/README.md +0 -0
- /package/node_modules/{minimatch/node_modules/brace-expansion → brace-expansion}/index.js +0 -0
- /package/node_modules/{minimatch/node_modules/brace-expansion → brace-expansion}/package.json +0 -0
|
@@ -144,5 +144,5 @@ class FunctionUrl extends aws_construct_1.AwsConstructBase {
|
|
|
144
144
|
}
|
|
145
145
|
exports.FunctionUrl = FunctionUrl;
|
|
146
146
|
_a = JSII_RTTI_SYMBOL_1;
|
|
147
|
-
FunctionUrl[_a] = { fqn: "terraconstructs.aws.compute.FunctionUrl", version: "0.1.
|
|
147
|
+
FunctionUrl[_a] = { fqn: "terraconstructs.aws.compute.FunctionUrl", version: "0.1.5" };
|
|
148
148
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24tdXJsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2Z1bmN0aW9uLXVybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNEQUF3RDtBQUV4RCxvREFBbUU7QUFJbkUsOEJBQThCO0FBRTlCOztHQUVHO0FBQ0gsSUFBWSxtQkFVWDtBQVZELFdBQVksbUJBQW1CO0lBQzdCOztPQUVHO0lBQ0gsMENBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCxvQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQVZXLG1CQUFtQixtQ0FBbkIsbUJBQW1CLFFBVTlCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLFVBY1g7QUFkRCxXQUFZLFVBQVU7SUFDcEI7Ozs7T0FJRztJQUNILG1DQUFxQixDQUFBO0lBRXJCOzs7O09BSUc7SUFDSCxpREFBbUMsQ0FBQTtBQUNyQyxDQUFDLEVBZFcsVUFBVSwwQkFBVixVQUFVLFFBY3JCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLFVBaUNYO0FBakNELFdBQVksVUFBVTtJQUNwQjs7T0FFRztJQUNILHlCQUFXLENBQUE7SUFDWDs7T0FFRztJQUNILHlCQUFXLENBQUE7SUFDWDs7T0FFRztJQUNILDJCQUFhLENBQUE7SUFDYjs7T0FFRztJQUNILDJCQUFhLENBQUE7SUFDYjs7T0FFRztJQUNILCtCQUFpQixDQUFBO0lBQ2pCOztPQUVHO0lBQ0gsNkJBQWUsQ0FBQTtJQUNmOztPQUVHO0lBQ0gsaUNBQW1CLENBQUE7SUFDbkI7O09BRUc7SUFDSCx1QkFBUyxDQUFBO0FBQ1gsQ0FBQyxFQWpDVyxVQUFVLDBCQUFWLFVBQVUsUUFpQ3JCO0FBZ0lEOzs7O0dBSUc7QUFDSCxNQUFhLFdBQVksU0FBUSxnQ0FBZ0I7SUFFL0MsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFtQkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1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LElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsWUFBWSxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ2pDLFlBQVksRUFBRSxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztZQUNyRCxZQUFZLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDakMsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ2xDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRTtTQUNqQyxDQUFDO0lBQ0osQ0FBQzs7QUE3Rkgsa0NBOEZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbGFtYmRhRnVuY3Rpb25VcmwgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IElBd3NDb25zdHJ1Y3QsIEF3c0NvbnN0cnVjdEJhc2UgfSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgSUFsaWFzIH0gZnJvbSBcIi4vZnVuY3Rpb24tYWxpYXNcIjtcbmltcG9ydCB7IElGdW5jdGlvbiB9IGZyb20gXCIuL2Z1bmN0aW9uLWJhc2VcIjtcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcIi4uLy4uL2R1cmF0aW9uXCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uL2lhbVwiO1xuXG4vKipcbiAqIFRoZSBhdXRoIHR5cGVzIGZvciBhIGZ1bmN0aW9uIHVybFxuICovXG5leHBvcnQgZW51bSBGdW5jdGlvblVybEF1dGhUeXBlIHtcbiAgLyoqXG4gICAqIFJlc3RyaWN0IGFjY2VzcyB0byBhdXRoZW50aWNhdGVkIElBTSB1c2VycyBvbmx5XG4gICAqL1xuICBBV1NfSUFNID0gXCJBV1NfSUFNXCIsXG5cbiAgLyoqXG4gICAqIEJ5cGFzcyBJQU0gYXV0aGVudGljYXRpb24gdG8gY3JlYXRlIGEgcHVibGljIGVuZHBvaW50XG4gICAqL1xuICBOT05FID0gXCJOT05FXCIsXG59XG5cbi8qKlxuICogVGhlIGludm9rZSBtb2RlcyBmb3IgYSBMYW1iZGEgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGVudW0gSW52b2tlTW9kZSB7XG4gIC8qKlxuICAgKiBEZWZhdWx0IG9wdGlvbi4gTGFtYmRhIGludm9rZXMgeW91ciBmdW5jdGlvbiB1c2luZyB0aGUgSW52b2tlIEFQSSBvcGVyYXRpb24uXG4gICAqIEludm9jYXRpb24gcmVzdWx0cyBhcmUgYXZhaWxhYmxlIHdoZW4gdGhlIHBheWxvYWQgaXMgY29tcGxldGUuXG4gICAqIFRoZSBtYXhpbXVtIHBheWxvYWQgc2l6ZSBpcyA2IE1CLlxuICAgKi9cbiAgQlVGRkVSRUQgPSBcIkJVRkZFUkVEXCIsXG5cbiAgLyoqXG4gICAqIFlvdXIgZnVuY3Rpb24gc3RyZWFtcyBwYXlsb2FkIHJlc3VsdHMgYXMgdGhleSBiZWNvbWUgYXZhaWxhYmxlLlxuICAgKiBMYW1iZGEgaW52b2tlcyB5b3VyIGZ1bmN0aW9uIHVzaW5nIHRoZSBJbnZva2VXaXRoUmVzcG9uc2VTdHJlYW0gQVBJIG9wZXJhdGlvbi5cbiAgICogVGhlIG1heGltdW0gcmVzcG9uc2UgcGF5bG9hZCBzaXplIGlzIDIwIE1CLCBob3dldmVyLCB5b3UgY2FuIHJlcXVlc3QgYSBxdW90YSBpbmNyZWFzZS5cbiAgICovXG4gIFJFU1BPTlNFX1NUUkVBTSA9IFwiUkVTUE9OU0VfU1RSRUFNXCIsXG59XG5cbi8qKlxuICogQWxsIGh0dHAgcmVxdWVzdCBtZXRob2RzXG4gKi9cbmV4cG9ydCBlbnVtIEh0dHBNZXRob2Qge1xuICAvKipcbiAgICogVGhlIEdFVCBtZXRob2QgcmVxdWVzdHMgYSByZXByZXNlbnRhdGlvbiBvZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlLlxuICAgKi9cbiAgR0VUID0gXCJHRVRcIixcbiAgLyoqXG4gICAqIFRoZSBQVVQgbWV0aG9kIHJlcGxhY2VzIGFsbCBjdXJyZW50IHJlcHJlc2VudGF0aW9ucyBvZiB0aGUgdGFyZ2V0IHJlc291cmNlIHdpdGggdGhlIHJlcXVlc3QgcGF5bG9hZC5cbiAgICovXG4gIFBVVCA9IFwiUFVUXCIsXG4gIC8qKlxuICAgKiBUaGUgSEVBRCBtZXRob2QgYXNrcyBmb3IgYSByZXNwb25zZSBpZGVudGljYWwgdG8gdGhhdCBvZiBhIEdFVCByZXF1ZXN0LCBidXQgd2l0aG91dCB0aGUgcmVzcG9uc2UgYm9keS5cbiAgICovXG4gIEhFQUQgPSBcIkhFQURcIixcbiAgLyoqXG4gICAqIFRoZSBQT1NUIG1ldGhvZCBpcyB1c2VkIHRvIHN1Ym1pdCBhbiBlbnRpdHkgdG8gdGhlIHNwZWNpZmllZCByZXNvdXJjZSwgb2Z0ZW4gY2F1c2luZyBhIGNoYW5nZSBpbiBzdGF0ZSBvciBzaWRlIGVmZmVjdHMgb24gdGhlIHNlcnZlci5cbiAgICovXG4gIFBPU1QgPSBcIlBPU1RcIixcbiAgLyoqXG4gICAqIFRoZSBERUxFVEUgbWV0aG9kIGRlbGV0ZXMgdGhlIHNwZWNpZmllZCByZXNvdXJjZS5cbiAgICovXG4gIERFTEVURSA9IFwiREVMRVRFXCIsXG4gIC8qKlxuICAgKiBUaGUgUEFUQ0ggbWV0aG9kIGFwcGxpZXMgcGFydGlhbCBtb2RpZmljYXRpb25zIHRvIGEgcmVzb3VyY2UuXG4gICAqL1xuICBQQVRDSCA9IFwiUEFUQ0hcIixcbiAgLyoqXG4gICAqIFRoZSBPUFRJT05TIG1ldGhvZCBkZXNjcmliZXMgdGhlIGNvbW11bmljYXRpb24gb3B0aW9ucyBmb3IgdGhlIHRhcmdldCByZXNvdXJjZS5cbiAgICovXG4gIE9QVElPTlMgPSBcIk9QVElPTlNcIixcbiAgLyoqXG4gICAqIFRoZSB3aWxkY2FyZCBlbnRyeSB0byBhbGxvdyBhbGwgbWV0aG9kcy5cbiAgICovXG4gIEFMTCA9IFwiKlwiLFxufVxuXG4vKipcbiAqIFNwZWNpZmllcyBhIGNyb3NzLW9yaWdpbiBhY2Nlc3MgcHJvcGVydHkgZm9yIGEgZnVuY3Rpb24gVVJMXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25VcmxDb3JzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFsbG93IGNvb2tpZXMgb3Igb3RoZXIgY3JlZGVudGlhbHMgaW4gcmVxdWVzdHMgdG8geW91ciBmdW5jdGlvbiBVUkwuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBhbGxvd0NyZWRlbnRpYWxzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSGVhZGVycyB0aGF0IGFyZSBzcGVjaWZpZWQgaW4gdGhlIEFjY2Vzcy1Db250cm9sLVJlcXVlc3QtSGVhZGVycyBoZWFkZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gaGVhZGVycyBhbGxvd2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dlZEhlYWRlcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQW4gSFRUUCBtZXRob2QgdGhhdCB5b3UgYWxsb3cgdGhlIG9yaWdpbiB0byBleGVjdXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFtIdHRwTWV0aG9kLkFMTF1cbiAgICovXG4gIHJlYWRvbmx5IGFsbG93ZWRNZXRob2RzPzogSHR0cE1ldGhvZFtdO1xuXG4gIC8qKlxuICAgKiBPbmUgb3IgbW9yZSBvcmlnaW5zIHlvdSB3YW50IGN1c3RvbWVycyB0byBiZSBhYmxlIHRvIGFjY2VzcyB0aGUgYnVja2V0IGZyb20uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gb3JpZ2lucyBhbGxvd2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dlZE9yaWdpbnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogT25lIG9yIG1vcmUgaGVhZGVycyBpbiB0aGUgcmVzcG9uc2UgdGhhdCB5b3Ugd2FudCBjdXN0b21lcnMgdG8gYmUgYWJsZSB0byBhY2Nlc3MgZnJvbSB0aGVpciBhcHBsaWNhdGlvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gaGVhZGVycyBleHBvc2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgZXhwb3NlZEhlYWRlcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHRpbWUgaW4gc2Vjb25kcyB0aGF0IHlvdXIgYnJvd3NlciBpcyB0byBjYWNoZSB0aGUgcHJlZmxpZ2h0IHJlc3BvbnNlIGZvciB0aGUgc3BlY2lmaWVkIHJlc291cmNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEJyb3dzZXIgZGVmYXVsdCBvZiA1IHNlY29uZHMuXG4gICAqL1xuICByZWFkb25seSBtYXhBZ2U/OiBEdXJhdGlvbjtcbn1cblxuLyoqXG4gKiBPdXRwdXRzIHRoYXQgY2FuIGJlIGV4cG9zZWQgdGhyb3VnaCB0aGUgZ3JpZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uVXJsT3V0cHV0cyB7XG4gIC8qKlxuICAgKiBUaGUgdXJsIG9mIHRoZSBMYW1iZGEgZnVuY3Rpb24uXG4gICAqL1xuICByZWFkb25seSB1cmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgZnVuY3Rpb24gdGhpcyBVUkwgcmVmZXJzIHRvXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvbkFybjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgTGFtYmRhIGZ1bmN0aW9uIFVybFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElGdW5jdGlvblVybCBleHRlbmRzIElBd3NDb25zdHJ1Y3Qge1xuICAvKiogc3Ryb25nbHkgdHlwZWQgRnVuY3Rpb25VcmxPdXRwdXRzICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uVXJsT3V0cHV0czogRnVuY3Rpb25VcmxPdXRwdXRzO1xuXG4gIC8qKlxuICAgKiBUaGUgdXJsIG9mIHRoZSBMYW1iZGEgZnVuY3Rpb24uXG4gICAqXG4gICAqIEBhdHRyaWJ1dGUgRnVuY3Rpb25VcmxcbiAgICovXG4gIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBmdW5jdGlvbiB0aGlzIFVSTCByZWZlcnMgdG9cbiAgICpcbiAgICogQGF0dHJpYnV0ZSBGdW5jdGlvbkFyblxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25Bcm46IHN0cmluZztcblxuICAvKipcbiAgICogR3JhbnQgdGhlIGdpdmVuIGlkZW50aXR5IHBlcm1pc3Npb25zIHRvIGludm9rZSB0aGlzIExhbWJkYSBGdW5jdGlvbiBVUkxcbiAgICovXG4gIGdyYW50SW52b2tlVXJsKGlkZW50aXR5OiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudDtcbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIGFkZCBhIHVybCB0byBhIExhbWJkYSBmdW5jdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uVXJsT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBhdXRoZW50aWNhdGlvbiB0aGF0IHlvdXIgZnVuY3Rpb24gVVJMIHVzZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IEZ1bmN0aW9uVXJsQXV0aFR5cGUuQVdTX0lBTVxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aFR5cGU/OiBGdW5jdGlvblVybEF1dGhUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgY3Jvc3Mtb3JpZ2luIHJlc291cmNlIHNoYXJpbmcgKENPUlMpIHNldHRpbmdzIGZvciB5b3VyIGZ1bmN0aW9uIFVSTC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBDT1JTIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICByZWFkb25seSBjb3JzPzogRnVuY3Rpb25VcmxDb3JzT3B0aW9ucztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgaW52b2NhdGlvbiBtb2RlIHRoYXQgeW91ciBMYW1iZGEgZnVuY3Rpb24gdXNlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgSW52b2tlTW9kZS5CVUZGRVJFRFxuICAgKi9cbiAgcmVhZG9ubHkgaW52b2tlTW9kZT86IEludm9rZU1vZGU7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBGdW5jdGlvblVybFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uVXJsUHJvcHMgZXh0ZW5kcyBGdW5jdGlvblVybE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGZ1bmN0aW9uIHRvIHdoaWNoIHRoaXMgdXJsIHJlZmVycy5cbiAgICogSXQgY2FuIGFsc28gYmUgYW4gYEFsaWFzYCBidXQgbm90IGEgYFZlcnNpb25gLlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb246IElGdW5jdGlvbjtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIGEgTGFtYmRhIGZ1bmN0aW9uIHVybFxuICpcbiAqIEByZXNvdXJjZSBhd3NfbGFtYmRhX2Z1bmN0aW9uX3VybFxuICovXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25VcmwgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIGltcGxlbWVudHMgSUZ1bmN0aW9uVXJsIHtcbiAgcHVibGljIHJlYWRvbmx5IGZ1bmN0aW9uVXJsT3V0cHV0czogRnVuY3Rpb25VcmxPdXRwdXRzO1xuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZnVuY3Rpb25VcmxPdXRwdXRzO1xuICB9XG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZTogbGFtYmRhRnVuY3Rpb25VcmwuTGFtYmRhRnVuY3Rpb25Vcmw7XG4gIC8qKlxuICAgKiBUaGUgdXJsIG9mIHRoZSBMYW1iZGEgZnVuY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGZ1bmN0aW9uIHRoaXMgVVJMIHJlZmVycyB0b1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZ1bmN0aW9uQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhdXRoZW50aWNhdGlvbiB0eXBlIHVzZWQgZm9yIHRoaXMgRnVuY3Rpb24gVVJMXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXV0aFR5cGU6IEZ1bmN0aW9uVXJsQXV0aFR5cGU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBmdW5jdGlvbjogSUZ1bmN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBGdW5jdGlvblVybFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIElmIHRoZSB0YXJnZXQgZnVuY3Rpb24gaXMgYW4gYWxpYXMsIHRoZW4gaXQgbXVzdCBiZSBjb25maWd1cmVkIHVzaW5nIHRoZSB1bmRlcmx5aW5nIGZ1bmN0aW9uXG4gICAgLy8gQVJOLCBhbmQgdGhlIGFsaWFzIG5hbWUgYXMgYSBxdWFsaWZpZXIuXG4gICAgY29uc3QgeyB0YXJnZXRGdW5jdGlvbiwgYWxpYXMgfSA9IHRoaXMuaW5zdGFuY2VPZkFsaWFzKHByb3BzLmZ1bmN0aW9uKVxuICAgICAgPyB7IHRhcmdldEZ1bmN0aW9uOiBwcm9wcy5mdW5jdGlvbi5sYW1iZGEsIGFsaWFzOiBwcm9wcy5mdW5jdGlvbiB9XG4gICAgICA6IHsgdGFyZ2V0RnVuY3Rpb246IHByb3BzLmZ1bmN0aW9uLCBhbGlhczogdW5kZWZpbmVkIH07XG5cbiAgICB0aGlzLmF1dGhUeXBlID0gcHJvcHMuYXV0aFR5cGUgPz8gRnVuY3Rpb25VcmxBdXRoVHlwZS5BV1NfSUFNO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBsYW1iZGFGdW5jdGlvblVybC5MYW1iZGFGdW5jdGlvblVybCh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIGF1dGhvcml6YXRpb25UeXBlOiB0aGlzLmF1dGhUeXBlLFxuICAgICAgY29yczogcHJvcHMuY29ycyA/IHRoaXMucmVuZGVyQ29ycyhwcm9wcy5jb3JzKSA6IHVuZGVmaW5lZCxcbiAgICAgIGludm9rZU1vZGU6IHByb3BzLmludm9rZU1vZGUsXG4gICAgICBmdW5jdGlvbk5hbWU6IHRhcmdldEZ1bmN0aW9uLmZ1bmN0aW9uQXJuLCAvLyBUaGUgbmFtZSAob3IgQVJOKSBvZiB0aGUgTGFtYmRhIGZ1bmN0aW9uLlxuICAgICAgcXVhbGlmaWVyOiBhbGlhcz8uYWxpYXNOYW1lLFxuICAgIH0pO1xuICAgIC8vIFRoZSBhbGlhc05hbWUgaXMgYSByZXF1aXJlZCBwaHlzaWNhbCBuYW1lLCBzbyB1c2luZyBpdCBkb2VzIG5vdCBpbXBseSBhIGRlcGVuZGVuY3ksIHNvIHdlXG4gICAgLy8gbXVzdCBcIm1hbnVhbGx5XCIgcmVnaXN0ZXIgdGhlIGRlcGVuZGVuY3ksIG9yIGVsc2UgVEYgbWF5IGF0dGVtcHQgdG8gdXNlIGJlZm9yZSBpdCBleGlzdHMuXG4gICAgaWYgKGFsaWFzPy5ub2RlLmRlZmF1bHRDaGlsZCAhPSBudWxsKSB7XG4gICAgICB0aGlzLnJlc291cmNlLm5vZGUuYWRkRGVwZW5kZW5jeShhbGlhcy5ub2RlLmRlZmF1bHRDaGlsZCk7XG4gICAgfVxuXG4gICAgdGhpcy51cmwgPSB0aGlzLnJlc291cmNlLmZ1bmN0aW9uVXJsO1xuICAgIHRoaXMuZnVuY3Rpb25Bcm4gPSB0aGlzLnJlc291cmNlLmZ1bmN0aW9uQXJuO1xuICAgIHRoaXMuZnVuY3Rpb24gPSBwcm9wcy5mdW5jdGlvbjtcblxuICAgIGlmIChwcm9wcy5hdXRoVHlwZSA9PT0gRnVuY3Rpb25VcmxBdXRoVHlwZS5OT05FKSB7XG4gICAgICBwcm9wcy5mdW5jdGlvbi5hZGRQZXJtaXNzaW9uKFwiaW52b2tlLWZ1bmN0aW9uLXVybFwiLCB7XG4gICAgICAgIHByaW5jaXBhbDogbmV3IGlhbS5BbnlQcmluY2lwYWwoKSxcbiAgICAgICAgYWN0aW9uOiBcImxhbWJkYTpJbnZva2VGdW5jdGlvblVybFwiLFxuICAgICAgICBmdW5jdGlvblVybEF1dGhUeXBlOiBwcm9wcy5hdXRoVHlwZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmZ1bmN0aW9uVXJsT3V0cHV0cyA9IHtcbiAgICAgIHVybDogdGhpcy51cmwsXG4gICAgICBmdW5jdGlvbkFybjogdGhpcy5mdW5jdGlvbkFybixcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdyYW50SW52b2tlVXJsKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5mdW5jdGlvbi5ncmFudEludm9rZVVybChncmFudGVlKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFuY2VPZkFsaWFzKGZuOiBJRnVuY3Rpb24pOiBmbiBpcyBJQWxpYXMge1xuICAgIHJldHVybiBcImFsaWFzTmFtZVwiIGluIGZuO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJDb3JzKFxuICAgIGNvcnM6IEZ1bmN0aW9uVXJsQ29yc09wdGlvbnMsXG4gICk6IGxhbWJkYUZ1bmN0aW9uVXJsLkxhbWJkYUZ1bmN0aW9uVXJsQ29ycyB7XG4gICAgaWYgKFxuICAgICAgY29ycy5tYXhBZ2UgJiZcbiAgICAgICFjb3JzLm1heEFnZS5pc1VucmVzb2x2ZWQoKSAmJlxuICAgICAgY29ycy5tYXhBZ2UudG9TZWNvbmRzKCkgPiA4NjQwMFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgRnVuY3Rpb25VcmwgQ09SUyBtYXhBZ2Ugc2hvdWxkIGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byA4NjQwMCBzZWNzIChnb3QgJHtjb3JzLm1heEFnZS50b1NlY29uZHMoKX0pYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGFsbG93Q3JlZGVudGlhbHM6IGNvcnMuYWxsb3dDcmVkZW50aWFscyxcbiAgICAgIGFsbG93SGVhZGVyczogY29ycy5hbGxvd2VkSGVhZGVycyxcbiAgICAgIGFsbG93TWV0aG9kczogY29ycy5hbGxvd2VkTWV0aG9kcyA/PyBbSHR0cE1ldGhvZC5BTExdLFxuICAgICAgYWxsb3dPcmlnaW5zOiBjb3JzLmFsbG93ZWRPcmlnaW5zLFxuICAgICAgZXhwb3NlSGVhZGVyczogY29ycy5leHBvc2VkSGVhZGVycyxcbiAgICAgIG1heEFnZTogY29ycy5tYXhBZ2U/LnRvU2Vjb25kcygpLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -10,10 +10,12 @@ import { AliasOptions, Alias } from "./function-alias";
|
|
|
10
10
|
import { LambdaFunctionBase, IFunction, FunctionAttributes, IEventSource } from "./function-base";
|
|
11
11
|
import { FunctionUrl, FunctionUrlOptions } from "./function-url";
|
|
12
12
|
import { VpcConfig } from "./function-vpc-config.generated";
|
|
13
|
+
import { Runtime } from "./runtime";
|
|
14
|
+
import { ISecurityGroup } from "./security-group";
|
|
15
|
+
import { IVpc, SubnetSelection } from "./vpc";
|
|
13
16
|
import { Duration } from "../../duration";
|
|
14
17
|
import * as iam from "../iam";
|
|
15
18
|
import { IQueue } from "../notify";
|
|
16
|
-
import { Runtime } from "./runtime";
|
|
17
19
|
export interface FunctionOutputs {
|
|
18
20
|
/**
|
|
19
21
|
* AWS Lambda function name
|
|
@@ -131,6 +133,14 @@ export interface FunctionOptions extends EventInvokeConfigOptions {
|
|
|
131
133
|
* Both supplied and generated roles can always be changed by calling `addToRolePolicy`.
|
|
132
134
|
*/
|
|
133
135
|
readonly role?: iam.IRole;
|
|
136
|
+
/**
|
|
137
|
+
* Lambda Functions in a public subnet can NOT access the internet.
|
|
138
|
+
* Use this property to acknowledge this limitation and still place the function in a public subnet.
|
|
139
|
+
* @see https://stackoverflow.com/questions/52992085/why-cant-an-aws-lambda-function-inside-a-public-subnet-in-a-vpc-connect-to-the/52994841#52994841
|
|
140
|
+
*
|
|
141
|
+
* @default false
|
|
142
|
+
*/
|
|
143
|
+
readonly allowPublicSubnet?: boolean;
|
|
134
144
|
/**
|
|
135
145
|
* Config for network connectivity to AWS resources in a VPC, specify a list
|
|
136
146
|
* of subnet, and optionally security groups, in the VPC.
|
|
@@ -141,8 +151,74 @@ export interface FunctionOptions extends EventInvokeConfigOptions {
|
|
|
141
151
|
* When you connect a function to a VPC, it can only access resources and the internet through that VPC.
|
|
142
152
|
*
|
|
143
153
|
* See [VPC Settings](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html).
|
|
154
|
+
*
|
|
155
|
+
* @deprecated - This property is deprecated, use vpc and other related properties instead
|
|
144
156
|
*/
|
|
145
157
|
readonly networkConfig?: VpcConfig;
|
|
158
|
+
/**
|
|
159
|
+
* VPC network to place Lambda network interfaces
|
|
160
|
+
*
|
|
161
|
+
* Specify this if the Lambda function needs to access resources in a VPC.
|
|
162
|
+
* This is required when `vpcSubnets` is specified.
|
|
163
|
+
*
|
|
164
|
+
* @default - Function is not placed within a VPC.
|
|
165
|
+
*/
|
|
166
|
+
readonly vpc?: IVpc;
|
|
167
|
+
/**
|
|
168
|
+
* Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets.
|
|
169
|
+
*
|
|
170
|
+
* Only used if 'vpc' is supplied.
|
|
171
|
+
*
|
|
172
|
+
* @default false
|
|
173
|
+
*/
|
|
174
|
+
readonly ipv6AllowedForDualStack?: boolean;
|
|
175
|
+
/**
|
|
176
|
+
* Where to place the network interfaces within the VPC.
|
|
177
|
+
*
|
|
178
|
+
* This requires `vpc` to be specified in order for interfaces to actually be
|
|
179
|
+
* placed in the subnets. If `vpc` is not specify, this will raise an error.
|
|
180
|
+
*
|
|
181
|
+
* Note: Internet access for Lambda Functions requires a NAT Gateway, so picking
|
|
182
|
+
* public subnets is not allowed (unless `allowPublicSubnet` is set to `true`).
|
|
183
|
+
*
|
|
184
|
+
* @default - the Vpc default strategy if not specified
|
|
185
|
+
*/
|
|
186
|
+
readonly vpcSubnets?: SubnetSelection;
|
|
187
|
+
/**
|
|
188
|
+
* The list of security groups to associate with the Lambda's network interfaces.
|
|
189
|
+
*
|
|
190
|
+
* Only used if 'vpc' is supplied.
|
|
191
|
+
*
|
|
192
|
+
* @default - If the function is placed within a VPC and a security group is
|
|
193
|
+
* not specified, either by this or securityGroup prop, a dedicated security
|
|
194
|
+
* group will be created for this function.
|
|
195
|
+
*/
|
|
196
|
+
readonly securityGroups?: ISecurityGroup[];
|
|
197
|
+
/**
|
|
198
|
+
* Whether to allow the Lambda to send all network traffic (except ipv6)
|
|
199
|
+
*
|
|
200
|
+
* If set to false, you must individually add traffic rules to allow the
|
|
201
|
+
* Lambda to connect to network targets.
|
|
202
|
+
*
|
|
203
|
+
* Do not specify this property if the `securityGroups` or `securityGroup` property is set.
|
|
204
|
+
* Instead, configure `allowAllOutbound` directly on the security group.
|
|
205
|
+
*
|
|
206
|
+
* @default true
|
|
207
|
+
*/
|
|
208
|
+
readonly allowAllOutbound?: boolean;
|
|
209
|
+
/**
|
|
210
|
+
* Whether to allow the Lambda to send all ipv6 network traffic
|
|
211
|
+
*
|
|
212
|
+
* If set to true, there will only be a single egress rule which allows all
|
|
213
|
+
* outbound ipv6 traffic. If set to false, you must individually add traffic rules to allow the
|
|
214
|
+
* Lambda to connect to network targets using ipv6.
|
|
215
|
+
*
|
|
216
|
+
* Do not specify this property if the `securityGroups` or `securityGroup` property is set.
|
|
217
|
+
* Instead, configure `allowAllIpv6Outbound` directly on the security group.
|
|
218
|
+
*
|
|
219
|
+
* @default false
|
|
220
|
+
*/
|
|
221
|
+
readonly allowAllIpv6Outbound?: boolean;
|
|
146
222
|
/**
|
|
147
223
|
* The SQS DLQ.
|
|
148
224
|
*
|
|
@@ -327,6 +403,10 @@ export declare class LambdaFunction extends LambdaFunctionBase implements IFunct
|
|
|
327
403
|
* Undefined if the function was imported without a role.
|
|
328
404
|
*/
|
|
329
405
|
readonly role?: iam.IRole;
|
|
406
|
+
/**
|
|
407
|
+
* The runtime configured for this lambda.
|
|
408
|
+
*/
|
|
409
|
+
readonly runtime: Runtime;
|
|
330
410
|
/**
|
|
331
411
|
* The DLQ (as queue) associated with this Lambda Function (this is an optional attribute).
|
|
332
412
|
*/
|
|
@@ -415,6 +495,13 @@ export declare class LambdaFunction extends LambdaFunctionBase implements IFunct
|
|
|
415
495
|
* Optionally create LambdaFunctionVpcConfig
|
|
416
496
|
*/
|
|
417
497
|
private parseVpcConfig;
|
|
498
|
+
/**
|
|
499
|
+
* If configured, set up the VPC-related properties
|
|
500
|
+
*
|
|
501
|
+
* Returns the VpcConfig that should be added to the
|
|
502
|
+
* Lambda creation properties.
|
|
503
|
+
*/
|
|
504
|
+
private configureVpc;
|
|
418
505
|
private isQueue;
|
|
419
506
|
private buildDeadLetterQueue;
|
|
420
507
|
/**
|