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,715 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { ApplicationListener, BaseApplicationListenerProps } from "./application-listener";
|
|
3
|
+
import { Duration } from "../../../duration";
|
|
4
|
+
import * as cloudwatch from "../../cloudwatch";
|
|
5
|
+
import * as s3 from "../../storage";
|
|
6
|
+
import { Connections, IConnectable } from "../connections";
|
|
7
|
+
import { BaseLoadBalancer, BaseLoadBalancerLookupOptions, BaseLoadBalancerProps, ILoadBalancerV2 } from "../lb-shared/base-load-balancer";
|
|
8
|
+
import { IpAddressType, ApplicationProtocol, DesyncMitigationMode } from "../lb-shared/enums";
|
|
9
|
+
import { ISecurityGroup } from "../security-group";
|
|
10
|
+
import { IVpc } from "../vpc";
|
|
11
|
+
/**
|
|
12
|
+
* Properties for defining an Application Load Balancer
|
|
13
|
+
*
|
|
14
|
+
* @see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#load-balancer-attributes
|
|
15
|
+
*/
|
|
16
|
+
export interface ApplicationLoadBalancerProps extends BaseLoadBalancerProps {
|
|
17
|
+
/**
|
|
18
|
+
* Security group to associate with this load balancer
|
|
19
|
+
*
|
|
20
|
+
* @default A security group is created
|
|
21
|
+
*/
|
|
22
|
+
readonly securityGroup?: ISecurityGroup;
|
|
23
|
+
/**
|
|
24
|
+
* The type of IP addresses to use
|
|
25
|
+
*
|
|
26
|
+
* @default IpAddressType.IPV4
|
|
27
|
+
*/
|
|
28
|
+
readonly ipAddressType?: IpAddressType;
|
|
29
|
+
/**
|
|
30
|
+
* Indicates whether HTTP/2 is enabled.
|
|
31
|
+
*
|
|
32
|
+
* @default true
|
|
33
|
+
*/
|
|
34
|
+
readonly http2Enabled?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* The load balancer idle timeout, in seconds
|
|
37
|
+
*
|
|
38
|
+
* @default 60
|
|
39
|
+
*/
|
|
40
|
+
readonly idleTimeout?: Duration;
|
|
41
|
+
/**
|
|
42
|
+
* Indicates whether HTTP headers with invalid header fields are removed
|
|
43
|
+
* by the load balancer (true) or routed to targets (false)
|
|
44
|
+
*
|
|
45
|
+
* @default false
|
|
46
|
+
*/
|
|
47
|
+
readonly dropInvalidHeaderFields?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Determines how the load balancer handles requests that
|
|
50
|
+
* might pose a security risk to your application
|
|
51
|
+
*
|
|
52
|
+
* @default DesyncMitigationMode.DEFENSIVE
|
|
53
|
+
*/
|
|
54
|
+
readonly desyncMitigationMode?: DesyncMitigationMode;
|
|
55
|
+
/**
|
|
56
|
+
* The client keep alive duration. The valid range is 60 to 604800 seconds (1 minute to 7 days).
|
|
57
|
+
*
|
|
58
|
+
* @default - Duration.seconds(3600)
|
|
59
|
+
*/
|
|
60
|
+
readonly clientKeepAlive?: Duration;
|
|
61
|
+
/**
|
|
62
|
+
* Indicates whether the Application Load Balancer should preserve the host header in the HTTP request
|
|
63
|
+
* and send it to the target without any change.
|
|
64
|
+
*
|
|
65
|
+
* @default false
|
|
66
|
+
*/
|
|
67
|
+
readonly preserveHostHeader?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Indicates whether the two headers (x-amzn-tls-version and x-amzn-tls-cipher-suite),
|
|
70
|
+
* which contain information about the negotiated TLS version and cipher suite,
|
|
71
|
+
* are added to the client request before sending it to the target.
|
|
72
|
+
*
|
|
73
|
+
* The x-amzn-tls-version header has information about the TLS protocol version negotiated with the client,
|
|
74
|
+
* and the x-amzn-tls-cipher-suite header has information about the cipher suite negotiated with the client.
|
|
75
|
+
*
|
|
76
|
+
* Both headers are in OpenSSL format.
|
|
77
|
+
*
|
|
78
|
+
* @default false
|
|
79
|
+
*/
|
|
80
|
+
readonly xAmznTlsVersionAndCipherSuiteHeaders?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Indicates whether the X-Forwarded-For header should preserve the source port
|
|
83
|
+
* that the client used to connect to the load balancer.
|
|
84
|
+
*
|
|
85
|
+
* @default false
|
|
86
|
+
*/
|
|
87
|
+
readonly preserveXffClientPort?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Enables you to modify, preserve, or remove the X-Forwarded-For header in the HTTP request
|
|
90
|
+
* before the Application Load Balancer sends the request to the target.
|
|
91
|
+
*
|
|
92
|
+
* @default XffHeaderProcessingMode.APPEND
|
|
93
|
+
*/
|
|
94
|
+
readonly xffHeaderProcessingMode?: XffHeaderProcessingMode;
|
|
95
|
+
/**
|
|
96
|
+
* Indicates whether to allow a WAF-enabled load balancer to route requests to targets
|
|
97
|
+
* if it is unable to forward the request to AWS WAF.
|
|
98
|
+
*
|
|
99
|
+
* @default false
|
|
100
|
+
*/
|
|
101
|
+
readonly wafFailOpen?: boolean;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Processing mode of the X-Forwarded-For header in the HTTP request
|
|
105
|
+
* before the Application Load Balancer sends the request to the target.
|
|
106
|
+
*/
|
|
107
|
+
export declare enum XffHeaderProcessingMode {
|
|
108
|
+
/**
|
|
109
|
+
* Application Load Balancer adds the client IP address (of the last hop) to the X-Forwarded-For header
|
|
110
|
+
* in the HTTP request before it sends it to targets.
|
|
111
|
+
*/
|
|
112
|
+
APPEND = "append",
|
|
113
|
+
/**
|
|
114
|
+
* Application Load Balancer preserves the X-Forwarded-For header in the HTTP request,
|
|
115
|
+
* and sends it to targets without any change.
|
|
116
|
+
*/
|
|
117
|
+
PRESERVE = "preserve",
|
|
118
|
+
/**
|
|
119
|
+
* Application Load Balancer removes the X-Forwarded-For header
|
|
120
|
+
* in the HTTP request before it sends it to targets.
|
|
121
|
+
*/
|
|
122
|
+
REMOVE = "remove"
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Options for looking up an ApplicationLoadBalancer
|
|
126
|
+
*/
|
|
127
|
+
export interface ApplicationLoadBalancerLookupOptions extends BaseLoadBalancerLookupOptions {
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Define an Application Load Balancer
|
|
131
|
+
*
|
|
132
|
+
* @resource AWS::ElasticLoadBalancingV2::LoadBalancer
|
|
133
|
+
*/
|
|
134
|
+
export declare class ApplicationLoadBalancer extends BaseLoadBalancer implements IApplicationLoadBalancer {
|
|
135
|
+
/**
|
|
136
|
+
* Import an existing Application Load Balancer
|
|
137
|
+
*/
|
|
138
|
+
static fromApplicationLoadBalancerAttributes(scope: Construct, id: string, attrs: ApplicationLoadBalancerAttributes): IApplicationLoadBalancer;
|
|
139
|
+
readonly connections: Connections;
|
|
140
|
+
readonly ipAddressType?: IpAddressType;
|
|
141
|
+
readonly listeners: ApplicationListener[];
|
|
142
|
+
readonly metrics: IApplicationLoadBalancerMetrics;
|
|
143
|
+
constructor(scope: Construct, id: string, props: ApplicationLoadBalancerProps);
|
|
144
|
+
/**
|
|
145
|
+
* Add a new listener to this load balancer
|
|
146
|
+
*/
|
|
147
|
+
addListener(id: string, props: BaseApplicationListenerProps): ApplicationListener;
|
|
148
|
+
/**
|
|
149
|
+
* Add a redirection listener to this load balancer
|
|
150
|
+
*/
|
|
151
|
+
addRedirect(props?: ApplicationLoadBalancerRedirectConfig): ApplicationListener;
|
|
152
|
+
/**
|
|
153
|
+
* Enable access logging for this load balancer.
|
|
154
|
+
*
|
|
155
|
+
* A region must be specified on the stack containing the load balancer; you cannot enable logging on
|
|
156
|
+
* environment-agnostic stacks. See https://docs.aws.amazon.com/cdk/latest/guide/environments.html
|
|
157
|
+
*/
|
|
158
|
+
logAccessLogs(bucket: s3.IBucket, prefix?: string): void;
|
|
159
|
+
/**
|
|
160
|
+
* Enable connection logging for this load balancer.
|
|
161
|
+
*
|
|
162
|
+
* A region must be specified on the stack containing the load balancer; you cannot enable logging on
|
|
163
|
+
* environment-agnostic stacks.
|
|
164
|
+
*
|
|
165
|
+
* @see https://docs.aws.amazon.com/cdk/latest/guide/environments.html
|
|
166
|
+
*/
|
|
167
|
+
logConnectionLogs(bucket: s3.IBucket, prefix?: string): void;
|
|
168
|
+
/**
|
|
169
|
+
* Add a security group to this load balancer
|
|
170
|
+
*/
|
|
171
|
+
addSecurityGroup(securityGroup: ISecurityGroup): void;
|
|
172
|
+
/**
|
|
173
|
+
* Return the given named metric for this Application Load Balancer
|
|
174
|
+
*
|
|
175
|
+
* @default Average over 5 minutes
|
|
176
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.custom`` instead
|
|
177
|
+
*/
|
|
178
|
+
metric(metricName: string, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
179
|
+
/**
|
|
180
|
+
* The total number of concurrent TCP connections active from clients to the
|
|
181
|
+
* load balancer and from the load balancer to targets.
|
|
182
|
+
*
|
|
183
|
+
* @default Sum over 5 minutes
|
|
184
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.activeConnectionCount`` instead
|
|
185
|
+
*/
|
|
186
|
+
metricActiveConnectionCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
187
|
+
/**
|
|
188
|
+
* The number of TLS connections initiated by the client that did not
|
|
189
|
+
* establish a session with the load balancer. Possible causes include a
|
|
190
|
+
* mismatch of ciphers or protocols.
|
|
191
|
+
*
|
|
192
|
+
* @default Sum over 5 minutes
|
|
193
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.clientTlsNegotiationErrorCount`` instead
|
|
194
|
+
*/
|
|
195
|
+
metricClientTlsNegotiationErrorCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
196
|
+
/**
|
|
197
|
+
* The number of load balancer capacity units (LCU) used by your load balancer.
|
|
198
|
+
*
|
|
199
|
+
* @default Sum over 5 minutes
|
|
200
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.consumedLCUs`` instead
|
|
201
|
+
*/
|
|
202
|
+
metricConsumedLCUs(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
203
|
+
/**
|
|
204
|
+
* The number of fixed-response actions that were successful.
|
|
205
|
+
*
|
|
206
|
+
* @default Sum over 5 minutes
|
|
207
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.httpFixedResponseCount`` instead
|
|
208
|
+
*/
|
|
209
|
+
metricHttpFixedResponseCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
210
|
+
/**
|
|
211
|
+
* The number of redirect actions that were successful.
|
|
212
|
+
*
|
|
213
|
+
* @default Sum over 5 minutes
|
|
214
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.httpRedirectCount`` instead
|
|
215
|
+
*/
|
|
216
|
+
metricHttpRedirectCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
217
|
+
/**
|
|
218
|
+
* The number of redirect actions that couldn't be completed because the URL
|
|
219
|
+
* in the response location header is larger than 8K.
|
|
220
|
+
*
|
|
221
|
+
* @default Sum over 5 minutes
|
|
222
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.httpRedirectUrlLimitExceededCount`` instead
|
|
223
|
+
*/
|
|
224
|
+
metricHttpRedirectUrlLimitExceededCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
225
|
+
/**
|
|
226
|
+
* The number of HTTP 3xx/4xx/5xx codes that originate from the load balancer.
|
|
227
|
+
*
|
|
228
|
+
* This does not include any response codes generated by the targets.
|
|
229
|
+
*
|
|
230
|
+
* @default Sum over 5 minutes
|
|
231
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.httpCodeElb`` instead
|
|
232
|
+
*/
|
|
233
|
+
metricHttpCodeElb(code: HttpCodeElb, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
234
|
+
/**
|
|
235
|
+
* The number of HTTP 2xx/3xx/4xx/5xx response codes generated by all targets
|
|
236
|
+
* in the load balancer.
|
|
237
|
+
*
|
|
238
|
+
* This does not include any response codes generated by the load balancer.
|
|
239
|
+
*
|
|
240
|
+
* @default Sum over 5 minutes
|
|
241
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.httpCodeTarget`` instead
|
|
242
|
+
*/
|
|
243
|
+
metricHttpCodeTarget(code: HttpCodeTarget, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
244
|
+
/**
|
|
245
|
+
* The total number of bytes processed by the load balancer over IPv6.
|
|
246
|
+
*
|
|
247
|
+
* @default Sum over 5 minutes
|
|
248
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.ipv6ProcessedBytes`` instead
|
|
249
|
+
*/
|
|
250
|
+
metricIpv6ProcessedBytes(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
251
|
+
/**
|
|
252
|
+
* The number of IPv6 requests received by the load balancer.
|
|
253
|
+
*
|
|
254
|
+
* @default Sum over 5 minutes
|
|
255
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.ipv6RequestCount`` instead
|
|
256
|
+
*/
|
|
257
|
+
metricIpv6RequestCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
258
|
+
/**
|
|
259
|
+
* The total number of new TCP connections established from clients to the
|
|
260
|
+
* load balancer and from the load balancer to targets.
|
|
261
|
+
*
|
|
262
|
+
* @default Sum over 5 minutes
|
|
263
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.newConnectionCount`` instead
|
|
264
|
+
*/
|
|
265
|
+
metricNewConnectionCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
266
|
+
/**
|
|
267
|
+
* The total number of bytes processed by the load balancer over IPv4 and IPv6.
|
|
268
|
+
*
|
|
269
|
+
* @default Sum over 5 minutes
|
|
270
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.processedBytes`` instead
|
|
271
|
+
*/
|
|
272
|
+
metricProcessedBytes(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
273
|
+
/**
|
|
274
|
+
* The number of connections that were rejected because the load balancer had
|
|
275
|
+
* reached its maximum number of connections.
|
|
276
|
+
*
|
|
277
|
+
* @default Sum over 5 minutes
|
|
278
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.rejectedConnectionCount`` instead
|
|
279
|
+
*/
|
|
280
|
+
metricRejectedConnectionCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
281
|
+
/**
|
|
282
|
+
* The number of requests processed over IPv4 and IPv6.
|
|
283
|
+
*
|
|
284
|
+
* This count includes only the requests with a response generated by a target of the load balancer.
|
|
285
|
+
*
|
|
286
|
+
* @default Sum over 5 minutes
|
|
287
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.requestCount`` instead
|
|
288
|
+
*/
|
|
289
|
+
metricRequestCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
290
|
+
/**
|
|
291
|
+
* The number of rules processed by the load balancer given a request rate averaged over an hour.
|
|
292
|
+
*
|
|
293
|
+
* @default Sum over 5 minutes
|
|
294
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.ruleEvaluations`` instead
|
|
295
|
+
*/
|
|
296
|
+
metricRuleEvaluations(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
297
|
+
/**
|
|
298
|
+
* The number of connections that were not successfully established between the load balancer and target.
|
|
299
|
+
*
|
|
300
|
+
* @default Sum over 5 minutes
|
|
301
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.targetConnectionErrorCount`` instead
|
|
302
|
+
*/
|
|
303
|
+
metricTargetConnectionErrorCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
304
|
+
/**
|
|
305
|
+
* The time elapsed, in seconds, after the request leaves the load balancer until a response from the target is received.
|
|
306
|
+
*
|
|
307
|
+
* @default Average over 5 minutes
|
|
308
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.targetResponseTime`` instead
|
|
309
|
+
*/
|
|
310
|
+
metricTargetResponseTime(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
311
|
+
/**
|
|
312
|
+
* The number of TLS connections initiated by the load balancer that did not establish a session with the target.
|
|
313
|
+
*
|
|
314
|
+
* Possible causes include a mismatch of ciphers or protocols.
|
|
315
|
+
*
|
|
316
|
+
* @default Sum over 5 minutes
|
|
317
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.targetTLSNegotiationErrorCount`` instead
|
|
318
|
+
*/
|
|
319
|
+
metricTargetTLSNegotiationErrorCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
320
|
+
/**
|
|
321
|
+
* The number of user authentications that could not be completed
|
|
322
|
+
*
|
|
323
|
+
* Because an authenticate action was misconfigured, the load balancer
|
|
324
|
+
* couldn't establish a connection with the IdP, or the load balancer
|
|
325
|
+
* couldn't complete the authentication flow due to an internal error.
|
|
326
|
+
*
|
|
327
|
+
* @default Sum over 5 minutes
|
|
328
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.elbAuthError`` instead
|
|
329
|
+
*/
|
|
330
|
+
metricElbAuthError(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
331
|
+
/**
|
|
332
|
+
* The number of user authentications that could not be completed because the
|
|
333
|
+
* IdP denied access to the user or an authorization code was used more than
|
|
334
|
+
* once.
|
|
335
|
+
*
|
|
336
|
+
* @default Sum over 5 minutes
|
|
337
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.elbAuthFailure`` instead
|
|
338
|
+
*/
|
|
339
|
+
metricElbAuthFailure(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
340
|
+
/**
|
|
341
|
+
* The time elapsed, in milliseconds, to query the IdP for the ID token and user info.
|
|
342
|
+
*
|
|
343
|
+
* If one or more of these operations fail, this is the time to failure.
|
|
344
|
+
*
|
|
345
|
+
* @default Average over 5 minutes
|
|
346
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.elbAuthLatency`` instead
|
|
347
|
+
*/
|
|
348
|
+
metricElbAuthLatency(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
349
|
+
/**
|
|
350
|
+
* The number of authenticate actions that were successful.
|
|
351
|
+
*
|
|
352
|
+
* This metric is incremented at the end of the authentication workflow,
|
|
353
|
+
* after the load balancer has retrieved the user claims from the IdP.
|
|
354
|
+
*
|
|
355
|
+
* @default Sum over 5 minutes
|
|
356
|
+
* @deprecated Use ``ApplicationLoadBalancer.metrics.elbAuthSuccess`` instead
|
|
357
|
+
*
|
|
358
|
+
*/
|
|
359
|
+
metricElbAuthSuccess(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Count of HTTP status originating from the load balancer
|
|
363
|
+
*
|
|
364
|
+
* This count does not include any response codes generated by the targets.
|
|
365
|
+
*/
|
|
366
|
+
export declare enum HttpCodeElb {
|
|
367
|
+
/**
|
|
368
|
+
* The number of HTTP 3XX redirection codes that originate from the load balancer.
|
|
369
|
+
*/
|
|
370
|
+
ELB_3XX_COUNT = "HTTPCode_ELB_3XX_Count",
|
|
371
|
+
/**
|
|
372
|
+
* The number of HTTP 4XX client error codes that originate from the load balancer.
|
|
373
|
+
*
|
|
374
|
+
* Client errors are generated when requests are malformed or incomplete.
|
|
375
|
+
* These requests have not been received by the target. This count does not
|
|
376
|
+
* include any response codes generated by the targets.
|
|
377
|
+
*/
|
|
378
|
+
ELB_4XX_COUNT = "HTTPCode_ELB_4XX_Count",
|
|
379
|
+
/**
|
|
380
|
+
* The number of HTTP 5XX server error codes that originate from the load balancer.
|
|
381
|
+
*/
|
|
382
|
+
ELB_5XX_COUNT = "HTTPCode_ELB_5XX_Count",
|
|
383
|
+
/**
|
|
384
|
+
* The number of HTTP 500 server error codes that originate from the load balancer.
|
|
385
|
+
*/
|
|
386
|
+
ELB_500_COUNT = "HTTPCode_ELB_500_Count",
|
|
387
|
+
/**
|
|
388
|
+
* The number of HTTP 502 server error codes that originate from the load balancer.
|
|
389
|
+
*/
|
|
390
|
+
ELB_502_COUNT = "HTTPCode_ELB_502_Count",
|
|
391
|
+
/**
|
|
392
|
+
* The number of HTTP 503 server error codes that originate from the load balancer.
|
|
393
|
+
*/
|
|
394
|
+
ELB_503_COUNT = "HTTPCode_ELB_503_Count",
|
|
395
|
+
/**
|
|
396
|
+
* The number of HTTP 504 server error codes that originate from the load balancer.
|
|
397
|
+
*/
|
|
398
|
+
ELB_504_COUNT = "HTTPCode_ELB_504_Count"
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Count of HTTP status originating from the targets
|
|
402
|
+
*/
|
|
403
|
+
export declare enum HttpCodeTarget {
|
|
404
|
+
/**
|
|
405
|
+
* The number of 2xx response codes from targets
|
|
406
|
+
*/
|
|
407
|
+
TARGET_2XX_COUNT = "HTTPCode_Target_2XX_Count",
|
|
408
|
+
/**
|
|
409
|
+
* The number of 3xx response codes from targets
|
|
410
|
+
*/
|
|
411
|
+
TARGET_3XX_COUNT = "HTTPCode_Target_3XX_Count",
|
|
412
|
+
/**
|
|
413
|
+
* The number of 4xx response codes from targets
|
|
414
|
+
*/
|
|
415
|
+
TARGET_4XX_COUNT = "HTTPCode_Target_4XX_Count",
|
|
416
|
+
/**
|
|
417
|
+
* The number of 5xx response codes from targets
|
|
418
|
+
*/
|
|
419
|
+
TARGET_5XX_COUNT = "HTTPCode_Target_5XX_Count"
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Contains all metrics for an Application Load Balancer.
|
|
423
|
+
*/
|
|
424
|
+
export interface IApplicationLoadBalancerMetrics {
|
|
425
|
+
/**
|
|
426
|
+
* Return the given named metric for this Application Load Balancer
|
|
427
|
+
*
|
|
428
|
+
* @default Average over 5 minutes
|
|
429
|
+
*/
|
|
430
|
+
custom(metricName: string, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
431
|
+
/**
|
|
432
|
+
* The total number of concurrent TCP connections active from clients to the
|
|
433
|
+
* load balancer and from the load balancer to targets.
|
|
434
|
+
*
|
|
435
|
+
* @default Sum over 5 minutes
|
|
436
|
+
*/
|
|
437
|
+
activeConnectionCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
438
|
+
/**
|
|
439
|
+
* The number of TLS connections initiated by the client that did not
|
|
440
|
+
* establish a session with the load balancer. Possible causes include a
|
|
441
|
+
* mismatch of ciphers or protocols.
|
|
442
|
+
*
|
|
443
|
+
* @default Sum over 5 minutes
|
|
444
|
+
*/
|
|
445
|
+
clientTlsNegotiationErrorCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
446
|
+
/**
|
|
447
|
+
* The number of load balancer capacity units (LCU) used by your load balancer.
|
|
448
|
+
*
|
|
449
|
+
* @default Sum over 5 minutes
|
|
450
|
+
*/
|
|
451
|
+
consumedLCUs(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
452
|
+
/**
|
|
453
|
+
* The number of fixed-response actions that were successful.
|
|
454
|
+
*
|
|
455
|
+
* @default Sum over 5 minutes
|
|
456
|
+
*/
|
|
457
|
+
httpFixedResponseCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
458
|
+
/**
|
|
459
|
+
* The number of redirect actions that were successful.
|
|
460
|
+
*
|
|
461
|
+
* @default Sum over 5 minutes
|
|
462
|
+
*/
|
|
463
|
+
httpRedirectCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
464
|
+
/**
|
|
465
|
+
* The number of redirect actions that couldn't be completed because the URL
|
|
466
|
+
* in the response location header is larger than 8K.
|
|
467
|
+
*
|
|
468
|
+
* @default Sum over 5 minutes
|
|
469
|
+
*/
|
|
470
|
+
httpRedirectUrlLimitExceededCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
471
|
+
/**
|
|
472
|
+
* The number of HTTP 3xx/4xx/5xx codes that originate from the load balancer.
|
|
473
|
+
*
|
|
474
|
+
* This does not include any response codes generated by the targets.
|
|
475
|
+
*
|
|
476
|
+
* @default Sum over 5 minutes
|
|
477
|
+
*/
|
|
478
|
+
httpCodeElb(code: HttpCodeElb, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
479
|
+
/**
|
|
480
|
+
* The number of HTTP 2xx/3xx/4xx/5xx response codes generated by all targets
|
|
481
|
+
* in the load balancer.
|
|
482
|
+
*
|
|
483
|
+
* This does not include any response codes generated by the load balancer.
|
|
484
|
+
*
|
|
485
|
+
* @default Sum over 5 minutes
|
|
486
|
+
*/
|
|
487
|
+
httpCodeTarget(code: HttpCodeTarget, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
488
|
+
/**
|
|
489
|
+
* The total number of bytes processed by the load balancer over IPv6.
|
|
490
|
+
*
|
|
491
|
+
* @default Sum over 5 minutes
|
|
492
|
+
*/
|
|
493
|
+
ipv6ProcessedBytes(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
494
|
+
/**
|
|
495
|
+
* The number of IPv6 requests received by the load balancer.
|
|
496
|
+
*
|
|
497
|
+
* @default Sum over 5 minutes
|
|
498
|
+
*/
|
|
499
|
+
ipv6RequestCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
500
|
+
/**
|
|
501
|
+
* The total number of new TCP connections established from clients to the
|
|
502
|
+
* load balancer and from the load balancer to targets.
|
|
503
|
+
*
|
|
504
|
+
* @default Sum over 5 minutes
|
|
505
|
+
*/
|
|
506
|
+
newConnectionCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
507
|
+
/**
|
|
508
|
+
* The total number of bytes processed by the load balancer over IPv4 and IPv6.
|
|
509
|
+
*
|
|
510
|
+
* @default Sum over 5 minutes
|
|
511
|
+
*/
|
|
512
|
+
processedBytes(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
513
|
+
/**
|
|
514
|
+
* The number of connections that were rejected because the load balancer had
|
|
515
|
+
* reached its maximum number of connections.
|
|
516
|
+
*
|
|
517
|
+
* @default Sum over 5 minutes
|
|
518
|
+
*/
|
|
519
|
+
rejectedConnectionCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
520
|
+
/**
|
|
521
|
+
* The number of requests processed over IPv4 and IPv6.
|
|
522
|
+
*
|
|
523
|
+
* This count includes only the requests with a response generated by a target of the load balancer.
|
|
524
|
+
*
|
|
525
|
+
* @default Sum over 5 minutes
|
|
526
|
+
*/
|
|
527
|
+
requestCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
528
|
+
/**
|
|
529
|
+
* The number of rules processed by the load balancer given a request rate averaged over an hour.
|
|
530
|
+
*
|
|
531
|
+
* @default Sum over 5 minutes
|
|
532
|
+
*/
|
|
533
|
+
ruleEvaluations(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
534
|
+
/**
|
|
535
|
+
* The number of connections that were not successfully established between the load balancer and target.
|
|
536
|
+
*
|
|
537
|
+
* @default Sum over 5 minutes
|
|
538
|
+
*/
|
|
539
|
+
targetConnectionErrorCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
540
|
+
/**
|
|
541
|
+
* The time elapsed, in seconds, after the request leaves the load balancer until a response from the target is received.
|
|
542
|
+
*
|
|
543
|
+
* @default Average over 5 minutes
|
|
544
|
+
*/
|
|
545
|
+
targetResponseTime(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
546
|
+
/**
|
|
547
|
+
* The number of TLS connections initiated by the load balancer that did not establish a session with the target.
|
|
548
|
+
*
|
|
549
|
+
* Possible causes include a mismatch of ciphers or protocols.
|
|
550
|
+
*
|
|
551
|
+
* @default Sum over 5 minutes
|
|
552
|
+
*/
|
|
553
|
+
targetTLSNegotiationErrorCount(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
554
|
+
/**
|
|
555
|
+
* The number of user authentications that could not be completed
|
|
556
|
+
*
|
|
557
|
+
* Because an authenticate action was misconfigured, the load balancer
|
|
558
|
+
* couldn't establish a connection with the IdP, or the load balancer
|
|
559
|
+
* couldn't complete the authentication flow due to an internal error.
|
|
560
|
+
*
|
|
561
|
+
* @default Sum over 5 minutes
|
|
562
|
+
*/
|
|
563
|
+
elbAuthError(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
564
|
+
/**
|
|
565
|
+
* The number of user authentications that could not be completed because the
|
|
566
|
+
* IdP denied access to the user or an authorization code was used more than
|
|
567
|
+
* once.
|
|
568
|
+
*
|
|
569
|
+
* @default Sum over 5 minutes
|
|
570
|
+
*/
|
|
571
|
+
elbAuthFailure(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
572
|
+
/**
|
|
573
|
+
* The time elapsed, in milliseconds, to query the IdP for the ID token and user info.
|
|
574
|
+
*
|
|
575
|
+
* If one or more of these operations fail, this is the time to failure.
|
|
576
|
+
*
|
|
577
|
+
* @default Average over 5 minutes
|
|
578
|
+
*/
|
|
579
|
+
elbAuthLatency(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
580
|
+
/**
|
|
581
|
+
* The number of authenticate actions that were successful.
|
|
582
|
+
*
|
|
583
|
+
* This metric is incremented at the end of the authentication workflow,
|
|
584
|
+
* after the load balancer has retrieved the user claims from the IdP.
|
|
585
|
+
*
|
|
586
|
+
* @default Sum over 5 minutes
|
|
587
|
+
*/
|
|
588
|
+
elbAuthSuccess(props?: cloudwatch.MetricOptions): cloudwatch.Metric;
|
|
589
|
+
}
|
|
590
|
+
/**
|
|
591
|
+
* An application load balancer
|
|
592
|
+
*/
|
|
593
|
+
export interface IApplicationLoadBalancer extends ILoadBalancerV2, IConnectable {
|
|
594
|
+
/**
|
|
595
|
+
* The ARN of this load balancer
|
|
596
|
+
*/
|
|
597
|
+
readonly loadBalancerArn: string;
|
|
598
|
+
/**
|
|
599
|
+
* The VPC this load balancer has been created in (if available).
|
|
600
|
+
* If this interface is the result of an import call to fromApplicationLoadBalancerAttributes,
|
|
601
|
+
* the vpc attribute will be undefined unless specified in the optional properties of that method.
|
|
602
|
+
*/
|
|
603
|
+
readonly vpc?: IVpc;
|
|
604
|
+
/**
|
|
605
|
+
* The IP Address Type for this load balancer
|
|
606
|
+
*
|
|
607
|
+
* If the `@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault`
|
|
608
|
+
* feature flag is set (the default for new projects), and `addListener()` is called with `open: true`,
|
|
609
|
+
* the load balancer's security group will automatically include both IPv4 and IPv6 ingress rules
|
|
610
|
+
* when using `IpAddressType.DUAL_STACK_WITHOUT_PUBLIC_IPV4`.
|
|
611
|
+
*
|
|
612
|
+
* For existing projects that only have IPv4 rules, you can opt-in to IPv6 ingress rules
|
|
613
|
+
* by enabling the feature flag in your cdk.json file. Note that enabling this feature flag
|
|
614
|
+
* will modify existing security group rules.
|
|
615
|
+
*
|
|
616
|
+
* @default IpAddressType.IPV4
|
|
617
|
+
*/
|
|
618
|
+
readonly ipAddressType?: IpAddressType;
|
|
619
|
+
/**
|
|
620
|
+
* A list of listeners that have been added to the load balancer.
|
|
621
|
+
* This list is only valid for owned constructs.
|
|
622
|
+
*/
|
|
623
|
+
readonly listeners: ApplicationListener[];
|
|
624
|
+
/**
|
|
625
|
+
* All metrics available for this load balancer
|
|
626
|
+
*/
|
|
627
|
+
readonly metrics: IApplicationLoadBalancerMetrics;
|
|
628
|
+
/**
|
|
629
|
+
* Add a new listener to this load balancer
|
|
630
|
+
*/
|
|
631
|
+
addListener(id: string, props: BaseApplicationListenerProps): ApplicationListener;
|
|
632
|
+
}
|
|
633
|
+
/**
|
|
634
|
+
* Properties to reference an existing load balancer
|
|
635
|
+
*/
|
|
636
|
+
export interface ApplicationLoadBalancerAttributes {
|
|
637
|
+
/**
|
|
638
|
+
* ARN of the load balancer
|
|
639
|
+
*/
|
|
640
|
+
readonly loadBalancerArn: string;
|
|
641
|
+
/**
|
|
642
|
+
* ID of the load balancer's security group
|
|
643
|
+
*/
|
|
644
|
+
readonly securityGroupId: string;
|
|
645
|
+
/**
|
|
646
|
+
* The canonical hosted zone ID of this load balancer
|
|
647
|
+
*
|
|
648
|
+
* @default - When not provided, LB cannot be used as Route53 Alias target.
|
|
649
|
+
*/
|
|
650
|
+
readonly loadBalancerCanonicalHostedZoneId?: string;
|
|
651
|
+
/**
|
|
652
|
+
* The DNS name of this load balancer
|
|
653
|
+
*
|
|
654
|
+
* @default - When not provided, LB cannot be used as Route53 Alias target.
|
|
655
|
+
*/
|
|
656
|
+
readonly loadBalancerDnsName?: string;
|
|
657
|
+
/**
|
|
658
|
+
* Whether the security group allows all outbound traffic or not
|
|
659
|
+
*
|
|
660
|
+
* Unless set to `false`, no egress rules will be added to the security group.
|
|
661
|
+
*
|
|
662
|
+
* @default true
|
|
663
|
+
*/
|
|
664
|
+
readonly securityGroupAllowsAllOutbound?: boolean;
|
|
665
|
+
/**
|
|
666
|
+
* The VPC this load balancer has been created in, if available
|
|
667
|
+
*
|
|
668
|
+
* @default - If the Load Balancer was imported and a VPC was not specified,
|
|
669
|
+
* the VPC is not available.
|
|
670
|
+
*/
|
|
671
|
+
readonly vpc?: IVpc;
|
|
672
|
+
}
|
|
673
|
+
/**
|
|
674
|
+
* Properties for a redirection config
|
|
675
|
+
*/
|
|
676
|
+
export interface ApplicationLoadBalancerRedirectConfig {
|
|
677
|
+
/**
|
|
678
|
+
* The protocol of the listener being created
|
|
679
|
+
*
|
|
680
|
+
* @default HTTP
|
|
681
|
+
*/
|
|
682
|
+
readonly sourceProtocol?: ApplicationProtocol;
|
|
683
|
+
/**
|
|
684
|
+
* The port number to listen to
|
|
685
|
+
*
|
|
686
|
+
* @default 80
|
|
687
|
+
*/
|
|
688
|
+
readonly sourcePort?: number;
|
|
689
|
+
/**
|
|
690
|
+
* The protocol of the redirection target
|
|
691
|
+
*
|
|
692
|
+
* @default HTTPS
|
|
693
|
+
*/
|
|
694
|
+
readonly targetProtocol?: ApplicationProtocol;
|
|
695
|
+
/**
|
|
696
|
+
* The port number to redirect to
|
|
697
|
+
*
|
|
698
|
+
* @default 443
|
|
699
|
+
*/
|
|
700
|
+
readonly targetPort?: number;
|
|
701
|
+
/**
|
|
702
|
+
* Allow anyone to connect to this listener
|
|
703
|
+
*
|
|
704
|
+
* If this is specified, the listener will be opened up to anyone who can reach it.
|
|
705
|
+
* For internal load balancers this is anyone in the same VPC. For public load
|
|
706
|
+
* balancers, this is anyone on the internet.
|
|
707
|
+
*
|
|
708
|
+
* If you want to be more selective about who can access this load
|
|
709
|
+
* balancer, set this to `false` and use the listener's `connections`
|
|
710
|
+
* object to selectively grant access to the listener.
|
|
711
|
+
*
|
|
712
|
+
* @default true
|
|
713
|
+
*/
|
|
714
|
+
readonly open?: boolean;
|
|
715
|
+
}
|