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,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Properties for looking up an existing VPC.
|
|
3
|
+
*
|
|
4
|
+
* The combination of properties must specify filter down to exactly one
|
|
5
|
+
* non-default VPC, otherwise an error is raised.
|
|
6
|
+
*/
|
|
7
|
+
export interface VpcLookupOptions {
|
|
8
|
+
/**
|
|
9
|
+
* The ID of the VPC
|
|
10
|
+
*
|
|
11
|
+
* If given, will import exactly this VPC.
|
|
12
|
+
*
|
|
13
|
+
* @default Don't filter on vpcId
|
|
14
|
+
*/
|
|
15
|
+
readonly vpcId?: string;
|
|
16
|
+
/**
|
|
17
|
+
* The name of the VPC
|
|
18
|
+
*
|
|
19
|
+
* If given, will import the VPC with this name.
|
|
20
|
+
*
|
|
21
|
+
* @default Don't filter on vpcName
|
|
22
|
+
*/
|
|
23
|
+
readonly vpcName?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Tags on the VPC
|
|
26
|
+
*
|
|
27
|
+
* The VPC must have all of these tags
|
|
28
|
+
*
|
|
29
|
+
* @default Don't filter on tags
|
|
30
|
+
*/
|
|
31
|
+
readonly tags?: {
|
|
32
|
+
[key: string]: string;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Whether to match the default VPC
|
|
36
|
+
*
|
|
37
|
+
* @default Don't care whether we return the default VPC
|
|
38
|
+
*/
|
|
39
|
+
readonly isDefault?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Optional tag for subnet group name.
|
|
42
|
+
* If not provided, we'll look at the aws-cdk:subnet-name tag.
|
|
43
|
+
* If the subnet does not have the specified tag,
|
|
44
|
+
* we'll use its type as the name.
|
|
45
|
+
*
|
|
46
|
+
* @default aws-cdk:subnet-name
|
|
47
|
+
*/
|
|
48
|
+
readonly subnetGroupNameTag?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Optional to override inferred region
|
|
51
|
+
*
|
|
52
|
+
* @default Current stack's environment region
|
|
53
|
+
*/
|
|
54
|
+
readonly region?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Whether to look up whether a VPN Gateway is attached to the looked up VPC.
|
|
57
|
+
* You can set this to `false` if you know the VPC does not have a VPN Gateway
|
|
58
|
+
* attached, in order to avoid an API call.
|
|
59
|
+
*
|
|
60
|
+
* If you change this property from `false` to `true` or undefined, you may
|
|
61
|
+
* need to clear the corresponding context entry in `cdk.context.json` in
|
|
62
|
+
* order to trigger a new lookup.
|
|
63
|
+
*
|
|
64
|
+
* @default true
|
|
65
|
+
*/
|
|
66
|
+
readonly returnVpnGateways?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* The ID of the AWS account that owns the VPC
|
|
69
|
+
*
|
|
70
|
+
* @default the account id of the parent stack
|
|
71
|
+
*/
|
|
72
|
+
readonly ownerAccountId?: string;
|
|
73
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjLWxvb2t1cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS92cGMtbG9va3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFByb3BlcnRpZXMgZm9yIGxvb2tpbmcgdXAgYW4gZXhpc3RpbmcgVlBDLlxuICpcbiAqIFRoZSBjb21iaW5hdGlvbiBvZiBwcm9wZXJ0aWVzIG11c3Qgc3BlY2lmeSBmaWx0ZXIgZG93biB0byBleGFjdGx5IG9uZVxuICogbm9uLWRlZmF1bHQgVlBDLCBvdGhlcndpc2UgYW4gZXJyb3IgaXMgcmFpc2VkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZwY0xvb2t1cE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBWUENcbiAgICpcbiAgICogSWYgZ2l2ZW4sIHdpbGwgaW1wb3J0IGV4YWN0bHkgdGhpcyBWUEMuXG4gICAqXG4gICAqIEBkZWZhdWx0IERvbid0IGZpbHRlciBvbiB2cGNJZFxuICAgKi9cbiAgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBWUENcbiAgICpcbiAgICogSWYgZ2l2ZW4sIHdpbGwgaW1wb3J0IHRoZSBWUEMgd2l0aCB0aGlzIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IERvbid0IGZpbHRlciBvbiB2cGNOYW1lXG4gICAqL1xuICByZWFkb25seSB2cGNOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUYWdzIG9uIHRoZSBWUENcbiAgICpcbiAgICogVGhlIFZQQyBtdXN0IGhhdmUgYWxsIG9mIHRoZXNlIHRhZ3NcbiAgICpcbiAgICogQGRlZmF1bHQgRG9uJ3QgZmlsdGVyIG9uIHRhZ3NcbiAgICovXG4gIHJlYWRvbmx5IHRhZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIG1hdGNoIHRoZSBkZWZhdWx0IFZQQ1xuICAgKlxuICAgKiBAZGVmYXVsdCBEb24ndCBjYXJlIHdoZXRoZXIgd2UgcmV0dXJuIHRoZSBkZWZhdWx0IFZQQ1xuICAgKi9cbiAgcmVhZG9ubHkgaXNEZWZhdWx0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdGFnIGZvciBzdWJuZXQgZ3JvdXAgbmFtZS5cbiAgICogSWYgbm90IHByb3ZpZGVkLCB3ZSdsbCBsb29rIGF0IHRoZSBhd3MtY2RrOnN1Ym5ldC1uYW1lIHRhZy5cbiAgICogSWYgdGhlIHN1Ym5ldCBkb2VzIG5vdCBoYXZlIHRoZSBzcGVjaWZpZWQgdGFnLFxuICAgKiB3ZSdsbCB1c2UgaXRzIHR5cGUgYXMgdGhlIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGF3cy1jZGs6c3VibmV0LW5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldEdyb3VwTmFtZVRhZz86IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgdG8gb3ZlcnJpZGUgaW5mZXJyZWQgcmVnaW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IEN1cnJlbnQgc3RhY2sncyBlbnZpcm9ubWVudCByZWdpb25cbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0byBsb29rIHVwIHdoZXRoZXIgYSBWUE4gR2F0ZXdheSBpcyBhdHRhY2hlZCB0byB0aGUgbG9va2VkIHVwIFZQQy5cbiAgICogWW91IGNhbiBzZXQgdGhpcyB0byBgZmFsc2VgIGlmIHlvdSBrbm93IHRoZSBWUEMgZG9lcyBub3QgaGF2ZSBhIFZQTiBHYXRld2F5XG4gICAqIGF0dGFjaGVkLCBpbiBvcmRlciB0byBhdm9pZCBhbiBBUEkgY2FsbC5cbiAgICpcbiAgICogSWYgeW91IGNoYW5nZSB0aGlzIHByb3BlcnR5IGZyb20gYGZhbHNlYCB0byBgdHJ1ZWAgb3IgdW5kZWZpbmVkLCB5b3UgbWF5XG4gICAqIG5lZWQgdG8gY2xlYXIgdGhlIGNvcnJlc3BvbmRpbmcgY29udGV4dCBlbnRyeSBpbiBgY2RrLmNvbnRleHQuanNvbmAgaW5cbiAgICogb3JkZXIgdG8gdHJpZ2dlciBhIG5ldyBsb29rdXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJldHVyblZwbkdhdGV3YXlzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBBV1MgYWNjb3VudCB0aGF0IG93bnMgdGhlIFZQQ1xuICAgKlxuICAgKiBAZGVmYXVsdCB0aGUgYWNjb3VudCBpZCBvZiB0aGUgcGFyZW50IHN0YWNrXG4gICAqL1xuICByZWFkb25seSBvd25lckFjY291bnRJZD86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
import { IDependable, DependencyGroup } from "constructs";
|
|
2
|
+
import { AwsConstructBase } from "../aws-construct";
|
|
3
|
+
import { ClientVpnEndpointOptions, ClientVpnEndpoint } from "./client-vpn-endpoint";
|
|
4
|
+
import { NatGateway, NatGatewayOptions, VPCPeeringConnection, VPCPeeringConnectionOptions, VPNGatewayV2 } from "./route";
|
|
5
|
+
import { VpcOutputs, IVpc, ISubnet, SubnetSelection, SelectedSubnets } from "./vpc";
|
|
6
|
+
import { InterfaceVpcEndpointOptions, InterfaceVpcEndpoint, GatewayVpcEndpointOptions, GatewayVpcEndpoint } from "./vpc-endpoint";
|
|
7
|
+
import { FlowLogOptions, FlowLog } from "./vpc-flow-logs";
|
|
8
|
+
import { EnableVpnGatewayOptions, VpnConnection, VpnConnectionOptions, VpnConnectionType } from "./vpn";
|
|
9
|
+
import { Role } from "../iam";
|
|
10
|
+
import { IVPCCidrBlock } from "./vpc-v2";
|
|
11
|
+
/**
|
|
12
|
+
* Options to define EgressOnlyInternetGateway for VPC
|
|
13
|
+
*/
|
|
14
|
+
export interface EgressOnlyInternetGatewayOptions {
|
|
15
|
+
/**
|
|
16
|
+
* List of subnets where route to EGW will be added
|
|
17
|
+
*
|
|
18
|
+
* @default - no route created
|
|
19
|
+
*/
|
|
20
|
+
readonly subnets?: SubnetSelection[];
|
|
21
|
+
/**
|
|
22
|
+
* Destination Ipv6 address for EGW route
|
|
23
|
+
*
|
|
24
|
+
* @default - '::/0' all Ipv6 traffic
|
|
25
|
+
*/
|
|
26
|
+
readonly destination?: string;
|
|
27
|
+
/**
|
|
28
|
+
* The resource name of the egress-only internet gateway.
|
|
29
|
+
* Provided name will be used for tagging
|
|
30
|
+
*
|
|
31
|
+
* @default - no name tag associated and provisioned without a resource name
|
|
32
|
+
*/
|
|
33
|
+
readonly egressOnlyInternetGatewayName?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Options to define InternetGateway for VPC
|
|
37
|
+
*/
|
|
38
|
+
export interface InternetGatewayOptions {
|
|
39
|
+
/**
|
|
40
|
+
* Destination Ipv6 address for EGW route
|
|
41
|
+
*
|
|
42
|
+
* @default - '0.0.0.0' all Ipv4 traffic
|
|
43
|
+
*/
|
|
44
|
+
readonly ipv4Destination?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Destination Ipv6 address for EGW route
|
|
47
|
+
*
|
|
48
|
+
* @default - '::/0' all Ipv6 traffic
|
|
49
|
+
*/
|
|
50
|
+
readonly ipv6Destination?: string;
|
|
51
|
+
/**
|
|
52
|
+
* The resource name of the internet gateway.
|
|
53
|
+
* Provided name will be used for tagging
|
|
54
|
+
*
|
|
55
|
+
* @default - provisioned without a resource name
|
|
56
|
+
*/
|
|
57
|
+
readonly internetGatewayName?: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Options to define VPNGatewayV2 for VPC
|
|
61
|
+
*/
|
|
62
|
+
export interface VPNGatewayV2Options {
|
|
63
|
+
/**
|
|
64
|
+
* The type of VPN connection the virtual private gateway supports.
|
|
65
|
+
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html#cfn-ec2-vpngateway-type
|
|
66
|
+
*/
|
|
67
|
+
readonly type: VpnConnectionType;
|
|
68
|
+
/**
|
|
69
|
+
* The private Autonomous System Number (ASN) for the Amazon side of a BGP session.
|
|
70
|
+
*
|
|
71
|
+
* @default - no ASN set for BGP session
|
|
72
|
+
*/
|
|
73
|
+
readonly amazonSideAsn?: number;
|
|
74
|
+
/**
|
|
75
|
+
* The resource name of the VPN gateway.
|
|
76
|
+
*
|
|
77
|
+
* @default - resource provisioned without any name
|
|
78
|
+
*/
|
|
79
|
+
readonly vpnGatewayName?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Subnets where the route propagation should be added.
|
|
82
|
+
*
|
|
83
|
+
* @default - no propogation for routes
|
|
84
|
+
*/
|
|
85
|
+
readonly vpnRoutePropagation?: SubnetSelection[];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Placeholder to see what extra props we might need,
|
|
89
|
+
* will be added to original IVPC
|
|
90
|
+
*/
|
|
91
|
+
export interface IVpcV2 extends IVpc {
|
|
92
|
+
/**
|
|
93
|
+
* The secondary CIDR blocks associated with the VPC.
|
|
94
|
+
*
|
|
95
|
+
* For more information, see the {@link https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html#vpc-resize}.
|
|
96
|
+
*/
|
|
97
|
+
readonly secondaryCidrBlock?: IVPCCidrBlock[];
|
|
98
|
+
/**
|
|
99
|
+
* The primary IPv4 CIDR block associated with the VPC.
|
|
100
|
+
* Needed in order to validate the vpc range of subnet
|
|
101
|
+
* current prop vpcCidrBlock refers to the token value
|
|
102
|
+
* For more information, see the {@link https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html#vpc-sizing-ipv4}.
|
|
103
|
+
*/
|
|
104
|
+
readonly ipv4CidrBlock: string;
|
|
105
|
+
/**
|
|
106
|
+
* Optional to override inferred region
|
|
107
|
+
*
|
|
108
|
+
* @default - current stack's environment region
|
|
109
|
+
*/
|
|
110
|
+
readonly region: string;
|
|
111
|
+
/**
|
|
112
|
+
* The ID of the AWS account that owns the VPC
|
|
113
|
+
*
|
|
114
|
+
* @default - the account id of the parent stack
|
|
115
|
+
*/
|
|
116
|
+
readonly ownerAccountId: string;
|
|
117
|
+
/**
|
|
118
|
+
* IPv4 CIDR provisioned under pool
|
|
119
|
+
* Required to check for overlapping CIDRs after provisioning
|
|
120
|
+
* is complete under IPAM pool
|
|
121
|
+
*/
|
|
122
|
+
readonly ipv4IpamProvisionedCidrs?: string[];
|
|
123
|
+
/**
|
|
124
|
+
* VpcName to be used for tagging its components
|
|
125
|
+
* @attribute
|
|
126
|
+
*/
|
|
127
|
+
readonly vpcName?: string;
|
|
128
|
+
/**
|
|
129
|
+
* Add an Egress only Internet Gateway to current VPC.
|
|
130
|
+
* Can only be used for ipv6 enabled VPCs.
|
|
131
|
+
* For more information, see the {@link https://docs.aws.amazon.com/vpc/latest/userguide/egress-only-internet-gateway-basics.html}.
|
|
132
|
+
*/
|
|
133
|
+
addEgressOnlyInternetGateway(options?: EgressOnlyInternetGatewayOptions): void;
|
|
134
|
+
/**
|
|
135
|
+
* Adds an Internet Gateway to current VPC.
|
|
136
|
+
* For more information, see the {@link https://docs.aws.amazon.com/vpc/latest/userguide/vpc-igw-internet-access.html}.
|
|
137
|
+
*
|
|
138
|
+
* @default - defines route for all ipv4('0.0.0.0') and ipv6 addresses('::/0')
|
|
139
|
+
*/
|
|
140
|
+
addInternetGateway(options?: InternetGatewayOptions): void;
|
|
141
|
+
/**
|
|
142
|
+
* Adds VPN Gateway to VPC and set route propogation.
|
|
143
|
+
* For more information, see the {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html}.
|
|
144
|
+
*
|
|
145
|
+
* @default - no route propogation
|
|
146
|
+
*/
|
|
147
|
+
enableVpnGatewayV2(options: VPNGatewayV2Options): VPNGatewayV2;
|
|
148
|
+
/**
|
|
149
|
+
* Adds a new NAT Gateway to VPC
|
|
150
|
+
* A NAT gateway is a Network Address Translation (NAT) service. NAT Gateway Connectivity can be of type `Public` or `Private`.
|
|
151
|
+
* For more information, see the {@link https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html}.
|
|
152
|
+
*
|
|
153
|
+
* @default ConnectivityType.Public
|
|
154
|
+
*/
|
|
155
|
+
addNatGateway(options: NatGatewayOptions): NatGateway;
|
|
156
|
+
/**
|
|
157
|
+
* Adds a new role to acceptor VPC account
|
|
158
|
+
* A cross account role is required for the VPC to peer with another account.
|
|
159
|
+
* For more information, see the {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/peer-with-vpc-in-another-account.html}.
|
|
160
|
+
*/
|
|
161
|
+
createAcceptorVpcRole(requestorAccountId: string): Role;
|
|
162
|
+
/**
|
|
163
|
+
* Creates a new peering connection
|
|
164
|
+
* A peering connection is a private virtual network established between two VPCs.
|
|
165
|
+
* For more information, see the {@link https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html}.
|
|
166
|
+
*/
|
|
167
|
+
createPeeringConnection(id: string, options: VPCPeeringConnectionOptions): VPCPeeringConnection;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Base class for creating a VPC (Virtual Private Cloud) in AWS.
|
|
171
|
+
*
|
|
172
|
+
* For more information, see the {@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Vpc.html|AWS CDK Documentation on VPCs}.
|
|
173
|
+
*/
|
|
174
|
+
export declare abstract class VpcV2Base extends AwsConstructBase implements IVpcV2 {
|
|
175
|
+
/**
|
|
176
|
+
* Identifier for this VPC
|
|
177
|
+
*/
|
|
178
|
+
abstract readonly vpcId: string;
|
|
179
|
+
/**
|
|
180
|
+
* Arn of this VPC
|
|
181
|
+
*/
|
|
182
|
+
abstract readonly vpcArn: string;
|
|
183
|
+
/**
|
|
184
|
+
* CIDR range for this VPC
|
|
185
|
+
*/
|
|
186
|
+
abstract readonly vpcCidrBlock: string;
|
|
187
|
+
/**
|
|
188
|
+
* List of public subnets in this VPC
|
|
189
|
+
*/
|
|
190
|
+
readonly publicSubnets: ISubnet[];
|
|
191
|
+
/**
|
|
192
|
+
* List of private subnets in this VPC
|
|
193
|
+
*/
|
|
194
|
+
readonly privateSubnets: ISubnet[];
|
|
195
|
+
/**
|
|
196
|
+
* List of isolated subnets in this VPC
|
|
197
|
+
*/
|
|
198
|
+
abstract readonly isolatedSubnets: ISubnet[];
|
|
199
|
+
/**
|
|
200
|
+
* AZs for this VPC
|
|
201
|
+
*/
|
|
202
|
+
readonly availabilityZones: string[];
|
|
203
|
+
/**
|
|
204
|
+
* Dependable that can be depended upon to force internet connectivity established on the VPC
|
|
205
|
+
*/
|
|
206
|
+
abstract readonly internetConnectivityEstablished: IDependable;
|
|
207
|
+
/**
|
|
208
|
+
* Dependable that can be depended upon to force internet connectivity established on the VPC
|
|
209
|
+
* Add igw to this if its a public subnet
|
|
210
|
+
* @internal
|
|
211
|
+
*/
|
|
212
|
+
protected readonly _internetConnectivityEstablished: DependencyGroup;
|
|
213
|
+
/**
|
|
214
|
+
* Secondary IPs for the VPC, can be multiple Ipv4 or Ipv6
|
|
215
|
+
* Ipv4 should be within RFC#1918 range
|
|
216
|
+
*/
|
|
217
|
+
abstract readonly secondaryCidrBlock?: IVPCCidrBlock[];
|
|
218
|
+
/**
|
|
219
|
+
* The primary IPv4 CIDR block associated with the VPC.
|
|
220
|
+
* Needed in order to validate the vpc range of subnet
|
|
221
|
+
* current prop vpcCidrBlock refers to the token value
|
|
222
|
+
* For more information, see the {@link https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html#vpc-sizing-ipv4}.
|
|
223
|
+
*/
|
|
224
|
+
abstract readonly ipv4CidrBlock: string;
|
|
225
|
+
/**
|
|
226
|
+
* VpcName to be used for tagging its components
|
|
227
|
+
*/
|
|
228
|
+
abstract readonly vpcName?: string;
|
|
229
|
+
/**
|
|
230
|
+
* Region for this VPC
|
|
231
|
+
*/
|
|
232
|
+
abstract readonly region: string;
|
|
233
|
+
/**
|
|
234
|
+
* Identifier of the owner for this VPC
|
|
235
|
+
*/
|
|
236
|
+
abstract readonly ownerAccountId: string;
|
|
237
|
+
/**
|
|
238
|
+
* IPv4 CIDR provisioned under pool
|
|
239
|
+
* Required to check for overlapping CIDRs after provisioning
|
|
240
|
+
* is complete under IPAM pool
|
|
241
|
+
*/
|
|
242
|
+
abstract readonly ipv4IpamProvisionedCidrs?: string[];
|
|
243
|
+
get vpcOutputs(): VpcOutputs;
|
|
244
|
+
get outputs(): Record<string, any>;
|
|
245
|
+
/**
|
|
246
|
+
* If this is set to true, don't error out on trying to select subnets
|
|
247
|
+
*/
|
|
248
|
+
protected incompleteSubnetDefinition: boolean;
|
|
249
|
+
/**
|
|
250
|
+
* Mutable private field for the vpnGatewayId
|
|
251
|
+
* @internal
|
|
252
|
+
*/
|
|
253
|
+
protected _vpnGatewayId?: string;
|
|
254
|
+
/**
|
|
255
|
+
* Mutable private field for the internetGatewayId
|
|
256
|
+
* @internal
|
|
257
|
+
*/
|
|
258
|
+
protected _internetGatewayId: string;
|
|
259
|
+
/**
|
|
260
|
+
* Return information on the subnets appropriate for the given selection strategy
|
|
261
|
+
*
|
|
262
|
+
* Requires that at least one subnet is matched, throws a descriptive
|
|
263
|
+
* error message otherwise.
|
|
264
|
+
*/
|
|
265
|
+
selectSubnets(selection?: SubnetSelection): SelectedSubnets;
|
|
266
|
+
/**
|
|
267
|
+
* Adds a VPN Gateway to this VPC
|
|
268
|
+
* @deprecated use enableVpnGatewayV2 for compatibility with VPCV2.Route
|
|
269
|
+
*/
|
|
270
|
+
enableVpnGateway(options: EnableVpnGatewayOptions): void;
|
|
271
|
+
/**
|
|
272
|
+
* Adds VPNGAtewayV2 to this VPC
|
|
273
|
+
*/
|
|
274
|
+
enableVpnGatewayV2(options: VPNGatewayV2Options): VPNGatewayV2;
|
|
275
|
+
/**
|
|
276
|
+
* Adds a new VPN connection to this VPC
|
|
277
|
+
*/
|
|
278
|
+
addVpnConnection(id: string, options: VpnConnectionOptions): VpnConnection;
|
|
279
|
+
/**
|
|
280
|
+
* Adds a new client VPN endpoint to this VPC
|
|
281
|
+
*/
|
|
282
|
+
addClientVpnEndpoint(id: string, options: ClientVpnEndpointOptions): ClientVpnEndpoint;
|
|
283
|
+
/**
|
|
284
|
+
* Adds a new interface endpoint to this VPC
|
|
285
|
+
*/
|
|
286
|
+
addInterfaceEndpoint(id: string, options: InterfaceVpcEndpointOptions): InterfaceVpcEndpoint;
|
|
287
|
+
/**
|
|
288
|
+
* Adds a new gateway endpoint to this VPC
|
|
289
|
+
*/
|
|
290
|
+
addGatewayEndpoint(id: string, options: GatewayVpcEndpointOptions): GatewayVpcEndpoint;
|
|
291
|
+
/**
|
|
292
|
+
* Adds a new Egress Only Internet Gateway to this VPC and defines a new route
|
|
293
|
+
* to the route table of given subnets.
|
|
294
|
+
*
|
|
295
|
+
* @default - in case of no input subnets, no route is created
|
|
296
|
+
*/
|
|
297
|
+
addEgressOnlyInternetGateway(options?: EgressOnlyInternetGatewayOptions): void;
|
|
298
|
+
/**
|
|
299
|
+
* Creates a route for EGW with destination set to outbound IPv6('::/0') or custom ipv6 address.
|
|
300
|
+
* @internal
|
|
301
|
+
*/
|
|
302
|
+
private createEgressRoute;
|
|
303
|
+
/**
|
|
304
|
+
* Adds a new Internet Gateway to this VPC
|
|
305
|
+
*
|
|
306
|
+
* @default - creates a new route for public subnets(with all outbound access) to the Internet Gateway.
|
|
307
|
+
*/
|
|
308
|
+
addInternetGateway(options?: InternetGatewayOptions): void;
|
|
309
|
+
/**
|
|
310
|
+
* Adds default route for the internet gateway
|
|
311
|
+
* @internal
|
|
312
|
+
*/
|
|
313
|
+
private addDefaultInternetRoute;
|
|
314
|
+
/**
|
|
315
|
+
* Adds a new NAT Gateway to the given subnet of this VPC
|
|
316
|
+
* of given subnets.
|
|
317
|
+
*/
|
|
318
|
+
addNatGateway(options: NatGatewayOptions): NatGateway;
|
|
319
|
+
/**
|
|
320
|
+
* Adds a new flow log to this VPC
|
|
321
|
+
*/
|
|
322
|
+
addFlowLog(id: string, options?: FlowLogOptions): FlowLog;
|
|
323
|
+
/**
|
|
324
|
+
* Creates peering connection role for acceptor VPC
|
|
325
|
+
*/
|
|
326
|
+
createAcceptorVpcRole(requestorAccountId: string): Role;
|
|
327
|
+
/**
|
|
328
|
+
* Creates a peering connection
|
|
329
|
+
*/
|
|
330
|
+
createPeeringConnection(id: string, options: VPCPeeringConnectionOptions): VPCPeeringConnection;
|
|
331
|
+
/**
|
|
332
|
+
* Returns the id of the VPN Gateway (if enabled)
|
|
333
|
+
*/
|
|
334
|
+
get vpnGatewayId(): string | undefined;
|
|
335
|
+
/**
|
|
336
|
+
* Returns the id of the Internet Gateway (if enabled)
|
|
337
|
+
*/
|
|
338
|
+
get internetGatewayId(): string | undefined;
|
|
339
|
+
/**
|
|
340
|
+
* Return the subnets appropriate for the placement strategy
|
|
341
|
+
*/
|
|
342
|
+
protected selectSubnetObjects(selection?: SubnetSelection): ISubnet[];
|
|
343
|
+
private applySubnetFilters;
|
|
344
|
+
private selectSubnetObjectsByName;
|
|
345
|
+
private selectSubnetObjectsByType;
|
|
346
|
+
/**
|
|
347
|
+
* Validate the fields in a SubnetSelection object, and reify defaults if necessary
|
|
348
|
+
*
|
|
349
|
+
* In case of default selection, select the first type of PRIVATE, ISOLATED,
|
|
350
|
+
* PUBLIC (in that order) that has any subnets.
|
|
351
|
+
*/
|
|
352
|
+
private reifySelectionDefaults;
|
|
353
|
+
}
|