terraconstructs 0.0.11 → 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 +7 -5
- 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,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Either an IPv4 or an IPv6 CIDR
|
|
3
|
+
*/
|
|
4
|
+
export declare abstract class AclCidr {
|
|
5
|
+
/**
|
|
6
|
+
* An IP network range in CIDR notation (for example, 172.16.0.0/24).
|
|
7
|
+
*/
|
|
8
|
+
static ipv4(ipv4Cidr: string): AclCidr;
|
|
9
|
+
/**
|
|
10
|
+
* The CIDR containing all IPv4 addresses (i.e., 0.0.0.0/0)
|
|
11
|
+
*/
|
|
12
|
+
static anyIpv4(): AclCidr;
|
|
13
|
+
/**
|
|
14
|
+
* An IPv6 network range in CIDR notation (for example, 2001:db8::/48)
|
|
15
|
+
*/
|
|
16
|
+
static ipv6(ipv6Cidr: string): AclCidr;
|
|
17
|
+
/**
|
|
18
|
+
* The CIDR containing all IPv6 addresses (i.e., ::/0)
|
|
19
|
+
*/
|
|
20
|
+
static anyIpv6(): AclCidr;
|
|
21
|
+
abstract toCidrConfig(): AclCidrConfig;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Acl Configuration for CIDR
|
|
25
|
+
*
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
28
|
+
export interface AclCidrConfig {
|
|
29
|
+
/**
|
|
30
|
+
* Ipv4 CIDR
|
|
31
|
+
*/
|
|
32
|
+
readonly cidrBlock?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Ipv6 CIDR
|
|
35
|
+
*/
|
|
36
|
+
readonly ipv6CidrBlock?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The traffic that is configured using a Network ACL entry
|
|
40
|
+
*
|
|
41
|
+
*
|
|
42
|
+
*/
|
|
43
|
+
export declare abstract class AclTraffic {
|
|
44
|
+
/**
|
|
45
|
+
* Apply the ACL entry to all traffic
|
|
46
|
+
*/
|
|
47
|
+
static allTraffic(): AclTraffic;
|
|
48
|
+
/**
|
|
49
|
+
* Apply the ACL entry to ICMP traffic of given type and code
|
|
50
|
+
*/
|
|
51
|
+
static icmp(props: AclIcmp): AclTraffic;
|
|
52
|
+
/**
|
|
53
|
+
* Apply the ACL entry to ICMPv6 traffic of given type and code
|
|
54
|
+
*
|
|
55
|
+
* Requires an IPv6 CIDR block.
|
|
56
|
+
*/
|
|
57
|
+
static icmpv6(props: AclIcmp): AclTraffic;
|
|
58
|
+
/**
|
|
59
|
+
* Apply the ACL entry to TCP traffic on a given port
|
|
60
|
+
*/
|
|
61
|
+
static tcpPort(port: number): AclTraffic;
|
|
62
|
+
/**
|
|
63
|
+
* Apply the ACL entry to TCP traffic on a given port range
|
|
64
|
+
*/
|
|
65
|
+
static tcpPortRange(startPort: number, endPort: number): AclTraffic;
|
|
66
|
+
/**
|
|
67
|
+
* Apply the ACL entry to UDP traffic on a given port
|
|
68
|
+
*/
|
|
69
|
+
static udpPort(port: number): AclTraffic;
|
|
70
|
+
/**
|
|
71
|
+
* Apply the ACL entry to UDP traffic on a given port range
|
|
72
|
+
*/
|
|
73
|
+
static udpPortRange(startPort: number, endPort: number): AclTraffic;
|
|
74
|
+
abstract toTrafficConfig(): AclTrafficConfig;
|
|
75
|
+
abstract toTfTrafficConfig(): TfAclTrafficConfig;
|
|
76
|
+
}
|
|
77
|
+
export interface TfAclTrafficConfig {
|
|
78
|
+
readonly fromPort?: number;
|
|
79
|
+
readonly toPort?: number;
|
|
80
|
+
readonly icmpCode?: number;
|
|
81
|
+
readonly icmpType?: number;
|
|
82
|
+
readonly protocol: string;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Acl Configuration for traffic
|
|
86
|
+
*
|
|
87
|
+
*
|
|
88
|
+
*/
|
|
89
|
+
export interface AclTrafficConfig {
|
|
90
|
+
/**
|
|
91
|
+
* The Internet Control Message Protocol (ICMP) code and type.
|
|
92
|
+
*
|
|
93
|
+
* @default - Required if specifying 1 (ICMP) for the protocol parameter.
|
|
94
|
+
*/
|
|
95
|
+
readonly icmp?: AclIcmp;
|
|
96
|
+
/**
|
|
97
|
+
* The range of port numbers for the UDP/TCP protocol.
|
|
98
|
+
*
|
|
99
|
+
* @default - Required if specifying 6 (TCP) or 17 (UDP) for the protocol parameter
|
|
100
|
+
*/
|
|
101
|
+
readonly portRange?: AclPortRange;
|
|
102
|
+
/**
|
|
103
|
+
* The protocol number.
|
|
104
|
+
*
|
|
105
|
+
* A value of "-1" means all protocols.
|
|
106
|
+
*
|
|
107
|
+
* If you specify "-1" or a protocol number other than "6" (TCP), "17" (UDP),
|
|
108
|
+
* or "1" (ICMP), traffic on all ports is allowed, regardless of any ports or
|
|
109
|
+
* ICMP types or codes that you specify.
|
|
110
|
+
*
|
|
111
|
+
* If you specify protocol "58" (ICMPv6) and specify an IPv4 CIDR
|
|
112
|
+
* block, traffic for all ICMP types and codes allowed, regardless of any that
|
|
113
|
+
* you specify. If you specify protocol "58" (ICMPv6) and specify an IPv6 CIDR
|
|
114
|
+
* block, you must specify an ICMP type and code.
|
|
115
|
+
*
|
|
116
|
+
* @default 17
|
|
117
|
+
*/
|
|
118
|
+
readonly protocol: number;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Properties to create Icmp
|
|
122
|
+
*
|
|
123
|
+
*
|
|
124
|
+
*/
|
|
125
|
+
export interface AclIcmp {
|
|
126
|
+
/**
|
|
127
|
+
* The Internet Control Message Protocol (ICMP) type. You can use -1 to specify all ICMP types.
|
|
128
|
+
* Conditional requirement: Required if you specify 1 (ICMP) for the CreateNetworkAclEntry protocol parameter.
|
|
129
|
+
*/
|
|
130
|
+
readonly type?: number;
|
|
131
|
+
/**
|
|
132
|
+
* The Internet Control Message Protocol (ICMP) code. You can use -1 to specify all ICMP
|
|
133
|
+
* codes for the given ICMP type. Requirement is conditional: Required if you
|
|
134
|
+
* specify 1 (ICMP) for the protocol parameter.
|
|
135
|
+
*/
|
|
136
|
+
readonly code?: number;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Properties to create PortRange
|
|
140
|
+
*
|
|
141
|
+
*
|
|
142
|
+
*/
|
|
143
|
+
export interface AclPortRange {
|
|
144
|
+
/**
|
|
145
|
+
* The first port in the range. Required if you specify 6 (TCP) or 17 (UDP) for the protocol parameter.
|
|
146
|
+
*/
|
|
147
|
+
readonly from?: number;
|
|
148
|
+
/**
|
|
149
|
+
* The last port in the range. Required if you specify 6 (TCP) or 17 (UDP) for the protocol parameter.
|
|
150
|
+
*/
|
|
151
|
+
readonly to?: number;
|
|
152
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a, _b;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.AclTraffic = exports.AclCidr = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
// https://github.com/aws/aws-cdk/blob/v2.175.1/packages/aws-cdk-lib/aws-ec2/lib/network-acl-types.ts
|
|
7
|
+
/**
|
|
8
|
+
* Either an IPv4 or an IPv6 CIDR
|
|
9
|
+
*/
|
|
10
|
+
class AclCidr {
|
|
11
|
+
/**
|
|
12
|
+
* An IP network range in CIDR notation (for example, 172.16.0.0/24).
|
|
13
|
+
*/
|
|
14
|
+
static ipv4(ipv4Cidr) {
|
|
15
|
+
return new AclCidrImpl({
|
|
16
|
+
cidrBlock: ipv4Cidr,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The CIDR containing all IPv4 addresses (i.e., 0.0.0.0/0)
|
|
21
|
+
*/
|
|
22
|
+
static anyIpv4() {
|
|
23
|
+
return AclCidr.ipv4("0.0.0.0/0");
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* An IPv6 network range in CIDR notation (for example, 2001:db8::/48)
|
|
27
|
+
*/
|
|
28
|
+
static ipv6(ipv6Cidr) {
|
|
29
|
+
return new AclCidrImpl({
|
|
30
|
+
ipv6CidrBlock: ipv6Cidr,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The CIDR containing all IPv6 addresses (i.e., ::/0)
|
|
35
|
+
*/
|
|
36
|
+
static anyIpv6() {
|
|
37
|
+
return AclCidr.ipv6("::/0");
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.AclCidr = AclCidr;
|
|
41
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
42
|
+
AclCidr[_a] = { fqn: "terraconstructs.aws.compute.AclCidr", version: "0.0.12" };
|
|
43
|
+
class AclCidrImpl extends AclCidr {
|
|
44
|
+
constructor(config) {
|
|
45
|
+
super();
|
|
46
|
+
this.config = config;
|
|
47
|
+
}
|
|
48
|
+
toCidrConfig() {
|
|
49
|
+
return this.config;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The traffic that is configured using a Network ACL entry
|
|
54
|
+
*
|
|
55
|
+
*
|
|
56
|
+
*/
|
|
57
|
+
class AclTraffic {
|
|
58
|
+
/**
|
|
59
|
+
* Apply the ACL entry to all traffic
|
|
60
|
+
*/
|
|
61
|
+
static allTraffic() {
|
|
62
|
+
return new AclTrafficImpl({
|
|
63
|
+
protocol: -1,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Apply the ACL entry to ICMP traffic of given type and code
|
|
68
|
+
*/
|
|
69
|
+
static icmp(props) {
|
|
70
|
+
return new AclTrafficImpl({
|
|
71
|
+
protocol: 1,
|
|
72
|
+
icmp: props,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Apply the ACL entry to ICMPv6 traffic of given type and code
|
|
77
|
+
*
|
|
78
|
+
* Requires an IPv6 CIDR block.
|
|
79
|
+
*/
|
|
80
|
+
static icmpv6(props) {
|
|
81
|
+
return new AclTrafficImpl({
|
|
82
|
+
protocol: 58,
|
|
83
|
+
icmp: props,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Apply the ACL entry to TCP traffic on a given port
|
|
88
|
+
*/
|
|
89
|
+
static tcpPort(port) {
|
|
90
|
+
return new AclTrafficImpl({
|
|
91
|
+
protocol: 6,
|
|
92
|
+
portRange: {
|
|
93
|
+
from: port,
|
|
94
|
+
to: port,
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Apply the ACL entry to TCP traffic on a given port range
|
|
100
|
+
*/
|
|
101
|
+
static tcpPortRange(startPort, endPort) {
|
|
102
|
+
return new AclTrafficImpl({
|
|
103
|
+
protocol: 6,
|
|
104
|
+
portRange: {
|
|
105
|
+
from: startPort,
|
|
106
|
+
to: endPort,
|
|
107
|
+
},
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Apply the ACL entry to UDP traffic on a given port
|
|
112
|
+
*/
|
|
113
|
+
static udpPort(port) {
|
|
114
|
+
return new AclTrafficImpl({
|
|
115
|
+
protocol: 17,
|
|
116
|
+
portRange: {
|
|
117
|
+
from: port,
|
|
118
|
+
to: port,
|
|
119
|
+
},
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Apply the ACL entry to UDP traffic on a given port range
|
|
124
|
+
*/
|
|
125
|
+
static udpPortRange(startPort, endPort) {
|
|
126
|
+
return new AclTrafficImpl({
|
|
127
|
+
protocol: 17,
|
|
128
|
+
portRange: {
|
|
129
|
+
from: startPort,
|
|
130
|
+
to: endPort,
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.AclTraffic = AclTraffic;
|
|
136
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
137
|
+
AclTraffic[_b] = { fqn: "terraconstructs.aws.compute.AclTraffic", version: "0.0.12" };
|
|
138
|
+
class AclTrafficImpl extends AclTraffic {
|
|
139
|
+
constructor(config) {
|
|
140
|
+
super();
|
|
141
|
+
this.config = config;
|
|
142
|
+
}
|
|
143
|
+
toTrafficConfig() {
|
|
144
|
+
return this.config;
|
|
145
|
+
}
|
|
146
|
+
toTfTrafficConfig() {
|
|
147
|
+
return {
|
|
148
|
+
fromPort: this.config.portRange?.from,
|
|
149
|
+
toPort: this.config.portRange?.to,
|
|
150
|
+
icmpCode: this.config.icmp?.code,
|
|
151
|
+
icmpType: this.config.icmp?.type,
|
|
152
|
+
protocol: this.config.protocol.toString(),
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1hY2wtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvbmV0d29yay1hY2wtdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxR0FBcUc7QUFFckc7O0dBRUc7QUFDSCxNQUFzQixPQUFPO0lBQzNCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFnQjtRQUNqQyxPQUFPLElBQUksV0FBVyxDQUFDO1lBQ3JCLFNBQVMsRUFBRSxRQUFRO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxPQUFPO1FBQ25CLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQWdCO1FBQ2pDLE9BQU8sSUFBSSxXQUFXLENBQUM7WUFDckIsYUFBYSxFQUFFLFFBQVE7U0FDeEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU87UUFDbkIsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7O0FBL0JILDBCQWtDQzs7O0FBRUQsTUFBTSxXQUFZLFNBQVEsT0FBTztJQUMvQixZQUE2QixNQUFxQjtRQUNoRCxLQUFLLEVBQUUsQ0FBQztRQURtQixXQUFNLEdBQU4sTUFBTSxDQUFlO0lBRWxELENBQUM7SUFFTSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0NBQ0Y7QUFtQkQ7Ozs7R0FJRztBQUNILE1BQXNCLFVBQVU7SUFDOUI7O09BRUc7SUFDSSxNQUFNLENBQUMsVUFBVTtRQUN0QixPQUFPLElBQUksY0FBYyxDQUFDO1lBQ3hCLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQWM7UUFDL0IsT0FBTyxJQUFJLGNBQWMsQ0FBQztZQUN4QixRQUFRLEVBQUUsQ0FBQztZQUNYLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWM7UUFDakMsT0FBTyxJQUFJLGNBQWMsQ0FBQztZQUN4QixRQUFRLEVBQUUsRUFBRTtZQUNaLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFZO1FBQ2hDLE9BQU8sSUFBSSxjQUFjLENBQUM7WUFDeEIsUUFBUSxFQUFFLENBQUM7WUFDWCxTQUFTLEVBQUU7Z0JBQ1QsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsRUFBRSxFQUFFLElBQUk7YUFDVDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBaUIsRUFBRSxPQUFlO1FBQzNELE9BQU8sSUFBSSxjQUFjLENBQUM7WUFDeEIsUUFBUSxFQUFFLENBQUM7WUFDWCxTQUFTLEVBQUU7Z0JBQ1QsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsRUFBRSxFQUFFLE9BQU87YUFDWjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBWTtRQUNoQyxPQUFPLElBQUksY0FBYyxDQUFDO1lBQ3hCLFFBQVEsRUFBRSxFQUFFO1lBQ1osU0FBUyxFQUFFO2dCQUNULElBQUksRUFBRSxJQUFJO2dCQUNWLEVBQUUsRUFBRSxJQUFJO2FBQ1Q7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQWlCLEVBQUUsT0FBZTtRQUMzRCxPQUFPLElBQUksY0FBYyxDQUFDO1lBQ3hCLFFBQVEsRUFBRSxFQUFFO1lBQ1osU0FBUyxFQUFFO2dCQUNULElBQUksRUFBRSxTQUFTO2dCQUNmLEVBQUUsRUFBRSxPQUFPO2FBQ1o7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQWxGSCxnQ0FzRkM7OztBQUVELE1BQU0sY0FBZSxTQUFRLFVBQVU7SUFDckMsWUFBNkIsTUFBd0I7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFEbUIsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7SUFFckQsQ0FBQztJQUVNLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsT0FBTztZQUNMLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJO1lBQ3JDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJO1lBQ2hDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJO1lBQ2hDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7U0FDMUMsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1lYzIvbGliL25ldHdvcmstYWNsLXR5cGVzLnRzXG5cbi8qKlxuICogRWl0aGVyIGFuIElQdjQgb3IgYW4gSVB2NiBDSURSXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBY2xDaWRyIHtcbiAgLyoqXG4gICAqIEFuIElQIG5ldHdvcmsgcmFuZ2UgaW4gQ0lEUiBub3RhdGlvbiAoZm9yIGV4YW1wbGUsIDE3Mi4xNi4wLjAvMjQpLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpcHY0KGlwdjRDaWRyOiBzdHJpbmcpOiBBY2xDaWRyIHtcbiAgICByZXR1cm4gbmV3IEFjbENpZHJJbXBsKHtcbiAgICAgIGNpZHJCbG9jazogaXB2NENpZHIsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIENJRFIgY29udGFpbmluZyBhbGwgSVB2NCBhZGRyZXNzZXMgKGkuZS4sIDAuMC4wLjAvMClcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYW55SXB2NCgpOiBBY2xDaWRyIHtcbiAgICByZXR1cm4gQWNsQ2lkci5pcHY0KFwiMC4wLjAuMC8wXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIElQdjYgbmV0d29yayByYW5nZSBpbiBDSURSIG5vdGF0aW9uIChmb3IgZXhhbXBsZSwgMjAwMTpkYjg6Oi80OClcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXB2NihpcHY2Q2lkcjogc3RyaW5nKTogQWNsQ2lkciB7XG4gICAgcmV0dXJuIG5ldyBBY2xDaWRySW1wbCh7XG4gICAgICBpcHY2Q2lkckJsb2NrOiBpcHY2Q2lkcixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQ0lEUiBjb250YWluaW5nIGFsbCBJUHY2IGFkZHJlc3NlcyAoaS5lLiwgOjovMClcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYW55SXB2NigpOiBBY2xDaWRyIHtcbiAgICByZXR1cm4gQWNsQ2lkci5pcHY2KFwiOjovMFwiKTtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCB0b0NpZHJDb25maWcoKTogQWNsQ2lkckNvbmZpZztcbn1cblxuY2xhc3MgQWNsQ2lkckltcGwgZXh0ZW5kcyBBY2xDaWRyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb25maWc6IEFjbENpZHJDb25maWcpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIHRvQ2lkckNvbmZpZygpOiBBY2xDaWRyQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWc7XG4gIH1cbn1cblxuLyoqXG4gKiBBY2wgQ29uZmlndXJhdGlvbiBmb3IgQ0lEUlxuICpcbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWNsQ2lkckNvbmZpZyB7XG4gIC8qKlxuICAgKiBJcHY0IENJRFJcbiAgICovXG4gIHJlYWRvbmx5IGNpZHJCbG9jaz86IHN0cmluZztcblxuICAvKipcbiAgICogSXB2NiBDSURSXG4gICAqL1xuICByZWFkb25seSBpcHY2Q2lkckJsb2NrPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSB0cmFmZmljIHRoYXQgaXMgY29uZmlndXJlZCB1c2luZyBhIE5ldHdvcmsgQUNMIGVudHJ5XG4gKlxuICpcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFjbFRyYWZmaWMge1xuICAvKipcbiAgICogQXBwbHkgdGhlIEFDTCBlbnRyeSB0byBhbGwgdHJhZmZpY1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhbGxUcmFmZmljKCk6IEFjbFRyYWZmaWMge1xuICAgIHJldHVybiBuZXcgQWNsVHJhZmZpY0ltcGwoe1xuICAgICAgcHJvdG9jb2w6IC0xLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGx5IHRoZSBBQ0wgZW50cnkgdG8gSUNNUCB0cmFmZmljIG9mIGdpdmVuIHR5cGUgYW5kIGNvZGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaWNtcChwcm9wczogQWNsSWNtcCk6IEFjbFRyYWZmaWMge1xuICAgIHJldHVybiBuZXcgQWNsVHJhZmZpY0ltcGwoe1xuICAgICAgcHJvdG9jb2w6IDEsXG4gICAgICBpY21wOiBwcm9wcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBseSB0aGUgQUNMIGVudHJ5IHRvIElDTVB2NiB0cmFmZmljIG9mIGdpdmVuIHR5cGUgYW5kIGNvZGVcbiAgICpcbiAgICogUmVxdWlyZXMgYW4gSVB2NiBDSURSIGJsb2NrLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpY21wdjYocHJvcHM6IEFjbEljbXApOiBBY2xUcmFmZmljIHtcbiAgICByZXR1cm4gbmV3IEFjbFRyYWZmaWNJbXBsKHtcbiAgICAgIHByb3RvY29sOiA1OCxcbiAgICAgIGljbXA6IHByb3BzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGx5IHRoZSBBQ0wgZW50cnkgdG8gVENQIHRyYWZmaWMgb24gYSBnaXZlbiBwb3J0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHRjcFBvcnQocG9ydDogbnVtYmVyKTogQWNsVHJhZmZpYyB7XG4gICAgcmV0dXJuIG5ldyBBY2xUcmFmZmljSW1wbCh7XG4gICAgICBwcm90b2NvbDogNixcbiAgICAgIHBvcnRSYW5nZToge1xuICAgICAgICBmcm9tOiBwb3J0LFxuICAgICAgICB0bzogcG9ydCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXBwbHkgdGhlIEFDTCBlbnRyeSB0byBUQ1AgdHJhZmZpYyBvbiBhIGdpdmVuIHBvcnQgcmFuZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdGNwUG9ydFJhbmdlKHN0YXJ0UG9ydDogbnVtYmVyLCBlbmRQb3J0OiBudW1iZXIpOiBBY2xUcmFmZmljIHtcbiAgICByZXR1cm4gbmV3IEFjbFRyYWZmaWNJbXBsKHtcbiAgICAgIHByb3RvY29sOiA2LFxuICAgICAgcG9ydFJhbmdlOiB7XG4gICAgICAgIGZyb206IHN0YXJ0UG9ydCxcbiAgICAgICAgdG86IGVuZFBvcnQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGx5IHRoZSBBQ0wgZW50cnkgdG8gVURQIHRyYWZmaWMgb24gYSBnaXZlbiBwb3J0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHVkcFBvcnQocG9ydDogbnVtYmVyKTogQWNsVHJhZmZpYyB7XG4gICAgcmV0dXJuIG5ldyBBY2xUcmFmZmljSW1wbCh7XG4gICAgICBwcm90b2NvbDogMTcsXG4gICAgICBwb3J0UmFuZ2U6IHtcbiAgICAgICAgZnJvbTogcG9ydCxcbiAgICAgICAgdG86IHBvcnQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGx5IHRoZSBBQ0wgZW50cnkgdG8gVURQIHRyYWZmaWMgb24gYSBnaXZlbiBwb3J0IHJhbmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHVkcFBvcnRSYW5nZShzdGFydFBvcnQ6IG51bWJlciwgZW5kUG9ydDogbnVtYmVyKTogQWNsVHJhZmZpYyB7XG4gICAgcmV0dXJuIG5ldyBBY2xUcmFmZmljSW1wbCh7XG4gICAgICBwcm90b2NvbDogMTcsXG4gICAgICBwb3J0UmFuZ2U6IHtcbiAgICAgICAgZnJvbTogc3RhcnRQb3J0LFxuICAgICAgICB0bzogZW5kUG9ydCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgdG9UcmFmZmljQ29uZmlnKCk6IEFjbFRyYWZmaWNDb25maWc7XG4gIHB1YmxpYyBhYnN0cmFjdCB0b1RmVHJhZmZpY0NvbmZpZygpOiBUZkFjbFRyYWZmaWNDb25maWc7XG59XG5cbmNsYXNzIEFjbFRyYWZmaWNJbXBsIGV4dGVuZHMgQWNsVHJhZmZpYyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBBY2xUcmFmZmljQ29uZmlnKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RyYWZmaWNDb25maWcoKTogQWNsVHJhZmZpY0NvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnO1xuICB9XG5cbiAgcHVibGljIHRvVGZUcmFmZmljQ29uZmlnKCk6IFRmQWNsVHJhZmZpY0NvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZyb21Qb3J0OiB0aGlzLmNvbmZpZy5wb3J0UmFuZ2U/LmZyb20sXG4gICAgICB0b1BvcnQ6IHRoaXMuY29uZmlnLnBvcnRSYW5nZT8udG8sXG4gICAgICBpY21wQ29kZTogdGhpcy5jb25maWcuaWNtcD8uY29kZSxcbiAgICAgIGljbXBUeXBlOiB0aGlzLmNvbmZpZy5pY21wPy50eXBlLFxuICAgICAgcHJvdG9jb2w6IHRoaXMuY29uZmlnLnByb3RvY29sLnRvU3RyaW5nKCksXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRmQWNsVHJhZmZpY0NvbmZpZyB7XG4gIHJlYWRvbmx5IGZyb21Qb3J0PzogbnVtYmVyO1xuICByZWFkb25seSB0b1BvcnQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGljbXBDb2RlPzogbnVtYmVyO1xuICByZWFkb25seSBpY21wVHlwZT86IG51bWJlcjtcbiAgcmVhZG9ubHkgcHJvdG9jb2w6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBY2wgQ29uZmlndXJhdGlvbiBmb3IgdHJhZmZpY1xuICpcbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWNsVHJhZmZpY0NvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgSW50ZXJuZXQgQ29udHJvbCBNZXNzYWdlIFByb3RvY29sIChJQ01QKSBjb2RlIGFuZCB0eXBlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFJlcXVpcmVkIGlmIHNwZWNpZnlpbmcgMSAoSUNNUCkgZm9yIHRoZSBwcm90b2NvbCBwYXJhbWV0ZXIuXG4gICAqL1xuICByZWFkb25seSBpY21wPzogQWNsSWNtcDtcblxuICAvKipcbiAgICogVGhlIHJhbmdlIG9mIHBvcnQgbnVtYmVycyBmb3IgdGhlIFVEUC9UQ1AgcHJvdG9jb2wuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gUmVxdWlyZWQgaWYgc3BlY2lmeWluZyA2IChUQ1ApIG9yIDE3IChVRFApIGZvciB0aGUgcHJvdG9jb2wgcGFyYW1ldGVyXG4gICAqL1xuICByZWFkb25seSBwb3J0UmFuZ2U/OiBBY2xQb3J0UmFuZ2U7XG5cbiAgLyoqXG4gICAqIFRoZSBwcm90b2NvbCBudW1iZXIuXG4gICAqXG4gICAqIEEgdmFsdWUgb2YgXCItMVwiIG1lYW5zIGFsbCBwcm90b2NvbHMuXG4gICAqXG4gICAqIElmIHlvdSBzcGVjaWZ5IFwiLTFcIiBvciBhIHByb3RvY29sIG51bWJlciBvdGhlciB0aGFuIFwiNlwiIChUQ1ApLCBcIjE3XCIgKFVEUCksXG4gICAqIG9yIFwiMVwiIChJQ01QKSwgdHJhZmZpYyBvbiBhbGwgcG9ydHMgaXMgYWxsb3dlZCwgcmVnYXJkbGVzcyBvZiBhbnkgcG9ydHMgb3JcbiAgICogSUNNUCB0eXBlcyBvciBjb2RlcyB0aGF0IHlvdSBzcGVjaWZ5LlxuICAgKlxuICAgKiBJZiB5b3Ugc3BlY2lmeSBwcm90b2NvbCBcIjU4XCIgKElDTVB2NikgYW5kIHNwZWNpZnkgYW4gSVB2NCBDSURSXG4gICAqIGJsb2NrLCB0cmFmZmljIGZvciBhbGwgSUNNUCB0eXBlcyBhbmQgY29kZXMgYWxsb3dlZCwgcmVnYXJkbGVzcyBvZiBhbnkgdGhhdFxuICAgKiB5b3Ugc3BlY2lmeS4gSWYgeW91IHNwZWNpZnkgcHJvdG9jb2wgXCI1OFwiIChJQ01QdjYpIGFuZCBzcGVjaWZ5IGFuIElQdjYgQ0lEUlxuICAgKiBibG9jaywgeW91IG11c3Qgc3BlY2lmeSBhbiBJQ01QIHR5cGUgYW5kIGNvZGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDE3XG4gICAqL1xuICByZWFkb25seSBwcm90b2NvbDogbnVtYmVyO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgdG8gY3JlYXRlIEljbXBcbiAqXG4gKlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjbEljbXAge1xuICAvKipcbiAgICogVGhlIEludGVybmV0IENvbnRyb2wgTWVzc2FnZSBQcm90b2NvbCAoSUNNUCkgdHlwZS4gWW91IGNhbiB1c2UgLTEgdG8gc3BlY2lmeSBhbGwgSUNNUCB0eXBlcy5cbiAgICogQ29uZGl0aW9uYWwgcmVxdWlyZW1lbnQ6IFJlcXVpcmVkIGlmIHlvdSBzcGVjaWZ5IDEgKElDTVApIGZvciB0aGUgQ3JlYXRlTmV0d29ya0FjbEVudHJ5IHByb3RvY29sIHBhcmFtZXRlci5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBJbnRlcm5ldCBDb250cm9sIE1lc3NhZ2UgUHJvdG9jb2wgKElDTVApIGNvZGUuIFlvdSBjYW4gdXNlIC0xIHRvIHNwZWNpZnkgYWxsIElDTVBcbiAgICogY29kZXMgZm9yIHRoZSBnaXZlbiBJQ01QIHR5cGUuIFJlcXVpcmVtZW50IGlzIGNvbmRpdGlvbmFsOiBSZXF1aXJlZCBpZiB5b3VcbiAgICogc3BlY2lmeSAxIChJQ01QKSBmb3IgdGhlIHByb3RvY29sIHBhcmFtZXRlci5cbiAgICovXG4gIHJlYWRvbmx5IGNvZGU/OiBudW1iZXI7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyB0byBjcmVhdGUgUG9ydFJhbmdlXG4gKlxuICpcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY2xQb3J0UmFuZ2Uge1xuICAvKipcbiAgICogVGhlIGZpcnN0IHBvcnQgaW4gdGhlIHJhbmdlLiBSZXF1aXJlZCBpZiB5b3Ugc3BlY2lmeSA2IChUQ1ApIG9yIDE3IChVRFApIGZvciB0aGUgcHJvdG9jb2wgcGFyYW1ldGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgZnJvbT86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGxhc3QgcG9ydCBpbiB0aGUgcmFuZ2UuIFJlcXVpcmVkIGlmIHlvdSBzcGVjaWZ5IDYgKFRDUCkgb3IgMTcgKFVEUCkgZm9yIHRoZSBwcm90b2NvbCBwYXJhbWV0ZXIuXG4gICAqL1xuICByZWFkb25seSB0bz86IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
import { networkAclRule as tfNetworkAclRule } from "@cdktf/provider-aws";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
import { AclCidr, AclTraffic } from "./network-acl-types";
|
|
4
|
+
import { ISubnet, IVpc, SubnetSelection } from "./vpc";
|
|
5
|
+
import { IAwsConstruct, AwsConstructBase, AwsConstructProps } from "../aws-construct";
|
|
6
|
+
export interface NetworkAclOutputs {
|
|
7
|
+
/**
|
|
8
|
+
* The ID of the NetworkACL
|
|
9
|
+
*/
|
|
10
|
+
readonly networkAclId: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* A NetworkAcl
|
|
14
|
+
*
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
export interface INetworkAcl extends IAwsConstruct {
|
|
18
|
+
readonly networkAclOutputs: NetworkAclOutputs;
|
|
19
|
+
/**
|
|
20
|
+
* ID for the current Network ACL
|
|
21
|
+
* @attribute
|
|
22
|
+
*/
|
|
23
|
+
readonly networkAclId: string;
|
|
24
|
+
/**
|
|
25
|
+
* Add a new entry to the ACL
|
|
26
|
+
*/
|
|
27
|
+
addEntry(id: string, options: CommonNetworkAclEntryOptions): NetworkAclEntry;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* A NetworkAclBase that is not created in this template
|
|
31
|
+
*
|
|
32
|
+
*
|
|
33
|
+
*/
|
|
34
|
+
declare abstract class NetworkAclBase extends AwsConstructBase implements INetworkAcl {
|
|
35
|
+
get networkAclOutputs(): NetworkAclOutputs;
|
|
36
|
+
get outputs(): Record<string, any>;
|
|
37
|
+
abstract readonly networkAclId: string;
|
|
38
|
+
/**
|
|
39
|
+
* Add a new entry to the ACL
|
|
40
|
+
*/
|
|
41
|
+
addEntry(id: string, options: CommonNetworkAclEntryOptions): NetworkAclEntry;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Properties to create NetworkAcl
|
|
45
|
+
*
|
|
46
|
+
*
|
|
47
|
+
*/
|
|
48
|
+
export interface NetworkAclProps {
|
|
49
|
+
/**
|
|
50
|
+
* The name of the NetworkAcl.
|
|
51
|
+
*
|
|
52
|
+
* Since the NetworkAcl resource doesn't support providing a physical name, the value provided here will be recorded in the `Name` tag.
|
|
53
|
+
*
|
|
54
|
+
* @default CDK generated name
|
|
55
|
+
*/
|
|
56
|
+
readonly networkAclName?: string;
|
|
57
|
+
/**
|
|
58
|
+
* The VPC in which to create the NetworkACL.
|
|
59
|
+
*/
|
|
60
|
+
readonly vpc: IVpc;
|
|
61
|
+
/**
|
|
62
|
+
* Subnets in the given VPC to associate the ACL with
|
|
63
|
+
*
|
|
64
|
+
* More subnets can always be added later by calling
|
|
65
|
+
* `associateWithSubnets()`.
|
|
66
|
+
*
|
|
67
|
+
* @default - No subnets associated
|
|
68
|
+
*/
|
|
69
|
+
readonly subnetSelection?: SubnetSelection;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Define a new custom network ACL
|
|
73
|
+
*
|
|
74
|
+
* By default, will deny all inbound and outbound traffic unless entries are
|
|
75
|
+
* added explicitly allowing it.
|
|
76
|
+
*
|
|
77
|
+
*
|
|
78
|
+
*/
|
|
79
|
+
export declare class NetworkAcl extends NetworkAclBase {
|
|
80
|
+
/**
|
|
81
|
+
* Import an existing NetworkAcl into this app.
|
|
82
|
+
*/
|
|
83
|
+
static fromNetworkAclId(scope: Construct, id: string, networkAclId: string): INetworkAcl;
|
|
84
|
+
/**
|
|
85
|
+
* The ID of the NetworkACL
|
|
86
|
+
*
|
|
87
|
+
* @attribute
|
|
88
|
+
*/
|
|
89
|
+
readonly networkAclId: string;
|
|
90
|
+
/**
|
|
91
|
+
* The VPC ID for this NetworkACL
|
|
92
|
+
*
|
|
93
|
+
* @attribute
|
|
94
|
+
*/
|
|
95
|
+
readonly networkAclVpcId: string;
|
|
96
|
+
private readonly networkAcl;
|
|
97
|
+
private readonly vpc;
|
|
98
|
+
constructor(scope: Construct, id: string, props: NetworkAclProps);
|
|
99
|
+
/**
|
|
100
|
+
* Associate the ACL with a given set of subnets
|
|
101
|
+
*/
|
|
102
|
+
associateWithSubnet(id: string, selection: SubnetSelection): void;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* What action to apply to traffic matching the ACL
|
|
106
|
+
*
|
|
107
|
+
*
|
|
108
|
+
*/
|
|
109
|
+
export declare enum Action {
|
|
110
|
+
/**
|
|
111
|
+
* Allow the traffic
|
|
112
|
+
*/
|
|
113
|
+
ALLOW = "allow",
|
|
114
|
+
/**
|
|
115
|
+
* Deny the traffic
|
|
116
|
+
*/
|
|
117
|
+
DENY = "deny"
|
|
118
|
+
}
|
|
119
|
+
export interface NetworkAclEntryOutputs {
|
|
120
|
+
/**
|
|
121
|
+
* The ID of the NetworkACL
|
|
122
|
+
*/
|
|
123
|
+
readonly networkAclId: string;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* A NetworkAclEntry
|
|
127
|
+
*
|
|
128
|
+
*
|
|
129
|
+
*/
|
|
130
|
+
export interface INetworkAclEntry extends IAwsConstruct {
|
|
131
|
+
readonly networkAclEntryOutputs: NetworkAclEntryOutputs;
|
|
132
|
+
/**
|
|
133
|
+
* The network ACL.
|
|
134
|
+
*/
|
|
135
|
+
readonly networkAcl: INetworkAcl;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Base class for NetworkAclEntries
|
|
139
|
+
*
|
|
140
|
+
*
|
|
141
|
+
*/
|
|
142
|
+
declare abstract class NetworkAclEntryBase extends AwsConstructBase implements INetworkAclEntry {
|
|
143
|
+
get networkAclEntryOutputs(): NetworkAclEntryOutputs;
|
|
144
|
+
get outputs(): Record<string, any>;
|
|
145
|
+
abstract readonly networkAcl: INetworkAcl;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Direction of traffic the AclEntry applies to
|
|
149
|
+
*
|
|
150
|
+
*
|
|
151
|
+
*/
|
|
152
|
+
export declare enum TrafficDirection {
|
|
153
|
+
/**
|
|
154
|
+
* Traffic leaving the subnet
|
|
155
|
+
*/
|
|
156
|
+
EGRESS = 0,
|
|
157
|
+
/**
|
|
158
|
+
* Traffic entering the subnet
|
|
159
|
+
*/
|
|
160
|
+
INGRESS = 1
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Basic NetworkACL entry props
|
|
164
|
+
*
|
|
165
|
+
*
|
|
166
|
+
*/
|
|
167
|
+
export interface CommonNetworkAclEntryOptions {
|
|
168
|
+
/**
|
|
169
|
+
* The CIDR range to allow or deny.
|
|
170
|
+
*/
|
|
171
|
+
readonly cidr: AclCidr;
|
|
172
|
+
/**
|
|
173
|
+
* What kind of traffic this ACL rule applies to
|
|
174
|
+
*/
|
|
175
|
+
readonly traffic: AclTraffic;
|
|
176
|
+
/**
|
|
177
|
+
* Traffic direction, with respect to the subnet, this rule applies to
|
|
178
|
+
*
|
|
179
|
+
* @default TrafficDirection.INGRESS
|
|
180
|
+
*/
|
|
181
|
+
readonly direction?: TrafficDirection;
|
|
182
|
+
/**
|
|
183
|
+
* Whether to allow or deny traffic that matches the rule; valid values are "allow" or "deny".
|
|
184
|
+
*
|
|
185
|
+
* Any traffic that is not explicitly allowed is automatically denied in a custom
|
|
186
|
+
* ACL, all traffic is automatically allowed in a default ACL.
|
|
187
|
+
*
|
|
188
|
+
* @default ALLOW
|
|
189
|
+
*/
|
|
190
|
+
readonly ruleAction?: Action;
|
|
191
|
+
/**
|
|
192
|
+
* Rule number to assign to the entry, such as 100. ACL entries are processed in ascending order by rule number.
|
|
193
|
+
* Entries can't use the same rule number unless one is an egress rule and the other is an ingress rule.
|
|
194
|
+
*/
|
|
195
|
+
readonly ruleNumber: number;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Properties to create NetworkAclEntry
|
|
199
|
+
*
|
|
200
|
+
*
|
|
201
|
+
*/
|
|
202
|
+
export interface NetworkAclEntryProps extends CommonNetworkAclEntryOptions, AwsConstructProps {
|
|
203
|
+
/**
|
|
204
|
+
* The network ACL this entry applies to.
|
|
205
|
+
*/
|
|
206
|
+
readonly networkAcl: INetworkAcl;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Define an entry in a Network ACL table
|
|
210
|
+
*
|
|
211
|
+
*
|
|
212
|
+
*/
|
|
213
|
+
export declare class NetworkAclEntry extends NetworkAclEntryBase {
|
|
214
|
+
readonly networkAcl: INetworkAcl;
|
|
215
|
+
resource: tfNetworkAclRule.NetworkAclRule;
|
|
216
|
+
constructor(scope: Construct, id: string, props: NetworkAclEntryProps);
|
|
217
|
+
}
|
|
218
|
+
export interface SubnetNetworkAclAssociationOutputs {
|
|
219
|
+
/**
|
|
220
|
+
* The ID of the SubnetNetworkAclAssociation
|
|
221
|
+
*/
|
|
222
|
+
readonly subnetNetworkAclAssociationAssociationId: string;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* A SubnetNetworkAclAssociation
|
|
226
|
+
*
|
|
227
|
+
*
|
|
228
|
+
*/
|
|
229
|
+
export interface ISubnetNetworkAclAssociation extends IAwsConstruct {
|
|
230
|
+
readonly subnetNetworkAclAssociationOutputs: SubnetNetworkAclAssociationOutputs;
|
|
231
|
+
/**
|
|
232
|
+
* ID for the current SubnetNetworkAclAssociation
|
|
233
|
+
* @attribute
|
|
234
|
+
*/
|
|
235
|
+
readonly subnetNetworkAclAssociationAssociationId: string;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Properties to create a SubnetNetworkAclAssociation
|
|
239
|
+
*
|
|
240
|
+
*
|
|
241
|
+
*/
|
|
242
|
+
export interface SubnetNetworkAclAssociationProps extends AwsConstructProps {
|
|
243
|
+
/**
|
|
244
|
+
* The Network ACL this association is defined for
|
|
245
|
+
*
|
|
246
|
+
* @attribute
|
|
247
|
+
*/
|
|
248
|
+
readonly networkAcl: INetworkAcl;
|
|
249
|
+
/**
|
|
250
|
+
* ID of the Subnet
|
|
251
|
+
* @attribute
|
|
252
|
+
*/
|
|
253
|
+
readonly subnet: ISubnet;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Associate a network ACL with a subnet
|
|
257
|
+
*
|
|
258
|
+
*
|
|
259
|
+
*/
|
|
260
|
+
declare abstract class SubnetNetworkAclAssociationBase extends AwsConstructBase implements ISubnetNetworkAclAssociation {
|
|
261
|
+
get subnetNetworkAclAssociationOutputs(): SubnetNetworkAclAssociationOutputs;
|
|
262
|
+
get outputs(): Record<string, any>;
|
|
263
|
+
abstract readonly subnetNetworkAclAssociationAssociationId: string;
|
|
264
|
+
}
|
|
265
|
+
export declare class SubnetNetworkAclAssociation extends SubnetNetworkAclAssociationBase {
|
|
266
|
+
static fromSubnetNetworkAclAssociationAssociationId(scope: Construct, id: string, subnetNetworkAclAssociationAssociationId: string): ISubnetNetworkAclAssociation;
|
|
267
|
+
/**
|
|
268
|
+
* ID for the current SubnetNetworkAclAssociation
|
|
269
|
+
* @attribute
|
|
270
|
+
*/
|
|
271
|
+
readonly subnetNetworkAclAssociationAssociationId: string;
|
|
272
|
+
/**
|
|
273
|
+
* ID for the current Network ACL
|
|
274
|
+
* @attribute
|
|
275
|
+
*/
|
|
276
|
+
readonly networkAcl: INetworkAcl;
|
|
277
|
+
/**
|
|
278
|
+
* ID of the Subnet
|
|
279
|
+
* @attribute
|
|
280
|
+
*/
|
|
281
|
+
readonly subnet: ISubnet;
|
|
282
|
+
private association;
|
|
283
|
+
constructor(scope: Construct, id: string, props: SubnetNetworkAclAssociationProps);
|
|
284
|
+
}
|
|
285
|
+
export {};
|