terraconstructs 0.0.10 → 0.0.12
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 +104486 -34582
- package/lib/aws/arn.js +1 -1
- package/lib/aws/aws-construct.d.ts +1 -1
- package/lib/aws/aws-construct.js +28 -2
- package/lib/aws/aws-stack.d.ts +2 -4
- package/lib/aws/aws-stack.js +21 -8
- package/lib/aws/aws-tags.d.ts +58 -0
- package/lib/aws/aws-tags.js +77 -0
- package/lib/aws/cloudwatch/actions/ec2.js +1 -1
- package/lib/aws/cloudwatch/actions/lambda.js +1 -1
- 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.d.ts +1 -1
- package/lib/aws/cloudwatch/metric-filter.js +4 -4
- 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/private/env-tokens.js +5 -6
- package/lib/aws/cloudwatch/private/metric-util.js +4 -5
- package/lib/aws/cloudwatch/private/object.js +2 -3
- package/lib/aws/cloudwatch/private/rendering.js +3 -3
- package/lib/aws/cloudwatch/private/statistic.js +6 -7
- package/lib/aws/cloudwatch/query-definition.js +2 -2
- package/lib/aws/cloudwatch/stats.js +1 -1
- package/lib/aws/cloudwatch/subscription-filter.d.ts +1 -1
- package/lib/aws/cloudwatch/subscription-filter.js +4 -4
- package/lib/aws/cloudwatch/text.js +1 -1
- package/lib/aws/cloudwatch/variable.js +3 -3
- package/lib/aws/cloudwatch/widget.d.ts +1 -1
- package/lib/aws/cloudwatch/widget.js +4 -4
- package/lib/aws/compute/activity.js +3 -2
- package/lib/aws/compute/alb/application-listener-action.d.ts +334 -0
- package/lib/aws/compute/alb/application-listener-action.js +281 -0
- package/lib/aws/compute/alb/application-listener-certificate.d.ts +35 -0
- package/lib/aws/compute/alb/application-listener-certificate.js +35 -0
- package/lib/aws/compute/alb/application-listener-rule.d.ts +233 -0
- package/lib/aws/compute/alb/application-listener-rule.js +220 -0
- package/lib/aws/compute/alb/application-listener.d.ts +574 -0
- package/lib/aws/compute/alb/application-listener.js +538 -0
- package/lib/aws/compute/alb/application-load-balancer.d.ts +715 -0
- package/lib/aws/compute/alb/application-load-balancer.js +780 -0
- package/lib/aws/compute/alb/application-target-group.d.ts +339 -0
- package/lib/aws/compute/alb/application-target-group.js +427 -0
- package/lib/aws/compute/alb/conditions.d.ts +61 -0
- package/lib/aws/compute/alb/conditions.js +164 -0
- package/lib/aws/compute/alb/trust-store-revocation.d.ts +59 -0
- package/lib/aws/compute/alb/trust-store-revocation.js +46 -0
- package/lib/aws/compute/alb/trust-store.d.ts +86 -0
- package/lib/aws/compute/alb/trust-store.js +79 -0
- package/lib/aws/compute/architecture.js +1 -1
- package/lib/aws/compute/aspects/require-imdsv2-aspect.d.ts +75 -0
- package/lib/aws/compute/aspects/require-imdsv2-aspect.js +106 -0
- package/lib/aws/compute/bastion-host.d.ts +172 -0
- package/lib/aws/compute/bastion-host.js +114 -0
- package/lib/aws/compute/chain.js +1 -1
- package/lib/aws/compute/cidr-splits.d.ts +49 -0
- package/lib/aws/compute/cidr-splits.js +59 -0
- package/lib/aws/compute/client-vpn-authorization-rule.d.ts +43 -0
- package/lib/aws/compute/client-vpn-authorization-rule.js +30 -0
- package/lib/aws/compute/client-vpn-endpoint-types.d.ts +62 -0
- package/lib/aws/compute/client-vpn-endpoint-types.js +25 -0
- package/lib/aws/compute/client-vpn-endpoint.d.ts +239 -0
- package/lib/aws/compute/client-vpn-endpoint.js +259 -0
- package/lib/aws/compute/client-vpn-route.d.ts +67 -0
- package/lib/aws/compute/client-vpn-route.js +57 -0
- package/lib/aws/compute/condition.js +1 -1
- package/lib/aws/compute/connections.d.ts +137 -0
- package/lib/aws/compute/connections.js +208 -0
- package/lib/aws/compute/ec2-augmentations.generated.d.ts +53 -0
- package/lib/aws/compute/ec2-augmentations.generated.js +35 -0
- package/lib/aws/compute/ec2-canned-metrics.generated.d.ts +555 -0
- package/lib/aws/compute/ec2-canned-metrics.generated.js +681 -0
- package/lib/aws/compute/ec2-util-v2.d.ts +141 -0
- package/lib/aws/compute/ec2-util-v2.js +286 -0
- package/lib/aws/compute/ec2-util.d.ts +52 -0
- package/lib/aws/compute/ec2-util.js +138 -0
- package/lib/aws/compute/elasticloadbalancing-canned-metrics.generated.d.ts +176 -0
- package/lib/aws/compute/elasticloadbalancing-canned-metrics.generated.js +119 -0
- package/lib/aws/compute/elasticloadbalancingv2-canned-metrics.generated.d.ts +860 -0
- package/lib/aws/compute/elasticloadbalancingv2-canned-metrics.generated.js +597 -0
- 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.js +2 -2
- 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.js +1 -1
- package/lib/aws/compute/function-url.js +1 -1
- package/lib/aws/compute/function-vpc-config.generated.d.ts +3 -3
- package/lib/aws/compute/function-vpc-config.generated.js +1 -1
- package/lib/aws/compute/function.d.ts +1 -1
- package/lib/aws/compute/function.js +5 -5
- package/lib/aws/compute/index-alpha.d.ts +5 -0
- package/lib/aws/compute/index-alpha.js +22 -0
- package/lib/aws/compute/index.d.ts +60 -0
- package/lib/aws/compute/index.js +70 -2
- package/lib/aws/compute/instance-types.d.ts +1354 -0
- package/lib/aws/compute/instance-types.js +1683 -0
- package/lib/aws/compute/instance.d.ts +436 -0
- package/lib/aws/compute/instance.js +262 -0
- package/lib/aws/compute/ip-addresses.d.ts +249 -0
- package/lib/aws/compute/ip-addresses.js +248 -0
- package/lib/aws/compute/ipam.d.ts +309 -0
- package/lib/aws/compute/ipam.js +306 -0
- package/lib/aws/compute/key-pair.d.ts +178 -0
- package/lib/aws/compute/key-pair.js +194 -0
- package/lib/aws/compute/lambda-augmentations.generated.d.ts +65 -0
- package/lib/aws/compute/lambda-augmentations.generated.js +41 -0
- package/lib/aws/compute/lambda-canned-metrics.generated.d.ts +316 -0
- package/lib/aws/compute/lambda-canned-metrics.generated.js +119 -0
- package/lib/aws/compute/launch-template.d.ts +540 -0
- package/lib/aws/compute/launch-template.js +468 -0
- package/lib/aws/compute/lb-shared/access-logs-accounts.d.ts +7 -0
- package/lib/aws/compute/lb-shared/access-logs-accounts.js +46 -0
- package/lib/aws/compute/lb-shared/base-listener.d.ts +113 -0
- package/lib/aws/compute/lb-shared/base-listener.js +181 -0
- package/lib/aws/compute/lb-shared/base-load-balancer.d.ts +212 -0
- package/lib/aws/compute/lb-shared/base-load-balancer.js +290 -0
- package/lib/aws/compute/lb-shared/base-target-group.d.ts +382 -0
- package/lib/aws/compute/lb-shared/base-target-group.js +364 -0
- package/lib/aws/compute/lb-shared/enums.d.ts +282 -0
- package/lib/aws/compute/lb-shared/enums.js +301 -0
- package/lib/aws/compute/lb-shared/grid-lookup-types.d.ts +42 -0
- package/lib/aws/compute/lb-shared/grid-lookup-types.js +53 -0
- package/lib/aws/compute/lb-shared/imported.d.ts +24 -0
- package/lib/aws/compute/lb-shared/imported.js +27 -0
- package/lib/aws/compute/lb-shared/lb-listener-config.generated.d.ts +194 -0
- package/lib/aws/compute/lb-shared/lb-listener-config.generated.js +3 -0
- package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.d.ts +56 -0
- package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.js +3 -0
- package/lib/aws/compute/lb-shared/listener-action.d.ts +14 -0
- package/lib/aws/compute/lb-shared/listener-action.js +4 -0
- package/lib/aws/compute/lb-shared/listener-certificate.d.ts +28 -0
- package/lib/aws/compute/lb-shared/listener-certificate.js +29 -0
- package/lib/aws/compute/lb-shared/load-balancer-targets.d.ts +93 -0
- package/lib/aws/compute/lb-shared/load-balancer-targets.js +127 -0
- package/lib/aws/compute/lb-shared/util.d.ts +113 -0
- package/lib/aws/compute/lb-shared/util.js +264 -0
- package/lib/aws/compute/lb-targets/alb-target.d.ts +67 -0
- package/lib/aws/compute/lb-targets/alb-target.js +100 -0
- package/lib/aws/compute/lb-targets/index.d.ts +4 -0
- package/lib/aws/compute/lb-targets/index.js +22 -0
- package/lib/aws/compute/lb-targets/instance-target.d.ts +42 -0
- package/lib/aws/compute/lb-targets/instance-target.js +67 -0
- package/lib/aws/compute/lb-targets/ip-target.d.ts +55 -0
- package/lib/aws/compute/lb-targets/ip-target.js +79 -0
- package/lib/aws/compute/lb-targets/lambda-target.d.ts +25 -0
- package/lib/aws/compute/lb-targets/lambda-target.js +50 -0
- package/lib/aws/compute/load-balancer.d.ts +336 -0
- package/lib/aws/compute/load-balancer.js +287 -0
- package/lib/aws/compute/machine-image/amazon-linux-2022.d.ts +63 -0
- package/lib/aws/compute/machine-image/amazon-linux-2022.js +84 -0
- package/lib/aws/compute/machine-image/amazon-linux-2023.d.ts +63 -0
- package/lib/aws/compute/machine-image/amazon-linux-2023.js +84 -0
- package/lib/aws/compute/machine-image/amazon-linux2.d.ts +76 -0
- package/lib/aws/compute/machine-image/amazon-linux2.js +87 -0
- package/lib/aws/compute/machine-image/common.d.ts +181 -0
- package/lib/aws/compute/machine-image/common.js +122 -0
- package/lib/aws/compute/machine-image/index.d.ts +5 -0
- package/lib/aws/compute/machine-image/index.js +22 -0
- package/lib/aws/compute/machine-image/machine-image.d.ts +463 -0
- package/lib/aws/compute/machine-image/machine-image.js +566 -0
- package/lib/aws/compute/machine-image/utils.d.ts +2 -0
- package/lib/aws/compute/machine-image/utils.js +17 -0
- package/lib/aws/compute/nat.d.ts +325 -0
- package/lib/aws/compute/nat.js +455 -0
- package/lib/aws/compute/network-acl-types.d.ts +152 -0
- package/lib/aws/compute/network-acl-types.js +156 -0
- package/lib/aws/compute/network-acl.d.ts +285 -0
- package/lib/aws/compute/network-acl.js +207 -0
- package/lib/aws/compute/network-util.d.ts +116 -0
- package/lib/aws/compute/network-util.js +241 -0
- package/lib/aws/compute/nlb/network-listener-action.d.ts +92 -0
- package/lib/aws/compute/nlb/network-listener-action.js +146 -0
- package/lib/aws/compute/nlb/network-listener-certificate.d.ts +24 -0
- package/lib/aws/compute/nlb/network-listener-certificate.js +25 -0
- package/lib/aws/compute/nlb/network-listener.d.ts +248 -0
- package/lib/aws/compute/nlb/network-listener.js +217 -0
- package/lib/aws/compute/nlb/network-load-balancer.d.ts +315 -0
- package/lib/aws/compute/nlb/network-load-balancer.js +360 -0
- package/lib/aws/compute/nlb/network-target-group.d.ts +153 -0
- package/lib/aws/compute/nlb/network-target-group.js +223 -0
- package/lib/aws/compute/peer.d.ts +64 -0
- package/lib/aws/compute/peer.js +235 -0
- package/lib/aws/compute/placement-group.d.ts +161 -0
- package/lib/aws/compute/placement-group.js +133 -0
- package/lib/aws/compute/port.d.ts +287 -0
- package/lib/aws/compute/port.js +390 -0
- package/lib/aws/compute/prefix-list.d.ts +131 -0
- package/lib/aws/compute/prefix-list.js +114 -0
- package/lib/aws/compute/private/context-stub.d.ts +7 -0
- package/lib/aws/compute/private/context-stub.js +43 -0
- package/lib/aws/compute/private/ebs-util.d.ts +14 -0
- package/lib/aws/compute/private/ebs-util.js +145 -0
- package/lib/aws/compute/private/intrinstics.js +2 -1
- package/lib/aws/compute/private/json-path.js +8 -8
- package/lib/aws/compute/private/util.js +2 -3
- package/lib/aws/compute/route.d.ts +547 -0
- package/lib/aws/compute/route.js +469 -0
- package/lib/aws/compute/security-group.d.ts +414 -0
- package/lib/aws/compute/security-group.js +538 -0
- 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.d.ts +2 -2
- package/lib/aws/compute/state-machine.js +14 -12
- 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 +5 -5
- 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/stepfunctions-canned-metrics.generated.d.ts +83 -0
- package/lib/aws/compute/stepfunctions-canned-metrics.generated.js +127 -0
- package/lib/aws/compute/subnet-v2.d.ts +213 -0
- package/lib/aws/compute/subnet-v2.js +405 -0
- package/lib/aws/compute/subnet.d.ts +37 -0
- package/lib/aws/compute/subnet.js +181 -0
- 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/private/task-utils.js +3 -4
- package/lib/aws/compute/tasks/resource-arn-suffix.js +2 -3
- 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 +2 -2
- package/lib/aws/compute/user-data.d.ts +270 -0
- package/lib/aws/compute/user-data.js +487 -0
- package/lib/aws/compute/util.d.ts +1 -1
- package/lib/aws/compute/util.js +4 -5
- package/lib/aws/compute/volume.d.ts +480 -0
- package/lib/aws/compute/volume.js +426 -0
- package/lib/aws/compute/vpc-endpoint-service.d.ts +149 -0
- package/lib/aws/compute/vpc-endpoint-service.js +90 -0
- package/lib/aws/compute/vpc-endpoint.d.ts +742 -0
- package/lib/aws/compute/vpc-endpoint.js +811 -0
- package/lib/aws/compute/vpc-flow-logs.d.ts +551 -0
- package/lib/aws/compute/vpc-flow-logs.js +693 -0
- package/lib/aws/compute/vpc-lookup.d.ts +73 -0
- package/lib/aws/compute/vpc-lookup.js +3 -0
- package/lib/aws/compute/vpc-v2-base.d.ts +353 -0
- package/lib/aws/compute/vpc-v2-base.js +493 -0
- package/lib/aws/compute/vpc-v2.d.ts +385 -0
- package/lib/aws/compute/vpc-v2.js +408 -0
- package/lib/aws/compute/vpc.d.ts +1448 -0
- package/lib/aws/compute/vpc.js +1495 -0
- package/lib/aws/compute/vpn.d.ts +443 -0
- package/lib/aws/compute/vpn.js +397 -0
- package/lib/aws/compute/windows-versions.d.ts +418 -0
- package/lib/aws/compute/windows-versions.js +426 -0
- package/lib/aws/edge/certificate-base.d.ts +20 -0
- package/lib/aws/edge/certificate-base.js +28 -0
- package/lib/aws/edge/certificate.d.ts +23 -2
- package/lib/aws/edge/certificate.js +54 -4
- package/lib/aws/edge/distribution.js +3 -3
- package/lib/aws/edge/dns-alias-record-targets.js +2 -2
- package/lib/aws/edge/dns-record.js +16 -16
- package/lib/aws/edge/dns-zone.d.ts +20 -2
- package/lib/aws/edge/dns-zone.js +25 -10
- package/lib/aws/edge/function.js +2 -2
- package/lib/aws/edge/index.d.ts +1 -0
- package/lib/aws/edge/index.js +2 -1
- package/lib/aws/edge/key-value-store.js +4 -4
- package/lib/aws/edge/origin.js +8 -6
- 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/index.d.ts +1 -0
- package/lib/aws/iam/index.js +2 -1
- package/lib/aws/iam/instance-profile.d.ts +155 -0
- package/lib/aws/iam/instance-profile.js +124 -0
- package/lib/aws/iam/managed-policy.js +1 -1
- package/lib/aws/iam/oidc-provider.js +1 -1
- package/lib/aws/iam/policy-document-config.generated.d.ts +8 -8
- package/lib/aws/iam/policy-document-config.generated.js +1 -1
- package/lib/aws/iam/policy-document.js +1 -1
- package/lib/aws/iam/policy-statement-props.generated.d.ts +8 -8
- package/lib/aws/iam/policy-statement-props.generated.js +1 -1
- package/lib/aws/iam/policy-statement.js +9 -9
- package/lib/aws/iam/policy.js +1 -1
- package/lib/aws/iam/principals.js +26 -26
- package/lib/aws/iam/private/assume-role-policy.js +2 -3
- package/lib/aws/iam/private/comparable-principal.js +2 -3
- package/lib/aws/iam/private/immutable-role.d.ts +2 -1
- package/lib/aws/iam/private/immutable-role.js +3 -3
- package/lib/aws/iam/private/imported-role.d.ts +1 -1
- package/lib/aws/iam/private/imported-role.js +3 -3
- package/lib/aws/iam/private/merge-statements.js +2 -3
- package/lib/aws/iam/private/util.js +4 -4
- package/lib/aws/iam/role.js +1 -1
- package/lib/aws/iam/saml-provider.d.ts +1 -1
- package/lib/aws/iam/saml-provider.js +6 -6
- package/lib/aws/iam/unknown-principal.js +1 -1
- package/lib/aws/iam/utils.js +2 -3
- package/lib/aws/index.d.ts +1 -0
- package/lib/aws/index.js +4 -1
- package/lib/aws/network/simple-ipv4-vpc.js +5 -5
- package/lib/aws/network/subnet-group.js +3 -3
- package/lib/aws/network/subnet.d.ts +1 -1
- package/lib/aws/network/subnet.js +7 -7
- package/lib/aws/notify/archive.js +3 -2
- package/lib/aws/notify/connection.js +5 -4
- package/lib/aws/notify/event-bus.js +5 -4
- package/lib/aws/notify/event-pattern.js +3 -3
- package/lib/aws/notify/index.js +3 -1
- package/lib/aws/notify/input.js +4 -3
- package/lib/aws/notify/kinesis-stream.js +3 -2
- package/lib/aws/notify/on-event-options.js +2 -1
- package/lib/aws/notify/queue-config.generated.d.ts +18 -11
- package/lib/aws/notify/queue-config.generated.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 +3 -2
- package/lib/aws/notify/schedule.js +2 -2
- package/lib/aws/notify/sqs-augmentations.generated.d.ts +125 -0
- package/lib/aws/notify/sqs-augmentations.generated.js +74 -0
- package/lib/aws/notify/target.js +2 -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/targets/util.d.ts +1 -1
- package/lib/aws/notify/targets/util.js +10 -11
- package/lib/aws/notify/util.js +4 -4
- package/lib/aws/provider-config.generated.d.ts +33 -33
- package/lib/aws/provider-config.generated.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.d.ts +298 -65
- package/lib/aws/storage/bucket.js +548 -225
- package/lib/aws/storage/cors-config.generated.d.ts +3 -3
- package/lib/aws/storage/cors-config.generated.js +1 -1
- package/lib/aws/storage/cors-rule-config.generated.d.ts +5 -5
- package/lib/aws/storage/cors-rule-config.generated.js +1 -1
- package/lib/aws/storage/index.d.ts +1 -0
- package/lib/aws/storage/index.js +2 -1
- package/lib/aws/storage/lifecycle-config.generated.d.ts +11 -11
- package/lib/aws/storage/lifecycle-config.generated.js +1 -1
- package/lib/aws/storage/notification-targets/function.js +6 -6
- package/lib/aws/storage/notification-targets/queue.js +1 -1
- package/lib/aws/storage/origin-access-identity.d.ts +1 -1
- package/lib/aws/storage/origin-access-identity.js +5 -4
- package/lib/aws/storage/parameter-util.d.ts +12 -0
- package/lib/aws/storage/parameter-util.js +65 -0
- package/lib/aws/storage/parameter.d.ts +526 -0
- package/lib/aws/storage/parameter.js +606 -0
- package/lib/aws/storage/s3-canned-metrics.generated.d.ts +22 -0
- package/lib/aws/storage/s3-canned-metrics.generated.js +23 -0
- package/lib/aws/storage/util.d.ts +25 -3
- package/lib/aws/storage/util.js +84 -17
- package/lib/aws/storage/website-config.generated.d.ts +5 -5
- package/lib/aws/storage/website-config.generated.js +1 -1
- package/lib/aws/util.js +2 -3
- package/lib/construct-base.d.ts +10 -1
- package/lib/construct-base.js +9 -6
- package/lib/duration.js +1 -1
- package/lib/expiration.d.ts +48 -0
- package/lib/expiration.js +68 -0
- package/lib/helpers-internal/index.d.ts +1 -0
- package/lib/helpers-internal/index.js +7 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/private/md5.d.ts +4 -0
- package/lib/private/md5.js +14 -0
- package/lib/private/unique-resource-name.js +3 -4
- package/lib/size.js +2 -2
- package/lib/stack-base.d.ts +4 -23
- package/lib/stack-base.js +9 -30
- package/lib/terra-func.d.ts +103 -0
- package/lib/terra-func.js +170 -0
- package/lib/token.js +5 -5
- package/package.json +15 -8
- package/bun.lockb +0 -0
|
@@ -0,0 +1,574 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { ListenerAction } from "./application-listener-action";
|
|
3
|
+
import { FixedResponse, RedirectResponse } from "./application-listener-rule";
|
|
4
|
+
import { IApplicationLoadBalancer } from "./application-load-balancer";
|
|
5
|
+
import { ApplicationTargetGroup, IApplicationLoadBalancerTarget, IApplicationTargetGroup } from "./application-target-group";
|
|
6
|
+
import { ListenerCondition } from "./conditions";
|
|
7
|
+
import { ITrustStore } from "./trust-store";
|
|
8
|
+
import { Duration } from "../../../duration";
|
|
9
|
+
import { Connections, IConnectable } from "../connections";
|
|
10
|
+
import { BaseListener, BaseListenerLookupOptions, IListener } from "../lb-shared/base-listener";
|
|
11
|
+
import { HealthCheck } from "../lb-shared/base-target-group";
|
|
12
|
+
import { ApplicationProtocol, ApplicationProtocolVersion, TargetGroupLoadBalancingAlgorithmType, SslPolicy } from "../lb-shared/enums";
|
|
13
|
+
import { IListenerCertificate } from "../lb-shared/listener-certificate";
|
|
14
|
+
import { Port } from "../port";
|
|
15
|
+
import { ISecurityGroup } from "../security-group";
|
|
16
|
+
/**
|
|
17
|
+
* Basic properties for an ApplicationListener
|
|
18
|
+
*/
|
|
19
|
+
export interface BaseApplicationListenerProps {
|
|
20
|
+
/**
|
|
21
|
+
* The protocol to use
|
|
22
|
+
*
|
|
23
|
+
* @default - Determined from port if known.
|
|
24
|
+
*/
|
|
25
|
+
readonly protocol?: ApplicationProtocol;
|
|
26
|
+
/**
|
|
27
|
+
* The port on which the listener listens for requests.
|
|
28
|
+
*
|
|
29
|
+
* @default - Determined from protocol if known.
|
|
30
|
+
*/
|
|
31
|
+
readonly port?: number;
|
|
32
|
+
/**
|
|
33
|
+
* The certificates to use on this listener
|
|
34
|
+
*
|
|
35
|
+
* @default - No certificates.
|
|
36
|
+
* @deprecated Use the `certificates` property instead
|
|
37
|
+
*/
|
|
38
|
+
readonly certificateArns?: string[];
|
|
39
|
+
/**
|
|
40
|
+
* Certificate list of ACM cert ARNs. You must provide exactly one certificate if the listener protocol is HTTPS or TLS.
|
|
41
|
+
*
|
|
42
|
+
* @default - No certificates.
|
|
43
|
+
*/
|
|
44
|
+
readonly certificates?: IListenerCertificate[];
|
|
45
|
+
/**
|
|
46
|
+
* The security policy that defines which ciphers and protocols are supported.
|
|
47
|
+
*
|
|
48
|
+
* @default - The current predefined security policy.
|
|
49
|
+
*/
|
|
50
|
+
readonly sslPolicy?: SslPolicy;
|
|
51
|
+
/**
|
|
52
|
+
* Default target groups to load balance to
|
|
53
|
+
*
|
|
54
|
+
* All target groups will be load balanced to with equal weight and without
|
|
55
|
+
* stickiness. For a more complex configuration than that, use
|
|
56
|
+
* either `defaultAction` or `addAction()`.
|
|
57
|
+
*
|
|
58
|
+
* Cannot be specified together with `defaultAction`.
|
|
59
|
+
*
|
|
60
|
+
* @default - None.
|
|
61
|
+
*/
|
|
62
|
+
readonly defaultTargetGroups?: IApplicationTargetGroup[];
|
|
63
|
+
/**
|
|
64
|
+
* Default action to take for requests to this listener
|
|
65
|
+
*
|
|
66
|
+
* This allows full control of the default action of the load balancer,
|
|
67
|
+
* including Action chaining, fixed responses and redirect responses.
|
|
68
|
+
*
|
|
69
|
+
* See the `ListenerAction` class for all options.
|
|
70
|
+
*
|
|
71
|
+
* Cannot be specified together with `defaultTargetGroups`.
|
|
72
|
+
*
|
|
73
|
+
* @default - None.
|
|
74
|
+
*/
|
|
75
|
+
readonly defaultAction?: ListenerAction;
|
|
76
|
+
/**
|
|
77
|
+
* Allow anyone to connect to the load balancer on the listener port
|
|
78
|
+
*
|
|
79
|
+
* If this is specified, the load balancer will be opened up to anyone who can reach it.
|
|
80
|
+
* For internal load balancers this is anyone in the same VPC. For public load
|
|
81
|
+
* balancers, this is anyone on the internet.
|
|
82
|
+
*
|
|
83
|
+
* If you want to be more selective about who can access this load
|
|
84
|
+
* balancer, set this to `false` and use the listener's `connections`
|
|
85
|
+
* object to selectively grant access to the load balancer on the listener port.
|
|
86
|
+
*
|
|
87
|
+
* @default true
|
|
88
|
+
*/
|
|
89
|
+
readonly open?: boolean;
|
|
90
|
+
/**
|
|
91
|
+
* The mutual authentication configuration information
|
|
92
|
+
*
|
|
93
|
+
* @default - No mutual authentication configuration
|
|
94
|
+
*
|
|
95
|
+
* @see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/mutual-authentication.html
|
|
96
|
+
* @see https://registry.terraform.io/providers/hashicorp/aws/5.87.0/docs/resources/lb_listener#mutual_authentication
|
|
97
|
+
*/
|
|
98
|
+
readonly mutualAuthentication?: MutualAuthentication;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* The mutual authentication configuration information
|
|
102
|
+
*
|
|
103
|
+
*/
|
|
104
|
+
export interface MutualAuthentication {
|
|
105
|
+
/**
|
|
106
|
+
* The client certificate handling method
|
|
107
|
+
*
|
|
108
|
+
* @default MutualAuthenticationMode.OFF
|
|
109
|
+
*/
|
|
110
|
+
readonly mutualAuthenticationMode?: MutualAuthenticationMode;
|
|
111
|
+
/**
|
|
112
|
+
* The trust store
|
|
113
|
+
*
|
|
114
|
+
* Cannot be used with MutualAuthenticationMode.OFF or MutualAuthenticationMode.PASS_THROUGH
|
|
115
|
+
*
|
|
116
|
+
* @default - no trust store
|
|
117
|
+
*/
|
|
118
|
+
readonly trustStore?: ITrustStore;
|
|
119
|
+
/**
|
|
120
|
+
* Indicates whether expired client certificates are ignored
|
|
121
|
+
*
|
|
122
|
+
* Cannot be used with MutualAuthenticationMode.OFF or MutualAuthenticationMode.PASS_THROUGH
|
|
123
|
+
*
|
|
124
|
+
* @default false
|
|
125
|
+
*/
|
|
126
|
+
readonly ignoreClientCertificateExpiry?: boolean;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* The client certificate handling method
|
|
130
|
+
*/
|
|
131
|
+
export declare enum MutualAuthenticationMode {
|
|
132
|
+
/**
|
|
133
|
+
* Off
|
|
134
|
+
*/
|
|
135
|
+
OFF = "off",
|
|
136
|
+
/**
|
|
137
|
+
* Application Load Balancer sends the whole client certificate chain to the target using HTTP headers
|
|
138
|
+
*/
|
|
139
|
+
PASS_THROUGH = "passthrough",
|
|
140
|
+
/**
|
|
141
|
+
* Application Load Balancer performs X.509 client certificate authentication for clients when a load balancer negotiates TLS connections
|
|
142
|
+
*/
|
|
143
|
+
VERIFY = "verify"
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Properties for defining a standalone ApplicationListener
|
|
147
|
+
*/
|
|
148
|
+
export interface ApplicationListenerProps extends BaseApplicationListenerProps {
|
|
149
|
+
/**
|
|
150
|
+
* The load balancer to attach this listener to
|
|
151
|
+
*/
|
|
152
|
+
readonly loadBalancer: IApplicationLoadBalancer;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Options for ApplicationListener lookup
|
|
156
|
+
*/
|
|
157
|
+
export interface ApplicationListenerLookupOptions extends BaseListenerLookupOptions {
|
|
158
|
+
/**
|
|
159
|
+
* ARN of the listener to look up
|
|
160
|
+
* @default - does not filter by listener arn
|
|
161
|
+
*/
|
|
162
|
+
readonly listenerArn?: string;
|
|
163
|
+
/**
|
|
164
|
+
* Filter listeners by listener protocol
|
|
165
|
+
* @default - does not filter by listener protocol
|
|
166
|
+
*/
|
|
167
|
+
readonly listenerProtocol?: ApplicationProtocol;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Define an ApplicationListener
|
|
171
|
+
*
|
|
172
|
+
* @resource AWS::ElasticLoadBalancingV2::Listener
|
|
173
|
+
*/
|
|
174
|
+
export declare class ApplicationListener extends BaseListener implements IApplicationListener {
|
|
175
|
+
/**
|
|
176
|
+
* Import an existing listener
|
|
177
|
+
*/
|
|
178
|
+
static fromApplicationListenerAttributes(scope: Construct, id: string, attrs: ApplicationListenerAttributes): IApplicationListener;
|
|
179
|
+
/**
|
|
180
|
+
* Manage connections to this ApplicationListener
|
|
181
|
+
*/
|
|
182
|
+
readonly connections: Connections;
|
|
183
|
+
/**
|
|
184
|
+
* Load balancer this listener is associated with
|
|
185
|
+
*/
|
|
186
|
+
readonly loadBalancer: IApplicationLoadBalancer;
|
|
187
|
+
/**
|
|
188
|
+
* The port of the listener.
|
|
189
|
+
*/
|
|
190
|
+
readonly port: number;
|
|
191
|
+
/**
|
|
192
|
+
* ARNs of certificates added to this listener
|
|
193
|
+
*/
|
|
194
|
+
private readonly certificateArns;
|
|
195
|
+
/**
|
|
196
|
+
* Listener protocol for this listener.
|
|
197
|
+
*/
|
|
198
|
+
private readonly protocol;
|
|
199
|
+
constructor(scope: Construct, id: string, props: ApplicationListenerProps);
|
|
200
|
+
/**
|
|
201
|
+
* Add one or more certificates to this listener.
|
|
202
|
+
*
|
|
203
|
+
* After the first certificate, this creates ApplicationListenerCertificates
|
|
204
|
+
* resources since cloudformation requires the certificates array on the
|
|
205
|
+
* listener resource to have a length of 1.
|
|
206
|
+
*
|
|
207
|
+
* @deprecated Use `addCertificates` instead.
|
|
208
|
+
*/
|
|
209
|
+
addCertificateArns(id: string, arns: string[]): void;
|
|
210
|
+
/**
|
|
211
|
+
* Add one or more certificates to this listener.
|
|
212
|
+
*
|
|
213
|
+
* After the first certificate, this creates ApplicationListenerCertificates
|
|
214
|
+
* resources since cloudformation requires the certificates array on the
|
|
215
|
+
* listener resource to have a length of 1.
|
|
216
|
+
*/
|
|
217
|
+
addCertificates(id: string, certificates: IListenerCertificate[]): void;
|
|
218
|
+
/**
|
|
219
|
+
* Perform the given default action on incoming requests
|
|
220
|
+
*
|
|
221
|
+
* This allows full control of the default action of the load balancer,
|
|
222
|
+
* including Action chaining, fixed responses and redirect responses. See
|
|
223
|
+
* the `ListenerAction` class for all options.
|
|
224
|
+
*
|
|
225
|
+
* It's possible to add routing conditions to the Action added in this way.
|
|
226
|
+
* At least one Action must be added without conditions (which becomes the
|
|
227
|
+
* default Action).
|
|
228
|
+
*/
|
|
229
|
+
addAction(id: string, props: AddApplicationActionProps): void;
|
|
230
|
+
/**
|
|
231
|
+
* Load balance incoming requests to the given target groups.
|
|
232
|
+
*
|
|
233
|
+
* All target groups will be load balanced to with equal weight and without
|
|
234
|
+
* stickiness. For a more complex configuration than that, use `addAction()`.
|
|
235
|
+
*
|
|
236
|
+
* It's possible to add routing conditions to the TargetGroups added in this
|
|
237
|
+
* way. At least one TargetGroup must be added without conditions (which will
|
|
238
|
+
* become the default Action for this listener).
|
|
239
|
+
*/
|
|
240
|
+
addTargetGroups(id: string, props: AddApplicationTargetGroupsProps): void;
|
|
241
|
+
/**
|
|
242
|
+
* Load balance incoming requests to the given load balancing targets.
|
|
243
|
+
*
|
|
244
|
+
* This method implicitly creates an ApplicationTargetGroup for the targets
|
|
245
|
+
* involved, and a 'forward' action to route traffic to the given TargetGroup.
|
|
246
|
+
*
|
|
247
|
+
* If you want more control over the precise setup, create the TargetGroup
|
|
248
|
+
* and use `addAction` yourself.
|
|
249
|
+
*
|
|
250
|
+
* It's possible to add conditions to the targets added in this way. At least
|
|
251
|
+
* one set of targets must be added without conditions.
|
|
252
|
+
*
|
|
253
|
+
* @returns The newly created target group
|
|
254
|
+
*/
|
|
255
|
+
addTargets(id: string, props: AddApplicationTargetsProps): ApplicationTargetGroup;
|
|
256
|
+
/**
|
|
257
|
+
* Add a fixed response
|
|
258
|
+
*
|
|
259
|
+
* @deprecated Use `addAction()` instead
|
|
260
|
+
*/
|
|
261
|
+
addFixedResponse(id: string, props: AddFixedResponseProps): void;
|
|
262
|
+
/**
|
|
263
|
+
* Add a redirect response
|
|
264
|
+
*
|
|
265
|
+
* @deprecated Use `addAction()` instead
|
|
266
|
+
*/
|
|
267
|
+
addRedirectResponse(id: string, props: AddRedirectResponseProps): void;
|
|
268
|
+
/**
|
|
269
|
+
* Register that a connectable that has been added to this load balancer.
|
|
270
|
+
*
|
|
271
|
+
* Don't call this directly. It is called by ApplicationTargetGroup.
|
|
272
|
+
*/
|
|
273
|
+
registerConnectable(connectable: IConnectable, portRange: Port): void;
|
|
274
|
+
/**
|
|
275
|
+
* Validate this listener.
|
|
276
|
+
*/
|
|
277
|
+
protected validateListener(): string[];
|
|
278
|
+
/**
|
|
279
|
+
* Wrapper for _setDefaultAction which does a type-safe bind
|
|
280
|
+
*/
|
|
281
|
+
private setDefaultAction;
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Properties to reference an existing listener
|
|
285
|
+
*/
|
|
286
|
+
export interface IApplicationListener extends IListener, IConnectable {
|
|
287
|
+
/**
|
|
288
|
+
* Add one or more certificates to this listener.
|
|
289
|
+
* @deprecated use `addCertificates()`
|
|
290
|
+
*/
|
|
291
|
+
addCertificateArns(id: string, arns: string[]): void;
|
|
292
|
+
/**
|
|
293
|
+
* Add one or more certificates to this listener.
|
|
294
|
+
*/
|
|
295
|
+
addCertificates(id: string, certificates: IListenerCertificate[]): void;
|
|
296
|
+
/**
|
|
297
|
+
* Load balance incoming requests to the given target groups.
|
|
298
|
+
*
|
|
299
|
+
* It's possible to add conditions to the TargetGroups added in this way.
|
|
300
|
+
* At least one TargetGroup must be added without conditions.
|
|
301
|
+
*/
|
|
302
|
+
addTargetGroups(id: string, props: AddApplicationTargetGroupsProps): void;
|
|
303
|
+
/**
|
|
304
|
+
* Load balance incoming requests to the given load balancing targets.
|
|
305
|
+
*
|
|
306
|
+
* This method implicitly creates an ApplicationTargetGroup for the targets
|
|
307
|
+
* involved.
|
|
308
|
+
*
|
|
309
|
+
* It's possible to add conditions to the targets added in this way. At least
|
|
310
|
+
* one set of targets must be added without conditions.
|
|
311
|
+
*
|
|
312
|
+
* @returns The newly created target group
|
|
313
|
+
*/
|
|
314
|
+
addTargets(id: string, props: AddApplicationTargetsProps): ApplicationTargetGroup;
|
|
315
|
+
/**
|
|
316
|
+
* Register that a connectable that has been added to this load balancer.
|
|
317
|
+
*
|
|
318
|
+
* Don't call this directly. It is called by ApplicationTargetGroup.
|
|
319
|
+
*/
|
|
320
|
+
registerConnectable(connectable: IConnectable, portRange: Port): void;
|
|
321
|
+
/**
|
|
322
|
+
* Perform the given action on incoming requests
|
|
323
|
+
*
|
|
324
|
+
* This allows full control of the default action of the load balancer,
|
|
325
|
+
* including Action chaining, fixed responses and redirect responses. See
|
|
326
|
+
* the `ListenerAction` class for all options.
|
|
327
|
+
*
|
|
328
|
+
* It's possible to add routing conditions to the Action added in this way.
|
|
329
|
+
*
|
|
330
|
+
* It is not possible to add a default action to an imported IApplicationListener.
|
|
331
|
+
* In order to add actions to an imported IApplicationListener a `priority`
|
|
332
|
+
* must be provided.
|
|
333
|
+
*/
|
|
334
|
+
addAction(id: string, props: AddApplicationActionProps): void;
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Properties to reference an existing listener
|
|
338
|
+
*/
|
|
339
|
+
export interface ApplicationListenerAttributes {
|
|
340
|
+
/**
|
|
341
|
+
* ARN of the listener
|
|
342
|
+
*/
|
|
343
|
+
readonly listenerArn: string;
|
|
344
|
+
/**
|
|
345
|
+
* Security group of the load balancer this listener is associated with
|
|
346
|
+
*/
|
|
347
|
+
readonly securityGroup: ISecurityGroup;
|
|
348
|
+
/**
|
|
349
|
+
* The default port on which this listener is listening
|
|
350
|
+
*/
|
|
351
|
+
readonly defaultPort?: number;
|
|
352
|
+
/**
|
|
353
|
+
* Whether the imported security group allows all outbound traffic or not when
|
|
354
|
+
* imported using `securityGroupId`
|
|
355
|
+
*
|
|
356
|
+
* Unless set to `false`, no egress rules will be added to the security group.
|
|
357
|
+
*
|
|
358
|
+
* @default true
|
|
359
|
+
*
|
|
360
|
+
* @deprecated use `securityGroup` instead
|
|
361
|
+
*/
|
|
362
|
+
readonly securityGroupAllowsAllOutbound?: boolean;
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Properties for adding a conditional load balancing rule
|
|
366
|
+
*/
|
|
367
|
+
export interface AddRuleProps {
|
|
368
|
+
/**
|
|
369
|
+
* Priority of this target group
|
|
370
|
+
*
|
|
371
|
+
* The rule with the lowest priority will be used for every request.
|
|
372
|
+
* If priority is not given, these target groups will be added as
|
|
373
|
+
* defaults, and must not have conditions.
|
|
374
|
+
*
|
|
375
|
+
* Priorities must be unique.
|
|
376
|
+
*
|
|
377
|
+
* @default Target groups are used as defaults
|
|
378
|
+
*/
|
|
379
|
+
readonly priority?: number;
|
|
380
|
+
/**
|
|
381
|
+
* Rule applies if matches the conditions.
|
|
382
|
+
*
|
|
383
|
+
* @see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html
|
|
384
|
+
*
|
|
385
|
+
* @default - No conditions.
|
|
386
|
+
*/
|
|
387
|
+
readonly conditions?: ListenerCondition[];
|
|
388
|
+
/**
|
|
389
|
+
* Rule applies if the requested host matches the indicated host
|
|
390
|
+
*
|
|
391
|
+
* May contain up to three '*' wildcards.
|
|
392
|
+
*
|
|
393
|
+
* Requires that priority is set.
|
|
394
|
+
*
|
|
395
|
+
* @see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#host-conditions
|
|
396
|
+
*
|
|
397
|
+
* @default No host condition
|
|
398
|
+
* @deprecated Use `conditions` instead.
|
|
399
|
+
*/
|
|
400
|
+
readonly hostHeader?: string;
|
|
401
|
+
/**
|
|
402
|
+
* Rule applies if the requested path matches the given path pattern
|
|
403
|
+
*
|
|
404
|
+
* May contain up to three '*' wildcards.
|
|
405
|
+
*
|
|
406
|
+
* Requires that priority is set.
|
|
407
|
+
*
|
|
408
|
+
* @see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#path-conditions
|
|
409
|
+
* @default No path condition
|
|
410
|
+
* @deprecated Use `conditions` instead.
|
|
411
|
+
*/
|
|
412
|
+
readonly pathPattern?: string;
|
|
413
|
+
/**
|
|
414
|
+
* Rule applies if the requested path matches any of the given patterns.
|
|
415
|
+
*
|
|
416
|
+
* May contain up to three '*' wildcards.
|
|
417
|
+
*
|
|
418
|
+
* Requires that priority is set.
|
|
419
|
+
*
|
|
420
|
+
* @see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#path-conditions
|
|
421
|
+
* @default - No path condition.
|
|
422
|
+
* @deprecated Use `conditions` instead.
|
|
423
|
+
*/
|
|
424
|
+
readonly pathPatterns?: string[];
|
|
425
|
+
}
|
|
426
|
+
/**
|
|
427
|
+
* Properties for adding a new target group to a listener
|
|
428
|
+
*/
|
|
429
|
+
export interface AddApplicationTargetGroupsProps extends AddRuleProps {
|
|
430
|
+
/**
|
|
431
|
+
* Target groups to forward requests to
|
|
432
|
+
*/
|
|
433
|
+
readonly targetGroups: IApplicationTargetGroup[];
|
|
434
|
+
}
|
|
435
|
+
/**
|
|
436
|
+
* Properties for adding a new action to a listener
|
|
437
|
+
*/
|
|
438
|
+
export interface AddApplicationActionProps extends AddRuleProps {
|
|
439
|
+
/**
|
|
440
|
+
* Action to perform
|
|
441
|
+
*/
|
|
442
|
+
readonly action: ListenerAction;
|
|
443
|
+
/**
|
|
444
|
+
* `ListenerRule`s have a `Rule` suffix on their logicalId by default. This allows you to remove that suffix.
|
|
445
|
+
*
|
|
446
|
+
* Legacy behavior of the `addTargetGroups()` convenience method did not include the `Rule` suffix on the logicalId of the generated `ListenerRule`.
|
|
447
|
+
* At some point, increasing complexity of requirements can require users to switch from the `addTargetGroups()` method
|
|
448
|
+
* to the `addAction()` method.
|
|
449
|
+
* When migrating `ListenerRule`s deployed by a legacy version of `addTargetGroups()`,
|
|
450
|
+
* you will need to enable this flag to avoid changing the logicalId of your resource.
|
|
451
|
+
* Otherwise Cfn will attempt to replace the `ListenerRule` and fail.
|
|
452
|
+
*
|
|
453
|
+
* @default - use standard logicalId with the `Rule` suffix
|
|
454
|
+
*/
|
|
455
|
+
readonly removeSuffix?: boolean;
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* Properties for adding new targets to a listener
|
|
459
|
+
*/
|
|
460
|
+
export interface AddApplicationTargetsProps extends AddRuleProps {
|
|
461
|
+
/**
|
|
462
|
+
* The protocol to use
|
|
463
|
+
*
|
|
464
|
+
* @default Determined from port if known
|
|
465
|
+
*/
|
|
466
|
+
readonly protocol?: ApplicationProtocol;
|
|
467
|
+
/**
|
|
468
|
+
* The protocol version to use
|
|
469
|
+
*
|
|
470
|
+
* @default ApplicationProtocolVersion.HTTP1
|
|
471
|
+
*/
|
|
472
|
+
readonly protocolVersion?: ApplicationProtocolVersion;
|
|
473
|
+
/**
|
|
474
|
+
* The port on which the listener listens for requests.
|
|
475
|
+
*
|
|
476
|
+
* @default Determined from protocol if known
|
|
477
|
+
*/
|
|
478
|
+
readonly port?: number;
|
|
479
|
+
/**
|
|
480
|
+
* The time period during which the load balancer sends a newly registered
|
|
481
|
+
* target a linearly increasing share of the traffic to the target group.
|
|
482
|
+
*
|
|
483
|
+
* The range is 30-900 seconds (15 minutes).
|
|
484
|
+
*
|
|
485
|
+
* @default 0
|
|
486
|
+
*/
|
|
487
|
+
readonly slowStart?: Duration;
|
|
488
|
+
/**
|
|
489
|
+
* The stickiness cookie expiration period.
|
|
490
|
+
*
|
|
491
|
+
* Setting this value enables load balancer stickiness.
|
|
492
|
+
*
|
|
493
|
+
* After this period, the cookie is considered stale. The minimum value is
|
|
494
|
+
* 1 second and the maximum value is 7 days (604800 seconds).
|
|
495
|
+
*
|
|
496
|
+
* @default Stickiness disabled
|
|
497
|
+
*/
|
|
498
|
+
readonly stickinessCookieDuration?: Duration;
|
|
499
|
+
/**
|
|
500
|
+
* The name of an application-based stickiness cookie.
|
|
501
|
+
*
|
|
502
|
+
* Names that start with the following prefixes are not allowed: AWSALB, AWSALBAPP,
|
|
503
|
+
* and AWSALBTG; they're reserved for use by the load balancer.
|
|
504
|
+
*
|
|
505
|
+
* Note: `stickinessCookieName` parameter depends on the presence of `stickinessCookieDuration` parameter.
|
|
506
|
+
* If `stickinessCookieDuration` is not set, `stickinessCookieName` will be omitted.
|
|
507
|
+
*
|
|
508
|
+
* @default - If `stickinessCookieDuration` is set, a load-balancer generated cookie is used. Otherwise, no stickiness is defined.
|
|
509
|
+
* @see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html
|
|
510
|
+
*/
|
|
511
|
+
readonly stickinessCookieName?: string;
|
|
512
|
+
/**
|
|
513
|
+
* The targets to add to this target group.
|
|
514
|
+
*
|
|
515
|
+
* Can be `Instance`, `IPAddress`, or any self-registering load balancing
|
|
516
|
+
* target. All target must be of the same type.
|
|
517
|
+
*/
|
|
518
|
+
readonly targets?: IApplicationLoadBalancerTarget[];
|
|
519
|
+
/**
|
|
520
|
+
* The name of the target group.
|
|
521
|
+
*
|
|
522
|
+
* This name must be unique per region per account, can have a maximum of
|
|
523
|
+
* 32 characters, must contain only alphanumeric characters or hyphens, and
|
|
524
|
+
* must not begin or end with a hyphen.
|
|
525
|
+
*
|
|
526
|
+
* @default Automatically generated
|
|
527
|
+
*/
|
|
528
|
+
readonly targetGroupName?: string;
|
|
529
|
+
/**
|
|
530
|
+
* The amount of time for Elastic Load Balancing to wait before deregistering a target.
|
|
531
|
+
*
|
|
532
|
+
* The range is 0-3600 seconds.
|
|
533
|
+
*
|
|
534
|
+
* @default Duration.minutes(5)
|
|
535
|
+
*/
|
|
536
|
+
readonly deregistrationDelay?: Duration;
|
|
537
|
+
/**
|
|
538
|
+
* Health check configuration
|
|
539
|
+
*
|
|
540
|
+
* @default - The default value for each property in this configuration varies depending on the target.
|
|
541
|
+
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#aws-resource-elasticloadbalancingv2-targetgroup-properties
|
|
542
|
+
*/
|
|
543
|
+
readonly healthCheck?: HealthCheck;
|
|
544
|
+
/**
|
|
545
|
+
* The load balancing algorithm to select targets for routing requests.
|
|
546
|
+
*
|
|
547
|
+
* @default round_robin.
|
|
548
|
+
*/
|
|
549
|
+
readonly loadBalancingAlgorithmType?: TargetGroupLoadBalancingAlgorithmType;
|
|
550
|
+
/**
|
|
551
|
+
* Indicates whether anomaly mitigation is enabled.
|
|
552
|
+
*
|
|
553
|
+
* Only available when `loadBalancingAlgorithmType` is `TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM`
|
|
554
|
+
*
|
|
555
|
+
* @default false
|
|
556
|
+
*
|
|
557
|
+
* @see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#automatic-target-weights
|
|
558
|
+
*/
|
|
559
|
+
readonly enableAnomalyMitigation?: boolean;
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* Properties for adding a fixed response to a listener
|
|
563
|
+
*
|
|
564
|
+
* @deprecated Use `ApplicationListener.addAction` instead.
|
|
565
|
+
*/
|
|
566
|
+
export interface AddFixedResponseProps extends AddRuleProps, FixedResponse {
|
|
567
|
+
}
|
|
568
|
+
/**
|
|
569
|
+
* Properties for adding a redirect response to a listener
|
|
570
|
+
*
|
|
571
|
+
* @deprecated Use `ApplicationListener.addAction` instead.
|
|
572
|
+
*/
|
|
573
|
+
export interface AddRedirectResponseProps extends AddRuleProps, RedirectResponse {
|
|
574
|
+
}
|