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,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StatesMetrics = void 0;
|
|
4
|
+
class StatesMetrics {
|
|
5
|
+
static executionTimeAverage(dimensions) {
|
|
6
|
+
return {
|
|
7
|
+
"namespace": "AWS/States",
|
|
8
|
+
"metricName": "ExecutionTime",
|
|
9
|
+
"dimensionsMap": dimensions,
|
|
10
|
+
"statistic": "Average"
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
static executionsFailedSum(dimensions) {
|
|
14
|
+
return {
|
|
15
|
+
"namespace": "AWS/States",
|
|
16
|
+
"metricName": "ExecutionsFailed",
|
|
17
|
+
"dimensionsMap": dimensions,
|
|
18
|
+
"statistic": "Sum"
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
static executionsSucceededSum(dimensions) {
|
|
22
|
+
return {
|
|
23
|
+
"namespace": "AWS/States",
|
|
24
|
+
"metricName": "ExecutionsSucceeded",
|
|
25
|
+
"dimensionsMap": dimensions,
|
|
26
|
+
"statistic": "Sum"
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
static executionsThrottledSum(dimensions) {
|
|
30
|
+
return {
|
|
31
|
+
"namespace": "AWS/States",
|
|
32
|
+
"metricName": "ExecutionsThrottled",
|
|
33
|
+
"dimensionsMap": dimensions,
|
|
34
|
+
"statistic": "Sum"
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
static executionsAbortedSum(dimensions) {
|
|
38
|
+
return {
|
|
39
|
+
"namespace": "AWS/States",
|
|
40
|
+
"metricName": "ExecutionsAborted",
|
|
41
|
+
"dimensionsMap": dimensions,
|
|
42
|
+
"statistic": "Sum"
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
static executionsTimedOutSum(dimensions) {
|
|
46
|
+
return {
|
|
47
|
+
"namespace": "AWS/States",
|
|
48
|
+
"metricName": "ExecutionsTimedOut",
|
|
49
|
+
"dimensionsMap": dimensions,
|
|
50
|
+
"statistic": "Sum"
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
static activityTimeAverage(dimensions) {
|
|
54
|
+
return {
|
|
55
|
+
"namespace": "AWS/States",
|
|
56
|
+
"metricName": "ActivityTime",
|
|
57
|
+
"dimensionsMap": dimensions,
|
|
58
|
+
"statistic": "Average"
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
static activitiesSucceededSum(dimensions) {
|
|
62
|
+
return {
|
|
63
|
+
"namespace": "AWS/States",
|
|
64
|
+
"metricName": "ActivitiesSucceeded",
|
|
65
|
+
"dimensionsMap": dimensions,
|
|
66
|
+
"statistic": "Sum"
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
static activitiesFailedSum(dimensions) {
|
|
70
|
+
return {
|
|
71
|
+
"namespace": "AWS/States",
|
|
72
|
+
"metricName": "ActivitiesFailed",
|
|
73
|
+
"dimensionsMap": dimensions,
|
|
74
|
+
"statistic": "Sum"
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
static activitiesHeartbeatTimedOutSum(dimensions) {
|
|
78
|
+
return {
|
|
79
|
+
"namespace": "AWS/States",
|
|
80
|
+
"metricName": "ActivitiesHeartbeatTimedOut",
|
|
81
|
+
"dimensionsMap": dimensions,
|
|
82
|
+
"statistic": "Sum"
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
static activitiesScheduledSum(dimensions) {
|
|
86
|
+
return {
|
|
87
|
+
"namespace": "AWS/States",
|
|
88
|
+
"metricName": "ActivitiesScheduled",
|
|
89
|
+
"dimensionsMap": dimensions,
|
|
90
|
+
"statistic": "Sum"
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
static activitiesStartedSum(dimensions) {
|
|
94
|
+
return {
|
|
95
|
+
"namespace": "AWS/States",
|
|
96
|
+
"metricName": "ActivitiesStarted",
|
|
97
|
+
"dimensionsMap": dimensions,
|
|
98
|
+
"statistic": "Sum"
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
static activitiesTimedOutSum(dimensions) {
|
|
102
|
+
return {
|
|
103
|
+
"namespace": "AWS/States",
|
|
104
|
+
"metricName": "ActivitiesTimedOut",
|
|
105
|
+
"dimensionsMap": dimensions,
|
|
106
|
+
"statistic": "Sum"
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
static activityRunTimeAverage(dimensions) {
|
|
110
|
+
return {
|
|
111
|
+
"namespace": "AWS/States",
|
|
112
|
+
"metricName": "ActivityRunTime",
|
|
113
|
+
"dimensionsMap": dimensions,
|
|
114
|
+
"statistic": "Average"
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
static activityScheduleTimeAverage(dimensions) {
|
|
118
|
+
return {
|
|
119
|
+
"namespace": "AWS/States",
|
|
120
|
+
"metricName": "ActivityScheduleTime",
|
|
121
|
+
"dimensionsMap": dimensions,
|
|
122
|
+
"statistic": "Average"
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
exports.StatesMetrics = StatesMetrics;
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcGZ1bmN0aW9ucy1jYW5uZWQtbWV0cmljcy5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvc3RlcGZ1bmN0aW9ucy1jYW5uZWQtbWV0cmljcy5nZW5lcmF0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBV0EsTUFBYSxhQUFhO0lBQ2pCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxVQUF3QztRQUN6RSxPQUFPO1lBQ0wsV0FBVyxFQUFFLFlBQVk7WUFDekIsWUFBWSxFQUFFLGVBQWU7WUFDN0IsZUFBZSxFQUFFLFVBQVU7WUFDM0IsV0FBVyxFQUFFLFNBQVM7U0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBd0M7UUFDeEUsT0FBTztZQUNMLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFlBQVksRUFBRSxrQkFBa0I7WUFDaEMsZUFBZSxFQUFFLFVBQVU7WUFDM0IsV0FBVyxFQUFFLEtBQUs7U0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsc0JBQXNCLENBQUMsVUFBd0M7UUFDM0UsT0FBTztZQUNMLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFlBQVksRUFBRSxxQkFBcUI7WUFDbkMsZUFBZSxFQUFFLFVBQVU7WUFDM0IsV0FBVyxFQUFFLEtBQUs7U0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsc0JBQXNCLENBQUMsVUFBd0M7UUFDM0UsT0FBTztZQUNMLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFlBQVksRUFBRSxxQkFBcUI7WUFDbkMsZUFBZSxFQUFFLFVBQVU7WUFDM0IsV0FBVyxFQUFFLEtBQUs7U0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsb0JBQW9CLENBQUMsVUFBd0M7UUFDekUsT0FBTztZQUNMLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFlBQVksRUFBRSxtQkFBbUI7WUFDakMsZUFBZSxFQUFFLFVBQVU7WUFDM0IsV0FBVyxFQUFFLEtBQUs7U0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMscUJBQXFCLENBQUMsVUFBd0M7UUFDMUUsT0FBTztZQUNMLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFlBQVksRUFBRSxvQkFBb0I7WUFDbEMsZUFBZSxFQUFFLFVBQVU7WUFDM0IsV0FBVyxFQUFFLEtBQUs7U0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBb0M7UUFDcEUsT0FBTztZQUNMLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFlBQVksRUFBRSxjQUFjO1lBQzVCLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxTQUFTO1NBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLHNCQUFzQixDQUFDLFVBQW9DO1FBQ3ZFLE9BQU87WUFDTCxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUscUJBQXFCO1lBQ25DLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQW9DO1FBQ3BFLE9BQU87WUFDTCxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUsa0JBQWtCO1lBQ2hDLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLDhCQUE4QixDQUFDLFVBQW9DO1FBQy9FLE9BQU87WUFDTCxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUsNkJBQTZCO1lBQzNDLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLHNCQUFzQixDQUFDLFVBQW9DO1FBQ3ZFLE9BQU87WUFDTCxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUscUJBQXFCO1lBQ25DLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLG9CQUFvQixDQUFDLFVBQW9DO1FBQ3JFLE9BQU87WUFDTCxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUsbUJBQW1CO1lBQ2pDLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLFVBQW9DO1FBQ3RFLE9BQU87WUFDTCxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUsb0JBQW9CO1lBQ2xDLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLHNCQUFzQixDQUFDLFVBQW9DO1FBQ3ZFLE9BQU87WUFDTCxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUsaUJBQWlCO1lBQy9CLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxTQUFTO1NBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLDJCQUEyQixDQUFDLFVBQW9DO1FBQzVFLE9BQU87WUFDTCxXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUsc0JBQXNCO1lBQ3BDLGVBQWUsRUFBRSxVQUFVO1lBQzNCLFdBQVcsRUFBRSxTQUFTO1NBQ3ZCLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF2SUQsc0NBdUlDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgcHJldHRpZXIvcHJldHRpZXIsbWF4LWxlbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZXRyaWNXaXRoRGltczxEPiB7XG4gIHJlYWRvbmx5IG5hbWVzcGFjZTogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IG1ldHJpY05hbWU6IHN0cmluZztcblxuICByZWFkb25seSBzdGF0aXN0aWM6IHN0cmluZztcblxuICByZWFkb25seSBkaW1lbnNpb25zTWFwOiBEO1xufVxuXG5leHBvcnQgY2xhc3MgU3RhdGVzTWV0cmljcyB7XG4gIHB1YmxpYyBzdGF0aWMgZXhlY3V0aW9uVGltZUF2ZXJhZ2UoZGltZW5zaW9uczogeyBTdGF0ZU1hY2hpbmVBcm46IHN0cmluZzsgfSk6IE1ldHJpY1dpdGhEaW1zPHsgU3RhdGVNYWNoaW5lQXJuOiBzdHJpbmc7IH0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJuYW1lc3BhY2VcIjogXCJBV1MvU3RhdGVzXCIsXG4gICAgICBcIm1ldHJpY05hbWVcIjogXCJFeGVjdXRpb25UaW1lXCIsXG4gICAgICBcImRpbWVuc2lvbnNNYXBcIjogZGltZW5zaW9ucyxcbiAgICAgIFwic3RhdGlzdGljXCI6IFwiQXZlcmFnZVwiXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZXhlY3V0aW9uc0ZhaWxlZFN1bShkaW1lbnNpb25zOiB7IFN0YXRlTWFjaGluZUFybjogc3RyaW5nOyB9KTogTWV0cmljV2l0aERpbXM8eyBTdGF0ZU1hY2hpbmVBcm46IHN0cmluZzsgfT4ge1xuICAgIHJldHVybiB7XG4gICAgICBcIm5hbWVzcGFjZVwiOiBcIkFXUy9TdGF0ZXNcIixcbiAgICAgIFwibWV0cmljTmFtZVwiOiBcIkV4ZWN1dGlvbnNGYWlsZWRcIixcbiAgICAgIFwiZGltZW5zaW9uc01hcFwiOiBkaW1lbnNpb25zLFxuICAgICAgXCJzdGF0aXN0aWNcIjogXCJTdW1cIlxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGV4ZWN1dGlvbnNTdWNjZWVkZWRTdW0oZGltZW5zaW9uczogeyBTdGF0ZU1hY2hpbmVBcm46IHN0cmluZzsgfSk6IE1ldHJpY1dpdGhEaW1zPHsgU3RhdGVNYWNoaW5lQXJuOiBzdHJpbmc7IH0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJuYW1lc3BhY2VcIjogXCJBV1MvU3RhdGVzXCIsXG4gICAgICBcIm1ldHJpY05hbWVcIjogXCJFeGVjdXRpb25zU3VjY2VlZGVkXCIsXG4gICAgICBcImRpbWVuc2lvbnNNYXBcIjogZGltZW5zaW9ucyxcbiAgICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCJcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBleGVjdXRpb25zVGhyb3R0bGVkU3VtKGRpbWVuc2lvbnM6IHsgU3RhdGVNYWNoaW5lQXJuOiBzdHJpbmc7IH0pOiBNZXRyaWNXaXRoRGltczx7IFN0YXRlTWFjaGluZUFybjogc3RyaW5nOyB9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwibmFtZXNwYWNlXCI6IFwiQVdTL1N0YXRlc1wiLFxuICAgICAgXCJtZXRyaWNOYW1lXCI6IFwiRXhlY3V0aW9uc1Rocm90dGxlZFwiLFxuICAgICAgXCJkaW1lbnNpb25zTWFwXCI6IGRpbWVuc2lvbnMsXG4gICAgICBcInN0YXRpc3RpY1wiOiBcIlN1bVwiXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZXhlY3V0aW9uc0Fib3J0ZWRTdW0oZGltZW5zaW9uczogeyBTdGF0ZU1hY2hpbmVBcm46IHN0cmluZzsgfSk6IE1ldHJpY1dpdGhEaW1zPHsgU3RhdGVNYWNoaW5lQXJuOiBzdHJpbmc7IH0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJuYW1lc3BhY2VcIjogXCJBV1MvU3RhdGVzXCIsXG4gICAgICBcIm1ldHJpY05hbWVcIjogXCJFeGVjdXRpb25zQWJvcnRlZFwiLFxuICAgICAgXCJkaW1lbnNpb25zTWFwXCI6IGRpbWVuc2lvbnMsXG4gICAgICBcInN0YXRpc3RpY1wiOiBcIlN1bVwiXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZXhlY3V0aW9uc1RpbWVkT3V0U3VtKGRpbWVuc2lvbnM6IHsgU3RhdGVNYWNoaW5lQXJuOiBzdHJpbmc7IH0pOiBNZXRyaWNXaXRoRGltczx7IFN0YXRlTWFjaGluZUFybjogc3RyaW5nOyB9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwibmFtZXNwYWNlXCI6IFwiQVdTL1N0YXRlc1wiLFxuICAgICAgXCJtZXRyaWNOYW1lXCI6IFwiRXhlY3V0aW9uc1RpbWVkT3V0XCIsXG4gICAgICBcImRpbWVuc2lvbnNNYXBcIjogZGltZW5zaW9ucyxcbiAgICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCJcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhY3Rpdml0eVRpbWVBdmVyYWdlKGRpbWVuc2lvbnM6IHsgQWN0aXZpdHlBcm46IHN0cmluZzsgfSk6IE1ldHJpY1dpdGhEaW1zPHsgQWN0aXZpdHlBcm46IHN0cmluZzsgfT4ge1xuICAgIHJldHVybiB7XG4gICAgICBcIm5hbWVzcGFjZVwiOiBcIkFXUy9TdGF0ZXNcIixcbiAgICAgIFwibWV0cmljTmFtZVwiOiBcIkFjdGl2aXR5VGltZVwiLFxuICAgICAgXCJkaW1lbnNpb25zTWFwXCI6IGRpbWVuc2lvbnMsXG4gICAgICBcInN0YXRpc3RpY1wiOiBcIkF2ZXJhZ2VcIlxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFjdGl2aXRpZXNTdWNjZWVkZWRTdW0oZGltZW5zaW9uczogeyBBY3Rpdml0eUFybjogc3RyaW5nOyB9KTogTWV0cmljV2l0aERpbXM8eyBBY3Rpdml0eUFybjogc3RyaW5nOyB9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwibmFtZXNwYWNlXCI6IFwiQVdTL1N0YXRlc1wiLFxuICAgICAgXCJtZXRyaWNOYW1lXCI6IFwiQWN0aXZpdGllc1N1Y2NlZWRlZFwiLFxuICAgICAgXCJkaW1lbnNpb25zTWFwXCI6IGRpbWVuc2lvbnMsXG4gICAgICBcInN0YXRpc3RpY1wiOiBcIlN1bVwiXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYWN0aXZpdGllc0ZhaWxlZFN1bShkaW1lbnNpb25zOiB7IEFjdGl2aXR5QXJuOiBzdHJpbmc7IH0pOiBNZXRyaWNXaXRoRGltczx7IEFjdGl2aXR5QXJuOiBzdHJpbmc7IH0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJuYW1lc3BhY2VcIjogXCJBV1MvU3RhdGVzXCIsXG4gICAgICBcIm1ldHJpY05hbWVcIjogXCJBY3Rpdml0aWVzRmFpbGVkXCIsXG4gICAgICBcImRpbWVuc2lvbnNNYXBcIjogZGltZW5zaW9ucyxcbiAgICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCJcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhY3Rpdml0aWVzSGVhcnRiZWF0VGltZWRPdXRTdW0oZGltZW5zaW9uczogeyBBY3Rpdml0eUFybjogc3RyaW5nOyB9KTogTWV0cmljV2l0aERpbXM8eyBBY3Rpdml0eUFybjogc3RyaW5nOyB9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwibmFtZXNwYWNlXCI6IFwiQVdTL1N0YXRlc1wiLFxuICAgICAgXCJtZXRyaWNOYW1lXCI6IFwiQWN0aXZpdGllc0hlYXJ0YmVhdFRpbWVkT3V0XCIsXG4gICAgICBcImRpbWVuc2lvbnNNYXBcIjogZGltZW5zaW9ucyxcbiAgICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCJcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhY3Rpdml0aWVzU2NoZWR1bGVkU3VtKGRpbWVuc2lvbnM6IHsgQWN0aXZpdHlBcm46IHN0cmluZzsgfSk6IE1ldHJpY1dpdGhEaW1zPHsgQWN0aXZpdHlBcm46IHN0cmluZzsgfT4ge1xuICAgIHJldHVybiB7XG4gICAgICBcIm5hbWVzcGFjZVwiOiBcIkFXUy9TdGF0ZXNcIixcbiAgICAgIFwibWV0cmljTmFtZVwiOiBcIkFjdGl2aXRpZXNTY2hlZHVsZWRcIixcbiAgICAgIFwiZGltZW5zaW9uc01hcFwiOiBkaW1lbnNpb25zLFxuICAgICAgXCJzdGF0aXN0aWNcIjogXCJTdW1cIlxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFjdGl2aXRpZXNTdGFydGVkU3VtKGRpbWVuc2lvbnM6IHsgQWN0aXZpdHlBcm46IHN0cmluZzsgfSk6IE1ldHJpY1dpdGhEaW1zPHsgQWN0aXZpdHlBcm46IHN0cmluZzsgfT4ge1xuICAgIHJldHVybiB7XG4gICAgICBcIm5hbWVzcGFjZVwiOiBcIkFXUy9TdGF0ZXNcIixcbiAgICAgIFwibWV0cmljTmFtZVwiOiBcIkFjdGl2aXRpZXNTdGFydGVkXCIsXG4gICAgICBcImRpbWVuc2lvbnNNYXBcIjogZGltZW5zaW9ucyxcbiAgICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCJcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhY3Rpdml0aWVzVGltZWRPdXRTdW0oZGltZW5zaW9uczogeyBBY3Rpdml0eUFybjogc3RyaW5nOyB9KTogTWV0cmljV2l0aERpbXM8eyBBY3Rpdml0eUFybjogc3RyaW5nOyB9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFwibmFtZXNwYWNlXCI6IFwiQVdTL1N0YXRlc1wiLFxuICAgICAgXCJtZXRyaWNOYW1lXCI6IFwiQWN0aXZpdGllc1RpbWVkT3V0XCIsXG4gICAgICBcImRpbWVuc2lvbnNNYXBcIjogZGltZW5zaW9ucyxcbiAgICAgIFwic3RhdGlzdGljXCI6IFwiU3VtXCJcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhY3Rpdml0eVJ1blRpbWVBdmVyYWdlKGRpbWVuc2lvbnM6IHsgQWN0aXZpdHlBcm46IHN0cmluZzsgfSk6IE1ldHJpY1dpdGhEaW1zPHsgQWN0aXZpdHlBcm46IHN0cmluZzsgfT4ge1xuICAgIHJldHVybiB7XG4gICAgICBcIm5hbWVzcGFjZVwiOiBcIkFXUy9TdGF0ZXNcIixcbiAgICAgIFwibWV0cmljTmFtZVwiOiBcIkFjdGl2aXR5UnVuVGltZVwiLFxuICAgICAgXCJkaW1lbnNpb25zTWFwXCI6IGRpbWVuc2lvbnMsXG4gICAgICBcInN0YXRpc3RpY1wiOiBcIkF2ZXJhZ2VcIlxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFjdGl2aXR5U2NoZWR1bGVUaW1lQXZlcmFnZShkaW1lbnNpb25zOiB7IEFjdGl2aXR5QXJuOiBzdHJpbmc7IH0pOiBNZXRyaWNXaXRoRGltczx7IEFjdGl2aXR5QXJuOiBzdHJpbmc7IH0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJuYW1lc3BhY2VcIjogXCJBV1MvU3RhdGVzXCIsXG4gICAgICBcIm1ldHJpY05hbWVcIjogXCJBY3Rpdml0eVNjaGVkdWxlVGltZVwiLFxuICAgICAgXCJkaW1lbnNpb25zTWFwXCI6IGRpbWVuc2lvbnMsXG4gICAgICBcInN0YXRpc3RpY1wiOiBcIkF2ZXJhZ2VcIlxuICAgIH07XG4gIH1cbn0iXX0=
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { subnet as tfSubnet } from "@cdktf/provider-aws";
|
|
2
|
+
import { Construct, IDependable } from "constructs";
|
|
3
|
+
import { INetworkAcl } from "./network-acl";
|
|
4
|
+
import { AwsConstructBase, AwsConstructProps } from "../aws-construct";
|
|
5
|
+
import { IRouteTable, ISubnet, SubnetOutputs, SubnetType } from "./vpc";
|
|
6
|
+
import { IVpcV2 } from "./vpc-v2-base";
|
|
7
|
+
/**
|
|
8
|
+
* Interface to define subnet CIDR
|
|
9
|
+
*/
|
|
10
|
+
interface ICidr {
|
|
11
|
+
readonly cidr: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* IPv4 or IPv6 CIDR range for the subnet
|
|
15
|
+
*/
|
|
16
|
+
export declare class IpCidr implements ICidr {
|
|
17
|
+
/**
|
|
18
|
+
* IPv6 CIDR range for the subnet
|
|
19
|
+
* Allowed only if IPv6 is enabled on VPc
|
|
20
|
+
*/
|
|
21
|
+
readonly cidr: string;
|
|
22
|
+
constructor(props: string);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Properties to define subnet for VPC.
|
|
26
|
+
*/
|
|
27
|
+
export interface SubnetV2Props extends AwsConstructProps {
|
|
28
|
+
/**
|
|
29
|
+
* VPC Prop
|
|
30
|
+
*/
|
|
31
|
+
readonly vpc: IVpcV2;
|
|
32
|
+
/**
|
|
33
|
+
* ipv4 cidr to assign to this subnet.
|
|
34
|
+
* See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-cidrblock
|
|
35
|
+
*/
|
|
36
|
+
readonly ipv4CidrBlock: IpCidr;
|
|
37
|
+
/**
|
|
38
|
+
* Ipv6 CIDR Range for subnet
|
|
39
|
+
*
|
|
40
|
+
* @default - No Ipv6 address
|
|
41
|
+
*/
|
|
42
|
+
readonly ipv6CidrBlock?: IpCidr;
|
|
43
|
+
/**
|
|
44
|
+
* Custom AZ for the subnet
|
|
45
|
+
*/
|
|
46
|
+
readonly availabilityZone: string;
|
|
47
|
+
/**
|
|
48
|
+
* Custom Route for subnet
|
|
49
|
+
*
|
|
50
|
+
* @default - a default route table created
|
|
51
|
+
*/
|
|
52
|
+
readonly routeTable?: IRouteTable;
|
|
53
|
+
/**
|
|
54
|
+
* The type of Subnet to configure.
|
|
55
|
+
*
|
|
56
|
+
* The Subnet type will control the ability to route and connect to the
|
|
57
|
+
* Internet.
|
|
58
|
+
*
|
|
59
|
+
* TODO: Add validation check `subnetType` when adding resources (e.g. cannot add NatGateway to private)
|
|
60
|
+
*/
|
|
61
|
+
readonly subnetType: SubnetType;
|
|
62
|
+
/**
|
|
63
|
+
* Subnet name
|
|
64
|
+
*
|
|
65
|
+
* @default - provisioned with an autogenerated name by CDK
|
|
66
|
+
*/
|
|
67
|
+
readonly subnetName?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Indicates whether a network interface created in this subnet receives an IPv6 address.
|
|
70
|
+
* If you specify AssignIpv6AddressOnCreation, you must also specify Ipv6CidrBlock.
|
|
71
|
+
*
|
|
72
|
+
* @default - undefined in case not provided as an input
|
|
73
|
+
*/
|
|
74
|
+
readonly assignIpv6AddressOnCreation?: boolean;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Interface with additional properties for SubnetV2
|
|
78
|
+
*/
|
|
79
|
+
export interface ISubnetV2 extends ISubnet {
|
|
80
|
+
/**
|
|
81
|
+
* The IPv6 CIDR block for this subnet
|
|
82
|
+
*/
|
|
83
|
+
readonly ipv6CidrBlock?: string;
|
|
84
|
+
/**
|
|
85
|
+
* The type of subnet (public or private) that this subnet represents.
|
|
86
|
+
*
|
|
87
|
+
* @attribute SubnetType
|
|
88
|
+
*/
|
|
89
|
+
readonly subnetType?: SubnetType;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The SubnetV2 class represents a subnet within a VPC (Virtual Private Cloud) in AWS.
|
|
93
|
+
* It extends the Resource class and implements the ISubnet interface.
|
|
94
|
+
*
|
|
95
|
+
* Instances of this class can be used to create and manage subnets within a VpcV2 instance.
|
|
96
|
+
* Subnets can be configured with specific IP address ranges (IPv4 and IPv6), availability zones,
|
|
97
|
+
* and subnet types (e.g., public, private, isolated).
|
|
98
|
+
*
|
|
99
|
+
* @resource AWS::EC2::Subnet
|
|
100
|
+
*
|
|
101
|
+
*/
|
|
102
|
+
export declare class SubnetV2 extends AwsConstructBase implements ISubnetV2 {
|
|
103
|
+
/**
|
|
104
|
+
* Import an existing subnet to the VPC
|
|
105
|
+
*/
|
|
106
|
+
static fromSubnetV2Attributes(scope: Construct, id: string, attrs: SubnetV2Attributes): ISubnetV2;
|
|
107
|
+
get subnetOutputs(): SubnetOutputs;
|
|
108
|
+
get outputs(): Record<string, any>;
|
|
109
|
+
/**
|
|
110
|
+
* The Availability Zone the subnet is located in
|
|
111
|
+
*/
|
|
112
|
+
readonly availabilityZone: string;
|
|
113
|
+
/**
|
|
114
|
+
* The subnetId for this particular subnet
|
|
115
|
+
* @attribute
|
|
116
|
+
*/
|
|
117
|
+
readonly subnetId: string;
|
|
118
|
+
/**
|
|
119
|
+
* Dependencies for internet connectivity
|
|
120
|
+
* This Property exposes the RouteTable-Subnet association so that other resources can depend on it.
|
|
121
|
+
*/
|
|
122
|
+
readonly internetConnectivityEstablished: IDependable;
|
|
123
|
+
/**
|
|
124
|
+
* The variable name `internetConnectivityEstablished` does not reflect what it actually is.
|
|
125
|
+
* The naming is enforced by ISubnet. We need to keep it to maintain compatibility.
|
|
126
|
+
* It exposes the RouteTable-Subnet association so that other resources can depend on it.
|
|
127
|
+
* E.g. Resources in a subnet, when being deleted, may need the RouteTable to exist in order to delete properly
|
|
128
|
+
*/
|
|
129
|
+
private readonly _internetConnectivityEstablished;
|
|
130
|
+
/**
|
|
131
|
+
* The IPv4 CIDR block for this subnet
|
|
132
|
+
*/
|
|
133
|
+
readonly ipv4CidrBlock: string;
|
|
134
|
+
/**
|
|
135
|
+
* The IPv6 CIDR Block for this subnet
|
|
136
|
+
*/
|
|
137
|
+
readonly ipv6CidrBlock?: string;
|
|
138
|
+
/**
|
|
139
|
+
* The type of subnet (public or private) that this subnet represents.
|
|
140
|
+
* @attribute SubnetType
|
|
141
|
+
*/
|
|
142
|
+
readonly subnetType?: SubnetType;
|
|
143
|
+
private _networkAcl?;
|
|
144
|
+
resource: tfSubnet.Subnet;
|
|
145
|
+
private _routeTable;
|
|
146
|
+
/**
|
|
147
|
+
* Constructs a new SubnetV2 instance.
|
|
148
|
+
* @param scope The parent Construct that this resource will be part of.
|
|
149
|
+
* @param id The unique identifier for this resource.
|
|
150
|
+
* @param props The configuration properties for the subnet.
|
|
151
|
+
*/
|
|
152
|
+
constructor(scope: Construct, id: string, props: SubnetV2Props);
|
|
153
|
+
/**
|
|
154
|
+
* Associate a Network ACL with this subnet
|
|
155
|
+
*
|
|
156
|
+
* @param id The unique identifier for this association.
|
|
157
|
+
* @param networkAcl The Network ACL to associate with this subnet.
|
|
158
|
+
* This allows controlling inbound and outbound traffic for instances in this subnet.
|
|
159
|
+
*/
|
|
160
|
+
associateNetworkAcl(id: string, networkAcl: INetworkAcl): void;
|
|
161
|
+
/**
|
|
162
|
+
* Return the Route Table associated with this subnet
|
|
163
|
+
*/
|
|
164
|
+
get routeTable(): IRouteTable;
|
|
165
|
+
/**
|
|
166
|
+
* Returns the Network ACL associated with this subnet.
|
|
167
|
+
*/
|
|
168
|
+
get networkAcl(): INetworkAcl | undefined;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Properties required to import a subnet
|
|
172
|
+
*/
|
|
173
|
+
export interface SubnetV2Attributes {
|
|
174
|
+
/**
|
|
175
|
+
* The Availability Zone this subnet is located in
|
|
176
|
+
*
|
|
177
|
+
* @default - No AZ information, cannot use AZ selection features
|
|
178
|
+
*/
|
|
179
|
+
readonly availabilityZone: string;
|
|
180
|
+
/**
|
|
181
|
+
* The IPv4 CIDR block associated with the subnet
|
|
182
|
+
*
|
|
183
|
+
* @default - No CIDR information, cannot use CIDR filter features
|
|
184
|
+
*/
|
|
185
|
+
readonly ipv4CidrBlock: string;
|
|
186
|
+
/**
|
|
187
|
+
* The IPv4 CIDR block associated with the subnet
|
|
188
|
+
*
|
|
189
|
+
* @default - No CIDR information, cannot use CIDR filter features
|
|
190
|
+
*/
|
|
191
|
+
readonly ipv6CidrBlock?: string;
|
|
192
|
+
/**
|
|
193
|
+
* The ID of the route table for this particular subnet
|
|
194
|
+
*
|
|
195
|
+
* @default - No route table information, cannot create VPC endpoints
|
|
196
|
+
*/
|
|
197
|
+
readonly routeTableId?: string;
|
|
198
|
+
/**
|
|
199
|
+
* The subnetId for this particular subnet
|
|
200
|
+
*/
|
|
201
|
+
readonly subnetId: string;
|
|
202
|
+
/**
|
|
203
|
+
* The type of subnet (public or private) that this subnet represents.
|
|
204
|
+
*/
|
|
205
|
+
readonly subnetType: SubnetType;
|
|
206
|
+
/**
|
|
207
|
+
* Name of the given subnet
|
|
208
|
+
*
|
|
209
|
+
* @default - no subnet name
|
|
210
|
+
*/
|
|
211
|
+
readonly subnetName?: string;
|
|
212
|
+
}
|
|
213
|
+
export {};
|