terraconstructs 0.0.11 → 0.0.13
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 +105205 -35113
- 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.d.ts +26 -1
- package/lib/aws/notify/event-pattern.js +49 -5
- 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,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ListenerCondition = 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-elasticloadbalancingv2/lib/alb/conditions.ts
|
|
7
|
+
const provider_aws_1 = require("@cdktf/provider-aws");
|
|
8
|
+
/**
|
|
9
|
+
* ListenerCondition providers definition.
|
|
10
|
+
*/
|
|
11
|
+
class ListenerCondition {
|
|
12
|
+
/**
|
|
13
|
+
* Create a host-header listener rule condition
|
|
14
|
+
*
|
|
15
|
+
* @param values Hosts for host headers
|
|
16
|
+
*/
|
|
17
|
+
static hostHeaders(values) {
|
|
18
|
+
return new HostHeaderListenerCondition(values);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Create a http-header listener rule condition
|
|
22
|
+
*
|
|
23
|
+
* @param name HTTP header name
|
|
24
|
+
* @param values HTTP header values
|
|
25
|
+
*/
|
|
26
|
+
static httpHeader(name, values) {
|
|
27
|
+
return new HttpHeaderListenerCondition(name, values);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Create a http-request-method listener rule condition
|
|
31
|
+
*
|
|
32
|
+
* @param values HTTP request methods
|
|
33
|
+
*/
|
|
34
|
+
static httpRequestMethods(values) {
|
|
35
|
+
return new HttpRequestMethodListenerCondition(values);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Create a path-pattern listener rule condition
|
|
39
|
+
*
|
|
40
|
+
* @param values Path patterns
|
|
41
|
+
*/
|
|
42
|
+
static pathPatterns(values) {
|
|
43
|
+
return new PathPatternListenerCondition(values);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Create a query-string listener rule condition
|
|
47
|
+
*
|
|
48
|
+
* @param values Query string key/value pairs
|
|
49
|
+
*/
|
|
50
|
+
static queryStrings(values) {
|
|
51
|
+
return new QueryStringListenerCondition(values);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Create a source-ip listener rule condition
|
|
55
|
+
*
|
|
56
|
+
* @param values Source ips
|
|
57
|
+
*/
|
|
58
|
+
static sourceIps(values) {
|
|
59
|
+
return new SourceIpListenerCondition(values);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.ListenerCondition = ListenerCondition;
|
|
63
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
64
|
+
ListenerCondition[_a] = { fqn: "terraconstructs.aws.compute.ListenerCondition", version: "0.0.13" };
|
|
65
|
+
/**
|
|
66
|
+
* Host header config of the listener rule condition
|
|
67
|
+
*/
|
|
68
|
+
class HostHeaderListenerCondition extends ListenerCondition {
|
|
69
|
+
constructor(values) {
|
|
70
|
+
super();
|
|
71
|
+
this.values = values;
|
|
72
|
+
}
|
|
73
|
+
renderRawCondition() {
|
|
74
|
+
return provider_aws_1.lbListenerRule.lbListenerRuleConditionToTerraform({
|
|
75
|
+
hostHeader: {
|
|
76
|
+
values: this.values,
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* HTTP header config of the listener rule condition
|
|
83
|
+
*/
|
|
84
|
+
class HttpHeaderListenerCondition extends ListenerCondition {
|
|
85
|
+
constructor(name, values) {
|
|
86
|
+
super();
|
|
87
|
+
this.name = name;
|
|
88
|
+
this.values = values;
|
|
89
|
+
}
|
|
90
|
+
renderRawCondition() {
|
|
91
|
+
return provider_aws_1.lbListenerRule.lbListenerRuleConditionToTerraform({
|
|
92
|
+
httpHeader: {
|
|
93
|
+
httpHeaderName: this.name,
|
|
94
|
+
values: this.values,
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* HTTP reqeust method config of the listener rule condition
|
|
101
|
+
*/
|
|
102
|
+
class HttpRequestMethodListenerCondition extends ListenerCondition {
|
|
103
|
+
constructor(values) {
|
|
104
|
+
super();
|
|
105
|
+
this.values = values;
|
|
106
|
+
}
|
|
107
|
+
renderRawCondition() {
|
|
108
|
+
return provider_aws_1.lbListenerRule.lbListenerRuleConditionToTerraform({
|
|
109
|
+
httpRequestMethod: {
|
|
110
|
+
values: this.values,
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Path pattern config of the listener rule condition
|
|
117
|
+
*/
|
|
118
|
+
class PathPatternListenerCondition extends ListenerCondition {
|
|
119
|
+
constructor(values) {
|
|
120
|
+
super();
|
|
121
|
+
this.values = values;
|
|
122
|
+
if (values && values.length > 5) {
|
|
123
|
+
throw new Error("A rule can only have '5' condition values");
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
renderRawCondition() {
|
|
127
|
+
return provider_aws_1.lbListenerRule.lbListenerRuleConditionToTerraform({
|
|
128
|
+
pathPattern: {
|
|
129
|
+
values: this.values,
|
|
130
|
+
},
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Query string config of the listener rule condition
|
|
136
|
+
*/
|
|
137
|
+
class QueryStringListenerCondition extends ListenerCondition {
|
|
138
|
+
constructor(values) {
|
|
139
|
+
super();
|
|
140
|
+
this.values = values;
|
|
141
|
+
}
|
|
142
|
+
renderRawCondition() {
|
|
143
|
+
return provider_aws_1.lbListenerRule.lbListenerRuleConditionToTerraform({
|
|
144
|
+
queryString: this.values,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Source ip config of the listener rule condition
|
|
150
|
+
*/
|
|
151
|
+
class SourceIpListenerCondition extends ListenerCondition {
|
|
152
|
+
constructor(values) {
|
|
153
|
+
super();
|
|
154
|
+
this.values = values;
|
|
155
|
+
}
|
|
156
|
+
renderRawCondition() {
|
|
157
|
+
return provider_aws_1.lbListenerRule.lbListenerRuleConditionToTerraform({
|
|
158
|
+
sourceIp: {
|
|
159
|
+
values: this.values,
|
|
160
|
+
},
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZGl0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9hbGIvY29uZGl0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFIQUFxSDtBQUVySCxzREFBeUU7QUFFekU7O0dBRUc7QUFDSCxNQUFzQixpQkFBaUI7SUFDckM7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBZ0I7UUFDeEMsT0FBTyxJQUFJLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBWSxFQUFFLE1BQWdCO1FBQ3JELE9BQU8sSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBZ0I7UUFDL0MsT0FBTyxJQUFJLGtDQUFrQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFnQjtRQUN6QyxPQUFPLElBQUksNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsWUFBWSxDQUN4QixNQUE4QjtRQUU5QixPQUFPLElBQUksNEJBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQWdCO1FBQ3RDLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQyxDQUFDOztBQXhESCw4Q0E4REM7OztBQW1CRDs7R0FFRztBQUNILE1BQU0sMkJBQTRCLFNBQVEsaUJBQWlCO0lBQ3pELFlBQTRCLE1BQWdCO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBRGtCLFdBQU0sR0FBTixNQUFNLENBQVU7SUFFNUMsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixPQUFPLDZCQUFnQixDQUFDLGtDQUFrQyxDQUFDO1lBQ3pELFVBQVUsRUFBRTtnQkFDVixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDcEI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sMkJBQTRCLFNBQVEsaUJBQWlCO0lBQ3pELFlBQ2tCLElBQVksRUFDWixNQUFnQjtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQUhRLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixXQUFNLEdBQU4sTUFBTSxDQUFVO0lBR2xDLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsT0FBTyw2QkFBZ0IsQ0FBQyxrQ0FBa0MsQ0FBQztZQUN6RCxVQUFVLEVBQUU7Z0JBQ1YsY0FBYyxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDcEI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sa0NBQW1DLFNBQVEsaUJBQWlCO0lBQ2hFLFlBQTRCLE1BQWdCO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBRGtCLFdBQU0sR0FBTixNQUFNLENBQVU7SUFFNUMsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixPQUFPLDZCQUFnQixDQUFDLGtDQUFrQyxDQUFDO1lBQ3pELGlCQUFpQixFQUFFO2dCQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDcEI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sNEJBQTZCLFNBQVEsaUJBQWlCO0lBQzFELFlBQTRCLE1BQWdCO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBRGtCLFdBQU0sR0FBTixNQUFNLENBQVU7UUFFMUMsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNILENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsT0FBTyw2QkFBZ0IsQ0FBQyxrQ0FBa0MsQ0FBQztZQUN6RCxXQUFXLEVBQUU7Z0JBQ1gsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2FBQ3BCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLDRCQUE2QixTQUFRLGlCQUFpQjtJQUMxRCxZQUE0QixNQUE4QjtRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQURrQixXQUFNLEdBQU4sTUFBTSxDQUF3QjtJQUUxRCxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLE9BQU8sNkJBQWdCLENBQUMsa0NBQWtDLENBQUM7WUFDekQsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSx5QkFBMEIsU0FBUSxpQkFBaUI7SUFDdkQsWUFBNEIsTUFBZ0I7UUFDMUMsS0FBSyxFQUFFLENBQUM7UUFEa0IsV0FBTSxHQUFOLE1BQU0sQ0FBVTtJQUU1QyxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLE9BQU8sNkJBQWdCLENBQUMsa0NBQWtDLENBQUM7WUFDekQsUUFBUSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTthQUNwQjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyL2xpYi9hbGIvY29uZGl0aW9ucy50c1xuXG5pbXBvcnQgeyBsYkxpc3RlbmVyUnVsZSBhcyB0ZkxiTGlzdGVuZXJSdWxlIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcblxuLyoqXG4gKiBMaXN0ZW5lckNvbmRpdGlvbiBwcm92aWRlcnMgZGVmaW5pdGlvbi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExpc3RlbmVyQ29uZGl0aW9uIHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIGhvc3QtaGVhZGVyIGxpc3RlbmVyIHJ1bGUgY29uZGl0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZXMgSG9zdHMgZm9yIGhvc3QgaGVhZGVyc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBob3N0SGVhZGVycyh2YWx1ZXM6IHN0cmluZ1tdKTogTGlzdGVuZXJDb25kaXRpb24ge1xuICAgIHJldHVybiBuZXcgSG9zdEhlYWRlckxpc3RlbmVyQ29uZGl0aW9uKHZhbHVlcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgaHR0cC1oZWFkZXIgbGlzdGVuZXIgcnVsZSBjb25kaXRpb25cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgSFRUUCBoZWFkZXIgbmFtZVxuICAgKiBAcGFyYW0gdmFsdWVzIEhUVFAgaGVhZGVyIHZhbHVlc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBodHRwSGVhZGVyKG5hbWU6IHN0cmluZywgdmFsdWVzOiBzdHJpbmdbXSk6IExpc3RlbmVyQ29uZGl0aW9uIHtcbiAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJMaXN0ZW5lckNvbmRpdGlvbihuYW1lLCB2YWx1ZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGh0dHAtcmVxdWVzdC1tZXRob2QgbGlzdGVuZXIgcnVsZSBjb25kaXRpb25cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlcyBIVFRQIHJlcXVlc3QgbWV0aG9kc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBodHRwUmVxdWVzdE1ldGhvZHModmFsdWVzOiBzdHJpbmdbXSk6IExpc3RlbmVyQ29uZGl0aW9uIHtcbiAgICByZXR1cm4gbmV3IEh0dHBSZXF1ZXN0TWV0aG9kTGlzdGVuZXJDb25kaXRpb24odmFsdWVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBwYXRoLXBhdHRlcm4gbGlzdGVuZXIgcnVsZSBjb25kaXRpb25cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlcyBQYXRoIHBhdHRlcm5zXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHBhdGhQYXR0ZXJucyh2YWx1ZXM6IHN0cmluZ1tdKTogTGlzdGVuZXJDb25kaXRpb24ge1xuICAgIHJldHVybiBuZXcgUGF0aFBhdHRlcm5MaXN0ZW5lckNvbmRpdGlvbih2YWx1ZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHF1ZXJ5LXN0cmluZyBsaXN0ZW5lciBydWxlIGNvbmRpdGlvblxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWVzIFF1ZXJ5IHN0cmluZyBrZXkvdmFsdWUgcGFpcnNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcXVlcnlTdHJpbmdzKFxuICAgIHZhbHVlczogUXVlcnlTdHJpbmdDb25kaXRpb25bXSxcbiAgKTogTGlzdGVuZXJDb25kaXRpb24ge1xuICAgIHJldHVybiBuZXcgUXVlcnlTdHJpbmdMaXN0ZW5lckNvbmRpdGlvbih2YWx1ZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHNvdXJjZS1pcCBsaXN0ZW5lciBydWxlIGNvbmRpdGlvblxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWVzIFNvdXJjZSBpcHNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc291cmNlSXBzKHZhbHVlczogc3RyaW5nW10pOiBMaXN0ZW5lckNvbmRpdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBTb3VyY2VJcExpc3RlbmVyQ29uZGl0aW9uKHZhbHVlcyk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVyIHRoZSByYXcgQ2ZuIGxpc3RlbmVyIHJ1bGUgY29uZGl0aW9uIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZW5kZXJSYXdDb25kaXRpb24oKTogYW55O1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSBrZXkvdmFsdWUgcGFpciBvZiB0aGUgcXVlcnkgc3RyaW5nXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlTdHJpbmdDb25kaXRpb24ge1xuICAvKipcbiAgICogVGhlIHF1ZXJ5IHN0cmluZyBrZXkgZm9yIHRoZSBjb25kaXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBbnkga2V5IGNhbiBiZSBtYXRjaGVkLlxuICAgKi9cbiAgcmVhZG9ubHkga2V5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcXVlcnkgc3RyaW5nIHZhbHVlIGZvciB0aGUgY29uZGl0aW9uXG4gICAqL1xuICByZWFkb25seSB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEhvc3QgaGVhZGVyIGNvbmZpZyBvZiB0aGUgbGlzdGVuZXIgcnVsZSBjb25kaXRpb25cbiAqL1xuY2xhc3MgSG9zdEhlYWRlckxpc3RlbmVyQ29uZGl0aW9uIGV4dGVuZHMgTGlzdGVuZXJDb25kaXRpb24ge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdmFsdWVzOiBzdHJpbmdbXSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgcmVuZGVyUmF3Q29uZGl0aW9uKCk6IGFueSB7XG4gICAgcmV0dXJuIHRmTGJMaXN0ZW5lclJ1bGUubGJMaXN0ZW5lclJ1bGVDb25kaXRpb25Ub1RlcnJhZm9ybSh7XG4gICAgICBob3N0SGVhZGVyOiB7XG4gICAgICAgIHZhbHVlczogdGhpcy52YWx1ZXMsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogSFRUUCBoZWFkZXIgY29uZmlnIG9mIHRoZSBsaXN0ZW5lciBydWxlIGNvbmRpdGlvblxuICovXG5jbGFzcyBIdHRwSGVhZGVyTGlzdGVuZXJDb25kaXRpb24gZXh0ZW5kcyBMaXN0ZW5lckNvbmRpdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IHZhbHVlczogc3RyaW5nW10sXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgcmVuZGVyUmF3Q29uZGl0aW9uKCk6IGFueSB7XG4gICAgcmV0dXJuIHRmTGJMaXN0ZW5lclJ1bGUubGJMaXN0ZW5lclJ1bGVDb25kaXRpb25Ub1RlcnJhZm9ybSh7XG4gICAgICBodHRwSGVhZGVyOiB7XG4gICAgICAgIGh0dHBIZWFkZXJOYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgIHZhbHVlczogdGhpcy52YWx1ZXMsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogSFRUUCByZXFldXN0IG1ldGhvZCBjb25maWcgb2YgdGhlIGxpc3RlbmVyIHJ1bGUgY29uZGl0aW9uXG4gKi9cbmNsYXNzIEh0dHBSZXF1ZXN0TWV0aG9kTGlzdGVuZXJDb25kaXRpb24gZXh0ZW5kcyBMaXN0ZW5lckNvbmRpdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB2YWx1ZXM6IHN0cmluZ1tdKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyByZW5kZXJSYXdDb25kaXRpb24oKTogYW55IHtcbiAgICByZXR1cm4gdGZMYkxpc3RlbmVyUnVsZS5sYkxpc3RlbmVyUnVsZUNvbmRpdGlvblRvVGVycmFmb3JtKHtcbiAgICAgIGh0dHBSZXF1ZXN0TWV0aG9kOiB7XG4gICAgICAgIHZhbHVlczogdGhpcy52YWx1ZXMsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogUGF0aCBwYXR0ZXJuIGNvbmZpZyBvZiB0aGUgbGlzdGVuZXIgcnVsZSBjb25kaXRpb25cbiAqL1xuY2xhc3MgUGF0aFBhdHRlcm5MaXN0ZW5lckNvbmRpdGlvbiBleHRlbmRzIExpc3RlbmVyQ29uZGl0aW9uIHtcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHZhbHVlczogc3RyaW5nW10pIHtcbiAgICBzdXBlcigpO1xuICAgIGlmICh2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aCA+IDUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkEgcnVsZSBjYW4gb25seSBoYXZlICc1JyBjb25kaXRpb24gdmFsdWVzXCIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZW5kZXJSYXdDb25kaXRpb24oKTogYW55IHtcbiAgICByZXR1cm4gdGZMYkxpc3RlbmVyUnVsZS5sYkxpc3RlbmVyUnVsZUNvbmRpdGlvblRvVGVycmFmb3JtKHtcbiAgICAgIHBhdGhQYXR0ZXJuOiB7XG4gICAgICAgIHZhbHVlczogdGhpcy52YWx1ZXMsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogUXVlcnkgc3RyaW5nIGNvbmZpZyBvZiB0aGUgbGlzdGVuZXIgcnVsZSBjb25kaXRpb25cbiAqL1xuY2xhc3MgUXVlcnlTdHJpbmdMaXN0ZW5lckNvbmRpdGlvbiBleHRlbmRzIExpc3RlbmVyQ29uZGl0aW9uIHtcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHZhbHVlczogUXVlcnlTdHJpbmdDb25kaXRpb25bXSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgcmVuZGVyUmF3Q29uZGl0aW9uKCk6IGFueSB7XG4gICAgcmV0dXJuIHRmTGJMaXN0ZW5lclJ1bGUubGJMaXN0ZW5lclJ1bGVDb25kaXRpb25Ub1RlcnJhZm9ybSh7XG4gICAgICBxdWVyeVN0cmluZzogdGhpcy52YWx1ZXMsXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBTb3VyY2UgaXAgY29uZmlnIG9mIHRoZSBsaXN0ZW5lciBydWxlIGNvbmRpdGlvblxuICovXG5jbGFzcyBTb3VyY2VJcExpc3RlbmVyQ29uZGl0aW9uIGV4dGVuZHMgTGlzdGVuZXJDb25kaXRpb24ge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdmFsdWVzOiBzdHJpbmdbXSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgcmVuZGVyUmF3Q29uZGl0aW9uKCk6IGFueSB7XG4gICAgcmV0dXJuIHRmTGJMaXN0ZW5lclJ1bGUubGJMaXN0ZW5lclJ1bGVDb25kaXRpb25Ub1RlcnJhZm9ybSh7XG4gICAgICBzb3VyY2VJcDoge1xuICAgICAgICB2YWx1ZXM6IHRoaXMudmFsdWVzLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { ITrustStore } from "./trust-store";
|
|
3
|
+
import { AwsConstructBase } from "../../aws-construct";
|
|
4
|
+
import { IBucket } from "../../storage";
|
|
5
|
+
/**
|
|
6
|
+
* Properties for the trust store revocation
|
|
7
|
+
*/
|
|
8
|
+
export interface TrustStoreRevocationProps {
|
|
9
|
+
/**
|
|
10
|
+
* The trust store
|
|
11
|
+
*/
|
|
12
|
+
readonly trustStore: ITrustStore;
|
|
13
|
+
/**
|
|
14
|
+
* The revocation file to add
|
|
15
|
+
*/
|
|
16
|
+
readonly revocationContents: RevocationContent[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Information about a revocation file
|
|
20
|
+
*/
|
|
21
|
+
export interface RevocationContent {
|
|
22
|
+
/**
|
|
23
|
+
* The type of revocation file
|
|
24
|
+
*
|
|
25
|
+
* @default RevocationType.CRL
|
|
26
|
+
*/
|
|
27
|
+
readonly revocationType?: RevocationType;
|
|
28
|
+
/**
|
|
29
|
+
* The Amazon S3 bucket for the revocation file
|
|
30
|
+
*/
|
|
31
|
+
readonly bucket: IBucket;
|
|
32
|
+
/**
|
|
33
|
+
* The Amazon S3 path for the revocation file
|
|
34
|
+
*/
|
|
35
|
+
readonly key: string;
|
|
36
|
+
/**
|
|
37
|
+
* The Amazon S3 object version of the revocation file
|
|
38
|
+
*
|
|
39
|
+
* @default - latest version
|
|
40
|
+
*/
|
|
41
|
+
readonly version?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The type of revocation file
|
|
45
|
+
*/
|
|
46
|
+
export declare enum RevocationType {
|
|
47
|
+
/**
|
|
48
|
+
* A signed list of revoked certificates
|
|
49
|
+
*/
|
|
50
|
+
CRL = "CRL"
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* A new Trust Store Revocation
|
|
54
|
+
*/
|
|
55
|
+
export declare class TrustStoreRevocation extends AwsConstructBase {
|
|
56
|
+
get outputs(): Record<string, any>;
|
|
57
|
+
private readonly revocations;
|
|
58
|
+
constructor(scope: Construct, id: string, props: TrustStoreRevocationProps);
|
|
59
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.TrustStoreRevocation = exports.RevocationType = 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-elasticloadbalancingv2/lib/alb/trust-store-revocation.ts
|
|
7
|
+
const provider_aws_1 = require("@cdktf/provider-aws");
|
|
8
|
+
const aws_construct_1 = require("../../aws-construct");
|
|
9
|
+
/**
|
|
10
|
+
* The type of revocation file
|
|
11
|
+
*/
|
|
12
|
+
var RevocationType;
|
|
13
|
+
(function (RevocationType) {
|
|
14
|
+
/**
|
|
15
|
+
* A signed list of revoked certificates
|
|
16
|
+
*/
|
|
17
|
+
RevocationType["CRL"] = "CRL";
|
|
18
|
+
})(RevocationType || (exports.RevocationType = RevocationType = {}));
|
|
19
|
+
/**
|
|
20
|
+
* A new Trust Store Revocation
|
|
21
|
+
*/
|
|
22
|
+
class TrustStoreRevocation extends aws_construct_1.AwsConstructBase {
|
|
23
|
+
get outputs() {
|
|
24
|
+
return {
|
|
25
|
+
revocationIds: this.revocations.map((r) => r.revocationId),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
constructor(scope, id, props) {
|
|
29
|
+
super(scope, id);
|
|
30
|
+
this.revocations = new Array();
|
|
31
|
+
props.revocationContents?.map((content) => {
|
|
32
|
+
this.revocations.push(new provider_aws_1.lbTrustStoreRevocation.LbTrustStoreRevocation(this, "Resource", {
|
|
33
|
+
trustStoreArn: props.trustStore.trustStoreArn,
|
|
34
|
+
// https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-truststorerevocation-revocationcontent.html
|
|
35
|
+
// revocationType: content.revocationType,
|
|
36
|
+
revocationsS3Bucket: content.bucket.bucketName,
|
|
37
|
+
revocationsS3Key: content.key,
|
|
38
|
+
revocationsS3ObjectVersion: content.version,
|
|
39
|
+
}));
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.TrustStoreRevocation = TrustStoreRevocation;
|
|
44
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
45
|
+
TrustStoreRevocation[_a] = { fqn: "terraconstructs.aws.compute.TrustStoreRevocation", version: "0.0.13" };
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3Qtc3RvcmUtcmV2b2NhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9hbGIvdHJ1c3Qtc3RvcmUtcmV2b2NhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlJQUFpSTtBQUVqSSxzREFBdUY7QUFHdkYsdURBQXVEO0FBK0N2RDs7R0FFRztBQUNILElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4Qjs7T0FFRztJQUNILDZCQUFXLENBQUE7QUFDYixDQUFDLEVBTFcsY0FBYyw4QkFBZCxjQUFjLFFBS3pCO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLG9CQUFxQixTQUFRLGdDQUFnQjtJQUN4RCxJQUFXLE9BQU87UUFDaEIsT0FBTztZQUNMLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztTQUMzRCxDQUFDO0lBQ0osQ0FBQztJQUdELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZ0M7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUhGLGdCQUFXLEdBQzFCLElBQUksS0FBSyxFQUFpRCxDQUFDO1FBRzNELEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDbkIsSUFBSSxxQ0FBc0IsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNsRSxhQUFhLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFhO2dCQUM3QyxtSkFBbUo7Z0JBQ25KLDBDQUEwQztnQkFDMUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVO2dCQUM5QyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsR0FBRztnQkFDN0IsMEJBQTBCLEVBQUUsT0FBTyxDQUFDLE9BQU87YUFDNUMsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBdEJILG9EQXVCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyL2xpYi9hbGIvdHJ1c3Qtc3RvcmUtcmV2b2NhdGlvbi50c1xuXG5pbXBvcnQgeyBsYlRydXN0U3RvcmVSZXZvY2F0aW9uIGFzIHRmVHJ1c3RTdG9yZVJldm9jYXRpb24gfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IElUcnVzdFN0b3JlIH0gZnJvbSBcIi4vdHJ1c3Qtc3RvcmVcIjtcbmltcG9ydCB7IEF3c0NvbnN0cnVjdEJhc2UgfSBmcm9tIFwiLi4vLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gXCIuLi8uLi9zdG9yYWdlXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIHRydXN0IHN0b3JlIHJldm9jYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcnVzdFN0b3JlUmV2b2NhdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB0cnVzdCBzdG9yZVxuICAgKi9cbiAgcmVhZG9ubHkgdHJ1c3RTdG9yZTogSVRydXN0U3RvcmU7XG5cbiAgLyoqXG4gICAqIFRoZSByZXZvY2F0aW9uIGZpbGUgdG8gYWRkXG4gICAqL1xuICByZWFkb25seSByZXZvY2F0aW9uQ29udGVudHM6IFJldm9jYXRpb25Db250ZW50W107XG59XG5cbi8qKlxuICogSW5mb3JtYXRpb24gYWJvdXQgYSByZXZvY2F0aW9uIGZpbGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXZvY2F0aW9uQ29udGVudCB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiByZXZvY2F0aW9uIGZpbGVcbiAgICpcbiAgICogQGRlZmF1bHQgUmV2b2NhdGlvblR5cGUuQ1JMXG4gICAqL1xuICByZWFkb25seSByZXZvY2F0aW9uVHlwZT86IFJldm9jYXRpb25UeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFMzIGJ1Y2tldCBmb3IgdGhlIHJldm9jYXRpb24gZmlsZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0O1xuXG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFMzIHBhdGggZm9yIHRoZSByZXZvY2F0aW9uIGZpbGVcbiAgICovXG4gIHJlYWRvbmx5IGtleTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFMzIG9iamVjdCB2ZXJzaW9uIG9mIHRoZSByZXZvY2F0aW9uIGZpbGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBsYXRlc3QgdmVyc2lvblxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgdHlwZSBvZiByZXZvY2F0aW9uIGZpbGVcbiAqL1xuZXhwb3J0IGVudW0gUmV2b2NhdGlvblR5cGUge1xuICAvKipcbiAgICogQSBzaWduZWQgbGlzdCBvZiByZXZva2VkIGNlcnRpZmljYXRlc1xuICAgKi9cbiAgQ1JMID0gXCJDUkxcIiwgLy8gT25seSBzdXBwb3J0ZWQgdmFsdWVcbn1cblxuLyoqXG4gKiBBIG5ldyBUcnVzdCBTdG9yZSBSZXZvY2F0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBUcnVzdFN0b3JlUmV2b2NhdGlvbiBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2Uge1xuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJldm9jYXRpb25JZHM6IHRoaXMucmV2b2NhdGlvbnMubWFwKChyKSA9PiByLnJldm9jYXRpb25JZCksXG4gICAgfTtcbiAgfVxuICBwcml2YXRlIHJlYWRvbmx5IHJldm9jYXRpb25zID1cbiAgICBuZXcgQXJyYXk8dGZUcnVzdFN0b3JlUmV2b2NhdGlvbi5MYlRydXN0U3RvcmVSZXZvY2F0aW9uPigpO1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVHJ1c3RTdG9yZVJldm9jYXRpb25Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgcHJvcHMucmV2b2NhdGlvbkNvbnRlbnRzPy5tYXAoKGNvbnRlbnQpID0+IHtcbiAgICAgIHRoaXMucmV2b2NhdGlvbnMucHVzaChcbiAgICAgICAgbmV3IHRmVHJ1c3RTdG9yZVJldm9jYXRpb24uTGJUcnVzdFN0b3JlUmV2b2NhdGlvbih0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgICAgICB0cnVzdFN0b3JlQXJuOiBwcm9wcy50cnVzdFN0b3JlLnRydXN0U3RvcmVBcm4sXG4gICAgICAgICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi10cnVzdHN0b3JlcmV2b2NhdGlvbi1yZXZvY2F0aW9uY29udGVudC5odG1sXG4gICAgICAgICAgLy8gcmV2b2NhdGlvblR5cGU6IGNvbnRlbnQucmV2b2NhdGlvblR5cGUsXG4gICAgICAgICAgcmV2b2NhdGlvbnNTM0J1Y2tldDogY29udGVudC5idWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgICByZXZvY2F0aW9uc1MzS2V5OiBjb250ZW50LmtleSxcbiAgICAgICAgICByZXZvY2F0aW9uc1MzT2JqZWN0VmVyc2lvbjogY29udGVudC52ZXJzaW9uLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { IAwsConstruct, AwsConstructBase, AwsConstructProps } from "../../aws-construct";
|
|
3
|
+
import { IBucket } from "../../storage";
|
|
4
|
+
/**
|
|
5
|
+
* Outputs which may be registered for output via the Grid.
|
|
6
|
+
*/
|
|
7
|
+
export interface TrustStoreOutputs {
|
|
8
|
+
/**
|
|
9
|
+
* The name of the trust store
|
|
10
|
+
* @attribute
|
|
11
|
+
*/
|
|
12
|
+
readonly trustStoreName: string;
|
|
13
|
+
/**
|
|
14
|
+
* The ARN of the trust store
|
|
15
|
+
* @attribute
|
|
16
|
+
*/
|
|
17
|
+
readonly trustStoreArn: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Represents a Trust Store
|
|
21
|
+
*/
|
|
22
|
+
export interface ITrustStore extends IAwsConstruct {
|
|
23
|
+
/** Strongly typed outputs */
|
|
24
|
+
readonly trustStoreOutputs: TrustStoreOutputs;
|
|
25
|
+
/**
|
|
26
|
+
* The name of the trust store
|
|
27
|
+
* @attribute
|
|
28
|
+
*/
|
|
29
|
+
readonly trustStoreName: string;
|
|
30
|
+
/**
|
|
31
|
+
* The ARN of the trust store
|
|
32
|
+
* @attribute
|
|
33
|
+
*/
|
|
34
|
+
readonly trustStoreArn: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Properties used for the Trust Store
|
|
38
|
+
*/
|
|
39
|
+
export interface TrustStoreProps extends AwsConstructProps {
|
|
40
|
+
/**
|
|
41
|
+
* The name of the trust store
|
|
42
|
+
*
|
|
43
|
+
* @default - Auto generated
|
|
44
|
+
*/
|
|
45
|
+
readonly trustStoreName?: string;
|
|
46
|
+
/**
|
|
47
|
+
* The bucket that the trust store is hosted in
|
|
48
|
+
*/
|
|
49
|
+
readonly bucket: IBucket;
|
|
50
|
+
/**
|
|
51
|
+
* The key in S3 to look at for the trust store
|
|
52
|
+
*/
|
|
53
|
+
readonly key: string;
|
|
54
|
+
/**
|
|
55
|
+
* The version of the S3 object that contains your truststore.
|
|
56
|
+
* To specify a version, you must have versioning enabled for the S3 bucket.
|
|
57
|
+
*
|
|
58
|
+
* @default - latest version
|
|
59
|
+
*/
|
|
60
|
+
readonly version?: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* A new Trust Store
|
|
64
|
+
*/
|
|
65
|
+
export declare class TrustStore extends AwsConstructBase implements ITrustStore {
|
|
66
|
+
/**
|
|
67
|
+
* Import from ARN
|
|
68
|
+
*/
|
|
69
|
+
static fromTrustStoreArn(scope: Construct, id: string, trustStoreArn: string): ITrustStore;
|
|
70
|
+
get trustStoreOutputs(): TrustStoreOutputs;
|
|
71
|
+
get outputs(): Record<string, any>;
|
|
72
|
+
/**
|
|
73
|
+
* The name of the trust store
|
|
74
|
+
*
|
|
75
|
+
* @attribute
|
|
76
|
+
*/
|
|
77
|
+
readonly trustStoreName: string;
|
|
78
|
+
/**
|
|
79
|
+
* The ARN of the trust store
|
|
80
|
+
*
|
|
81
|
+
* @attribute
|
|
82
|
+
*/
|
|
83
|
+
readonly trustStoreArn: string;
|
|
84
|
+
private physicalName;
|
|
85
|
+
constructor(scope: Construct, id: string, props: TrustStoreProps);
|
|
86
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.TrustStore = 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-elasticloadbalancingv2/lib/alb/trust-store.ts
|
|
7
|
+
const provider_aws_1 = require("@cdktf/provider-aws");
|
|
8
|
+
const cdktf_1 = require("cdktf");
|
|
9
|
+
const aws_construct_1 = require("../../aws-construct");
|
|
10
|
+
/**
|
|
11
|
+
* A new Trust Store
|
|
12
|
+
*/
|
|
13
|
+
class TrustStore extends aws_construct_1.AwsConstructBase {
|
|
14
|
+
/**
|
|
15
|
+
* Import from ARN
|
|
16
|
+
*/
|
|
17
|
+
static fromTrustStoreArn(scope, id, trustStoreArn) {
|
|
18
|
+
const resourceParts = cdktf_1.Fn.split("/", trustStoreArn);
|
|
19
|
+
const trustStoreName = cdktf_1.Fn.element(resourceParts, 0);
|
|
20
|
+
class Import extends aws_construct_1.AwsConstructBase {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
this.trustStoreArn = trustStoreArn;
|
|
24
|
+
this.trustStoreName = trustStoreName;
|
|
25
|
+
}
|
|
26
|
+
get trustStoreOutputs() {
|
|
27
|
+
return {
|
|
28
|
+
trustStoreName: this.trustStoreName,
|
|
29
|
+
trustStoreArn: this.trustStoreArn,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
get outputs() {
|
|
33
|
+
return this.trustStoreOutputs;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return new Import(scope, id);
|
|
37
|
+
}
|
|
38
|
+
get trustStoreOutputs() {
|
|
39
|
+
return {
|
|
40
|
+
trustStoreName: this.trustStoreName,
|
|
41
|
+
trustStoreArn: this.trustStoreArn,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
get outputs() {
|
|
45
|
+
return this.trustStoreOutputs;
|
|
46
|
+
}
|
|
47
|
+
constructor(scope, id, props) {
|
|
48
|
+
super(scope, id, props);
|
|
49
|
+
this.physicalName =
|
|
50
|
+
props.trustStoreName ??
|
|
51
|
+
this.stack.uniqueResourceName(this, { maxLength: 32 });
|
|
52
|
+
if (props.trustStoreName !== undefined &&
|
|
53
|
+
!cdktf_1.Token.isUnresolved(props.trustStoreName)) {
|
|
54
|
+
if (props.trustStoreName.length < 1 || props.trustStoreName.length > 32) {
|
|
55
|
+
throw new Error(`trustStoreName '${props.trustStoreName}' must be 1-32 characters long.`);
|
|
56
|
+
}
|
|
57
|
+
const validNameRegex = /^([a-zA-Z0-9]+-)*[a-zA-Z0-9]+$/;
|
|
58
|
+
if (!validNameRegex.test(props.trustStoreName)) {
|
|
59
|
+
throw new Error(`trustStoreName '${props.trustStoreName}' must contain only alphanumeric characters and hyphens, and cannot begin or end with a hyphen.`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const resource = new provider_aws_1.lbTrustStore.LbTrustStore(this, "Resource", {
|
|
63
|
+
name: this.physicalName,
|
|
64
|
+
caCertificatesBundleS3Bucket: props.bucket.bucketName,
|
|
65
|
+
caCertificatesBundleS3Key: props.key,
|
|
66
|
+
caCertificatesBundleS3ObjectVersion: props.version,
|
|
67
|
+
});
|
|
68
|
+
this.trustStoreName = resource.name;
|
|
69
|
+
this.trustStoreArn = resource.arn;
|
|
70
|
+
// TODO: provider-aws doesn't have numberOfCaCertificates?
|
|
71
|
+
// this.numberOfCaCertificates = resource.numberOfCaCertificates;
|
|
72
|
+
// TODO: provider-aws doesn't have status?
|
|
73
|
+
// this.status = resource.status;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.TrustStore = TrustStore;
|
|
77
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
78
|
+
TrustStore[_a] = { fqn: "terraconstructs.aws.compute.TrustStore", version: "0.0.13" };
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3Qtc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvYWxiL3RydXN0LXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0hBQXNIO0FBRXRILHNEQUFtRTtBQUNuRSxpQ0FBa0M7QUFFbEMsdURBSTZCO0FBcUU3Qjs7R0FFRztBQUNILE1BQWEsVUFBVyxTQUFRLGdDQUFnQjtJQUM5Qzs7T0FFRztJQUNJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FDN0IsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLGFBQXFCO1FBRXJCLE1BQU0sYUFBYSxHQUFHLFVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRW5ELE1BQU0sY0FBYyxHQUFHLFVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXBELE1BQU0sTUFBTyxTQUFRLGdDQUFnQjtZQUFyQzs7Z0JBVWtCLGtCQUFhLEdBQUcsYUFBYSxDQUFDO2dCQUM5QixtQkFBYyxHQUFHLGNBQWMsQ0FBQztZQUNsRCxDQUFDO1lBWEMsSUFBVyxpQkFBaUI7Z0JBQzFCLE9BQU87b0JBQ0wsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO29CQUNuQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7aUJBQ2xDLENBQUM7WUFDSixDQUFDO1lBQ0QsSUFBVyxPQUFPO2dCQUNoQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUNoQyxDQUFDO1NBR0Y7UUFDRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTztZQUNMLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDbEMsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQWlDRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZO1lBQ2YsS0FBSyxDQUFDLGNBQWM7Z0JBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFekQsSUFDRSxLQUFLLENBQUMsY0FBYyxLQUFLLFNBQVM7WUFDbEMsQ0FBQyxhQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsRUFDekMsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLEVBQUUsRUFBRSxDQUFDO2dCQUN4RSxNQUFNLElBQUksS0FBSyxDQUNiLG1CQUFtQixLQUFLLENBQUMsY0FBYyxpQ0FBaUMsQ0FDekUsQ0FBQztZQUNKLENBQUM7WUFDRCxNQUFNLGNBQWMsR0FBRyxnQ0FBZ0MsQ0FBQztZQUN4RCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztnQkFDL0MsTUFBTSxJQUFJLEtBQUssQ0FDYixtQkFBbUIsS0FBSyxDQUFDLGNBQWMsaUdBQWlHLENBQ3pJLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksMkJBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUMvRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDdkIsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1lBQ3JELHlCQUF5QixFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ3BDLG1DQUFtQyxFQUFFLEtBQUssQ0FBQyxPQUFPO1NBQ25ELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDbEMsMERBQTBEO1FBQzFELGlFQUFpRTtRQUNqRSwwQ0FBMEM7UUFDMUMsaUNBQWlDO0lBQ25DLENBQUM7O0FBMUdILGdDQTJHQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyL2xpYi9hbGIvdHJ1c3Qtc3RvcmUudHNcblxuaW1wb3J0IHsgbGJUcnVzdFN0b3JlIGFzIHRmVHJ1c3RTdG9yZSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBGbiwgVG9rZW4gfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBJQXdzQ29uc3RydWN0LFxuICBBd3NDb25zdHJ1Y3RCYXNlLFxuICBBd3NDb25zdHJ1Y3RQcm9wcyxcbn0gZnJvbSBcIi4uLy4uL2F3cy1jb25zdHJ1Y3RcIjtcbmltcG9ydCB7IElCdWNrZXQgfSBmcm9tIFwiLi4vLi4vc3RvcmFnZVwiO1xuXG4vKipcbiAqIE91dHB1dHMgd2hpY2ggbWF5IGJlIHJlZ2lzdGVyZWQgZm9yIG91dHB1dCB2aWEgdGhlIEdyaWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJ1c3RTdG9yZU91dHB1dHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHRydXN0IHN0b3JlXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHRydXN0U3RvcmVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHRydXN0IHN0b3JlXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHRydXN0U3RvcmVBcm46IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgVHJ1c3QgU3RvcmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVHJ1c3RTdG9yZSBleHRlbmRzIElBd3NDb25zdHJ1Y3Qge1xuICAvKiogU3Ryb25nbHkgdHlwZWQgb3V0cHV0cyAqL1xuICByZWFkb25seSB0cnVzdFN0b3JlT3V0cHV0czogVHJ1c3RTdG9yZU91dHB1dHM7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdHJ1c3Qgc3RvcmVcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdHJ1c3RTdG9yZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgdHJ1c3Qgc3RvcmVcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdHJ1c3RTdG9yZUFybjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgdXNlZCBmb3IgdGhlIFRydXN0IFN0b3JlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJ1c3RTdG9yZVByb3BzIGV4dGVuZHMgQXdzQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHRydXN0IHN0b3JlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQXV0byBnZW5lcmF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHRydXN0U3RvcmVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYnVja2V0IHRoYXQgdGhlIHRydXN0IHN0b3JlIGlzIGhvc3RlZCBpblxuICAgKi9cbiAgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0O1xuXG4gIC8qKlxuICAgKiBUaGUga2V5IGluIFMzIHRvIGxvb2sgYXQgZm9yIHRoZSB0cnVzdCBzdG9yZVxuICAgKi9cbiAgcmVhZG9ubHkga2V5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBTMyBvYmplY3QgdGhhdCBjb250YWlucyB5b3VyIHRydXN0c3RvcmUuXG4gICAqIFRvIHNwZWNpZnkgYSB2ZXJzaW9uLCB5b3UgbXVzdCBoYXZlIHZlcnNpb25pbmcgZW5hYmxlZCBmb3IgdGhlIFMzIGJ1Y2tldC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBsYXRlc3QgdmVyc2lvblxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIG5ldyBUcnVzdCBTdG9yZVxuICovXG5leHBvcnQgY2xhc3MgVHJ1c3RTdG9yZSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJVHJ1c3RTdG9yZSB7XG4gIC8qKlxuICAgKiBJbXBvcnQgZnJvbSBBUk5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVRydXN0U3RvcmVBcm4oXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHRydXN0U3RvcmVBcm46IHN0cmluZyxcbiAgKTogSVRydXN0U3RvcmUge1xuICAgIGNvbnN0IHJlc291cmNlUGFydHMgPSBGbi5zcGxpdChcIi9cIiwgdHJ1c3RTdG9yZUFybik7XG5cbiAgICBjb25zdCB0cnVzdFN0b3JlTmFtZSA9IEZuLmVsZW1lbnQocmVzb3VyY2VQYXJ0cywgMCk7XG5cbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIGltcGxlbWVudHMgSVRydXN0U3RvcmUge1xuICAgICAgcHVibGljIGdldCB0cnVzdFN0b3JlT3V0cHV0cygpOiBUcnVzdFN0b3JlT3V0cHV0cyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdHJ1c3RTdG9yZU5hbWU6IHRoaXMudHJ1c3RTdG9yZU5hbWUsXG4gICAgICAgICAgdHJ1c3RTdG9yZUFybjogdGhpcy50cnVzdFN0b3JlQXJuLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50cnVzdFN0b3JlT3V0cHV0cztcbiAgICAgIH1cbiAgICAgIHB1YmxpYyByZWFkb25seSB0cnVzdFN0b3JlQXJuID0gdHJ1c3RTdG9yZUFybjtcbiAgICAgIHB1YmxpYyByZWFkb25seSB0cnVzdFN0b3JlTmFtZSA9IHRydXN0U3RvcmVOYW1lO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgcHVibGljIGdldCB0cnVzdFN0b3JlT3V0cHV0cygpOiBUcnVzdFN0b3JlT3V0cHV0cyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRydXN0U3RvcmVOYW1lOiB0aGlzLnRydXN0U3RvcmVOYW1lLFxuICAgICAgdHJ1c3RTdG9yZUFybjogdGhpcy50cnVzdFN0b3JlQXJuLFxuICAgIH07XG4gIH1cbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLnRydXN0U3RvcmVPdXRwdXRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB0cnVzdCBzdG9yZVxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdHJ1c3RTdG9yZU5hbWU6IHN0cmluZztcblxuICAvLyBUT0RPOiBwcm92aWRlci1hd3MgZG9lc24ndCBoYXZlIG51bWJlck9mQ2FDZXJ0aWZpY2F0ZXM/XG4gIC8vIC8qKlxuICAvLyAgKiBUaGUgbnVtYmVyIG9mIENBIGNlcnRpZmljYXRlcyBpbiB0aGUgdHJ1c3Qgc3RvcmVcbiAgLy8gICpcbiAgLy8gICogQGF0dHJpYnV0ZVxuICAvLyAgKi9cbiAgLy8gcHVibGljIHJlYWRvbmx5IG51bWJlck9mQ2FDZXJ0aWZpY2F0ZXM6IG51bWJlcjtcblxuICAvLyBUT0RPOiBwcm92aWRlci1hd3MgZG9lc24ndCBoYXZlIHN0YXR1cz9cbiAgLy8gLyoqXG4gIC8vICAqIFRoZSBzdGF0dXMgb2YgdGhlIHRydXN0IHN0b3JlXG4gIC8vICAqXG4gIC8vICAqIEBhdHRyaWJ1dGVcbiAgLy8gICovXG4gIC8vIHB1YmxpYyByZWFkb25seSBzdGF0dXM6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgdHJ1c3Qgc3RvcmVcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRydXN0U3RvcmVBcm46IHN0cmluZztcbiAgcHJpdmF0ZSBwaHlzaWNhbE5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogVHJ1c3RTdG9yZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgdGhpcy5waHlzaWNhbE5hbWUgPVxuICAgICAgcHJvcHMudHJ1c3RTdG9yZU5hbWUgPz9cbiAgICAgIHRoaXMuc3RhY2sudW5pcXVlUmVzb3VyY2VOYW1lKHRoaXMsIHsgbWF4TGVuZ3RoOiAzMiB9KTtcblxuICAgIGlmIChcbiAgICAgIHByb3BzLnRydXN0U3RvcmVOYW1lICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICFUb2tlbi5pc1VucmVzb2x2ZWQocHJvcHMudHJ1c3RTdG9yZU5hbWUpXG4gICAgKSB7XG4gICAgICBpZiAocHJvcHMudHJ1c3RTdG9yZU5hbWUubGVuZ3RoIDwgMSB8fCBwcm9wcy50cnVzdFN0b3JlTmFtZS5sZW5ndGggPiAzMikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYHRydXN0U3RvcmVOYW1lICcke3Byb3BzLnRydXN0U3RvcmVOYW1lfScgbXVzdCBiZSAxLTMyIGNoYXJhY3RlcnMgbG9uZy5gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgdmFsaWROYW1lUmVnZXggPSAvXihbYS16QS1aMC05XSstKSpbYS16QS1aMC05XSskLztcbiAgICAgIGlmICghdmFsaWROYW1lUmVnZXgudGVzdChwcm9wcy50cnVzdFN0b3JlTmFtZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGB0cnVzdFN0b3JlTmFtZSAnJHtwcm9wcy50cnVzdFN0b3JlTmFtZX0nIG11c3QgY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCBoeXBoZW5zLCBhbmQgY2Fubm90IGJlZ2luIG9yIGVuZCB3aXRoIGEgaHlwaGVuLmAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgdGZUcnVzdFN0b3JlLkxiVHJ1c3RTdG9yZSh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIG5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgY2FDZXJ0aWZpY2F0ZXNCdW5kbGVTM0J1Y2tldDogcHJvcHMuYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICBjYUNlcnRpZmljYXRlc0J1bmRsZVMzS2V5OiBwcm9wcy5rZXksXG4gICAgICBjYUNlcnRpZmljYXRlc0J1bmRsZVMzT2JqZWN0VmVyc2lvbjogcHJvcHMudmVyc2lvbixcbiAgICB9KTtcblxuICAgIHRoaXMudHJ1c3RTdG9yZU5hbWUgPSByZXNvdXJjZS5uYW1lO1xuICAgIHRoaXMudHJ1c3RTdG9yZUFybiA9IHJlc291cmNlLmFybjtcbiAgICAvLyBUT0RPOiBwcm92aWRlci1hd3MgZG9lc24ndCBoYXZlIG51bWJlck9mQ2FDZXJ0aWZpY2F0ZXM/XG4gICAgLy8gdGhpcy5udW1iZXJPZkNhQ2VydGlmaWNhdGVzID0gcmVzb3VyY2UubnVtYmVyT2ZDYUNlcnRpZmljYXRlcztcbiAgICAvLyBUT0RPOiBwcm92aWRlci1hd3MgZG9lc24ndCBoYXZlIHN0YXR1cz9cbiAgICAvLyB0aGlzLnN0YXR1cyA9IHJlc291cmNlLnN0YXR1cztcbiAgfVxufVxuIl19
|
|
@@ -30,7 +30,7 @@ class Architecture {
|
|
|
30
30
|
}
|
|
31
31
|
exports.Architecture = Architecture;
|
|
32
32
|
_a = JSII_RTTI_SYMBOL_1;
|
|
33
|
-
Architecture[_a] = { fqn: "terraconstructs.aws.compute.Architecture", version: "0.0.
|
|
33
|
+
Architecture[_a] = { fqn: "terraconstructs.aws.compute.Architecture", version: "0.0.13" };
|
|
34
34
|
/**
|
|
35
35
|
* 64 bit architecture with x86 instruction set.
|
|
36
36
|
*/
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { IAspect } from "cdktf";
|
|
2
|
+
import { IConstruct } from "constructs";
|
|
3
|
+
/**
|
|
4
|
+
* Properties for `RequireImdsv2Aspect`.
|
|
5
|
+
*/
|
|
6
|
+
interface RequireImdsv2AspectProps {
|
|
7
|
+
/**
|
|
8
|
+
* Whether warning annotations from this Aspect should be suppressed or not.
|
|
9
|
+
*
|
|
10
|
+
* @default - false
|
|
11
|
+
*/
|
|
12
|
+
readonly suppressWarnings?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Base class for Aspect that makes IMDSv2 required.
|
|
16
|
+
*/
|
|
17
|
+
declare abstract class RequireImdsv2Aspect implements IAspect {
|
|
18
|
+
protected readonly suppressWarnings: boolean;
|
|
19
|
+
constructor(props?: RequireImdsv2AspectProps);
|
|
20
|
+
abstract visit(node: IConstruct): void;
|
|
21
|
+
/**
|
|
22
|
+
* Adds a warning annotation to a node, unless `suppressWarnings` is true.
|
|
23
|
+
*
|
|
24
|
+
* @param node The scope to add the warning to.
|
|
25
|
+
* @param message The warning message.
|
|
26
|
+
*/
|
|
27
|
+
protected warn(node: IConstruct, message: string): void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Properties for `InstanceRequireImdsv2Aspect`.
|
|
31
|
+
*/
|
|
32
|
+
export interface InstanceRequireImdsv2AspectProps extends RequireImdsv2AspectProps {
|
|
33
|
+
/**
|
|
34
|
+
* Whether warnings that would be raised when an Instance is associated with an existing Launch Template
|
|
35
|
+
* should be suppressed or not.
|
|
36
|
+
*
|
|
37
|
+
* You can set this to `true` if `LaunchTemplateImdsAspect` is being used alongside this Aspect to
|
|
38
|
+
* suppress false-positive warnings because any Launch Templates associated with Instances will still be covered.
|
|
39
|
+
*
|
|
40
|
+
* @default - false
|
|
41
|
+
*/
|
|
42
|
+
readonly suppressLaunchTemplateWarning?: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Aspect that applies IMDS configuration on EC2 Instance constructs.
|
|
46
|
+
*
|
|
47
|
+
* This aspect configures IMDS on an EC2 instance by creating a Launch Template with the
|
|
48
|
+
* IMDS configuration and associating that Launch Template with the instance. If an Instance
|
|
49
|
+
* is already associated with a Launch Template, a warning will (optionally) be added to the
|
|
50
|
+
* construct node and it will be skipped.
|
|
51
|
+
*
|
|
52
|
+
* To cover Instances already associated with Launch Templates, use `LaunchTemplateImdsAspect`.
|
|
53
|
+
*/
|
|
54
|
+
export declare class InstanceRequireImdsv2Aspect extends RequireImdsv2Aspect {
|
|
55
|
+
private readonly suppressLaunchTemplateWarning;
|
|
56
|
+
constructor(props?: InstanceRequireImdsv2AspectProps);
|
|
57
|
+
visit(node: IConstruct): void;
|
|
58
|
+
protected warn(node: IConstruct, message: string): void;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Properties for `LaunchTemplateRequireImdsv2Aspect`.
|
|
62
|
+
*/
|
|
63
|
+
export interface LaunchTemplateRequireImdsv2AspectProps extends RequireImdsv2AspectProps {
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Aspect that applies IMDS configuration on EC2 Launch Template constructs.
|
|
67
|
+
*
|
|
68
|
+
* @see https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/resources/launch_template#metadata-options
|
|
69
|
+
* @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
|
|
70
|
+
*/
|
|
71
|
+
export declare class LaunchTemplateRequireImdsv2Aspect extends RequireImdsv2Aspect {
|
|
72
|
+
constructor(props?: LaunchTemplateRequireImdsv2AspectProps);
|
|
73
|
+
visit(node: IConstruct): void;
|
|
74
|
+
}
|
|
75
|
+
export {};
|