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,547 @@
|
|
|
1
|
+
import { egressOnlyInternetGateway as tfEgressOnlyInternetGateway, internetGateway as tfInternetGateway, natGateway as tfNatGateway, vpcPeeringConnection as tfVpcPeeringConnection, route as tfRoute, routeTable as tfRouteTable, vpnGateway as tfVpnGateway } from "@cdktf/provider-aws";
|
|
2
|
+
import { Construct, IDependable } from "constructs";
|
|
3
|
+
import { IRouteTable, RouterType, RouteTableOutputs } from "./vpc";
|
|
4
|
+
import { IVpcEndpoint, VpcEndpointOutputs } from "./vpc-endpoint";
|
|
5
|
+
import { Duration } from "../../duration";
|
|
6
|
+
import { AwsConstructBase, AwsConstructProps, IAwsConstruct } from "../aws-construct";
|
|
7
|
+
import { ISubnetV2 } from "./subnet-v2";
|
|
8
|
+
import { IVpcV2, VPNGatewayV2Options } from "./vpc-v2-base";
|
|
9
|
+
/**
|
|
10
|
+
* Indicates whether the NAT gateway supports public or private connectivity.
|
|
11
|
+
* The default is public connectivity.
|
|
12
|
+
* See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-connectivitytype
|
|
13
|
+
*/
|
|
14
|
+
export declare enum NatConnectivityType {
|
|
15
|
+
/**
|
|
16
|
+
* Sets Connectivity type to PUBLIC
|
|
17
|
+
*/
|
|
18
|
+
PUBLIC = "public",
|
|
19
|
+
/**
|
|
20
|
+
* Sets Connectivity type to PRIVATE
|
|
21
|
+
*/
|
|
22
|
+
PRIVATE = "private"
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Outputs which may be registered for output via the Grid.
|
|
26
|
+
*/
|
|
27
|
+
export interface RouteTargetOutputs {
|
|
28
|
+
/**
|
|
29
|
+
* The type of router used in the route.
|
|
30
|
+
*
|
|
31
|
+
* @attribute
|
|
32
|
+
*/
|
|
33
|
+
readonly routerType: RouterType;
|
|
34
|
+
/**
|
|
35
|
+
* The ID of the route target.
|
|
36
|
+
*
|
|
37
|
+
* @attribute
|
|
38
|
+
*/
|
|
39
|
+
readonly routerTargetId: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Interface to define a routing target, such as an
|
|
43
|
+
* egress-only internet gateway or VPC endpoint.
|
|
44
|
+
*/
|
|
45
|
+
export interface IRouteTarget extends IDependable {
|
|
46
|
+
/**
|
|
47
|
+
* The outputs of the route target.
|
|
48
|
+
*/
|
|
49
|
+
readonly routeTargetOutputs: RouteTargetOutputs;
|
|
50
|
+
/**
|
|
51
|
+
* The type of router used in the route.
|
|
52
|
+
*/
|
|
53
|
+
readonly routerType: RouterType;
|
|
54
|
+
/**
|
|
55
|
+
* The ID of the route target.
|
|
56
|
+
*/
|
|
57
|
+
readonly routerTargetId: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Properties to define an egress-only internet gateway.
|
|
61
|
+
*/
|
|
62
|
+
export interface EgressOnlyInternetGatewayProps {
|
|
63
|
+
/**
|
|
64
|
+
* The ID of the VPC for which to create the egress-only internet gateway.
|
|
65
|
+
*/
|
|
66
|
+
readonly vpc: IVpcV2;
|
|
67
|
+
/**
|
|
68
|
+
* The resource name of the egress-only internet gateway.
|
|
69
|
+
*
|
|
70
|
+
* @default - provisioned without a resource name
|
|
71
|
+
*/
|
|
72
|
+
readonly egressOnlyInternetGatewayName?: string;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Properties to define an internet gateway.
|
|
76
|
+
*/
|
|
77
|
+
export interface InternetGatewayProps {
|
|
78
|
+
/**
|
|
79
|
+
* The ID of the VPC for which to create the internet gateway.
|
|
80
|
+
*/
|
|
81
|
+
readonly vpc: IVpcV2;
|
|
82
|
+
/**
|
|
83
|
+
* The resource name of the internet gateway.
|
|
84
|
+
*
|
|
85
|
+
* @default - provisioned without a resource name
|
|
86
|
+
*/
|
|
87
|
+
readonly internetGatewayName?: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Properties to define a VPN gateway.
|
|
91
|
+
*/
|
|
92
|
+
export interface VPNGatewayV2Props extends VPNGatewayV2Options, AwsConstructProps {
|
|
93
|
+
/**
|
|
94
|
+
* The ID of the VPC for which to create the VPN gateway.
|
|
95
|
+
*/
|
|
96
|
+
readonly vpc: IVpcV2;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Options to define a NAT gateway.
|
|
100
|
+
*/
|
|
101
|
+
export interface NatGatewayOptions {
|
|
102
|
+
/**
|
|
103
|
+
* The subnet in which the NAT gateway is located.
|
|
104
|
+
*/
|
|
105
|
+
readonly subnet: ISubnetV2;
|
|
106
|
+
/**
|
|
107
|
+
* AllocationID of Elastic IP address that's associated with the NAT gateway. This property is required for a public NAT
|
|
108
|
+
* gateway and cannot be specified with a private NAT gateway.
|
|
109
|
+
*
|
|
110
|
+
* @default - attr.allocationID of a new Elastic IP created by default
|
|
111
|
+
* //TODO: ADD L2 for elastic ip
|
|
112
|
+
*/
|
|
113
|
+
readonly allocationId?: string;
|
|
114
|
+
/**
|
|
115
|
+
* Indicates whether the NAT gateway supports public or private connectivity.
|
|
116
|
+
*
|
|
117
|
+
* @default NatConnectivityType.Public
|
|
118
|
+
*/
|
|
119
|
+
readonly connectivityType?: NatConnectivityType;
|
|
120
|
+
/**
|
|
121
|
+
* The maximum amount of time to wait before forcibly releasing the
|
|
122
|
+
* IP addresses if connections are still in progress.
|
|
123
|
+
*
|
|
124
|
+
* @default 350seconds
|
|
125
|
+
*/
|
|
126
|
+
readonly maxDrainDuration?: Duration;
|
|
127
|
+
/**
|
|
128
|
+
* The private IPv4 address to assign to the NAT gateway.
|
|
129
|
+
*
|
|
130
|
+
* @default - If you don't provide an address, a private IPv4 address will be automatically assigned.
|
|
131
|
+
*/
|
|
132
|
+
readonly privateIpAddress?: string;
|
|
133
|
+
/**
|
|
134
|
+
* Secondary EIP allocation IDs.
|
|
135
|
+
* @see https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating
|
|
136
|
+
*
|
|
137
|
+
* @default - no secondary allocation IDs attached to NATGW
|
|
138
|
+
*
|
|
139
|
+
*/
|
|
140
|
+
readonly secondaryAllocationIds?: string[];
|
|
141
|
+
/**
|
|
142
|
+
* The number of secondary private IPv4 addresses you
|
|
143
|
+
* want to assign to the NAT gateway.
|
|
144
|
+
*
|
|
145
|
+
* `SecondaryPrivateIpAddressCount` and `SecondaryPrivateIpAddresses` cannot be
|
|
146
|
+
* set at the same time.
|
|
147
|
+
* @see https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating
|
|
148
|
+
*
|
|
149
|
+
* @default - no secondary allocation IDs associated with NATGW
|
|
150
|
+
*/
|
|
151
|
+
readonly secondaryPrivateIpAddressCount?: number;
|
|
152
|
+
/**
|
|
153
|
+
* Secondary private IPv4 addresses.
|
|
154
|
+
*
|
|
155
|
+
* `SecondaryPrivateIpAddressCount` and `SecondaryPrivateIpAddresses` cannot be
|
|
156
|
+
* set at the same time.
|
|
157
|
+
* @see https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating
|
|
158
|
+
*
|
|
159
|
+
* @default - no secondary private IpAddresses associated with NATGW
|
|
160
|
+
*/
|
|
161
|
+
readonly secondaryPrivateIpAddresses?: string[];
|
|
162
|
+
/**
|
|
163
|
+
* The resource name of the NAT gateway.
|
|
164
|
+
*
|
|
165
|
+
* @default - NATGW provisioned without any name
|
|
166
|
+
*/
|
|
167
|
+
readonly natGatewayName?: string;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Properties to define a NAT gateway.
|
|
171
|
+
*/
|
|
172
|
+
export interface NatGatewayProps extends NatGatewayOptions, AwsConstructProps {
|
|
173
|
+
/**
|
|
174
|
+
* The ID of the VPC in which the NAT gateway is located.
|
|
175
|
+
*
|
|
176
|
+
* @default - no elastic ip associated, required in case of public connectivity if `AllocationId` is not defined
|
|
177
|
+
*/
|
|
178
|
+
readonly vpc?: IVpcV2;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Options to define a VPC peering connection.
|
|
182
|
+
*/
|
|
183
|
+
export interface VPCPeeringConnectionOptions {
|
|
184
|
+
/**
|
|
185
|
+
* The VPC that is accepting the peering connection.
|
|
186
|
+
*/
|
|
187
|
+
readonly acceptorVpc: IVpcV2;
|
|
188
|
+
/**
|
|
189
|
+
* The resource name of the peering connection.
|
|
190
|
+
*
|
|
191
|
+
* @default - peering connection provisioned without any name
|
|
192
|
+
*/
|
|
193
|
+
readonly vpcPeeringConnectionName?: string;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Properties to define a VPC peering connection.
|
|
197
|
+
*/
|
|
198
|
+
export interface VPCPeeringConnectionProps extends VPCPeeringConnectionOptions {
|
|
199
|
+
/**
|
|
200
|
+
* The VPC that is requesting the peering connection.
|
|
201
|
+
*/
|
|
202
|
+
readonly requestorVpc: IVpcV2;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Creates an egress-only internet gateway
|
|
206
|
+
* @resource aws_egress_only_internet_gateway
|
|
207
|
+
*/
|
|
208
|
+
export declare class EgressOnlyInternetGateway extends AwsConstructBase implements IRouteTarget {
|
|
209
|
+
get routeTargetOutputs(): RouteTargetOutputs;
|
|
210
|
+
get outputs(): Record<string, any>;
|
|
211
|
+
/**
|
|
212
|
+
* The type of router used in the route.
|
|
213
|
+
*/
|
|
214
|
+
readonly routerType: RouterType;
|
|
215
|
+
/**
|
|
216
|
+
* The ID of the route target.
|
|
217
|
+
*/
|
|
218
|
+
readonly routerTargetId: string;
|
|
219
|
+
/**
|
|
220
|
+
* The egress-only internet gateway CFN resource.
|
|
221
|
+
*/
|
|
222
|
+
readonly resource: tfEgressOnlyInternetGateway.EgressOnlyInternetGateway;
|
|
223
|
+
constructor(scope: Construct, id: string, props: EgressOnlyInternetGatewayProps);
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Creates an internet gateway
|
|
227
|
+
* @resource AWS::EC2::InternetGateway
|
|
228
|
+
*/
|
|
229
|
+
export declare class InternetGateway extends AwsConstructBase implements IRouteTarget {
|
|
230
|
+
get routeTargetOutputs(): RouteTargetOutputs;
|
|
231
|
+
get outputs(): Record<string, any>;
|
|
232
|
+
/**
|
|
233
|
+
* The type of router used in the route.
|
|
234
|
+
*/
|
|
235
|
+
readonly routerType: RouterType;
|
|
236
|
+
/**
|
|
237
|
+
* The ID of the route target.
|
|
238
|
+
*/
|
|
239
|
+
readonly routerTargetId: string;
|
|
240
|
+
/**
|
|
241
|
+
* The ID of the VPC for which to create the internet gateway.
|
|
242
|
+
*/
|
|
243
|
+
readonly vpcId: string;
|
|
244
|
+
/**
|
|
245
|
+
* The internet gateway CFN resource.
|
|
246
|
+
*/
|
|
247
|
+
readonly resource: tfInternetGateway.InternetGateway;
|
|
248
|
+
constructor(scope: Construct, id: string, props: InternetGatewayProps);
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Creates a virtual private gateway
|
|
252
|
+
* @resource AWS::EC2::VPNGateway
|
|
253
|
+
*/
|
|
254
|
+
export declare class VPNGatewayV2 extends AwsConstructBase implements IRouteTarget {
|
|
255
|
+
get routeTargetOutputs(): RouteTargetOutputs;
|
|
256
|
+
get outputs(): Record<string, any>;
|
|
257
|
+
/**
|
|
258
|
+
* The type of router used in the route.
|
|
259
|
+
*/
|
|
260
|
+
readonly routerType: RouterType;
|
|
261
|
+
/**
|
|
262
|
+
* The ID of the route target.
|
|
263
|
+
*/
|
|
264
|
+
readonly routerTargetId: string;
|
|
265
|
+
/**
|
|
266
|
+
* The ID of the VPC for which to create the VPN gateway.
|
|
267
|
+
*/
|
|
268
|
+
readonly vpcId: string;
|
|
269
|
+
/**
|
|
270
|
+
* The VPN gateway CFN resource.
|
|
271
|
+
*/
|
|
272
|
+
readonly resource: tfVpnGateway.VpnGateway;
|
|
273
|
+
/**
|
|
274
|
+
* The VPN Gateway Attachment
|
|
275
|
+
*/
|
|
276
|
+
private readonly _attachment;
|
|
277
|
+
/**
|
|
278
|
+
* The VPN Gateway Route Propagation
|
|
279
|
+
*/
|
|
280
|
+
private readonly _routePropagation;
|
|
281
|
+
constructor(scope: Construct, id: string, props: VPNGatewayV2Props);
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Creates a network address translation (NAT) gateway
|
|
285
|
+
* @resource AWS::EC2::NatGateway
|
|
286
|
+
*/
|
|
287
|
+
export declare class NatGateway extends AwsConstructBase implements IRouteTarget {
|
|
288
|
+
get routeTargetOutputs(): RouteTargetOutputs;
|
|
289
|
+
get outputs(): Record<string, any>;
|
|
290
|
+
/**
|
|
291
|
+
* Id of the NatGateway
|
|
292
|
+
* @attribute
|
|
293
|
+
*/
|
|
294
|
+
readonly natGatewayId: string;
|
|
295
|
+
/**
|
|
296
|
+
* The type of router used in the route.
|
|
297
|
+
*/
|
|
298
|
+
readonly routerType: RouterType;
|
|
299
|
+
/**
|
|
300
|
+
* The ID of the route target.
|
|
301
|
+
*/
|
|
302
|
+
readonly routerTargetId: string;
|
|
303
|
+
/**
|
|
304
|
+
* Indicates whether the NAT gateway supports public or private connectivity.
|
|
305
|
+
*
|
|
306
|
+
* @default public
|
|
307
|
+
*/
|
|
308
|
+
readonly connectivityType?: NatConnectivityType;
|
|
309
|
+
/**
|
|
310
|
+
* The maximum amount of time to wait before forcibly releasing the
|
|
311
|
+
* IP addresses if connections are still in progress.
|
|
312
|
+
*
|
|
313
|
+
* @default '30 minutes'
|
|
314
|
+
*/
|
|
315
|
+
readonly maxDrainDuration?: Duration;
|
|
316
|
+
/**
|
|
317
|
+
* The NAT gateway CFN resource.
|
|
318
|
+
*/
|
|
319
|
+
readonly resource: tfNatGateway.NatGateway;
|
|
320
|
+
constructor(scope: Construct, id: string, props: NatGatewayProps);
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Creates a peering connection between two VPCs
|
|
324
|
+
* @resource AWS::EC2::VPCPeeringConnection
|
|
325
|
+
*/
|
|
326
|
+
export declare class VPCPeeringConnection extends AwsConstructBase implements IRouteTarget {
|
|
327
|
+
get routeTargetOutputs(): RouteTargetOutputs;
|
|
328
|
+
get outputs(): Record<string, any>;
|
|
329
|
+
/**
|
|
330
|
+
* The type of router used in the route.
|
|
331
|
+
*/
|
|
332
|
+
readonly routerType: RouterType;
|
|
333
|
+
/**
|
|
334
|
+
* The ID of the route target.
|
|
335
|
+
*/
|
|
336
|
+
readonly routerTargetId: string;
|
|
337
|
+
/**
|
|
338
|
+
* The VPC peering connection CFN resource.
|
|
339
|
+
*/
|
|
340
|
+
readonly resource: tfVpcPeeringConnection.VpcPeeringConnection;
|
|
341
|
+
constructor(scope: Construct, id: string, props: VPCPeeringConnectionProps);
|
|
342
|
+
/**
|
|
343
|
+
* Validates if the provided IPv4 CIDR block overlaps with existing subnet CIDR blocks within the given VPC.
|
|
344
|
+
*
|
|
345
|
+
* @param requestorVpc The VPC of the requestor.
|
|
346
|
+
* @param acceptorVpc The VPC of the acceptor.
|
|
347
|
+
* @returns True if the IPv4 CIDR block overlaps with each other for two VPCs, false otherwise.
|
|
348
|
+
* @internal
|
|
349
|
+
*/
|
|
350
|
+
private validateVpcCidrOverlap;
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* The type of endpoint or gateway being targeted by the route.
|
|
354
|
+
*/
|
|
355
|
+
export interface RouteTargetProps {
|
|
356
|
+
/**
|
|
357
|
+
* The gateway route target. This is used for targets such as
|
|
358
|
+
* egress-only internet gateway or VPC peering connection.
|
|
359
|
+
*
|
|
360
|
+
* @default - target is not set to a gateway, in this case an endpoint is needed.
|
|
361
|
+
*/
|
|
362
|
+
readonly gateway?: IRouteTarget;
|
|
363
|
+
/**
|
|
364
|
+
* The endpoint route target. This is used for targets such as
|
|
365
|
+
* VPC endpoints.
|
|
366
|
+
*
|
|
367
|
+
* @default - target is not set to an endpoint, in this case a gateway is needed.
|
|
368
|
+
*/
|
|
369
|
+
readonly endpoint?: IVpcEndpoint;
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* The gateway or endpoint targeted by the route.
|
|
373
|
+
*/
|
|
374
|
+
export declare class RouteTargetType {
|
|
375
|
+
/**
|
|
376
|
+
* The gateway route target. This is used for targets such as
|
|
377
|
+
* egress-only internet gateway or VPC peering connection.
|
|
378
|
+
*
|
|
379
|
+
* @default - target is not set to a gateway, in this case an endpoint is needed.
|
|
380
|
+
*/
|
|
381
|
+
readonly gateway?: IRouteTarget;
|
|
382
|
+
/**
|
|
383
|
+
* The endpoint route target. This is used for targets such as
|
|
384
|
+
* VPC endpoints.
|
|
385
|
+
*
|
|
386
|
+
* @default - target is not set to an endpoint, in this case a gateway is needed.
|
|
387
|
+
*/
|
|
388
|
+
readonly endpoint?: IVpcEndpoint;
|
|
389
|
+
constructor(props: RouteTargetProps);
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Outputs which may be registered for output via the Grid.
|
|
393
|
+
*/
|
|
394
|
+
export interface RouteOutputs {
|
|
395
|
+
/**
|
|
396
|
+
* The ID of the route table for the route.
|
|
397
|
+
*
|
|
398
|
+
* @attribute
|
|
399
|
+
*/
|
|
400
|
+
readonly routeTable: string;
|
|
401
|
+
/**
|
|
402
|
+
* The IPv4 or IPv6 CIDR block used for the destination match.
|
|
403
|
+
*
|
|
404
|
+
* Routing decisions are based on the most specific match.
|
|
405
|
+
*
|
|
406
|
+
* @attribute
|
|
407
|
+
*/
|
|
408
|
+
readonly destination: string;
|
|
409
|
+
/**
|
|
410
|
+
* The gateway or endpoint targeted by the route.
|
|
411
|
+
*
|
|
412
|
+
* @attribute
|
|
413
|
+
*/
|
|
414
|
+
readonly target: RouteTargetOutputs | VpcEndpointOutputs;
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Interface to define a route.
|
|
418
|
+
*/
|
|
419
|
+
export interface IRouteV2 extends IAwsConstruct {
|
|
420
|
+
/**
|
|
421
|
+
* The outputs of the route.
|
|
422
|
+
*/
|
|
423
|
+
readonly routeOutputs: RouteOutputs;
|
|
424
|
+
/**
|
|
425
|
+
* The ID of the route table for the route.
|
|
426
|
+
* @attribute routeTable
|
|
427
|
+
*/
|
|
428
|
+
readonly routeTable: IRouteTable;
|
|
429
|
+
/**
|
|
430
|
+
* The IPv4 or IPv6 CIDR block used for the destination match.
|
|
431
|
+
*
|
|
432
|
+
* Routing decisions are based on the most specific match.
|
|
433
|
+
* TODO: Look for strong IP type implementation here.
|
|
434
|
+
*/
|
|
435
|
+
readonly destination: string;
|
|
436
|
+
/**
|
|
437
|
+
* The gateway or endpoint targeted by the route.
|
|
438
|
+
*/
|
|
439
|
+
readonly target: RouteTargetType;
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Properties to define a route.
|
|
443
|
+
*/
|
|
444
|
+
export interface RouteProps {
|
|
445
|
+
/**
|
|
446
|
+
* The ID of the route table for the route.
|
|
447
|
+
*
|
|
448
|
+
* @attribute routeTable
|
|
449
|
+
*/
|
|
450
|
+
readonly routeTable: IRouteTable;
|
|
451
|
+
/**
|
|
452
|
+
* The IPv4 or IPv6 CIDR block used for the destination match.
|
|
453
|
+
*
|
|
454
|
+
* Routing decisions are based on the most specific match.
|
|
455
|
+
*/
|
|
456
|
+
readonly destination: string;
|
|
457
|
+
/**
|
|
458
|
+
* The gateway or endpoint targeted by the route.
|
|
459
|
+
*/
|
|
460
|
+
readonly target: RouteTargetType;
|
|
461
|
+
/**
|
|
462
|
+
* The resource name of the route.
|
|
463
|
+
*
|
|
464
|
+
* @default - provisioned without a route name
|
|
465
|
+
*/
|
|
466
|
+
readonly routeName?: string;
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
469
|
+
* Creates a new route with added functionality.
|
|
470
|
+
* @resource AWS::EC2::Route
|
|
471
|
+
*/
|
|
472
|
+
export declare class Route extends AwsConstructBase implements IRouteV2 {
|
|
473
|
+
get routeOutputs(): RouteOutputs;
|
|
474
|
+
get outputs(): Record<string, any>;
|
|
475
|
+
/**
|
|
476
|
+
* The IPv4 or IPv6 CIDR block used for the destination match.
|
|
477
|
+
*
|
|
478
|
+
* Routing decisions are based on the most specific match.
|
|
479
|
+
*/
|
|
480
|
+
readonly destination: string;
|
|
481
|
+
/**
|
|
482
|
+
* The gateway or endpoint targeted by the route.
|
|
483
|
+
*/
|
|
484
|
+
readonly target: RouteTargetType;
|
|
485
|
+
/**
|
|
486
|
+
* The route table for the route.
|
|
487
|
+
* @attribute routeTable
|
|
488
|
+
*/
|
|
489
|
+
readonly routeTable: IRouteTable;
|
|
490
|
+
/**
|
|
491
|
+
* The type of router the route is targeting
|
|
492
|
+
*/
|
|
493
|
+
readonly targetRouterType: RouterType;
|
|
494
|
+
/**
|
|
495
|
+
* The route CFN resource.
|
|
496
|
+
*/
|
|
497
|
+
readonly resource?: tfRoute.Route;
|
|
498
|
+
/**
|
|
499
|
+
* Destination cidr block for ipv6
|
|
500
|
+
*/
|
|
501
|
+
private destinationIpv6Cidr?;
|
|
502
|
+
/**
|
|
503
|
+
* Destination cidr block for ipv4
|
|
504
|
+
*/
|
|
505
|
+
private destinationIpv4Cidr?;
|
|
506
|
+
constructor(scope: Construct, id: string, props: RouteProps);
|
|
507
|
+
}
|
|
508
|
+
/**
|
|
509
|
+
* Properties to define a route table.
|
|
510
|
+
*/
|
|
511
|
+
export interface RouteTableProps {
|
|
512
|
+
/**
|
|
513
|
+
* The ID of the VPC.
|
|
514
|
+
*/
|
|
515
|
+
readonly vpc: IVpcV2;
|
|
516
|
+
/**
|
|
517
|
+
* The resource name of the route table.
|
|
518
|
+
*
|
|
519
|
+
* @default - provisioned without a route table name
|
|
520
|
+
*/
|
|
521
|
+
readonly routeTableName?: string;
|
|
522
|
+
}
|
|
523
|
+
/**
|
|
524
|
+
* Creates a route table for the specified VPC
|
|
525
|
+
* @resource aws_route_table
|
|
526
|
+
*/
|
|
527
|
+
export declare class RouteTable extends AwsConstructBase implements IRouteTable {
|
|
528
|
+
get routeTableOutputs(): RouteTableOutputs;
|
|
529
|
+
get outputs(): Record<string, any>;
|
|
530
|
+
/**
|
|
531
|
+
* The ID of the route table.
|
|
532
|
+
*/
|
|
533
|
+
readonly routeTableId: string;
|
|
534
|
+
/**
|
|
535
|
+
* The route table CFN resource.
|
|
536
|
+
*/
|
|
537
|
+
readonly resource: tfRouteTable.RouteTable;
|
|
538
|
+
constructor(scope: Construct, id: string, props: RouteTableProps);
|
|
539
|
+
/**
|
|
540
|
+
* Adds a new custom route to the route table.
|
|
541
|
+
*
|
|
542
|
+
* @param destination The IPv4 or IPv6 CIDR block used for the destination match.
|
|
543
|
+
* @param target The gateway or endpoint targeted by the route.
|
|
544
|
+
* @param routeName The resource name of the route.
|
|
545
|
+
*/
|
|
546
|
+
addRoute(id: string, destination: string, target: RouteTargetType, routeName?: string): void;
|
|
547
|
+
}
|