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,382 @@
|
|
|
1
|
+
import { lbTargetGroup as tfTargetGroup } from "@cdktf/provider-aws";
|
|
2
|
+
import { Construct, DependencyGroup, IConstruct, IDependable } from "constructs";
|
|
3
|
+
import { IVpc } from "../vpc";
|
|
4
|
+
import { LbProtocol, TargetType } from "./enums";
|
|
5
|
+
import { LbTargetGroupAttachmentConfig } from "./lb-target-group-attachment-config.generated";
|
|
6
|
+
import { Duration } from "../../../duration";
|
|
7
|
+
import { AwsConstructBase, AwsConstructProps } from "../../aws-construct";
|
|
8
|
+
/**
|
|
9
|
+
* The IP address type of targets registered with a target group
|
|
10
|
+
*/
|
|
11
|
+
export declare enum TargetGroupIpAddressType {
|
|
12
|
+
/**
|
|
13
|
+
* IPv4 addresses
|
|
14
|
+
*/
|
|
15
|
+
IPV4 = "ipv4",
|
|
16
|
+
/**
|
|
17
|
+
* IPv6 addresses
|
|
18
|
+
*/
|
|
19
|
+
IPV6 = "ipv6"
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Basic properties of both Application and Network Target Groups
|
|
23
|
+
*/
|
|
24
|
+
export interface BaseTargetGroupProps extends AwsConstructProps {
|
|
25
|
+
/**
|
|
26
|
+
* The name of the target group.
|
|
27
|
+
*
|
|
28
|
+
* This name must be unique per region per account, can have a maximum of
|
|
29
|
+
* 32 characters, must contain only alphanumeric characters or hyphens, and
|
|
30
|
+
* must not begin or end with a hyphen.
|
|
31
|
+
*
|
|
32
|
+
* @default - Automatically generated.
|
|
33
|
+
*/
|
|
34
|
+
readonly targetGroupName?: string;
|
|
35
|
+
/**
|
|
36
|
+
* The virtual private cloud (VPC).
|
|
37
|
+
*
|
|
38
|
+
* only if `TargetType` is `Ip` or `InstanceId`
|
|
39
|
+
*
|
|
40
|
+
* @default - undefined
|
|
41
|
+
*/
|
|
42
|
+
readonly vpc?: IVpc;
|
|
43
|
+
/**
|
|
44
|
+
* The amount of time for Elastic Load Balancing to wait before deregistering a target.
|
|
45
|
+
*
|
|
46
|
+
* The range is 0-3600 seconds.
|
|
47
|
+
*
|
|
48
|
+
* @default 300
|
|
49
|
+
*/
|
|
50
|
+
readonly deregistrationDelay?: Duration;
|
|
51
|
+
/**
|
|
52
|
+
* Health check configuration
|
|
53
|
+
*
|
|
54
|
+
* @default - The default value for each property in this configuration varies depending on the target.
|
|
55
|
+
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#aws-resource-elasticloadbalancingv2-targetgroup-properties
|
|
56
|
+
*/
|
|
57
|
+
readonly healthCheck?: HealthCheck;
|
|
58
|
+
/**
|
|
59
|
+
* The type of targets registered to this TargetGroup, either IP or Instance.
|
|
60
|
+
*
|
|
61
|
+
* All targets registered into the group must be of this type. If you
|
|
62
|
+
* register targets to the TargetGroup in the CDK app, the TargetType is
|
|
63
|
+
* determined automatically.
|
|
64
|
+
*
|
|
65
|
+
* @default - Determined automatically.
|
|
66
|
+
*/
|
|
67
|
+
readonly targetType?: TargetType;
|
|
68
|
+
/**
|
|
69
|
+
* Indicates whether cross zone load balancing is enabled.
|
|
70
|
+
*
|
|
71
|
+
* @default - use load balancer configuration
|
|
72
|
+
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetgroupattribute.html
|
|
73
|
+
*/
|
|
74
|
+
readonly crossZoneEnabled?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* The type of IP addresses of the targets registered with the target group.
|
|
77
|
+
*
|
|
78
|
+
* @default undefined - ELB defaults to IPv4
|
|
79
|
+
*/
|
|
80
|
+
readonly ipAddressType?: TargetGroupIpAddressType;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Properties for configuring a health check
|
|
84
|
+
*/
|
|
85
|
+
export interface HealthCheck {
|
|
86
|
+
/**
|
|
87
|
+
* Indicates whether health checks are enabled. If the target type is lambda,
|
|
88
|
+
* health checks are disabled by default but can be enabled. If the target type
|
|
89
|
+
* is instance or ip, health checks are always enabled and cannot be disabled.
|
|
90
|
+
*
|
|
91
|
+
* @default - Determined automatically.
|
|
92
|
+
*/
|
|
93
|
+
readonly enabled?: boolean;
|
|
94
|
+
/**
|
|
95
|
+
* The approximate number of seconds between health checks for an individual target.
|
|
96
|
+
* Must be 5 to 300 seconds
|
|
97
|
+
*
|
|
98
|
+
* @default - 10 seconds if protocol is `GENEVE`, 35 seconds if target type is `lambda`, else 30 seconds
|
|
99
|
+
*/
|
|
100
|
+
readonly interval?: Duration;
|
|
101
|
+
/**
|
|
102
|
+
* The ping path destination where Elastic Load Balancing sends health check requests.
|
|
103
|
+
*
|
|
104
|
+
* @default /
|
|
105
|
+
*/
|
|
106
|
+
readonly path?: string;
|
|
107
|
+
/**
|
|
108
|
+
* The port that the load balancer uses when performing health checks on the targets.
|
|
109
|
+
*
|
|
110
|
+
* @default 'traffic-port'
|
|
111
|
+
*/
|
|
112
|
+
readonly port?: string;
|
|
113
|
+
/**
|
|
114
|
+
* The protocol the load balancer uses when performing health checks on targets.
|
|
115
|
+
*
|
|
116
|
+
* The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP.
|
|
117
|
+
* The TLS, UDP, and TCP_UDP protocols are not supported for health checks.
|
|
118
|
+
*
|
|
119
|
+
* @default - HTTP for ALBs, TCP for NLBs
|
|
120
|
+
*/
|
|
121
|
+
readonly protocol?: LbProtocol;
|
|
122
|
+
/**
|
|
123
|
+
* The amount of time, in seconds, during which no response from a target means a failed health check.
|
|
124
|
+
* Must be 2 to 120 seconds.
|
|
125
|
+
*
|
|
126
|
+
* @default - 6 seconds if the protocol is HTTP, 5 seconds if protocol is `GENEVE`, 30 seconds if target type is `lambda`, 10 seconds for TCP, TLS, or HTTPS
|
|
127
|
+
*/
|
|
128
|
+
readonly timeout?: Duration;
|
|
129
|
+
/**
|
|
130
|
+
* The number of consecutive health checks successes required before considering an unhealthy target healthy.
|
|
131
|
+
*
|
|
132
|
+
* For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3.
|
|
133
|
+
*
|
|
134
|
+
* @default - 5 for ALBs, 3 for NLBs
|
|
135
|
+
*/
|
|
136
|
+
readonly healthyThresholdCount?: number;
|
|
137
|
+
/**
|
|
138
|
+
* The number of consecutive health check failures required before considering a target unhealthy.
|
|
139
|
+
*
|
|
140
|
+
* For Application Load Balancers, the default is 2. For Network Load
|
|
141
|
+
* Balancers, the range is between 2-10 and can be set accordingly.
|
|
142
|
+
*
|
|
143
|
+
* @default 2
|
|
144
|
+
*/
|
|
145
|
+
readonly unhealthyThresholdCount?: number;
|
|
146
|
+
/**
|
|
147
|
+
* GRPC code to use when checking for a successful response from a target.
|
|
148
|
+
*
|
|
149
|
+
* You can specify values between 0 and 99. You can specify multiple values
|
|
150
|
+
* (for example, "0,1") or a range of values (for example, "0-5").
|
|
151
|
+
*
|
|
152
|
+
* @default 12
|
|
153
|
+
*/
|
|
154
|
+
readonly healthyGrpcCodes?: string;
|
|
155
|
+
/**
|
|
156
|
+
* HTTP code to use when checking for a successful response from a target.
|
|
157
|
+
*
|
|
158
|
+
* For Application Load Balancers, you can specify values between 200 and
|
|
159
|
+
* 499, and the default value is 200. You can specify multiple values (for
|
|
160
|
+
* example, "200,202") or a range of values (for example, "200-299").
|
|
161
|
+
*/
|
|
162
|
+
readonly healthyHttpCodes?: string;
|
|
163
|
+
}
|
|
164
|
+
export interface TargetGroupOutputs {
|
|
165
|
+
/**
|
|
166
|
+
* ARN of the target group
|
|
167
|
+
*/
|
|
168
|
+
readonly targetGroupArn: string;
|
|
169
|
+
/**
|
|
170
|
+
* The full name of the target group
|
|
171
|
+
*/
|
|
172
|
+
readonly targetGroupFullName: string;
|
|
173
|
+
/**
|
|
174
|
+
* The name of the target group
|
|
175
|
+
*/
|
|
176
|
+
readonly targetGroupName: string;
|
|
177
|
+
/**
|
|
178
|
+
* ARNs of load balancers load balancing to this TargetGroup
|
|
179
|
+
*/
|
|
180
|
+
readonly targetGroupLoadBalancerArns: string[];
|
|
181
|
+
/**
|
|
182
|
+
* Full name of first load balancer
|
|
183
|
+
*
|
|
184
|
+
* This identifier is emitted as a dimensions of the metrics of this target
|
|
185
|
+
* group.
|
|
186
|
+
*
|
|
187
|
+
* Example value: `app/my-load-balancer/123456789`
|
|
188
|
+
*/
|
|
189
|
+
readonly firstLoadBalancerFullName: string;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Define the target of a load balancer
|
|
193
|
+
*/
|
|
194
|
+
export declare abstract class TargetGroupBase extends AwsConstructBase implements ITargetGroup {
|
|
195
|
+
get targetGroupOutputs(): TargetGroupOutputs;
|
|
196
|
+
get outputs(): Record<string, any>;
|
|
197
|
+
/**
|
|
198
|
+
* The ARN of the target group
|
|
199
|
+
*/
|
|
200
|
+
readonly targetGroupArn: string;
|
|
201
|
+
/**
|
|
202
|
+
* The full name of the target group
|
|
203
|
+
*/
|
|
204
|
+
readonly targetGroupFullName: string;
|
|
205
|
+
/**
|
|
206
|
+
* The name of the target group
|
|
207
|
+
*/
|
|
208
|
+
readonly targetGroupName: string;
|
|
209
|
+
/**
|
|
210
|
+
* ARNs of load balancers load balancing to this TargetGroup
|
|
211
|
+
*/
|
|
212
|
+
readonly targetGroupLoadBalancerArns: string[];
|
|
213
|
+
/**
|
|
214
|
+
* Full name of first load balancer
|
|
215
|
+
*
|
|
216
|
+
* This identifier is emitted as a dimensions of the metrics of this target
|
|
217
|
+
* group.
|
|
218
|
+
*
|
|
219
|
+
* Example value: `app/my-load-balancer/123456789`
|
|
220
|
+
*/
|
|
221
|
+
abstract readonly firstLoadBalancerFullName: string;
|
|
222
|
+
/**
|
|
223
|
+
* A token representing a list of ARNs of the load balancers that route traffic to this target group
|
|
224
|
+
*/
|
|
225
|
+
readonly loadBalancerArns: string;
|
|
226
|
+
/**
|
|
227
|
+
* Health check for the members of this target group
|
|
228
|
+
*/
|
|
229
|
+
healthCheck: HealthCheck;
|
|
230
|
+
/**
|
|
231
|
+
* Default port configured for members of this target group
|
|
232
|
+
*/
|
|
233
|
+
protected readonly defaultPort: number;
|
|
234
|
+
/**
|
|
235
|
+
* Configurable dependable with all resources that lead to load balancer attachment
|
|
236
|
+
*/
|
|
237
|
+
protected readonly loadBalancerAttachedDependencies: DependencyGroup;
|
|
238
|
+
/**
|
|
239
|
+
* The types of the directly registered members of this target group
|
|
240
|
+
*/
|
|
241
|
+
protected targetType?: TargetType;
|
|
242
|
+
/**
|
|
243
|
+
* Attributes of this target group
|
|
244
|
+
*/
|
|
245
|
+
private readonly attributes;
|
|
246
|
+
/**
|
|
247
|
+
* The JSON objects returned by the directly registered members of this target group
|
|
248
|
+
*/
|
|
249
|
+
private readonly targetsJson;
|
|
250
|
+
/**
|
|
251
|
+
* The target group VPC
|
|
252
|
+
*
|
|
253
|
+
* @default - Required if adding instances instead of Lambdas to TargetGroup
|
|
254
|
+
*/
|
|
255
|
+
private vpc?;
|
|
256
|
+
/**
|
|
257
|
+
* The protocol version to use
|
|
258
|
+
*
|
|
259
|
+
* Only applicable when protocol is HTTP or HTTPS. The protocol version.
|
|
260
|
+
*
|
|
261
|
+
* Specify GRPC to send requests to targets using gRPC.
|
|
262
|
+
* Specify HTTP2 to send requests to targets using HTTP/2.
|
|
263
|
+
*
|
|
264
|
+
* The default is HTTP1, which sends requests to targets using HTTP/1.1
|
|
265
|
+
*
|
|
266
|
+
* @default "HTTP1"
|
|
267
|
+
*/
|
|
268
|
+
private readonly protocolVersion?;
|
|
269
|
+
/**
|
|
270
|
+
* The target group resource
|
|
271
|
+
*/
|
|
272
|
+
readonly resource: tfTargetGroup.LbTargetGroup;
|
|
273
|
+
/**
|
|
274
|
+
* @param additionalProps healthCheck, stickiness, targetGroupHealth are controlled by methods and ignored
|
|
275
|
+
*/
|
|
276
|
+
constructor(scope: Construct, id: string, baseProps: BaseTargetGroupProps, additionalProps: tfTargetGroup.LbTargetGroupConfig);
|
|
277
|
+
/**
|
|
278
|
+
* List of constructs that need to be depended on to ensure the TargetGroup is associated to a load balancer
|
|
279
|
+
*/
|
|
280
|
+
get loadBalancerAttached(): IDependable;
|
|
281
|
+
/**
|
|
282
|
+
* Set/replace the target group's health check
|
|
283
|
+
*/
|
|
284
|
+
configureHealthCheck(healthCheck: HealthCheck): void;
|
|
285
|
+
/**
|
|
286
|
+
* AWS CDK specific way of setting non-standard attribute on the target group
|
|
287
|
+
*
|
|
288
|
+
* Prefer to use dedicated methods like `configureHealthCheck` or `setAttribute`
|
|
289
|
+
*
|
|
290
|
+
* @see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes
|
|
291
|
+
*/
|
|
292
|
+
setAttribute(key: string, value: string | undefined): void;
|
|
293
|
+
/**
|
|
294
|
+
* Register the given load balancing target as part of this group
|
|
295
|
+
*/
|
|
296
|
+
protected addLoadBalancerTarget(props: LoadBalancerTargetProps): void;
|
|
297
|
+
protected validateTargetGroup(): string[];
|
|
298
|
+
protected validateHealthCheck(): string[];
|
|
299
|
+
private lazyStringAttr;
|
|
300
|
+
private lazyBoolAttr;
|
|
301
|
+
private lazyNumberAttr;
|
|
302
|
+
/**
|
|
303
|
+
* Adds resource to the terraform JSON output.
|
|
304
|
+
*
|
|
305
|
+
* called by TerraformStack.prepareStack()
|
|
306
|
+
*/
|
|
307
|
+
toTerraform(): any;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Properties to reference an existing target group
|
|
311
|
+
*/
|
|
312
|
+
export interface TargetGroupAttributes {
|
|
313
|
+
/**
|
|
314
|
+
* ARN of the target group
|
|
315
|
+
*/
|
|
316
|
+
readonly targetGroupArn: string;
|
|
317
|
+
/**
|
|
318
|
+
* Port target group is listening on
|
|
319
|
+
*
|
|
320
|
+
* @deprecated - This property is unused and the wrong type. No need to use it.
|
|
321
|
+
*/
|
|
322
|
+
readonly defaultPort?: string;
|
|
323
|
+
/**
|
|
324
|
+
* A Token representing the list of ARNs for the load balancer routing to this target group
|
|
325
|
+
*/
|
|
326
|
+
readonly loadBalancerArns?: string;
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Properties to reference an existing target group
|
|
330
|
+
*
|
|
331
|
+
* @deprecated Use TargetGroupAttributes instead
|
|
332
|
+
*/
|
|
333
|
+
export interface TargetGroupImportProps extends TargetGroupAttributes {
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* A target group
|
|
337
|
+
*/
|
|
338
|
+
export interface ITargetGroup extends IConstruct {
|
|
339
|
+
/**
|
|
340
|
+
* The name of the target group
|
|
341
|
+
*/
|
|
342
|
+
readonly targetGroupName: string;
|
|
343
|
+
/**
|
|
344
|
+
* ARN of the target group
|
|
345
|
+
*/
|
|
346
|
+
readonly targetGroupArn: string;
|
|
347
|
+
/**
|
|
348
|
+
* A token representing a list of ARNs of the load balancers that route traffic to this target group
|
|
349
|
+
*/
|
|
350
|
+
readonly loadBalancerArns: string;
|
|
351
|
+
/**
|
|
352
|
+
* Return an object to depend on the listeners added to this target group
|
|
353
|
+
*/
|
|
354
|
+
readonly loadBalancerAttached: IDependable;
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Result of attaching a target to load balancer
|
|
358
|
+
*/
|
|
359
|
+
export interface LoadBalancerTargetProps {
|
|
360
|
+
/**
|
|
361
|
+
* What kind of target this is
|
|
362
|
+
*/
|
|
363
|
+
readonly targetType: TargetType;
|
|
364
|
+
/**
|
|
365
|
+
* JSON representing the target's direct addition to the TargetGroup list
|
|
366
|
+
*
|
|
367
|
+
* May be omitted if the target is going to register itself later.
|
|
368
|
+
*/
|
|
369
|
+
readonly targetJson?: LbTargetGroupAttachmentConfig;
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Extract the full load balancer name (used for metrics) from the listener ARN:
|
|
373
|
+
*
|
|
374
|
+
* Turns
|
|
375
|
+
*
|
|
376
|
+
* arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2
|
|
377
|
+
*
|
|
378
|
+
* Into
|
|
379
|
+
*
|
|
380
|
+
* app/my-load-balancer/50dc6c495c0c9188
|
|
381
|
+
*/
|
|
382
|
+
export declare function loadBalancerNameFromListenerArn(listenerArn: string): string;
|