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,414 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { Connections } from "./connections";
|
|
3
|
+
import { IPeer } from "./peer";
|
|
4
|
+
import { Port } from "./port";
|
|
5
|
+
import { IVpc } from "./vpc";
|
|
6
|
+
import { AwsConstructBase, IAwsConstruct, AwsConstructProps } from "../aws-construct";
|
|
7
|
+
/**
|
|
8
|
+
* Outputs which may be registered for output via the Grid.
|
|
9
|
+
*/
|
|
10
|
+
export interface SecurityGroupOutputs {
|
|
11
|
+
/**
|
|
12
|
+
* ID for the current security group
|
|
13
|
+
* @attribute
|
|
14
|
+
*/
|
|
15
|
+
readonly securityGroupId: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Interface for security group-like objects
|
|
19
|
+
*/
|
|
20
|
+
export interface ISecurityGroup extends IAwsConstruct, IPeer {
|
|
21
|
+
/** Strongly typed outputs */
|
|
22
|
+
readonly securityGroupOutputs: SecurityGroupOutputs;
|
|
23
|
+
/**
|
|
24
|
+
* ID for the current security group
|
|
25
|
+
* @attribute
|
|
26
|
+
*/
|
|
27
|
+
readonly securityGroupId: string;
|
|
28
|
+
/**
|
|
29
|
+
* Whether the SecurityGroup has been configured to allow all outbound traffic
|
|
30
|
+
*/
|
|
31
|
+
readonly allowAllOutbound: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Add an ingress rule for the current security group
|
|
34
|
+
*
|
|
35
|
+
* `remoteRule` controls where the Rule object is created if the peer is also a
|
|
36
|
+
* securityGroup and they are in different stack. If false (default) the
|
|
37
|
+
* rule object is created under the current SecurityGroup object. If true and the
|
|
38
|
+
* peer is also a SecurityGroup, the rule object is created under the remote
|
|
39
|
+
* SecurityGroup object.
|
|
40
|
+
*/
|
|
41
|
+
addIngressRule(peer: IPeer, connection: Port, description?: string, remoteRule?: boolean): void;
|
|
42
|
+
/**
|
|
43
|
+
* Add an egress rule for the current security group
|
|
44
|
+
*
|
|
45
|
+
* `remoteRule` controls where the Rule object is created if the peer is also a
|
|
46
|
+
* securityGroup and they are in different stack. If false (default) the
|
|
47
|
+
* rule object is created under the current SecurityGroup object. If true and the
|
|
48
|
+
* peer is also a SecurityGroup, the rule object is created under the remote
|
|
49
|
+
* SecurityGroup object.
|
|
50
|
+
*/
|
|
51
|
+
addEgressRule(peer: IPeer, connection: Port, description?: string, remoteRule?: boolean): void;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* A SecurityGroup that is not created in this template
|
|
55
|
+
*/
|
|
56
|
+
declare abstract class SecurityGroupBase extends AwsConstructBase implements ISecurityGroup {
|
|
57
|
+
/**
|
|
58
|
+
* Return whether the indicated object is a security group
|
|
59
|
+
*/
|
|
60
|
+
static isSecurityGroup(x: any): x is SecurityGroupBase;
|
|
61
|
+
abstract readonly securityGroupId: string;
|
|
62
|
+
get securityGroupOutputs(): SecurityGroupOutputs;
|
|
63
|
+
get outputs(): Record<string, any>;
|
|
64
|
+
abstract readonly allowAllOutbound: boolean;
|
|
65
|
+
abstract readonly allowAllIpv6Outbound: boolean;
|
|
66
|
+
readonly canInlineRule = false;
|
|
67
|
+
readonly connections: Connections;
|
|
68
|
+
readonly defaultPort?: Port;
|
|
69
|
+
private peerAsTokenCount;
|
|
70
|
+
constructor(scope: Construct, id: string, props?: AwsConstructProps);
|
|
71
|
+
get uniqueId(): string;
|
|
72
|
+
addIngressRule(peer: IPeer, connection: Port, description?: string, remoteRule?: boolean): void;
|
|
73
|
+
addEgressRule(peer: IPeer, connection: Port, description?: string, remoteRule?: boolean): void;
|
|
74
|
+
toIngressRuleConfig(): any;
|
|
75
|
+
toEgressRuleConfig(): any;
|
|
76
|
+
private toRuleConfig;
|
|
77
|
+
/**
|
|
78
|
+
* Determine where to parent a new ingress/egress rule
|
|
79
|
+
*
|
|
80
|
+
* A SecurityGroup rule is parented under the group it's related to, UNLESS
|
|
81
|
+
* we're in a cross-stack scenario with another Security Group. In that case,
|
|
82
|
+
* we respect the 'remoteRule' flag and will parent under the other security
|
|
83
|
+
* group.
|
|
84
|
+
*
|
|
85
|
+
* This is necessary to avoid cyclic dependencies between stacks, since both
|
|
86
|
+
* ingress and egress rules will reference both security groups, and a naive
|
|
87
|
+
* parenting will lead to the following situation:
|
|
88
|
+
*
|
|
89
|
+
* ╔════════════════════╗ ╔════════════════════╗
|
|
90
|
+
* ║ ┌───────────┐ ║ ║ ┌───────────┐ ║
|
|
91
|
+
* ║ │ GroupA │◀────╬─┐ ┌───╬───▶│ GroupB │ ║
|
|
92
|
+
* ║ └───────────┘ ║ │ │ ║ └───────────┘ ║
|
|
93
|
+
* ║ ▲ ║ │ │ ║ ▲ ║
|
|
94
|
+
* ║ │ ║ │ │ ║ │ ║
|
|
95
|
+
* ║ │ ║ │ │ ║ │ ║
|
|
96
|
+
* ║ ┌───────────┐ ║ └───┼───╬────┌───────────┐ ║
|
|
97
|
+
* ║ │ EgressA │─────╬─────┘ ║ │ IngressB │ ║
|
|
98
|
+
* ║ └───────────┘ ║ ║ └───────────┘ ║
|
|
99
|
+
* ║ ║ ║ ║
|
|
100
|
+
* ╚════════════════════╝ ╚════════════════════╝
|
|
101
|
+
*
|
|
102
|
+
* By having the ability to switch the parent, we avoid the cyclic reference by
|
|
103
|
+
* keeping all rules in a single stack.
|
|
104
|
+
*
|
|
105
|
+
* If this happens, we also have to change the construct ID, because
|
|
106
|
+
* otherwise we might have two objects with the same ID if we have
|
|
107
|
+
* multiple reversed security group relationships.
|
|
108
|
+
*
|
|
109
|
+
* ╔═══════════════════════════════════╗
|
|
110
|
+
* ║┌───────────┐ ║
|
|
111
|
+
* ║│ GroupB │ ║
|
|
112
|
+
* ║└───────────┘ ║
|
|
113
|
+
* ║ ▲ ║
|
|
114
|
+
* ║ │ ┌───────────┐ ║
|
|
115
|
+
* ║ ├────"from A"──│ IngressB │ ║
|
|
116
|
+
* ║ │ └───────────┘ ║
|
|
117
|
+
* ║ │ ┌───────────┐ ║
|
|
118
|
+
* ║ ├─────"to B"───│ EgressA │ ║
|
|
119
|
+
* ║ │ └───────────┘ ║
|
|
120
|
+
* ║ │ ┌───────────┐ ║
|
|
121
|
+
* ║ └─────"to B"───│ EgressC │ ║ <-- oops
|
|
122
|
+
* ║ └───────────┘ ║
|
|
123
|
+
* ╚═══════════════════════════════════╝
|
|
124
|
+
*/
|
|
125
|
+
protected determineRuleScope(peer: IPeer, connection: Port, fromTo: "from" | "to", remoteRule?: boolean): RuleScope;
|
|
126
|
+
private renderPeer;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* The scope and id in which a given SecurityGroup rule should be defined.
|
|
130
|
+
*/
|
|
131
|
+
export interface RuleScope {
|
|
132
|
+
/**
|
|
133
|
+
* The SecurityGroup in which a rule should be scoped.
|
|
134
|
+
*/
|
|
135
|
+
readonly scope: ISecurityGroup;
|
|
136
|
+
/**
|
|
137
|
+
* The construct ID to use for the rule.
|
|
138
|
+
*/
|
|
139
|
+
readonly id: string;
|
|
140
|
+
}
|
|
141
|
+
export interface SecurityGroupProps extends AwsConstructProps {
|
|
142
|
+
/**
|
|
143
|
+
* The name of the security group. For valid values, see the GroupName
|
|
144
|
+
* parameter of the CreateSecurityGroup action in the Amazon EC2 API
|
|
145
|
+
* Reference.
|
|
146
|
+
*
|
|
147
|
+
* It is not recommended to use an explicit group name.
|
|
148
|
+
*
|
|
149
|
+
* @default If you don't specify a GroupName, AWS CloudFormation generates a
|
|
150
|
+
* unique physical ID and uses that ID for the group name.
|
|
151
|
+
*/
|
|
152
|
+
readonly securityGroupName?: string;
|
|
153
|
+
/**
|
|
154
|
+
* A description of the security group.
|
|
155
|
+
*
|
|
156
|
+
* Forces new resource
|
|
157
|
+
*
|
|
158
|
+
* Security group description. Defaults to `Managed by Terraform`. Cannot be `""`.
|
|
159
|
+
*
|
|
160
|
+
* NOTE: This field maps to the AWS `GroupDescription` attribute, for which there is no Update API.
|
|
161
|
+
* If you'd like to classify your security groups in a way that can be updated, use tags.
|
|
162
|
+
*
|
|
163
|
+
* @default The default name will be the construct's CDK path.
|
|
164
|
+
*/
|
|
165
|
+
readonly description?: string;
|
|
166
|
+
/**
|
|
167
|
+
* The VPC in which to create the security group.
|
|
168
|
+
*/
|
|
169
|
+
readonly vpc: IVpc;
|
|
170
|
+
/**
|
|
171
|
+
* Whether to allow all outbound traffic by default.
|
|
172
|
+
*
|
|
173
|
+
* If this is set to true, there will only be a single egress rule which allows all
|
|
174
|
+
* outbound traffic. If this is set to false, no outbound traffic will be allowed by
|
|
175
|
+
* default and all egress traffic must be explicitly authorized.
|
|
176
|
+
*
|
|
177
|
+
* To allow all ipv6 traffic use allowAllIpv6Outbound
|
|
178
|
+
*
|
|
179
|
+
* @default true
|
|
180
|
+
*/
|
|
181
|
+
readonly allowAllOutbound?: boolean;
|
|
182
|
+
/**
|
|
183
|
+
* Whether to allow all outbound ipv6 traffic by default.
|
|
184
|
+
*
|
|
185
|
+
* If this is set to true, there will only be a single egress rule which allows all
|
|
186
|
+
* outbound ipv6 traffic. If this is set to false, no outbound traffic will be allowed by
|
|
187
|
+
* default and all egress ipv6 traffic must be explicitly authorized.
|
|
188
|
+
*
|
|
189
|
+
* To allow all ipv4 traffic use allowAllOutbound
|
|
190
|
+
*
|
|
191
|
+
* @default false
|
|
192
|
+
*/
|
|
193
|
+
readonly allowAllIpv6Outbound?: boolean;
|
|
194
|
+
/**
|
|
195
|
+
* Whether to disable inline ingress and egress rule optimization.
|
|
196
|
+
*
|
|
197
|
+
* If this is set to true, ingress and egress rules will not be declared under the
|
|
198
|
+
* SecurityGroup in cloudformation, but will be separate elements.
|
|
199
|
+
*
|
|
200
|
+
* Inlining rules is an optimization for producing smaller stack templates. Sometimes
|
|
201
|
+
* this is not desirable, for example when security group access is managed via tags.
|
|
202
|
+
*
|
|
203
|
+
* The default value can be overriden globally by setting the context variable
|
|
204
|
+
* '@aws-cdk/aws-ec2.securityGroupDisableInlineRules'.
|
|
205
|
+
*
|
|
206
|
+
* @default false
|
|
207
|
+
*/
|
|
208
|
+
readonly disableInlineRules?: boolean;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Additional options for imported security groups
|
|
212
|
+
*/
|
|
213
|
+
export interface SecurityGroupImportOptions {
|
|
214
|
+
/**
|
|
215
|
+
* Mark the SecurityGroup as having been created allowing all outbound traffic
|
|
216
|
+
*
|
|
217
|
+
* Only if this is set to false will egress rules be added to this security
|
|
218
|
+
* group. Be aware, this would undo any potential "all outbound traffic"
|
|
219
|
+
* default.
|
|
220
|
+
*
|
|
221
|
+
*
|
|
222
|
+
* @default true
|
|
223
|
+
*/
|
|
224
|
+
readonly allowAllOutbound?: boolean;
|
|
225
|
+
/**
|
|
226
|
+
* Mark the SecurityGroup as having been created allowing all outbound ipv6 traffic
|
|
227
|
+
*
|
|
228
|
+
* Only if this is set to false will egress rules for ipv6 be added to this security
|
|
229
|
+
* group. Be aware, this would undo any potential "all outbound traffic"
|
|
230
|
+
* default.
|
|
231
|
+
*
|
|
232
|
+
* @default false
|
|
233
|
+
*/
|
|
234
|
+
readonly allowAllIpv6Outbound?: boolean;
|
|
235
|
+
/**
|
|
236
|
+
* If a SecurityGroup is mutable CDK can add rules to existing groups
|
|
237
|
+
*
|
|
238
|
+
* Beware that making a SecurityGroup immutable might lead to issue
|
|
239
|
+
* due to missing ingress/egress rules for new resources.
|
|
240
|
+
*
|
|
241
|
+
*
|
|
242
|
+
* @default true
|
|
243
|
+
*/
|
|
244
|
+
readonly mutable?: boolean;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Creates an Amazon EC2 security group within a VPC.
|
|
248
|
+
*
|
|
249
|
+
* Security Groups act like a firewall with a set of rules, and are associated
|
|
250
|
+
* with any AWS resource that has or creates Elastic Network Interfaces (ENIs).
|
|
251
|
+
* A typical example of a resource that has a security group is an Instance (or
|
|
252
|
+
* Auto Scaling Group of instances)
|
|
253
|
+
*
|
|
254
|
+
* If you are defining new infrastructure in CDK, there is a good chance you
|
|
255
|
+
* won't have to interact with this class at all. Like IAM Roles, Security
|
|
256
|
+
* Groups need to exist to control access between AWS resources, but CDK will
|
|
257
|
+
* automatically generate and populate them with least-privilege permissions
|
|
258
|
+
* for you so you can concentrate on your business logic.
|
|
259
|
+
*
|
|
260
|
+
* All Constructs that require Security Groups will create one for you if you
|
|
261
|
+
* don't specify one at construction. After construction, you can selectively
|
|
262
|
+
* allow connections to and between constructs via--for example-- the `instance.connections`
|
|
263
|
+
* object. Think of it as "allowing connections to your instance", rather than
|
|
264
|
+
* "adding ingress rules a security group". See the [Allowing
|
|
265
|
+
* Connections](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-cdk-lib.aws_ec2-readme.html#allowing-connections)
|
|
266
|
+
* section in the library documentation for examples.
|
|
267
|
+
*
|
|
268
|
+
* Direct manipulation of the Security Group through `addIngressRule` and
|
|
269
|
+
* `addEgressRule` is possible, but mutation through the `.connections` object
|
|
270
|
+
* is recommended. If you peer two constructs with security groups this way,
|
|
271
|
+
* appropriate rules will be created in both.
|
|
272
|
+
*
|
|
273
|
+
* If you have an existing security group you want to use in your CDK application,
|
|
274
|
+
* you would import it like this:
|
|
275
|
+
*
|
|
276
|
+
* ```ts
|
|
277
|
+
* const securityGroup = compute.SecurityGroup.fromSecurityGroupId(this, 'SG', 'sg-12345', {
|
|
278
|
+
* mutable: false
|
|
279
|
+
* });
|
|
280
|
+
* ```
|
|
281
|
+
*/
|
|
282
|
+
export declare class SecurityGroup extends SecurityGroupBase {
|
|
283
|
+
/**
|
|
284
|
+
* Look up a security group by id.
|
|
285
|
+
*/
|
|
286
|
+
static fromLookupById(scope: Construct, id: string, securityGroupId: string, allowAllOutbound?: boolean): ISecurityGroup;
|
|
287
|
+
/**
|
|
288
|
+
* Look up a security group by name.
|
|
289
|
+
*/
|
|
290
|
+
static fromLookupByName(scope: Construct, id: string, securityGroupName: string, vpc: IVpc, allowAllOutbound?: boolean): ISecurityGroup;
|
|
291
|
+
/**
|
|
292
|
+
* Import an existing security group into this app.
|
|
293
|
+
*
|
|
294
|
+
* This method will assume that the Security Group has a rule in it which allows
|
|
295
|
+
* all outbound traffic, and so will not add egress rules to the imported Security
|
|
296
|
+
* Group (only ingress rules).
|
|
297
|
+
*
|
|
298
|
+
* If your existing Security Group needs to have egress rules added, pass the
|
|
299
|
+
* `allowAllOutbound: false` option on import.
|
|
300
|
+
*/
|
|
301
|
+
static fromSecurityGroupId(scope: Construct, id: string, securityGroupId: string, options?: SecurityGroupImportOptions): ISecurityGroup;
|
|
302
|
+
/**
|
|
303
|
+
* Look up a security group.
|
|
304
|
+
*/
|
|
305
|
+
private static fromLookupAttributes;
|
|
306
|
+
/**
|
|
307
|
+
* The ID of the security group
|
|
308
|
+
*
|
|
309
|
+
* @attribute
|
|
310
|
+
*/
|
|
311
|
+
readonly securityGroupId: string;
|
|
312
|
+
/**
|
|
313
|
+
* The VPC ID this security group is part of.
|
|
314
|
+
*
|
|
315
|
+
* @attribute
|
|
316
|
+
*/
|
|
317
|
+
readonly securityGroupVpcId: string;
|
|
318
|
+
/**
|
|
319
|
+
* Whether the SecurityGroup has been configured to allow all outbound traffic
|
|
320
|
+
*/
|
|
321
|
+
readonly allowAllOutbound: boolean;
|
|
322
|
+
/**
|
|
323
|
+
* Whether the SecurityGroup has been configured to allow all outbound ipv6 traffic
|
|
324
|
+
*/
|
|
325
|
+
readonly allowAllIpv6Outbound: boolean;
|
|
326
|
+
private readonly securityGroup;
|
|
327
|
+
private readonly directIngressRules;
|
|
328
|
+
private readonly directEgressRules;
|
|
329
|
+
/**
|
|
330
|
+
* Whether to disable optimization for inline security group rules.
|
|
331
|
+
*/
|
|
332
|
+
private readonly disableInlineRules;
|
|
333
|
+
constructor(scope: Construct, id: string, props: SecurityGroupProps);
|
|
334
|
+
addIngressRule(peer: IPeer, connection: Port, description?: string, remoteRule?: boolean): void;
|
|
335
|
+
addEgressRule(peer: IPeer, connection: Port, description?: string, remoteRule?: boolean): void;
|
|
336
|
+
/**
|
|
337
|
+
* Add a direct ingress rule
|
|
338
|
+
*/
|
|
339
|
+
private addDirectIngressRule;
|
|
340
|
+
/**
|
|
341
|
+
* Return whether the given ingress rule exists on the group
|
|
342
|
+
*/
|
|
343
|
+
private hasIngressRule;
|
|
344
|
+
/**
|
|
345
|
+
* Add a direct egress rule
|
|
346
|
+
*/
|
|
347
|
+
private addDirectEgressRule;
|
|
348
|
+
/**
|
|
349
|
+
* Return whether the given egress rule exists on the group
|
|
350
|
+
*/
|
|
351
|
+
private hasEgressRule;
|
|
352
|
+
/**
|
|
353
|
+
* Add the default egress rule to the securityGroup
|
|
354
|
+
*
|
|
355
|
+
* By default, AWS creates an `ALLOW ALL` egress rule when creating a new Security Group inside of a VPC.
|
|
356
|
+
* When creating a new Security Group inside a VPC, Terraform will remove this default rule, and require
|
|
357
|
+
* you specifically re-create it if you desire that rule.
|
|
358
|
+
*
|
|
359
|
+
* This depends on allowAllOutbound
|
|
360
|
+
*
|
|
361
|
+
* - If allowAllOutbound is true, we will add an allow all rule.
|
|
362
|
+
* - If allowAllOutbound is false, we don't do anything since TF does not add
|
|
363
|
+
* a default allow all ipv4 rule.
|
|
364
|
+
*/
|
|
365
|
+
private addDefaultEgressRule;
|
|
366
|
+
/**
|
|
367
|
+
* Add a allow all ipv6 egress rule to the securityGroup
|
|
368
|
+
*
|
|
369
|
+
* This depends on allowAllIpv6Outbound:
|
|
370
|
+
*
|
|
371
|
+
* - If allowAllIpv6Outbound is true, we will add an allow all rule.
|
|
372
|
+
* - If allowAllOutbound is false, we don't do anything since EC2 does not add
|
|
373
|
+
* a default allow all ipv6 rule.
|
|
374
|
+
*/
|
|
375
|
+
private addDefaultIpv6EgressRule;
|
|
376
|
+
}
|
|
377
|
+
export interface ConnectionRule {
|
|
378
|
+
/**
|
|
379
|
+
* The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers).
|
|
380
|
+
* Use -1 to specify all protocols. If you specify -1, or a protocol number
|
|
381
|
+
* other than tcp, udp, icmp, or 58 (ICMPv6), traffic on all ports is
|
|
382
|
+
* allowed, regardless of any ports you specify. For tcp, udp, and icmp, you
|
|
383
|
+
* must specify a port range. For protocol 58 (ICMPv6), you can optionally
|
|
384
|
+
* specify a port range; if you don't, traffic for all types and codes is
|
|
385
|
+
* allowed.
|
|
386
|
+
*
|
|
387
|
+
* @default tcp
|
|
388
|
+
*/
|
|
389
|
+
readonly protocol?: string;
|
|
390
|
+
/**
|
|
391
|
+
* Start of port range for the TCP and UDP protocols, or an ICMP type number.
|
|
392
|
+
*
|
|
393
|
+
* If you specify icmp for the IpProtocol property, you can specify
|
|
394
|
+
* -1 as a wildcard (i.e., any ICMP type number).
|
|
395
|
+
*/
|
|
396
|
+
readonly fromPort: number;
|
|
397
|
+
/**
|
|
398
|
+
* End of port range for the TCP and UDP protocols, or an ICMP code.
|
|
399
|
+
*
|
|
400
|
+
* If you specify icmp for the IpProtocol property, you can specify -1 as a
|
|
401
|
+
* wildcard (i.e., any ICMP code).
|
|
402
|
+
*
|
|
403
|
+
* @default If toPort is not specified, it will be the same as fromPort.
|
|
404
|
+
*/
|
|
405
|
+
readonly toPort?: number;
|
|
406
|
+
/**
|
|
407
|
+
* Description of this connection. It is applied to both the ingress rule
|
|
408
|
+
* and the egress rule.
|
|
409
|
+
*
|
|
410
|
+
* @default No description
|
|
411
|
+
*/
|
|
412
|
+
readonly description?: string;
|
|
413
|
+
}
|
|
414
|
+
export {};
|