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,385 @@
|
|
|
1
|
+
import { vpc } from "@cdktf/provider-aws";
|
|
2
|
+
import { TerraformResource } from "cdktf";
|
|
3
|
+
import { Construct, IDependable } from "constructs";
|
|
4
|
+
import { AwsConstructProps } from "../aws-construct";
|
|
5
|
+
import { IpamOptions, IIpamPool } from "./ipam";
|
|
6
|
+
import { DefaultInstanceTenancy, ISubnet } from "./vpc";
|
|
7
|
+
import { SubnetV2Attributes } from "./subnet-v2";
|
|
8
|
+
import { IVpcV2, VpcV2Base } from "./vpc-v2-base";
|
|
9
|
+
/**
|
|
10
|
+
* Additional props needed for secondary Address
|
|
11
|
+
*/
|
|
12
|
+
export interface SecondaryAddressProps {
|
|
13
|
+
/**
|
|
14
|
+
* Required to set Secondary cidr block resource name
|
|
15
|
+
* in order to generate unique logical id for the resource.
|
|
16
|
+
*/
|
|
17
|
+
readonly cidrBlockName: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* IpAddress options to define VPC V2
|
|
21
|
+
*/
|
|
22
|
+
export declare class IpAddresses {
|
|
23
|
+
/**
|
|
24
|
+
* An IPv4 CIDR Range
|
|
25
|
+
*/
|
|
26
|
+
static ipv4(ipv4Cidr: string, props?: SecondaryAddressProps): IIpAddresses;
|
|
27
|
+
/**
|
|
28
|
+
* An Ipv4 Ipam Pool
|
|
29
|
+
*/
|
|
30
|
+
static ipv4Ipam(ipv4IpamOptions: IpamOptions): IIpAddresses;
|
|
31
|
+
/**
|
|
32
|
+
* An Ipv6 Ipam Pool
|
|
33
|
+
*/
|
|
34
|
+
static ipv6Ipam(ipv6IpamOptions: IpamOptions): IIpAddresses;
|
|
35
|
+
/**
|
|
36
|
+
* Amazon Provided Ipv6 range
|
|
37
|
+
*/
|
|
38
|
+
static amazonProvidedIpv6(props: SecondaryAddressProps): IIpAddresses;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Consolidated return parameters to pass to VPC construct
|
|
42
|
+
*/
|
|
43
|
+
export interface VpcCidrOptions {
|
|
44
|
+
/**
|
|
45
|
+
* IPv4 CIDR Block
|
|
46
|
+
*
|
|
47
|
+
* @default '10.0.0.0/16'
|
|
48
|
+
*/
|
|
49
|
+
readonly ipv4CidrBlock?: string;
|
|
50
|
+
/**
|
|
51
|
+
* CIDR Mask for Vpc
|
|
52
|
+
*
|
|
53
|
+
* @default - Only required when using IPAM Ipv4
|
|
54
|
+
*/
|
|
55
|
+
readonly ipv4NetmaskLength?: number;
|
|
56
|
+
/**
|
|
57
|
+
* Ipv4 IPAM Pool
|
|
58
|
+
*
|
|
59
|
+
* @default - Only required when using IPAM Ipv4
|
|
60
|
+
*/
|
|
61
|
+
readonly ipv4IpamPool?: IIpamPool;
|
|
62
|
+
/**
|
|
63
|
+
* CIDR Mask for Vpc
|
|
64
|
+
*
|
|
65
|
+
* @default - Only required when using AWS Ipam
|
|
66
|
+
*/
|
|
67
|
+
readonly ipv6NetmaskLength?: number;
|
|
68
|
+
/**
|
|
69
|
+
* Ipv6 IPAM pool id for VPC range, can only be defined
|
|
70
|
+
* under public scope
|
|
71
|
+
*
|
|
72
|
+
* @default - no pool id
|
|
73
|
+
*/
|
|
74
|
+
readonly ipv6IpamPool?: IIpamPool;
|
|
75
|
+
/**
|
|
76
|
+
* Use amazon provided IP range
|
|
77
|
+
*
|
|
78
|
+
* @default false
|
|
79
|
+
*/
|
|
80
|
+
readonly amazonProvided?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Dependency to associate Ipv6 CIDR block
|
|
83
|
+
*
|
|
84
|
+
* @default - No dependency
|
|
85
|
+
*/
|
|
86
|
+
readonly dependencies?: TerraformResource[];
|
|
87
|
+
/**
|
|
88
|
+
* Required to set Secondary cidr block resource name
|
|
89
|
+
* in order to generate unique logical id for the resource.
|
|
90
|
+
*
|
|
91
|
+
* @default - no name for primary addresses
|
|
92
|
+
*/
|
|
93
|
+
readonly cidrBlockName?: string;
|
|
94
|
+
/**
|
|
95
|
+
* IPv4 CIDR provisioned under pool
|
|
96
|
+
* Required to check for overlapping CIDRs after provisioning
|
|
97
|
+
* is complete under IPAM pool
|
|
98
|
+
* @default - no IPAM IPv4 CIDR range is provisioned using IPAM
|
|
99
|
+
*/
|
|
100
|
+
readonly ipv4IpamProvisionedCidrs?: string[];
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Implements ip address allocation according to the IPAdress type
|
|
104
|
+
*/
|
|
105
|
+
export interface IIpAddresses {
|
|
106
|
+
/**
|
|
107
|
+
* Method to define the implementation logic of
|
|
108
|
+
* IP address allocation
|
|
109
|
+
*/
|
|
110
|
+
allocateVpcCidr(): VpcCidrOptions;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Properties to define VPC
|
|
114
|
+
* [disable-awslint:from-method]
|
|
115
|
+
*/
|
|
116
|
+
export interface VpcV2Props extends AwsConstructProps {
|
|
117
|
+
/** A must IPv4 CIDR block for the VPC
|
|
118
|
+
* @see https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html
|
|
119
|
+
*
|
|
120
|
+
* @default - Ipv4 CIDR Block ('10.0.0.0/16')
|
|
121
|
+
*/
|
|
122
|
+
readonly primaryAddressBlock?: IIpAddresses;
|
|
123
|
+
/**
|
|
124
|
+
* The secondary CIDR blocks associated with the VPC.
|
|
125
|
+
* Can be IPv4 or IPv6, two IPv4 ranges must follow RFC#1918 convention
|
|
126
|
+
* For more information, @see https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html#vpc-resize}.
|
|
127
|
+
*
|
|
128
|
+
* @default - No secondary IP address
|
|
129
|
+
*/
|
|
130
|
+
readonly secondaryAddressBlocks?: IIpAddresses[];
|
|
131
|
+
/**
|
|
132
|
+
* Indicates whether the instances launched in the VPC get DNS hostnames.
|
|
133
|
+
*
|
|
134
|
+
* @default true
|
|
135
|
+
*/
|
|
136
|
+
readonly enableDnsHostnames?: boolean;
|
|
137
|
+
/**
|
|
138
|
+
* Indicates whether the DNS resolution is supported for the VPC.
|
|
139
|
+
*
|
|
140
|
+
* @default true
|
|
141
|
+
*/
|
|
142
|
+
readonly enableDnsSupport?: boolean;
|
|
143
|
+
/**
|
|
144
|
+
* The default tenancy of instances launched into the VPC.
|
|
145
|
+
*
|
|
146
|
+
* By setting this to dedicated tenancy, instances will be launched on
|
|
147
|
+
* hardware dedicated to a single AWS customer, unless specifically specified
|
|
148
|
+
* at instance launch time. Please note, not all instance types are usable
|
|
149
|
+
* with Dedicated tenancy.
|
|
150
|
+
*
|
|
151
|
+
* @default DefaultInstanceTenancy.Default (shared) tenancy
|
|
152
|
+
*/
|
|
153
|
+
readonly defaultInstanceTenancy?: DefaultInstanceTenancy;
|
|
154
|
+
/**
|
|
155
|
+
* Physical name for the VPC
|
|
156
|
+
*
|
|
157
|
+
* @default - autogenerated by CDK
|
|
158
|
+
*/
|
|
159
|
+
readonly vpcName?: string;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Options to import a VPC created outside of CDK stack
|
|
163
|
+
*/
|
|
164
|
+
export interface VpcV2Attributes {
|
|
165
|
+
/**
|
|
166
|
+
* The VPC ID
|
|
167
|
+
* Refers to physical Id of the resource
|
|
168
|
+
*/
|
|
169
|
+
readonly vpcId: string;
|
|
170
|
+
/**
|
|
171
|
+
* Region in which imported VPC is hosted
|
|
172
|
+
* required in case of cross region VPC
|
|
173
|
+
* as given value will be used to set field region for imported VPC,
|
|
174
|
+
* which then later can be used for establishing VPC peering connection.
|
|
175
|
+
*
|
|
176
|
+
* @default - constructed with stack region value
|
|
177
|
+
*/
|
|
178
|
+
readonly region?: string;
|
|
179
|
+
/**
|
|
180
|
+
* The ID of the AWS account that owns the imported VPC
|
|
181
|
+
* required in case of cross account VPC
|
|
182
|
+
* as given value will be used to set field account for imported VPC,
|
|
183
|
+
* which then later can be used for establishing VPC peering connection.
|
|
184
|
+
*
|
|
185
|
+
* @default - constructed with stack account value
|
|
186
|
+
*/
|
|
187
|
+
readonly ownerAccountId?: string;
|
|
188
|
+
/**
|
|
189
|
+
* Primary VPC CIDR Block of the imported VPC
|
|
190
|
+
* Can only be IPv4
|
|
191
|
+
*/
|
|
192
|
+
readonly vpcCidrBlock: string;
|
|
193
|
+
/**
|
|
194
|
+
* A VPN Gateway is attached to the VPC
|
|
195
|
+
*
|
|
196
|
+
* @default - No VPN Gateway
|
|
197
|
+
*/
|
|
198
|
+
readonly vpnGatewayId?: string;
|
|
199
|
+
/**
|
|
200
|
+
* Subnets associated with imported VPC
|
|
201
|
+
*
|
|
202
|
+
* @default - no subnets provided to be imported
|
|
203
|
+
*/
|
|
204
|
+
readonly subnets?: SubnetV2Attributes[];
|
|
205
|
+
/**
|
|
206
|
+
* Import Secondary CIDR blocks associated with VPC
|
|
207
|
+
*
|
|
208
|
+
* @default - No secondary IP address
|
|
209
|
+
*/
|
|
210
|
+
readonly secondaryCidrBlocks?: VPCCidrBlockattributes[];
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* This class provides a foundation for creating and configuring a VPC with advanced features such as IPAM (IP Address Management) and IPv6 support.
|
|
214
|
+
*
|
|
215
|
+
* 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}.
|
|
216
|
+
*
|
|
217
|
+
* @resource aws_vpc
|
|
218
|
+
*/
|
|
219
|
+
export declare class VpcV2 extends VpcV2Base {
|
|
220
|
+
/**
|
|
221
|
+
* Create a VPC from existing attributes
|
|
222
|
+
*/
|
|
223
|
+
static fromVpcV2Attributes(scope: Construct, id: string, attrs: VpcV2Attributes): IVpcV2;
|
|
224
|
+
/**
|
|
225
|
+
* Identifier for this VPC
|
|
226
|
+
*/
|
|
227
|
+
readonly vpcId: string;
|
|
228
|
+
/**
|
|
229
|
+
* @attribute
|
|
230
|
+
*/
|
|
231
|
+
readonly vpcArn: string;
|
|
232
|
+
/**
|
|
233
|
+
* @attribute
|
|
234
|
+
*/
|
|
235
|
+
readonly vpcCidrBlock: string;
|
|
236
|
+
/**
|
|
237
|
+
* The IPv6 CIDR blocks for the VPC.
|
|
238
|
+
*
|
|
239
|
+
* See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#aws-resource-ec2-vpc-return-values
|
|
240
|
+
*/
|
|
241
|
+
readonly ipv6CidrBlocks: string[];
|
|
242
|
+
/**
|
|
243
|
+
* The provider of ipv4 addresses
|
|
244
|
+
*/
|
|
245
|
+
readonly ipAddresses: IIpAddresses;
|
|
246
|
+
/**
|
|
247
|
+
* The AWS CloudFormation resource representing the VPC.
|
|
248
|
+
*/
|
|
249
|
+
readonly resource: vpc.Vpc;
|
|
250
|
+
/**
|
|
251
|
+
* Indicates if instances launched in this VPC will have public DNS hostnames.
|
|
252
|
+
*/
|
|
253
|
+
readonly dnsHostnamesEnabled: boolean;
|
|
254
|
+
/**
|
|
255
|
+
* Indicates if DNS support is enabled for this VPC.
|
|
256
|
+
*/
|
|
257
|
+
readonly dnsSupportEnabled: boolean;
|
|
258
|
+
/**
|
|
259
|
+
* Isolated Subnets that are part of this VPC.
|
|
260
|
+
*/
|
|
261
|
+
readonly isolatedSubnets: ISubnet[];
|
|
262
|
+
/**
|
|
263
|
+
* Public Subnets that are part of this VPC.
|
|
264
|
+
*/
|
|
265
|
+
readonly publicSubnets: ISubnet[];
|
|
266
|
+
/**
|
|
267
|
+
* Public Subnets that are part of this VPC.
|
|
268
|
+
*/
|
|
269
|
+
readonly privateSubnets: ISubnet[];
|
|
270
|
+
/**
|
|
271
|
+
* To define dependency on internet connectivity
|
|
272
|
+
*/
|
|
273
|
+
readonly internetConnectivityEstablished: IDependable;
|
|
274
|
+
/**
|
|
275
|
+
* reference to all secondary blocks attached
|
|
276
|
+
*/
|
|
277
|
+
readonly secondaryCidrBlock?: IVPCCidrBlock[];
|
|
278
|
+
/**
|
|
279
|
+
* IPv4 CIDR provisioned using IPAM pool
|
|
280
|
+
* Required to check for overlapping CIDRs after provisioning
|
|
281
|
+
* is complete under IPAM
|
|
282
|
+
*/
|
|
283
|
+
readonly ipv4IpamProvisionedCidrs?: string[];
|
|
284
|
+
/**
|
|
285
|
+
* Region for this VPC
|
|
286
|
+
*/
|
|
287
|
+
readonly region: string;
|
|
288
|
+
/**
|
|
289
|
+
* Identifier of the owner for this VPC
|
|
290
|
+
*/
|
|
291
|
+
readonly ownerAccountId: string;
|
|
292
|
+
/**
|
|
293
|
+
* For validation to define IPv6 subnets, set to true in case of
|
|
294
|
+
* Amazon Provided IPv6 cidr range
|
|
295
|
+
* if true, IPv6 addresses can be attached to the subnets.
|
|
296
|
+
*
|
|
297
|
+
* @default false
|
|
298
|
+
*/
|
|
299
|
+
readonly useIpv6: boolean;
|
|
300
|
+
/**
|
|
301
|
+
* VpcName to be used for tagging its components
|
|
302
|
+
* @attribute
|
|
303
|
+
*/
|
|
304
|
+
readonly vpcName?: string;
|
|
305
|
+
readonly ipv4CidrBlock: string;
|
|
306
|
+
constructor(scope: Construct, id: string, props?: VpcV2Props);
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Interface to create L2 for VPC Cidr Block
|
|
310
|
+
*/
|
|
311
|
+
export interface IVPCCidrBlock {
|
|
312
|
+
/**
|
|
313
|
+
* Amazon Provided Ipv6
|
|
314
|
+
*/
|
|
315
|
+
readonly amazonProvidedIpv6CidrBlock?: boolean;
|
|
316
|
+
/**
|
|
317
|
+
* The secondary IPv4 CIDR Block
|
|
318
|
+
*
|
|
319
|
+
* @default - no CIDR block provided
|
|
320
|
+
*/
|
|
321
|
+
readonly cidrBlock?: string;
|
|
322
|
+
/**
|
|
323
|
+
* IPAM pool for IPv6 address type
|
|
324
|
+
*/
|
|
325
|
+
readonly ipv6IpamPoolId?: string;
|
|
326
|
+
/**
|
|
327
|
+
* IPAM pool for IPv4 address type
|
|
328
|
+
*/
|
|
329
|
+
readonly ipv4IpamPoolId?: string;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Attributes for VPCCidrBlock used for defining a new CIDR Block
|
|
333
|
+
* and also for importing an existing CIDR
|
|
334
|
+
*/
|
|
335
|
+
export interface VPCCidrBlockattributes {
|
|
336
|
+
/**
|
|
337
|
+
* Amazon Provided Ipv6
|
|
338
|
+
*
|
|
339
|
+
* @default false
|
|
340
|
+
*/
|
|
341
|
+
readonly amazonProvidedIpv6CidrBlock?: boolean;
|
|
342
|
+
/**
|
|
343
|
+
* The secondary IPv4 CIDR Block
|
|
344
|
+
*
|
|
345
|
+
* @default - no CIDR block provided
|
|
346
|
+
*/
|
|
347
|
+
readonly cidrBlock?: string;
|
|
348
|
+
/**
|
|
349
|
+
* The secondary IPv4 CIDR Block
|
|
350
|
+
*
|
|
351
|
+
* @default - no CIDR block provided
|
|
352
|
+
*/
|
|
353
|
+
readonly cidrBlockName?: string;
|
|
354
|
+
/**
|
|
355
|
+
* Net mask length for IPv6 address type
|
|
356
|
+
*
|
|
357
|
+
* @default - no Net mask length configured for IPv6
|
|
358
|
+
*/
|
|
359
|
+
readonly ipv6NetmaskLength?: number;
|
|
360
|
+
/**
|
|
361
|
+
* Net mask length for IPv4 address type
|
|
362
|
+
*
|
|
363
|
+
* @default - no Net mask length configured for IPv4
|
|
364
|
+
*/
|
|
365
|
+
readonly ipv4NetmaskLength?: number;
|
|
366
|
+
/**
|
|
367
|
+
* IPAM pool for IPv6 address type
|
|
368
|
+
*
|
|
369
|
+
* @default - no IPAM pool Id provided for IPv6
|
|
370
|
+
*/
|
|
371
|
+
readonly ipv6IpamPoolId?: string;
|
|
372
|
+
/**
|
|
373
|
+
* IPAM pool for IPv4 address type
|
|
374
|
+
*
|
|
375
|
+
* @default - no IPAM pool Id provided for IPv4
|
|
376
|
+
*/
|
|
377
|
+
readonly ipv4IpamPoolId?: string;
|
|
378
|
+
/**
|
|
379
|
+
* IPv4 CIDR provisioned under pool
|
|
380
|
+
* Required to check for overlapping CIDRs after provisioning
|
|
381
|
+
* is complete under IPAM pool
|
|
382
|
+
* @default - no IPAM IPv4 CIDR range is provisioned using IPAM
|
|
383
|
+
*/
|
|
384
|
+
readonly ipv4IpamProvisionedCidrs?: string[];
|
|
385
|
+
}
|