terraconstructs 0.0.11 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +104486 -34582
- package/lib/aws/arn.js +1 -1
- package/lib/aws/aws-construct.d.ts +1 -1
- package/lib/aws/aws-construct.js +28 -2
- package/lib/aws/aws-stack.d.ts +2 -4
- package/lib/aws/aws-stack.js +21 -8
- package/lib/aws/aws-tags.d.ts +58 -0
- package/lib/aws/aws-tags.js +77 -0
- package/lib/aws/cloudwatch/actions/ec2.js +1 -1
- package/lib/aws/cloudwatch/actions/lambda.js +1 -1
- package/lib/aws/cloudwatch/alarm-base.js +1 -1
- package/lib/aws/cloudwatch/alarm-rule.js +1 -1
- package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
- package/lib/aws/cloudwatch/alarm.js +1 -1
- package/lib/aws/cloudwatch/composite-alarm.js +1 -1
- package/lib/aws/cloudwatch/dashboard.js +1 -1
- package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
- package/lib/aws/cloudwatch/graph.js +8 -8
- package/lib/aws/cloudwatch/layout.js +3 -3
- package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
- package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
- package/lib/aws/cloudwatch/log-group.js +1 -1
- package/lib/aws/cloudwatch/log-query.js +1 -1
- package/lib/aws/cloudwatch/log-stream.js +1 -1
- package/lib/aws/cloudwatch/metric-filter.d.ts +1 -1
- package/lib/aws/cloudwatch/metric-filter.js +4 -4
- package/lib/aws/cloudwatch/metric.js +2 -2
- package/lib/aws/cloudwatch/pattern.js +3 -3
- package/lib/aws/cloudwatch/policy.js +1 -1
- package/lib/aws/cloudwatch/private/env-tokens.js +5 -6
- package/lib/aws/cloudwatch/private/metric-util.js +4 -5
- package/lib/aws/cloudwatch/private/object.js +2 -3
- package/lib/aws/cloudwatch/private/rendering.js +3 -3
- package/lib/aws/cloudwatch/private/statistic.js +6 -7
- package/lib/aws/cloudwatch/query-definition.js +2 -2
- package/lib/aws/cloudwatch/stats.js +1 -1
- package/lib/aws/cloudwatch/subscription-filter.d.ts +1 -1
- package/lib/aws/cloudwatch/subscription-filter.js +4 -4
- package/lib/aws/cloudwatch/text.js +1 -1
- package/lib/aws/cloudwatch/variable.js +3 -3
- package/lib/aws/cloudwatch/widget.d.ts +1 -1
- package/lib/aws/cloudwatch/widget.js +4 -4
- package/lib/aws/compute/activity.js +3 -2
- package/lib/aws/compute/alb/application-listener-action.d.ts +334 -0
- package/lib/aws/compute/alb/application-listener-action.js +281 -0
- package/lib/aws/compute/alb/application-listener-certificate.d.ts +35 -0
- package/lib/aws/compute/alb/application-listener-certificate.js +35 -0
- package/lib/aws/compute/alb/application-listener-rule.d.ts +233 -0
- package/lib/aws/compute/alb/application-listener-rule.js +220 -0
- package/lib/aws/compute/alb/application-listener.d.ts +574 -0
- package/lib/aws/compute/alb/application-listener.js +538 -0
- package/lib/aws/compute/alb/application-load-balancer.d.ts +715 -0
- package/lib/aws/compute/alb/application-load-balancer.js +780 -0
- package/lib/aws/compute/alb/application-target-group.d.ts +339 -0
- package/lib/aws/compute/alb/application-target-group.js +427 -0
- package/lib/aws/compute/alb/conditions.d.ts +61 -0
- package/lib/aws/compute/alb/conditions.js +164 -0
- package/lib/aws/compute/alb/trust-store-revocation.d.ts +59 -0
- package/lib/aws/compute/alb/trust-store-revocation.js +46 -0
- package/lib/aws/compute/alb/trust-store.d.ts +86 -0
- package/lib/aws/compute/alb/trust-store.js +79 -0
- package/lib/aws/compute/architecture.js +1 -1
- package/lib/aws/compute/aspects/require-imdsv2-aspect.d.ts +75 -0
- package/lib/aws/compute/aspects/require-imdsv2-aspect.js +106 -0
- package/lib/aws/compute/bastion-host.d.ts +172 -0
- package/lib/aws/compute/bastion-host.js +114 -0
- package/lib/aws/compute/chain.js +1 -1
- package/lib/aws/compute/cidr-splits.d.ts +49 -0
- package/lib/aws/compute/cidr-splits.js +59 -0
- package/lib/aws/compute/client-vpn-authorization-rule.d.ts +43 -0
- package/lib/aws/compute/client-vpn-authorization-rule.js +30 -0
- package/lib/aws/compute/client-vpn-endpoint-types.d.ts +62 -0
- package/lib/aws/compute/client-vpn-endpoint-types.js +25 -0
- package/lib/aws/compute/client-vpn-endpoint.d.ts +239 -0
- package/lib/aws/compute/client-vpn-endpoint.js +259 -0
- package/lib/aws/compute/client-vpn-route.d.ts +67 -0
- package/lib/aws/compute/client-vpn-route.js +57 -0
- package/lib/aws/compute/condition.js +1 -1
- package/lib/aws/compute/connections.d.ts +137 -0
- package/lib/aws/compute/connections.js +208 -0
- package/lib/aws/compute/ec2-augmentations.generated.d.ts +53 -0
- package/lib/aws/compute/ec2-augmentations.generated.js +35 -0
- package/lib/aws/compute/ec2-canned-metrics.generated.d.ts +555 -0
- package/lib/aws/compute/ec2-canned-metrics.generated.js +681 -0
- package/lib/aws/compute/ec2-util-v2.d.ts +141 -0
- package/lib/aws/compute/ec2-util-v2.js +286 -0
- package/lib/aws/compute/ec2-util.d.ts +52 -0
- package/lib/aws/compute/ec2-util.js +138 -0
- package/lib/aws/compute/elasticloadbalancing-canned-metrics.generated.d.ts +176 -0
- package/lib/aws/compute/elasticloadbalancing-canned-metrics.generated.js +119 -0
- package/lib/aws/compute/elasticloadbalancingv2-canned-metrics.generated.d.ts +860 -0
- package/lib/aws/compute/elasticloadbalancingv2-canned-metrics.generated.js +597 -0
- package/lib/aws/compute/event-invoke-config.js +1 -1
- package/lib/aws/compute/event-source-filter.js +2 -2
- package/lib/aws/compute/event-source-mapping.js +1 -1
- package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
- package/lib/aws/compute/event-sources/s3.js +1 -1
- package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
- package/lib/aws/compute/event-sources/sqs.js +1 -1
- package/lib/aws/compute/fields.js +4 -4
- package/lib/aws/compute/function-alias.js +1 -1
- package/lib/aws/compute/function-base.js +2 -2
- package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
- package/lib/aws/compute/function-destinations/function.js +1 -1
- package/lib/aws/compute/function-destinations/sqs.js +1 -1
- package/lib/aws/compute/function-nodejs.js +1 -1
- package/lib/aws/compute/function-url.js +1 -1
- package/lib/aws/compute/function-vpc-config.generated.d.ts +3 -3
- package/lib/aws/compute/function-vpc-config.generated.js +1 -1
- package/lib/aws/compute/function.d.ts +1 -1
- package/lib/aws/compute/function.js +5 -5
- package/lib/aws/compute/index-alpha.d.ts +5 -0
- package/lib/aws/compute/index-alpha.js +22 -0
- package/lib/aws/compute/index.d.ts +60 -0
- package/lib/aws/compute/index.js +70 -2
- package/lib/aws/compute/instance-types.d.ts +1354 -0
- package/lib/aws/compute/instance-types.js +1683 -0
- package/lib/aws/compute/instance.d.ts +436 -0
- package/lib/aws/compute/instance.js +262 -0
- package/lib/aws/compute/ip-addresses.d.ts +249 -0
- package/lib/aws/compute/ip-addresses.js +248 -0
- package/lib/aws/compute/ipam.d.ts +309 -0
- package/lib/aws/compute/ipam.js +306 -0
- package/lib/aws/compute/key-pair.d.ts +178 -0
- package/lib/aws/compute/key-pair.js +194 -0
- package/lib/aws/compute/lambda-augmentations.generated.d.ts +65 -0
- package/lib/aws/compute/lambda-augmentations.generated.js +41 -0
- package/lib/aws/compute/lambda-canned-metrics.generated.d.ts +316 -0
- package/lib/aws/compute/lambda-canned-metrics.generated.js +119 -0
- package/lib/aws/compute/launch-template.d.ts +540 -0
- package/lib/aws/compute/launch-template.js +468 -0
- package/lib/aws/compute/lb-shared/access-logs-accounts.d.ts +7 -0
- package/lib/aws/compute/lb-shared/access-logs-accounts.js +46 -0
- package/lib/aws/compute/lb-shared/base-listener.d.ts +113 -0
- package/lib/aws/compute/lb-shared/base-listener.js +181 -0
- package/lib/aws/compute/lb-shared/base-load-balancer.d.ts +212 -0
- package/lib/aws/compute/lb-shared/base-load-balancer.js +290 -0
- package/lib/aws/compute/lb-shared/base-target-group.d.ts +382 -0
- package/lib/aws/compute/lb-shared/base-target-group.js +364 -0
- package/lib/aws/compute/lb-shared/enums.d.ts +282 -0
- package/lib/aws/compute/lb-shared/enums.js +301 -0
- package/lib/aws/compute/lb-shared/grid-lookup-types.d.ts +42 -0
- package/lib/aws/compute/lb-shared/grid-lookup-types.js +53 -0
- package/lib/aws/compute/lb-shared/imported.d.ts +24 -0
- package/lib/aws/compute/lb-shared/imported.js +27 -0
- package/lib/aws/compute/lb-shared/lb-listener-config.generated.d.ts +194 -0
- package/lib/aws/compute/lb-shared/lb-listener-config.generated.js +3 -0
- package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.d.ts +56 -0
- package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.js +3 -0
- package/lib/aws/compute/lb-shared/listener-action.d.ts +14 -0
- package/lib/aws/compute/lb-shared/listener-action.js +4 -0
- package/lib/aws/compute/lb-shared/listener-certificate.d.ts +28 -0
- package/lib/aws/compute/lb-shared/listener-certificate.js +29 -0
- package/lib/aws/compute/lb-shared/load-balancer-targets.d.ts +93 -0
- package/lib/aws/compute/lb-shared/load-balancer-targets.js +127 -0
- package/lib/aws/compute/lb-shared/util.d.ts +113 -0
- package/lib/aws/compute/lb-shared/util.js +264 -0
- package/lib/aws/compute/lb-targets/alb-target.d.ts +67 -0
- package/lib/aws/compute/lb-targets/alb-target.js +100 -0
- package/lib/aws/compute/lb-targets/index.d.ts +4 -0
- package/lib/aws/compute/lb-targets/index.js +22 -0
- package/lib/aws/compute/lb-targets/instance-target.d.ts +42 -0
- package/lib/aws/compute/lb-targets/instance-target.js +67 -0
- package/lib/aws/compute/lb-targets/ip-target.d.ts +55 -0
- package/lib/aws/compute/lb-targets/ip-target.js +79 -0
- package/lib/aws/compute/lb-targets/lambda-target.d.ts +25 -0
- package/lib/aws/compute/lb-targets/lambda-target.js +50 -0
- package/lib/aws/compute/load-balancer.d.ts +336 -0
- package/lib/aws/compute/load-balancer.js +287 -0
- package/lib/aws/compute/machine-image/amazon-linux-2022.d.ts +63 -0
- package/lib/aws/compute/machine-image/amazon-linux-2022.js +84 -0
- package/lib/aws/compute/machine-image/amazon-linux-2023.d.ts +63 -0
- package/lib/aws/compute/machine-image/amazon-linux-2023.js +84 -0
- package/lib/aws/compute/machine-image/amazon-linux2.d.ts +76 -0
- package/lib/aws/compute/machine-image/amazon-linux2.js +87 -0
- package/lib/aws/compute/machine-image/common.d.ts +181 -0
- package/lib/aws/compute/machine-image/common.js +122 -0
- package/lib/aws/compute/machine-image/index.d.ts +5 -0
- package/lib/aws/compute/machine-image/index.js +22 -0
- package/lib/aws/compute/machine-image/machine-image.d.ts +463 -0
- package/lib/aws/compute/machine-image/machine-image.js +566 -0
- package/lib/aws/compute/machine-image/utils.d.ts +2 -0
- package/lib/aws/compute/machine-image/utils.js +17 -0
- package/lib/aws/compute/nat.d.ts +325 -0
- package/lib/aws/compute/nat.js +455 -0
- package/lib/aws/compute/network-acl-types.d.ts +152 -0
- package/lib/aws/compute/network-acl-types.js +156 -0
- package/lib/aws/compute/network-acl.d.ts +285 -0
- package/lib/aws/compute/network-acl.js +207 -0
- package/lib/aws/compute/network-util.d.ts +116 -0
- package/lib/aws/compute/network-util.js +241 -0
- package/lib/aws/compute/nlb/network-listener-action.d.ts +92 -0
- package/lib/aws/compute/nlb/network-listener-action.js +146 -0
- package/lib/aws/compute/nlb/network-listener-certificate.d.ts +24 -0
- package/lib/aws/compute/nlb/network-listener-certificate.js +25 -0
- package/lib/aws/compute/nlb/network-listener.d.ts +248 -0
- package/lib/aws/compute/nlb/network-listener.js +217 -0
- package/lib/aws/compute/nlb/network-load-balancer.d.ts +315 -0
- package/lib/aws/compute/nlb/network-load-balancer.js +360 -0
- package/lib/aws/compute/nlb/network-target-group.d.ts +153 -0
- package/lib/aws/compute/nlb/network-target-group.js +223 -0
- package/lib/aws/compute/peer.d.ts +64 -0
- package/lib/aws/compute/peer.js +235 -0
- package/lib/aws/compute/placement-group.d.ts +161 -0
- package/lib/aws/compute/placement-group.js +133 -0
- package/lib/aws/compute/port.d.ts +287 -0
- package/lib/aws/compute/port.js +390 -0
- package/lib/aws/compute/prefix-list.d.ts +131 -0
- package/lib/aws/compute/prefix-list.js +114 -0
- package/lib/aws/compute/private/context-stub.d.ts +7 -0
- package/lib/aws/compute/private/context-stub.js +43 -0
- package/lib/aws/compute/private/ebs-util.d.ts +14 -0
- package/lib/aws/compute/private/ebs-util.js +145 -0
- package/lib/aws/compute/private/intrinstics.js +2 -1
- package/lib/aws/compute/private/json-path.js +8 -8
- package/lib/aws/compute/private/util.js +2 -3
- package/lib/aws/compute/route.d.ts +547 -0
- package/lib/aws/compute/route.js +469 -0
- package/lib/aws/compute/security-group.d.ts +414 -0
- package/lib/aws/compute/security-group.js +538 -0
- package/lib/aws/compute/state-graph.js +1 -1
- package/lib/aws/compute/state-machine-fragment.js +1 -1
- package/lib/aws/compute/state-machine.d.ts +2 -2
- package/lib/aws/compute/state-machine.js +14 -12
- package/lib/aws/compute/states/choice.js +1 -1
- package/lib/aws/compute/states/custom-state.js +1 -1
- package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
- package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
- package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
- package/lib/aws/compute/states/distributed-map.js +1 -1
- package/lib/aws/compute/states/fail.js +1 -1
- package/lib/aws/compute/states/map-base.js +1 -1
- package/lib/aws/compute/states/map.js +1 -1
- package/lib/aws/compute/states/parallel.js +1 -1
- package/lib/aws/compute/states/pass.js +2 -2
- package/lib/aws/compute/states/state.js +5 -5
- package/lib/aws/compute/states/succeed.js +1 -1
- package/lib/aws/compute/states/task-base.js +2 -2
- package/lib/aws/compute/states/task.js +1 -1
- package/lib/aws/compute/states/wait.js +2 -2
- package/lib/aws/compute/stepfunctions-canned-metrics.generated.d.ts +83 -0
- package/lib/aws/compute/stepfunctions-canned-metrics.generated.js +127 -0
- package/lib/aws/compute/subnet-v2.d.ts +213 -0
- package/lib/aws/compute/subnet-v2.js +405 -0
- package/lib/aws/compute/subnet.d.ts +37 -0
- package/lib/aws/compute/subnet.js +181 -0
- package/lib/aws/compute/task-credentials.js +1 -1
- package/lib/aws/compute/task-input.js +1 -1
- package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
- package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
- package/lib/aws/compute/tasks/http/invoke.js +1 -1
- package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
- package/lib/aws/compute/tasks/private/task-utils.js +3 -4
- package/lib/aws/compute/tasks/resource-arn-suffix.js +2 -3
- package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
- package/lib/aws/compute/types.js +2 -2
- package/lib/aws/compute/user-data.d.ts +270 -0
- package/lib/aws/compute/user-data.js +487 -0
- package/lib/aws/compute/util.d.ts +1 -1
- package/lib/aws/compute/util.js +4 -5
- package/lib/aws/compute/volume.d.ts +480 -0
- package/lib/aws/compute/volume.js +426 -0
- package/lib/aws/compute/vpc-endpoint-service.d.ts +149 -0
- package/lib/aws/compute/vpc-endpoint-service.js +90 -0
- package/lib/aws/compute/vpc-endpoint.d.ts +742 -0
- package/lib/aws/compute/vpc-endpoint.js +811 -0
- package/lib/aws/compute/vpc-flow-logs.d.ts +551 -0
- package/lib/aws/compute/vpc-flow-logs.js +693 -0
- package/lib/aws/compute/vpc-lookup.d.ts +73 -0
- package/lib/aws/compute/vpc-lookup.js +3 -0
- package/lib/aws/compute/vpc-v2-base.d.ts +353 -0
- package/lib/aws/compute/vpc-v2-base.js +493 -0
- package/lib/aws/compute/vpc-v2.d.ts +385 -0
- package/lib/aws/compute/vpc-v2.js +408 -0
- package/lib/aws/compute/vpc.d.ts +1448 -0
- package/lib/aws/compute/vpc.js +1495 -0
- package/lib/aws/compute/vpn.d.ts +443 -0
- package/lib/aws/compute/vpn.js +397 -0
- package/lib/aws/compute/windows-versions.d.ts +418 -0
- package/lib/aws/compute/windows-versions.js +426 -0
- package/lib/aws/edge/certificate-base.d.ts +20 -0
- package/lib/aws/edge/certificate-base.js +28 -0
- package/lib/aws/edge/certificate.d.ts +23 -2
- package/lib/aws/edge/certificate.js +54 -4
- package/lib/aws/edge/distribution.js +3 -3
- package/lib/aws/edge/dns-alias-record-targets.js +2 -2
- package/lib/aws/edge/dns-record.js +16 -16
- package/lib/aws/edge/dns-zone.d.ts +20 -2
- package/lib/aws/edge/dns-zone.js +25 -10
- package/lib/aws/edge/function.js +2 -2
- package/lib/aws/edge/index.d.ts +1 -0
- package/lib/aws/edge/index.js +2 -1
- package/lib/aws/edge/key-value-store.js +4 -4
- package/lib/aws/edge/origin.js +7 -5
- package/lib/aws/edge/response-headers-policy.js +1 -1
- package/lib/aws/encryption/alias.js +1 -1
- package/lib/aws/encryption/key.js +1 -1
- package/lib/aws/encryption/via-service-principal.js +1 -1
- package/lib/aws/iam/grant.js +2 -2
- package/lib/aws/iam/index.d.ts +1 -0
- package/lib/aws/iam/index.js +2 -1
- package/lib/aws/iam/instance-profile.d.ts +155 -0
- package/lib/aws/iam/instance-profile.js +124 -0
- package/lib/aws/iam/managed-policy.js +1 -1
- package/lib/aws/iam/oidc-provider.js +1 -1
- package/lib/aws/iam/policy-document-config.generated.d.ts +8 -8
- package/lib/aws/iam/policy-document-config.generated.js +1 -1
- package/lib/aws/iam/policy-document.js +1 -1
- package/lib/aws/iam/policy-statement-props.generated.d.ts +8 -8
- package/lib/aws/iam/policy-statement-props.generated.js +1 -1
- package/lib/aws/iam/policy-statement.js +9 -9
- package/lib/aws/iam/policy.js +1 -1
- package/lib/aws/iam/principals.js +26 -26
- package/lib/aws/iam/private/assume-role-policy.js +2 -3
- package/lib/aws/iam/private/comparable-principal.js +2 -3
- package/lib/aws/iam/private/immutable-role.d.ts +2 -1
- package/lib/aws/iam/private/immutable-role.js +3 -3
- package/lib/aws/iam/private/imported-role.d.ts +1 -1
- package/lib/aws/iam/private/imported-role.js +3 -3
- package/lib/aws/iam/private/merge-statements.js +2 -3
- package/lib/aws/iam/private/util.js +4 -4
- package/lib/aws/iam/role.js +1 -1
- package/lib/aws/iam/saml-provider.d.ts +1 -1
- package/lib/aws/iam/saml-provider.js +6 -6
- package/lib/aws/iam/unknown-principal.js +1 -1
- package/lib/aws/iam/utils.js +2 -3
- package/lib/aws/index.d.ts +1 -0
- package/lib/aws/index.js +4 -1
- package/lib/aws/network/simple-ipv4-vpc.js +5 -5
- package/lib/aws/network/subnet-group.js +3 -3
- package/lib/aws/network/subnet.d.ts +1 -1
- package/lib/aws/network/subnet.js +7 -7
- package/lib/aws/notify/archive.js +3 -2
- package/lib/aws/notify/connection.js +5 -4
- package/lib/aws/notify/event-bus.js +5 -4
- package/lib/aws/notify/event-pattern.js +3 -3
- package/lib/aws/notify/index.js +3 -1
- package/lib/aws/notify/input.js +4 -3
- package/lib/aws/notify/kinesis-stream.js +3 -2
- package/lib/aws/notify/on-event-options.js +2 -1
- package/lib/aws/notify/queue-config.generated.d.ts +18 -11
- package/lib/aws/notify/queue-config.generated.js +1 -1
- package/lib/aws/notify/queue-policy.js +1 -1
- package/lib/aws/notify/queue.js +1 -1
- package/lib/aws/notify/resource-policy.js +1 -1
- package/lib/aws/notify/rule.js +3 -2
- package/lib/aws/notify/schedule.js +2 -2
- package/lib/aws/notify/sqs-augmentations.generated.d.ts +125 -0
- package/lib/aws/notify/sqs-augmentations.generated.js +74 -0
- package/lib/aws/notify/target.js +2 -1
- package/lib/aws/notify/targets/event-bus.js +1 -1
- package/lib/aws/notify/targets/function.js +1 -1
- package/lib/aws/notify/targets/log-group.js +2 -2
- package/lib/aws/notify/targets/sqs.js +1 -1
- package/lib/aws/notify/targets/state-machine.js +1 -1
- package/lib/aws/notify/targets/util.d.ts +1 -1
- package/lib/aws/notify/targets/util.js +10 -11
- package/lib/aws/notify/util.js +4 -4
- package/lib/aws/provider-config.generated.d.ts +33 -33
- package/lib/aws/provider-config.generated.js +1 -1
- package/lib/aws/storage/bucket-notifications.js +1 -1
- package/lib/aws/storage/bucket-policy.js +1 -1
- package/lib/aws/storage/bucket-source.js +1 -1
- package/lib/aws/storage/bucket.d.ts +298 -65
- package/lib/aws/storage/bucket.js +548 -225
- package/lib/aws/storage/cors-config.generated.d.ts +3 -3
- package/lib/aws/storage/cors-config.generated.js +1 -1
- package/lib/aws/storage/cors-rule-config.generated.d.ts +5 -5
- package/lib/aws/storage/cors-rule-config.generated.js +1 -1
- package/lib/aws/storage/index.d.ts +1 -0
- package/lib/aws/storage/index.js +2 -1
- package/lib/aws/storage/lifecycle-config.generated.d.ts +11 -11
- package/lib/aws/storage/lifecycle-config.generated.js +1 -1
- package/lib/aws/storage/notification-targets/function.js +6 -6
- package/lib/aws/storage/notification-targets/queue.js +1 -1
- package/lib/aws/storage/origin-access-identity.d.ts +1 -1
- package/lib/aws/storage/origin-access-identity.js +5 -4
- package/lib/aws/storage/parameter-util.d.ts +12 -0
- package/lib/aws/storage/parameter-util.js +65 -0
- package/lib/aws/storage/parameter.d.ts +526 -0
- package/lib/aws/storage/parameter.js +606 -0
- package/lib/aws/storage/s3-canned-metrics.generated.d.ts +22 -0
- package/lib/aws/storage/s3-canned-metrics.generated.js +23 -0
- package/lib/aws/storage/util.d.ts +25 -3
- package/lib/aws/storage/util.js +84 -17
- package/lib/aws/storage/website-config.generated.d.ts +5 -5
- package/lib/aws/storage/website-config.generated.js +1 -1
- package/lib/aws/util.js +2 -3
- package/lib/construct-base.d.ts +10 -1
- package/lib/construct-base.js +9 -6
- package/lib/duration.js +1 -1
- package/lib/expiration.d.ts +48 -0
- package/lib/expiration.js +68 -0
- package/lib/helpers-internal/index.d.ts +1 -0
- package/lib/helpers-internal/index.js +7 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/private/md5.d.ts +4 -0
- package/lib/private/md5.js +14 -0
- package/lib/private/unique-resource-name.js +3 -4
- package/lib/size.js +2 -2
- package/lib/stack-base.d.ts +4 -23
- package/lib/stack-base.js +9 -30
- package/lib/terra-func.d.ts +103 -0
- package/lib/terra-func.js +170 -0
- package/lib/token.js +5 -5
- package/package.json +15 -8
- package/bun.lockb +0 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a, _b;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.IpTarget = exports.InstanceTarget = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const enums_1 = require("./enums");
|
|
7
|
+
/**
|
|
8
|
+
* An EC2 instance that is the target for load balancing
|
|
9
|
+
*
|
|
10
|
+
* If you register a target of this type, you are responsible for making
|
|
11
|
+
* sure the load balancer's security group can connect to the instance.
|
|
12
|
+
*
|
|
13
|
+
* @deprecated Use IpTarget from the compute/lb-targets instead.
|
|
14
|
+
*/
|
|
15
|
+
class InstanceTarget {
|
|
16
|
+
/**
|
|
17
|
+
* Create a new Instance target
|
|
18
|
+
*
|
|
19
|
+
* @param instanceId Instance ID of the instance to register to
|
|
20
|
+
* @param port Override the default port for the target group
|
|
21
|
+
*/
|
|
22
|
+
constructor(instanceId, port) {
|
|
23
|
+
this.instanceId = instanceId;
|
|
24
|
+
this.port = port;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Register this instance target with a load balancer
|
|
28
|
+
*
|
|
29
|
+
* Don't call this, it is called automatically when you add the target to a
|
|
30
|
+
* load balancer.
|
|
31
|
+
*/
|
|
32
|
+
attachToApplicationTargetGroup(targetGroup) {
|
|
33
|
+
return this.attach(targetGroup);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Register this instance target with a load balancer
|
|
37
|
+
*
|
|
38
|
+
* Don't call this, it is called automatically when you add the target to a
|
|
39
|
+
* load balancer.
|
|
40
|
+
*/
|
|
41
|
+
attachToNetworkTargetGroup(targetGroup) {
|
|
42
|
+
return this.attach(targetGroup);
|
|
43
|
+
}
|
|
44
|
+
attach(_targetGroup) {
|
|
45
|
+
return {
|
|
46
|
+
targetType: enums_1.TargetType.INSTANCE,
|
|
47
|
+
targetJson: { targetId: this.instanceId, port: this.port },
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.InstanceTarget = InstanceTarget;
|
|
52
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
53
|
+
InstanceTarget[_a] = { fqn: "terraconstructs.aws.compute.InstanceTarget", version: "0.0.12" };
|
|
54
|
+
/**
|
|
55
|
+
* An IP address that is a target for load balancing.
|
|
56
|
+
*
|
|
57
|
+
* Specify IP addresses from the subnets of the virtual private cloud (VPC) for
|
|
58
|
+
* the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and
|
|
59
|
+
* 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify
|
|
60
|
+
* publicly routable IP addresses.
|
|
61
|
+
*
|
|
62
|
+
* If you register a target of this type, you are responsible for making
|
|
63
|
+
* sure the load balancer's security group can send packets to the IP address.
|
|
64
|
+
*
|
|
65
|
+
* @deprecated Use IpTarget from the compute/lb-targets package instead.
|
|
66
|
+
*/
|
|
67
|
+
class IpTarget {
|
|
68
|
+
/**
|
|
69
|
+
* Create a new IPAddress target
|
|
70
|
+
*
|
|
71
|
+
* The availabilityZone parameter determines whether the target receives
|
|
72
|
+
* traffic from the load balancer nodes in the specified Availability Zone
|
|
73
|
+
* or from all enabled Availability Zones for the load balancer.
|
|
74
|
+
*
|
|
75
|
+
* This parameter is not supported if the target type of the target group
|
|
76
|
+
* is instance. If the IP address is in a subnet of the VPC for the target
|
|
77
|
+
* group, the Availability Zone is automatically detected and this
|
|
78
|
+
* parameter is optional. If the IP address is outside the VPC, this
|
|
79
|
+
* parameter is required.
|
|
80
|
+
*
|
|
81
|
+
* With an Application Load Balancer, if the IP address is outside the VPC
|
|
82
|
+
* for the target group, the only supported value is all.
|
|
83
|
+
*
|
|
84
|
+
* Default is automatic.
|
|
85
|
+
*
|
|
86
|
+
* @param ipAddress The IP Address to load balance to
|
|
87
|
+
* @param port Override the group's default port
|
|
88
|
+
* @param availabilityZone Availability zone to send traffic from
|
|
89
|
+
*/
|
|
90
|
+
constructor(ipAddress, port, availabilityZone) {
|
|
91
|
+
this.ipAddress = ipAddress;
|
|
92
|
+
this.port = port;
|
|
93
|
+
this.availabilityZone = availabilityZone;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Register this instance target with a load balancer
|
|
97
|
+
*
|
|
98
|
+
* Don't call this, it is called automatically when you add the target to a
|
|
99
|
+
* load balancer.
|
|
100
|
+
*/
|
|
101
|
+
attachToApplicationTargetGroup(targetGroup) {
|
|
102
|
+
return this.attach(targetGroup);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Register this instance target with a load balancer
|
|
106
|
+
*
|
|
107
|
+
* Don't call this, it is called automatically when you add the target to a
|
|
108
|
+
* load balancer.
|
|
109
|
+
*/
|
|
110
|
+
attachToNetworkTargetGroup(targetGroup) {
|
|
111
|
+
return this.attach(targetGroup);
|
|
112
|
+
}
|
|
113
|
+
attach(_targetGroup) {
|
|
114
|
+
return {
|
|
115
|
+
targetType: enums_1.TargetType.IP,
|
|
116
|
+
targetJson: {
|
|
117
|
+
targetId: this.ipAddress,
|
|
118
|
+
port: this.port,
|
|
119
|
+
availabilityZone: this.availabilityZone,
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
exports.IpTarget = IpTarget;
|
|
125
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
126
|
+
IpTarget[_b] = { fqn: "terraconstructs.aws.compute.IpTarget", version: "0.0.12" };
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1iYWxhbmNlci10YXJnZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2xiLXNoYXJlZC9sb2FkLWJhbGFuY2VyLXRhcmdldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSxtQ0FBcUM7QUFVckM7Ozs7Ozs7R0FPRztBQUNILE1BQWEsY0FBYztJQUd6Qjs7Ozs7T0FLRztJQUNILFlBQ21CLFVBQWtCLEVBQ2xCLElBQWE7UUFEYixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLFNBQUksR0FBSixJQUFJLENBQVM7SUFDN0IsQ0FBQztJQUVKOzs7OztPQUtHO0lBQ0ksOEJBQThCLENBQ25DLFdBQW9DO1FBRXBDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSwwQkFBMEIsQ0FDL0IsV0FBZ0M7UUFFaEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxNQUFNLENBQUMsWUFBMEI7UUFDdkMsT0FBTztZQUNMLFVBQVUsRUFBRSxrQkFBVSxDQUFDLFFBQVE7WUFDL0IsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7U0FDM0QsQ0FBQztJQUNKLENBQUM7O0FBM0NILHdDQTRDQzs7O0FBRUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBYSxRQUFRO0lBR25COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FxQkc7SUFDSCxZQUNtQixTQUFpQixFQUNqQixJQUFhLEVBQ2IsZ0JBQXlCO1FBRnpCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNiLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBUztJQUN6QyxDQUFDO0lBRUo7Ozs7O09BS0c7SUFDSSw4QkFBOEIsQ0FDbkMsV0FBb0M7UUFFcEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLDBCQUEwQixDQUMvQixXQUFnQztRQUVoQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLE1BQU0sQ0FBQyxZQUEwQjtRQUN2QyxPQUFPO1lBQ0wsVUFBVSxFQUFFLGtCQUFVLENBQUMsRUFBRTtZQUN6QixVQUFVLEVBQUU7Z0JBQ1YsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjthQUN4QztTQUNGLENBQUM7SUFDSixDQUFDOztBQWhFSCw0QkFpRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNzUuMS9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi9saWIvc2hhcmVkL2xvYWQtYmFsYW5jZXItdGFyZ2V0cy50c1xuXG5pbXBvcnQgeyBJVGFyZ2V0R3JvdXAsIExvYWRCYWxhbmNlclRhcmdldFByb3BzIH0gZnJvbSBcIi4vYmFzZS10YXJnZXQtZ3JvdXBcIjtcbmltcG9ydCB7IFRhcmdldFR5cGUgfSBmcm9tIFwiLi9lbnVtc1wiO1xuaW1wb3J0IHtcbiAgSUFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyVGFyZ2V0LFxuICBJQXBwbGljYXRpb25UYXJnZXRHcm91cCxcbn0gZnJvbSBcIi4uL2FsYi9hcHBsaWNhdGlvbi10YXJnZXQtZ3JvdXBcIjtcbmltcG9ydCB7XG4gIElOZXR3b3JrTG9hZEJhbGFuY2VyVGFyZ2V0LFxuICBJTmV0d29ya1RhcmdldEdyb3VwLFxufSBmcm9tIFwiLi4vbmxiL25ldHdvcmstdGFyZ2V0LWdyb3VwXCI7XG5cbi8qKlxuICogQW4gRUMyIGluc3RhbmNlIHRoYXQgaXMgdGhlIHRhcmdldCBmb3IgbG9hZCBiYWxhbmNpbmdcbiAqXG4gKiBJZiB5b3UgcmVnaXN0ZXIgYSB0YXJnZXQgb2YgdGhpcyB0eXBlLCB5b3UgYXJlIHJlc3BvbnNpYmxlIGZvciBtYWtpbmdcbiAqIHN1cmUgdGhlIGxvYWQgYmFsYW5jZXIncyBzZWN1cml0eSBncm91cCBjYW4gY29ubmVjdCB0byB0aGUgaW5zdGFuY2UuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIElwVGFyZ2V0IGZyb20gdGhlIGNvbXB1dGUvbGItdGFyZ2V0cyBpbnN0ZWFkLlxuICovXG5leHBvcnQgY2xhc3MgSW5zdGFuY2VUYXJnZXRcbiAgaW1wbGVtZW50cyBJQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJUYXJnZXQsIElOZXR3b3JrTG9hZEJhbGFuY2VyVGFyZ2V0XG57XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgSW5zdGFuY2UgdGFyZ2V0XG4gICAqXG4gICAqIEBwYXJhbSBpbnN0YW5jZUlkIEluc3RhbmNlIElEIG9mIHRoZSBpbnN0YW5jZSB0byByZWdpc3RlciB0b1xuICAgKiBAcGFyYW0gcG9ydCBPdmVycmlkZSB0aGUgZGVmYXVsdCBwb3J0IGZvciB0aGUgdGFyZ2V0IGdyb3VwXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluc3RhbmNlSWQ6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXIsXG4gICkge31cblxuICAvKipcbiAgICogUmVnaXN0ZXIgdGhpcyBpbnN0YW5jZSB0YXJnZXQgd2l0aCBhIGxvYWQgYmFsYW5jZXJcbiAgICpcbiAgICogRG9uJ3QgY2FsbCB0aGlzLCBpdCBpcyBjYWxsZWQgYXV0b21hdGljYWxseSB3aGVuIHlvdSBhZGQgdGhlIHRhcmdldCB0byBhXG4gICAqIGxvYWQgYmFsYW5jZXIuXG4gICAqL1xuICBwdWJsaWMgYXR0YWNoVG9BcHBsaWNhdGlvblRhcmdldEdyb3VwKFxuICAgIHRhcmdldEdyb3VwOiBJQXBwbGljYXRpb25UYXJnZXRHcm91cCxcbiAgKTogTG9hZEJhbGFuY2VyVGFyZ2V0UHJvcHMge1xuICAgIHJldHVybiB0aGlzLmF0dGFjaCh0YXJnZXRHcm91cCk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXIgdGhpcyBpbnN0YW5jZSB0YXJnZXQgd2l0aCBhIGxvYWQgYmFsYW5jZXJcbiAgICpcbiAgICogRG9uJ3QgY2FsbCB0aGlzLCBpdCBpcyBjYWxsZWQgYXV0b21hdGljYWxseSB3aGVuIHlvdSBhZGQgdGhlIHRhcmdldCB0byBhXG4gICAqIGxvYWQgYmFsYW5jZXIuXG4gICAqL1xuICBwdWJsaWMgYXR0YWNoVG9OZXR3b3JrVGFyZ2V0R3JvdXAoXG4gICAgdGFyZ2V0R3JvdXA6IElOZXR3b3JrVGFyZ2V0R3JvdXAsXG4gICk6IExvYWRCYWxhbmNlclRhcmdldFByb3BzIHtcbiAgICByZXR1cm4gdGhpcy5hdHRhY2godGFyZ2V0R3JvdXApO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2goX3RhcmdldEdyb3VwOiBJVGFyZ2V0R3JvdXApOiBMb2FkQmFsYW5jZXJUYXJnZXRQcm9wcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRhcmdldFR5cGU6IFRhcmdldFR5cGUuSU5TVEFOQ0UsXG4gICAgICB0YXJnZXRKc29uOiB7IHRhcmdldElkOiB0aGlzLmluc3RhbmNlSWQsIHBvcnQ6IHRoaXMucG9ydCB9LFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBJUCBhZGRyZXNzIHRoYXQgaXMgYSB0YXJnZXQgZm9yIGxvYWQgYmFsYW5jaW5nLlxuICpcbiAqIFNwZWNpZnkgSVAgYWRkcmVzc2VzIGZyb20gdGhlIHN1Ym5ldHMgb2YgdGhlIHZpcnR1YWwgcHJpdmF0ZSBjbG91ZCAoVlBDKSBmb3JcbiAqIHRoZSB0YXJnZXQgZ3JvdXAsIHRoZSBSRkMgMTkxOCByYW5nZSAoMTAuMC4wLjAvOCwgMTcyLjE2LjAuMC8xMiwgYW5kXG4gKiAxOTIuMTY4LjAuMC8xNiksIGFuZCB0aGUgUkZDIDY1OTggcmFuZ2UgKDEwMC42NC4wLjAvMTApLiBZb3UgY2FuJ3Qgc3BlY2lmeVxuICogcHVibGljbHkgcm91dGFibGUgSVAgYWRkcmVzc2VzLlxuICpcbiAqIElmIHlvdSByZWdpc3RlciBhIHRhcmdldCBvZiB0aGlzIHR5cGUsIHlvdSBhcmUgcmVzcG9uc2libGUgZm9yIG1ha2luZ1xuICogc3VyZSB0aGUgbG9hZCBiYWxhbmNlcidzIHNlY3VyaXR5IGdyb3VwIGNhbiBzZW5kIHBhY2tldHMgdG8gdGhlIElQIGFkZHJlc3MuXG4gKlxuICogQGRlcHJlY2F0ZWQgVXNlIElwVGFyZ2V0IGZyb20gdGhlIGNvbXB1dGUvbGItdGFyZ2V0cyBwYWNrYWdlIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBJcFRhcmdldFxuICBpbXBsZW1lbnRzIElBcHBsaWNhdGlvbkxvYWRCYWxhbmNlclRhcmdldCwgSU5ldHdvcmtMb2FkQmFsYW5jZXJUYXJnZXRcbntcbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBJUEFkZHJlc3MgdGFyZ2V0XG4gICAqXG4gICAqIFRoZSBhdmFpbGFiaWxpdHlab25lIHBhcmFtZXRlciBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHRhcmdldCByZWNlaXZlc1xuICAgKiB0cmFmZmljIGZyb20gdGhlIGxvYWQgYmFsYW5jZXIgbm9kZXMgaW4gdGhlIHNwZWNpZmllZCBBdmFpbGFiaWxpdHkgWm9uZVxuICAgKiBvciBmcm9tIGFsbCBlbmFibGVkIEF2YWlsYWJpbGl0eSBab25lcyBmb3IgdGhlIGxvYWQgYmFsYW5jZXIuXG4gICAqXG4gICAqIFRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzdXBwb3J0ZWQgaWYgdGhlIHRhcmdldCB0eXBlIG9mIHRoZSB0YXJnZXQgZ3JvdXBcbiAgICogaXMgaW5zdGFuY2UuIElmIHRoZSBJUCBhZGRyZXNzIGlzIGluIGEgc3VibmV0IG9mIHRoZSBWUEMgZm9yIHRoZSB0YXJnZXRcbiAgICogZ3JvdXAsIHRoZSBBdmFpbGFiaWxpdHkgWm9uZSBpcyBhdXRvbWF0aWNhbGx5IGRldGVjdGVkIGFuZCB0aGlzXG4gICAqIHBhcmFtZXRlciBpcyBvcHRpb25hbC4gSWYgdGhlIElQIGFkZHJlc3MgaXMgb3V0c2lkZSB0aGUgVlBDLCB0aGlzXG4gICAqIHBhcmFtZXRlciBpcyByZXF1aXJlZC5cbiAgICpcbiAgICogV2l0aCBhbiBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyLCBpZiB0aGUgSVAgYWRkcmVzcyBpcyBvdXRzaWRlIHRoZSBWUENcbiAgICogZm9yIHRoZSB0YXJnZXQgZ3JvdXAsIHRoZSBvbmx5IHN1cHBvcnRlZCB2YWx1ZSBpcyBhbGwuXG4gICAqXG4gICAqIERlZmF1bHQgaXMgYXV0b21hdGljLlxuICAgKlxuICAgKiBAcGFyYW0gaXBBZGRyZXNzIFRoZSBJUCBBZGRyZXNzIHRvIGxvYWQgYmFsYW5jZSB0b1xuICAgKiBAcGFyYW0gcG9ydCBPdmVycmlkZSB0aGUgZ3JvdXAncyBkZWZhdWx0IHBvcnRcbiAgICogQHBhcmFtIGF2YWlsYWJpbGl0eVpvbmUgQXZhaWxhYmlsaXR5IHpvbmUgdG8gc2VuZCB0cmFmZmljIGZyb21cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXBBZGRyZXNzOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0PzogbnVtYmVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZT86IHN0cmluZyxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0aGlzIGluc3RhbmNlIHRhcmdldCB3aXRoIGEgbG9hZCBiYWxhbmNlclxuICAgKlxuICAgKiBEb24ndCBjYWxsIHRoaXMsIGl0IGlzIGNhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IGFkZCB0aGUgdGFyZ2V0IHRvIGFcbiAgICogbG9hZCBiYWxhbmNlci5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUb0FwcGxpY2F0aW9uVGFyZ2V0R3JvdXAoXG4gICAgdGFyZ2V0R3JvdXA6IElBcHBsaWNhdGlvblRhcmdldEdyb3VwLFxuICApOiBMb2FkQmFsYW5jZXJUYXJnZXRQcm9wcyB7XG4gICAgcmV0dXJuIHRoaXMuYXR0YWNoKHRhcmdldEdyb3VwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0aGlzIGluc3RhbmNlIHRhcmdldCB3aXRoIGEgbG9hZCBiYWxhbmNlclxuICAgKlxuICAgKiBEb24ndCBjYWxsIHRoaXMsIGl0IGlzIGNhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IGFkZCB0aGUgdGFyZ2V0IHRvIGFcbiAgICogbG9hZCBiYWxhbmNlci5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUb05ldHdvcmtUYXJnZXRHcm91cChcbiAgICB0YXJnZXRHcm91cDogSU5ldHdvcmtUYXJnZXRHcm91cCxcbiAgKTogTG9hZEJhbGFuY2VyVGFyZ2V0UHJvcHMge1xuICAgIHJldHVybiB0aGlzLmF0dGFjaCh0YXJnZXRHcm91cCk7XG4gIH1cblxuICBwcml2YXRlIGF0dGFjaChfdGFyZ2V0R3JvdXA6IElUYXJnZXRHcm91cCk6IExvYWRCYWxhbmNlclRhcmdldFByb3BzIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGFyZ2V0VHlwZTogVGFyZ2V0VHlwZS5JUCxcbiAgICAgIHRhcmdldEpzb246IHtcbiAgICAgICAgdGFyZ2V0SWQ6IHRoaXMuaXBBZGRyZXNzLFxuICAgICAgICBwb3J0OiB0aGlzLnBvcnQsXG4gICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IHRoaXMuYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { ApplicationProtocol, LbProtocol } from "./enums";
|
|
2
|
+
export type Attributes = {
|
|
3
|
+
[key: string]: string | undefined;
|
|
4
|
+
};
|
|
5
|
+
export declare const NO_LOADBALANCER_ARNS = "NO_LOADBALANCER_ARNS";
|
|
6
|
+
/**
|
|
7
|
+
* Render an attribute dict to a list of { key, value } pairs
|
|
8
|
+
*/
|
|
9
|
+
export declare function renderAttributes(attributes: Attributes): any[];
|
|
10
|
+
export declare function lookupStringAttribute(attributes: Attributes, key: string): string | undefined;
|
|
11
|
+
export declare function lookupBoolAttribute(attributes: Attributes, key: string): boolean | undefined;
|
|
12
|
+
export declare function lookupNumberAttribute(attributes: Attributes, key: string): number | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Return the appropriate default port for a given protocol
|
|
15
|
+
*/
|
|
16
|
+
export declare function defaultPortForProtocol(proto: ApplicationProtocol): number;
|
|
17
|
+
/**
|
|
18
|
+
* Return the appropriate default protocol for a given port
|
|
19
|
+
*/
|
|
20
|
+
export declare function defaultProtocolForPort(port: number): ApplicationProtocol;
|
|
21
|
+
/**
|
|
22
|
+
* Given a protocol and a port, try to guess the other one if it's undefined
|
|
23
|
+
*/
|
|
24
|
+
export declare function determineProtocolAndPort(protocol: ApplicationProtocol | undefined, port: number | undefined): [ApplicationProtocol | undefined, number | undefined];
|
|
25
|
+
/**
|
|
26
|
+
* Helper function to default undefined input props
|
|
27
|
+
*/
|
|
28
|
+
export declare function ifUndefined<T>(x: T | undefined, def: T): T;
|
|
29
|
+
/**
|
|
30
|
+
* Helper function for ensuring network listeners and target groups only accept valid
|
|
31
|
+
* protocols.
|
|
32
|
+
*/
|
|
33
|
+
export declare function validateNetworkProtocol(protocol: LbProtocol): void;
|
|
34
|
+
export declare function parseLoadBalancerFullName(arn: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Transforms:
|
|
37
|
+
*
|
|
38
|
+
* arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-target-group/da693d633af407a0
|
|
39
|
+
*
|
|
40
|
+
* Into:
|
|
41
|
+
*
|
|
42
|
+
* targetgroup/my-target-group/da693d633af407a0
|
|
43
|
+
*/
|
|
44
|
+
export declare function parseTargetGroupFullName(arn: string): string;
|
|
45
|
+
export declare class TargetGroupAttribute {
|
|
46
|
+
static deregistrationDelayTimeoutSeconds: string;
|
|
47
|
+
static stickinessEnabled: string;
|
|
48
|
+
static stickinessType: string;
|
|
49
|
+
static loadBalancingCrossZoneEnabled: string;
|
|
50
|
+
static targetGroupHealthDNSFailoverMinimumHealthyTargetsCount: string;
|
|
51
|
+
static targetGroupHealthDNSFailoverMinimumHealthyTargetsPercentage: string;
|
|
52
|
+
static targetGroupHealthUnhealthyStateRoutingMinimumHealthyTargetsCount: string;
|
|
53
|
+
static targetGroupHealthUnhealthyStateRoutingMinimumHealthyTargetsPercentage: string;
|
|
54
|
+
static loadBalancingAlgorithmType: string;
|
|
55
|
+
static loadBalancingAlgorithmAnomalyMitigation: string;
|
|
56
|
+
static slowStartDurationSeconds: string;
|
|
57
|
+
static stickinessAppCookieCookieName: string;
|
|
58
|
+
static stickinessAppCookieDurationSeconds: string;
|
|
59
|
+
static stickinessLBCookieDurationSeconds: string;
|
|
60
|
+
static lambdaMultiValueHeadersEnabled: string;
|
|
61
|
+
static deregistrationDelayConnectionTerminationEnabled: string;
|
|
62
|
+
static preserveClientIPEnabled: string;
|
|
63
|
+
static proxyProtocolV2Enabled: string;
|
|
64
|
+
static targetHealthStateUnhealthyConnectionTerminationEnabled: string;
|
|
65
|
+
static targetHealthStateUnhealthyDrainingIntervalSeconds: string;
|
|
66
|
+
static targetFailoverOnDeregistration: string;
|
|
67
|
+
static targetFailoverOnUnhealthy: string;
|
|
68
|
+
}
|
|
69
|
+
export declare class LoadBalancerAttribute {
|
|
70
|
+
static deletionProtectionEnabled: string;
|
|
71
|
+
static loadBalancingCrossZoneEnabled: string;
|
|
72
|
+
static accessLogsS3Enabled: string;
|
|
73
|
+
static accessLogsS3Bucket: string;
|
|
74
|
+
static accessLogsS3Prefix: string;
|
|
75
|
+
static iPv6DenyAllIGWTraffic: string;
|
|
76
|
+
static idleTimeoutTimeoutSeconds: string;
|
|
77
|
+
static clientKeepAliveSeconds: string;
|
|
78
|
+
static connectionLogsS3Enabled: string;
|
|
79
|
+
static connectionLogsS3Bucket: string;
|
|
80
|
+
static connectionLogsS3Prefix: string;
|
|
81
|
+
static routingHTTPDesyncMitigationMode: string;
|
|
82
|
+
static routingHTTPDropInvalidHeaderFieldsEnabled: string;
|
|
83
|
+
static routingHTTPPreserveHostHeaderEnabled: string;
|
|
84
|
+
static routingHTTPXAmznTLSVersionAndCipherSuiteEnabled: string;
|
|
85
|
+
static routingHTTPXFFClientPortEnabled: string;
|
|
86
|
+
static routingHTTPXFFHeaderProcessingMode: string;
|
|
87
|
+
static routingHTTP2Enabled: string;
|
|
88
|
+
static wAFFailOpenEnabled: string;
|
|
89
|
+
static zonalShiftConfigEnabled: string;
|
|
90
|
+
static dNSRecordClientRoutingPolicy: string;
|
|
91
|
+
}
|
|
92
|
+
export declare class ListenerAttribute {
|
|
93
|
+
static tcpIdleTimeoutSeconds: string;
|
|
94
|
+
static routingHTTPRequestXAmznMtlsClientcertHeaderName: string;
|
|
95
|
+
static routingHTTPRequestXAmznMtlsClientcertIssuerHeaderName: string;
|
|
96
|
+
static routingHTTPRequestXAmznMtlsClientcertLeafHeaderName: string;
|
|
97
|
+
static routingHTTPRequestXAmznMtlsClientcertSerialNumberHeaderName: string;
|
|
98
|
+
static routingHTTPRequestXAmznMtlsClientcertSubjectHeaderName: string;
|
|
99
|
+
static routingHTTPRequestXAmznMtlsClientcertValidityHeaderName: string;
|
|
100
|
+
static routingHTTPRequestXAmznTlsCipherSuiteHeaderName: string;
|
|
101
|
+
static routingHTTPRequestXAmznTlsVersionHeaderName: string;
|
|
102
|
+
static routingHTTPResponseAccessControlAllowCredentialsHeaderValue: string;
|
|
103
|
+
static routingHTTPResponseAccessControlAllowHeadersHeaderValue: string;
|
|
104
|
+
static routingHTTPResponseAccessControlAllowMethodsHeaderValue: string;
|
|
105
|
+
static routingHTTPResponseAccessControlAllowOriginHeaderValue: string;
|
|
106
|
+
static routingHTTPResponseAccessControlExposeHeadersHeaderValue: string;
|
|
107
|
+
static routingHTTPResponseAccessControlMaxAgeHeaderValue: string;
|
|
108
|
+
static routingHTTPResponseContentSecurityPolicyHeaderValue: string;
|
|
109
|
+
static routingHTTPResponseServerEnabled: string;
|
|
110
|
+
static routingHTTPResponseStrictTransportSecurityHeaderValue: string;
|
|
111
|
+
static routingHTTPResponseXContentTypeOptionsHeaderValue: string;
|
|
112
|
+
static routingHTTPResponseXFrameOptionsHeaderValue: string;
|
|
113
|
+
}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// https://github.com/aws/aws-cdk/blob/v2.175.1/packages/aws-cdk-lib/aws-elasticloadbalancingv2/lib/shared/util.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ListenerAttribute = exports.LoadBalancerAttribute = exports.TargetGroupAttribute = exports.NO_LOADBALANCER_ARNS = void 0;
|
|
5
|
+
exports.renderAttributes = renderAttributes;
|
|
6
|
+
exports.lookupStringAttribute = lookupStringAttribute;
|
|
7
|
+
exports.lookupBoolAttribute = lookupBoolAttribute;
|
|
8
|
+
exports.lookupNumberAttribute = lookupNumberAttribute;
|
|
9
|
+
exports.defaultPortForProtocol = defaultPortForProtocol;
|
|
10
|
+
exports.defaultProtocolForPort = defaultProtocolForPort;
|
|
11
|
+
exports.determineProtocolAndPort = determineProtocolAndPort;
|
|
12
|
+
exports.ifUndefined = ifUndefined;
|
|
13
|
+
exports.validateNetworkProtocol = validateNetworkProtocol;
|
|
14
|
+
exports.parseLoadBalancerFullName = parseLoadBalancerFullName;
|
|
15
|
+
exports.parseTargetGroupFullName = parseTargetGroupFullName;
|
|
16
|
+
const cdktf_1 = require("cdktf");
|
|
17
|
+
const enums_1 = require("./enums");
|
|
18
|
+
// import * as cxschema from "../../../cloud-assembly-schema";
|
|
19
|
+
const arn_1 = require("../../arn");
|
|
20
|
+
exports.NO_LOADBALANCER_ARNS = "NO_LOADBALANCER_ARNS";
|
|
21
|
+
/**
|
|
22
|
+
* Render an attribute dict to a list of { key, value } pairs
|
|
23
|
+
*/
|
|
24
|
+
function renderAttributes(attributes) {
|
|
25
|
+
const ret = [];
|
|
26
|
+
for (const [key, value] of Object.entries(attributes)) {
|
|
27
|
+
if (value !== undefined) {
|
|
28
|
+
ret.push({ key, value });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return ret;
|
|
32
|
+
}
|
|
33
|
+
function lookupStringAttribute(attributes, key) {
|
|
34
|
+
return attributes[key];
|
|
35
|
+
}
|
|
36
|
+
function lookupBoolAttribute(attributes, key) {
|
|
37
|
+
return lookupAttribute(attributes, key, parseBool);
|
|
38
|
+
}
|
|
39
|
+
function lookupNumberAttribute(attributes, key) {
|
|
40
|
+
return lookupAttribute(attributes, key, parseNumber);
|
|
41
|
+
}
|
|
42
|
+
function lookupAttribute(attributes, key, conversionFn) {
|
|
43
|
+
return conversionFn(attributes[key]);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Return the appropriate default port for a given protocol
|
|
47
|
+
*/
|
|
48
|
+
function defaultPortForProtocol(proto) {
|
|
49
|
+
switch (proto) {
|
|
50
|
+
case enums_1.ApplicationProtocol.HTTP:
|
|
51
|
+
return 80;
|
|
52
|
+
case enums_1.ApplicationProtocol.HTTPS:
|
|
53
|
+
return 443;
|
|
54
|
+
default:
|
|
55
|
+
throw new Error(`Unrecognized protocol: ${proto}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Return the appropriate default protocol for a given port
|
|
60
|
+
*/
|
|
61
|
+
function defaultProtocolForPort(port) {
|
|
62
|
+
switch (port) {
|
|
63
|
+
case 80:
|
|
64
|
+
case 8000:
|
|
65
|
+
case 8008:
|
|
66
|
+
case 8080:
|
|
67
|
+
return enums_1.ApplicationProtocol.HTTP;
|
|
68
|
+
case 443:
|
|
69
|
+
case 8443:
|
|
70
|
+
return enums_1.ApplicationProtocol.HTTPS;
|
|
71
|
+
default:
|
|
72
|
+
throw new Error(`Don't know default protocol for port: ${port}; please supply a protocol`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Given a protocol and a port, try to guess the other one if it's undefined
|
|
77
|
+
*/
|
|
78
|
+
// eslint-disable-next-line max-len
|
|
79
|
+
function determineProtocolAndPort(protocol, port) {
|
|
80
|
+
if (protocol === undefined && port === undefined) {
|
|
81
|
+
return [undefined, undefined];
|
|
82
|
+
}
|
|
83
|
+
if (protocol === undefined) {
|
|
84
|
+
protocol = defaultProtocolForPort(port);
|
|
85
|
+
}
|
|
86
|
+
if (port === undefined) {
|
|
87
|
+
port = defaultPortForProtocol(protocol);
|
|
88
|
+
}
|
|
89
|
+
return [protocol, port];
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Helper function to default undefined input props
|
|
93
|
+
*/
|
|
94
|
+
function ifUndefined(x, def) {
|
|
95
|
+
return x ?? def;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Helper function for ensuring network listeners and target groups only accept valid
|
|
99
|
+
* protocols.
|
|
100
|
+
*/
|
|
101
|
+
function validateNetworkProtocol(protocol) {
|
|
102
|
+
const NLB_PROTOCOLS = [
|
|
103
|
+
enums_1.LbProtocol.TCP,
|
|
104
|
+
enums_1.LbProtocol.TLS,
|
|
105
|
+
enums_1.LbProtocol.UDP,
|
|
106
|
+
enums_1.LbProtocol.TCP_UDP,
|
|
107
|
+
];
|
|
108
|
+
if (NLB_PROTOCOLS.indexOf(protocol) === -1) {
|
|
109
|
+
throw new Error(`The protocol must be one of ${NLB_PROTOCOLS.join(", ")}. Found ${protocol}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// /**
|
|
113
|
+
// * Helper to map a map of tags to cxschema tag format.
|
|
114
|
+
// * @internal
|
|
115
|
+
// */
|
|
116
|
+
// export function mapTagMapToCxschema(
|
|
117
|
+
// tagMap: Record<string, string>,
|
|
118
|
+
// ): cxschema.Tag[] {
|
|
119
|
+
// return Object.entries(tagMap).map(([key, value]) => ({ key, value }));
|
|
120
|
+
// }
|
|
121
|
+
function parseLoadBalancerFullName(arn) {
|
|
122
|
+
if (cdktf_1.Token.isUnresolved(arn)) {
|
|
123
|
+
// Unfortunately it is not possible to use Arn.split() because the ARNs have this shape:
|
|
124
|
+
//
|
|
125
|
+
// arn:...:loadbalancer/net/my-load-balancer/123456
|
|
126
|
+
//
|
|
127
|
+
// And the way that Arn.split() handles this situation is not enough to obtain the full name
|
|
128
|
+
const arnParts = cdktf_1.Fn.split("/", arn);
|
|
129
|
+
return `${cdktf_1.Fn.element(arnParts, 1)}/${cdktf_1.Fn.element(arnParts, 2)}/${cdktf_1.Fn.element(arnParts, 3)}`;
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
const arnComponents = arn_1.Arn.split(arn, arn_1.ArnFormat.SLASH_RESOURCE_NAME);
|
|
133
|
+
const resourceName = arnComponents.resourceName;
|
|
134
|
+
if (!resourceName) {
|
|
135
|
+
throw new Error(`Provided ARN does not belong to a load balancer: ${arn}`);
|
|
136
|
+
}
|
|
137
|
+
return resourceName;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Transforms:
|
|
142
|
+
*
|
|
143
|
+
* arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-target-group/da693d633af407a0
|
|
144
|
+
*
|
|
145
|
+
* Into:
|
|
146
|
+
*
|
|
147
|
+
* targetgroup/my-target-group/da693d633af407a0
|
|
148
|
+
*/
|
|
149
|
+
function parseTargetGroupFullName(arn) {
|
|
150
|
+
const arnComponents = arn_1.Arn.split(arn, arn_1.ArnFormat.NO_RESOURCE_NAME);
|
|
151
|
+
const resource = arnComponents.resource;
|
|
152
|
+
if (!resource) {
|
|
153
|
+
throw new Error(`Provided ARN does not belong to a target group: ${arn}`);
|
|
154
|
+
}
|
|
155
|
+
return resource;
|
|
156
|
+
}
|
|
157
|
+
function parseBool(val) {
|
|
158
|
+
if (val === undefined)
|
|
159
|
+
return undefined;
|
|
160
|
+
// TODO: error on invalid values?
|
|
161
|
+
return val === "true";
|
|
162
|
+
}
|
|
163
|
+
function parseNumber(val) {
|
|
164
|
+
if (val === undefined)
|
|
165
|
+
return undefined;
|
|
166
|
+
const num = parseInt(val, 10);
|
|
167
|
+
if (Number.isNaN(num)) {
|
|
168
|
+
throw new Error(`Expected number but got "${val}"`);
|
|
169
|
+
}
|
|
170
|
+
return num;
|
|
171
|
+
}
|
|
172
|
+
// See https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_TargetGroupAttribute.html#API_TargetGroupAttribute_Contents.
|
|
173
|
+
// https://github.com/hashicorp/terraform-provider-aws/v5.88.0/main/internal/service/elbv2/const.go#L118
|
|
174
|
+
class TargetGroupAttribute {
|
|
175
|
+
}
|
|
176
|
+
exports.TargetGroupAttribute = TargetGroupAttribute;
|
|
177
|
+
// The following attributes are supported by all load balancers:
|
|
178
|
+
TargetGroupAttribute.deregistrationDelayTimeoutSeconds = "deregistration_delay.timeout_seconds";
|
|
179
|
+
TargetGroupAttribute.stickinessEnabled = "stickiness.enabled";
|
|
180
|
+
TargetGroupAttribute.stickinessType = "stickiness.type";
|
|
181
|
+
// The following attributes are supported by Application Load Balancers and Network Load Balancers:
|
|
182
|
+
TargetGroupAttribute.loadBalancingCrossZoneEnabled = "load_balancing.cross_zone.enabled";
|
|
183
|
+
TargetGroupAttribute.targetGroupHealthDNSFailoverMinimumHealthyTargetsCount = "target_group_health.dns_failover.minimum_healthy_targets.count";
|
|
184
|
+
TargetGroupAttribute.targetGroupHealthDNSFailoverMinimumHealthyTargetsPercentage = "target_group_health.dns_failover.minimum_healthy_targets.percentage";
|
|
185
|
+
TargetGroupAttribute.targetGroupHealthUnhealthyStateRoutingMinimumHealthyTargetsCount = "target_group_health.unhealthy_state_routing.minimum_healthy_targets.count";
|
|
186
|
+
TargetGroupAttribute.targetGroupHealthUnhealthyStateRoutingMinimumHealthyTargetsPercentage = "target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage";
|
|
187
|
+
// The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address:
|
|
188
|
+
TargetGroupAttribute.loadBalancingAlgorithmType = "load_balancing.algorithm.type";
|
|
189
|
+
TargetGroupAttribute.loadBalancingAlgorithmAnomalyMitigation = "load_balancing.algorithm.anomaly_mitigation";
|
|
190
|
+
TargetGroupAttribute.slowStartDurationSeconds = "slow_start.duration_seconds";
|
|
191
|
+
TargetGroupAttribute.stickinessAppCookieCookieName = "stickiness.app_cookie.cookie_name";
|
|
192
|
+
TargetGroupAttribute.stickinessAppCookieDurationSeconds = "stickiness.app_cookie.duration_seconds";
|
|
193
|
+
TargetGroupAttribute.stickinessLBCookieDurationSeconds = "stickiness.lb_cookie.duration_seconds";
|
|
194
|
+
// The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function:
|
|
195
|
+
TargetGroupAttribute.lambdaMultiValueHeadersEnabled = "lambda.multi_value_headers.enabled";
|
|
196
|
+
// The following attributes are supported only by Network Load Balancers:
|
|
197
|
+
TargetGroupAttribute.deregistrationDelayConnectionTerminationEnabled = "deregistration_delay.connection_termination.enabled";
|
|
198
|
+
TargetGroupAttribute.preserveClientIPEnabled = "preserve_client_ip.enabled";
|
|
199
|
+
TargetGroupAttribute.proxyProtocolV2Enabled = "proxy_protocol_v2.enabled";
|
|
200
|
+
TargetGroupAttribute.targetHealthStateUnhealthyConnectionTerminationEnabled = "target_health_state.unhealthy.connection_termination.enabled";
|
|
201
|
+
TargetGroupAttribute.targetHealthStateUnhealthyDrainingIntervalSeconds = "target_health_state.unhealthy.draining_interval_seconds";
|
|
202
|
+
// The following attributes are supported only by Gateway Load Balancers:
|
|
203
|
+
TargetGroupAttribute.targetFailoverOnDeregistration = "target_failover.on_deregistration";
|
|
204
|
+
TargetGroupAttribute.targetFailoverOnUnhealthy = "target_failover.on_unhealthy";
|
|
205
|
+
// See https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_LoadBalancerAttribute.html#API_LoadBalancerAttribute_Contents.
|
|
206
|
+
// https://github.com/hashicorp/terraform-provider-aws/blob/main/internal/service/elbv2/const.go#L32
|
|
207
|
+
class LoadBalancerAttribute {
|
|
208
|
+
}
|
|
209
|
+
exports.LoadBalancerAttribute = LoadBalancerAttribute;
|
|
210
|
+
// The following attributes are supported by all load balancers:
|
|
211
|
+
LoadBalancerAttribute.deletionProtectionEnabled = "deletion_protection.enabled";
|
|
212
|
+
LoadBalancerAttribute.loadBalancingCrossZoneEnabled = "load_balancing.cross_zone.enabled";
|
|
213
|
+
// The following attributes are supported by both Application Load Balancers and Network Load Balancers:
|
|
214
|
+
LoadBalancerAttribute.accessLogsS3Enabled = "access_logs.s3.enabled";
|
|
215
|
+
LoadBalancerAttribute.accessLogsS3Bucket = "access_logs.s3.bucket";
|
|
216
|
+
LoadBalancerAttribute.accessLogsS3Prefix = "access_logs.s3.prefix";
|
|
217
|
+
LoadBalancerAttribute.iPv6DenyAllIGWTraffic = "ipv6.deny_all_igw_traffic";
|
|
218
|
+
// The following attributes are supported by only Application Load Balancers:
|
|
219
|
+
LoadBalancerAttribute.idleTimeoutTimeoutSeconds = "idle_timeout.timeout_seconds";
|
|
220
|
+
LoadBalancerAttribute.clientKeepAliveSeconds = "client_keep_alive.seconds";
|
|
221
|
+
LoadBalancerAttribute.connectionLogsS3Enabled = "connection_logs.s3.enabled";
|
|
222
|
+
LoadBalancerAttribute.connectionLogsS3Bucket = "connection_logs.s3.bucket";
|
|
223
|
+
LoadBalancerAttribute.connectionLogsS3Prefix = "connection_logs.s3.prefix";
|
|
224
|
+
LoadBalancerAttribute.routingHTTPDesyncMitigationMode = "routing.http.desync_mitigation_mode";
|
|
225
|
+
LoadBalancerAttribute.routingHTTPDropInvalidHeaderFieldsEnabled = "routing.http.drop_invalid_header_fields.enabled";
|
|
226
|
+
LoadBalancerAttribute.routingHTTPPreserveHostHeaderEnabled = "routing.http.preserve_host_header.enabled";
|
|
227
|
+
LoadBalancerAttribute.routingHTTPXAmznTLSVersionAndCipherSuiteEnabled = "routing.http.x_amzn_tls_version_and_cipher_suite.enabled";
|
|
228
|
+
LoadBalancerAttribute.routingHTTPXFFClientPortEnabled = "routing.http.xff_client_port.enabled";
|
|
229
|
+
LoadBalancerAttribute.routingHTTPXFFHeaderProcessingMode = "routing.http.xff_header_processing.mode";
|
|
230
|
+
LoadBalancerAttribute.routingHTTP2Enabled = "routing.http2.enabled";
|
|
231
|
+
LoadBalancerAttribute.wAFFailOpenEnabled = "waf.fail_open.enabled";
|
|
232
|
+
LoadBalancerAttribute.zonalShiftConfigEnabled = "zonal_shift.config.enabled";
|
|
233
|
+
// The following attributes are supported by only Network Load Balancers:
|
|
234
|
+
LoadBalancerAttribute.dNSRecordClientRoutingPolicy = "dns_record.client_routing_policy";
|
|
235
|
+
// https://github.com/hashicorp/terraform-provider-aws/blob/v5.88.0/internal/service/elbv2/listener.go#L880
|
|
236
|
+
// see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-listenerattribute.html
|
|
237
|
+
class ListenerAttribute {
|
|
238
|
+
}
|
|
239
|
+
exports.ListenerAttribute = ListenerAttribute;
|
|
240
|
+
// Attribute only supported on TCP and GENEVE listeners.
|
|
241
|
+
ListenerAttribute.tcpIdleTimeoutSeconds = "tcp.idle_timeout.seconds";
|
|
242
|
+
// Attributes only supported on HTTPS listeners.
|
|
243
|
+
ListenerAttribute.routingHTTPRequestXAmznMtlsClientcertHeaderName = "routing.http.request.x_amzn_mtls_clientcert.header_name";
|
|
244
|
+
ListenerAttribute.routingHTTPRequestXAmznMtlsClientcertIssuerHeaderName = "routing.http.request.x_amzn_mtls_clientcert_issuer.header_name";
|
|
245
|
+
ListenerAttribute.routingHTTPRequestXAmznMtlsClientcertLeafHeaderName = "routing.http.request.x_amzn_mtls_clientcert_leaf.header_name";
|
|
246
|
+
ListenerAttribute.routingHTTPRequestXAmznMtlsClientcertSerialNumberHeaderName = "routing.http.request.x_amzn_mtls_clientcert_serial_number.header_name";
|
|
247
|
+
ListenerAttribute.routingHTTPRequestXAmznMtlsClientcertSubjectHeaderName = "routing.http.request.x_amzn_mtls_clientcert_subject.header_name";
|
|
248
|
+
ListenerAttribute.routingHTTPRequestXAmznMtlsClientcertValidityHeaderName = "routing.http.request.x_amzn_mtls_clientcert_validity.header_name";
|
|
249
|
+
ListenerAttribute.routingHTTPRequestXAmznTlsCipherSuiteHeaderName = "routing.http.request.x_amzn_tls_cipher_suite.header_name";
|
|
250
|
+
ListenerAttribute.routingHTTPRequestXAmznTlsVersionHeaderName = "routing.http.request.x_amzn_tls_version.header_name";
|
|
251
|
+
// Attributes only supported on HTTPS and HTTPS listeners.
|
|
252
|
+
ListenerAttribute.routingHTTPResponseAccessControlAllowCredentialsHeaderValue = "routing.http.response.access_control_allow_credentials.header_value";
|
|
253
|
+
ListenerAttribute.routingHTTPResponseAccessControlAllowHeadersHeaderValue = "routing.http.response.access_control_allow_headers.header_value";
|
|
254
|
+
ListenerAttribute.routingHTTPResponseAccessControlAllowMethodsHeaderValue = "routing.http.response.access_control_allow_methods.header_value";
|
|
255
|
+
ListenerAttribute.routingHTTPResponseAccessControlAllowOriginHeaderValue = "routing.http.response.access_control_allow_origin.header_value";
|
|
256
|
+
// Attributes only supported on HTTPS listeners.
|
|
257
|
+
ListenerAttribute.routingHTTPResponseAccessControlExposeHeadersHeaderValue = "routing.http.response.access_control_expose_headers.header_value";
|
|
258
|
+
ListenerAttribute.routingHTTPResponseAccessControlMaxAgeHeaderValue = "routing.http.response.access_control_max_age.header_value";
|
|
259
|
+
ListenerAttribute.routingHTTPResponseContentSecurityPolicyHeaderValue = "routing.http.response.content_security_policy.header_value";
|
|
260
|
+
ListenerAttribute.routingHTTPResponseServerEnabled = "routing.http.response.server.enabled";
|
|
261
|
+
ListenerAttribute.routingHTTPResponseStrictTransportSecurityHeaderValue = "routing.http.response.strict_transport_security.header_value";
|
|
262
|
+
ListenerAttribute.routingHTTPResponseXContentTypeOptionsHeaderValue = "routing.http.response.x_content_type_options.header_value";
|
|
263
|
+
ListenerAttribute.routingHTTPResponseXFrameOptionsHeaderValue = "routing.http.response.x_frame_options.header_value";
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9sYi1zaGFyZWQvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsa0hBQWtIOzs7QUFjbEgsNENBUUM7QUFFRCxzREFLQztBQUVELGtEQUtDO0FBRUQsc0RBS0M7QUFhRCx3REFTQztBQUtELHdEQWlCQztBQU1ELDREQWdCQztBQUtELGtDQUVDO0FBTUQsMERBYUM7QUFZRCw4REFtQkM7QUFXRCw0REFPQztBQXRMRCxpQ0FBa0M7QUFDbEMsbUNBQTBEO0FBQzFELDhEQUE4RDtBQUM5RCxtQ0FBMkM7QUFJOUIsUUFBQSxvQkFBb0IsR0FBRyxzQkFBc0IsQ0FBQztBQUUzRDs7R0FFRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLFVBQXNCO0lBQ3JELE1BQU0sR0FBRyxHQUFVLEVBQUUsQ0FBQztJQUN0QixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQ3RELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELFNBQWdCLHFCQUFxQixDQUNuQyxVQUFzQixFQUN0QixHQUFXO0lBRVgsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDekIsQ0FBQztBQUVELFNBQWdCLG1CQUFtQixDQUNqQyxVQUFzQixFQUN0QixHQUFXO0lBRVgsT0FBTyxlQUFlLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNyRCxDQUFDO0FBRUQsU0FBZ0IscUJBQXFCLENBQ25DLFVBQXNCLEVBQ3RCLEdBQVc7SUFF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OUQseUVBQXlFO0FBQ2xFLGtEQUE0QixHQUFHLGtDQUFrQyxDQUFDO0FBRzNFLDJHQUEyRztBQUMzRyw0SUFBNEk7QUFDNUksTUFBYSxpQkFBaUI7O0FBQTlCLDhDQStDQztBQTlDQyx3REFBd0Q7QUFDakQsdUNBQXFCLEdBQUcsMEJBQTBCLENBQUM7QUFFMUQsZ0RBQWdEO0FBQ3pDLGlFQUErQyxHQUNwRCx5REFBeUQsQ0FBQztBQUNyRCx1RUFBcUQsR0FDMUQsZ0VBQWdFLENBQUM7QUFDNUQscUVBQW1ELEdBQ3hELDhEQUE4RCxDQUFDO0FBQzFELDZFQUEyRCxHQUNoRSx1RUFBdUUsQ0FBQztBQUNuRSx3RUFBc0QsR0FDM0QsaUVBQWlFLENBQUM7QUFDN0QseUVBQXVELEdBQzVELGtFQUFrRSxDQUFDO0FBQzlELGlFQUErQyxHQUNwRCwwREFBMEQsQ0FBQztBQUN0RCw2REFBMkMsR0FDaEQscURBQXFELENBQUM7QUFFeEQsMERBQTBEO0FBQ25ELDZFQUEyRCxHQUNoRSxxRUFBcUUsQ0FBQztBQUNqRSx5RUFBdUQsR0FDNUQsaUVBQWlFLENBQUM7QUFDN0QseUVBQXVELEdBQzVELGlFQUFpRSxDQUFDO0FBQzdELHdFQUFzRCxHQUMzRCxnRUFBZ0UsQ0FBQztBQUVuRSxnREFBZ0Q7QUFDekMsMEVBQXdELEdBQzdELGtFQUFrRSxDQUFDO0FBQzlELG1FQUFpRCxHQUN0RCwyREFBMkQsQ0FBQztBQUN2RCxxRUFBbUQsR0FDeEQsNERBQTRELENBQUM7QUFDeEQsa0RBQWdDLEdBQ3JDLHNDQUFzQyxDQUFDO0FBQ2xDLHVFQUFxRCxHQUMxRCw4REFBOEQsQ0FBQztBQUMxRCxtRUFBaUQsR0FDdEQsMkRBQTJELENBQUM7QUFDdkQsNkRBQTJDLEdBQ2hELG9EQUFvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTc1LjEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjIvbGliL3NoYXJlZC91dGlsLnRzXG5cbmltcG9ydCB7IEZuLCBUb2tlbiB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Qcm90b2NvbCwgTGJQcm90b2NvbCB9IGZyb20gXCIuL2VudW1zXCI7XG4vLyBpbXBvcnQgKiBhcyBjeHNjaGVtYSBmcm9tIFwiLi4vLi4vLi4vY2xvdWQtYXNzZW1ibHktc2NoZW1hXCI7XG5pbXBvcnQgeyBBcm4sIEFybkZvcm1hdCB9IGZyb20gXCIuLi8uLi9hcm5cIjtcblxuZXhwb3J0IHR5cGUgQXR0cmlidXRlcyA9IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkIH07XG5cbmV4cG9ydCBjb25zdCBOT19MT0FEQkFMQU5DRVJfQVJOUyA9IFwiTk9fTE9BREJBTEFOQ0VSX0FSTlNcIjtcblxuLyoqXG4gKiBSZW5kZXIgYW4gYXR0cmlidXRlIGRpY3QgdG8gYSBsaXN0IG9mIHsga2V5LCB2YWx1ZSB9IHBhaXJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJBdHRyaWJ1dGVzKGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZXMpIHtcbiAgY29uc3QgcmV0OiBhbnlbXSA9IFtdO1xuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhhdHRyaWJ1dGVzKSkge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXQucHVzaCh7IGtleSwgdmFsdWUgfSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb29rdXBTdHJpbmdBdHRyaWJ1dGUoXG4gIGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZXMsXG4gIGtleTogc3RyaW5nLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGF0dHJpYnV0ZXNba2V5XTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvb2t1cEJvb2xBdHRyaWJ1dGUoXG4gIGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZXMsXG4gIGtleTogc3RyaW5nLFxuKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBsb29rdXBBdHRyaWJ1dGUoYXR0cmlidXRlcywga2V5LCBwYXJzZUJvb2wpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9va3VwTnVtYmVyQXR0cmlidXRlKFxuICBhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVzLFxuICBrZXk6IHN0cmluZyxcbik6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBsb29rdXBBdHRyaWJ1dGUoYXR0cmlidXRlcywga2V5LCBwYXJzZU51bWJlcik7XG59XG5cbmZ1bmN0aW9uIGxvb2t1cEF0dHJpYnV0ZTxUID0gc3RyaW5nPihcbiAgYXR0cmlidXRlczogQXR0cmlidXRlcyxcbiAga2V5OiBzdHJpbmcsXG4gIGNvbnZlcnNpb25GbjogKHg6IHN0cmluZyB8IHVuZGVmaW5lZCkgPT4gVCB8IHVuZGVmaW5lZCxcbik6IFQgfCB1bmRlZmluZWQge1xuICByZXR1cm4gY29udmVyc2lvbkZuKGF0dHJpYnV0ZXNba2V5XSk7XG59XG5cbi8qKlxuICogUmV0dXJuIHRoZSBhcHByb3ByaWF0ZSBkZWZhdWx0IHBvcnQgZm9yIGEgZ2l2ZW4gcHJvdG9jb2xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRQb3J0Rm9yUHJvdG9jb2wocHJvdG86IEFwcGxpY2F0aW9uUHJvdG9jb2wpOiBudW1iZXIge1xuICBzd2l0Y2ggKHByb3RvKSB7XG4gICAgY2FzZSBBcHBsaWNhdGlvblByb3RvY29sLkhUVFA6XG4gICAgICByZXR1cm4gODA7XG4gICAgY2FzZSBBcHBsaWNhdGlvblByb3RvY29sLkhUVFBTOlxuICAgICAgcmV0dXJuIDQ0MztcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgcHJvdG9jb2w6ICR7cHJvdG99YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm4gdGhlIGFwcHJvcHJpYXRlIGRlZmF1bHQgcHJvdG9jb2wgZm9yIGEgZ2l2ZW4gcG9ydFxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdFByb3RvY29sRm9yUG9ydChwb3J0OiBudW1iZXIpOiBBcHBsaWNhdGlvblByb3RvY29sIHtcbiAgc3dpdGNoIChwb3J0KSB7XG4gICAgY2FzZSA4MDpcbiAgICBjYXNlIDgwMDA6XG4gICAgY2FzZSA4MDA4OlxuICAgIGNhc2UgODA4MDpcbiAgICAgIHJldHVybiBBcHBsaWNhdGlvblByb3RvY29sLkhUVFA7XG5cbiAgICBjYXNlIDQ0MzpcbiAgICBjYXNlIDg0NDM6XG4gICAgICByZXR1cm4gQXBwbGljYXRpb25Qcm90b2NvbC5IVFRQUztcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBEb24ndCBrbm93IGRlZmF1bHQgcHJvdG9jb2wgZm9yIHBvcnQ6ICR7cG9ydH07IHBsZWFzZSBzdXBwbHkgYSBwcm90b2NvbGAsXG4gICAgICApO1xuICB9XG59XG5cbi8qKlxuICogR2l2ZW4gYSBwcm90b2NvbCBhbmQgYSBwb3J0LCB0cnkgdG8gZ3Vlc3MgdGhlIG90aGVyIG9uZSBpZiBpdCdzIHVuZGVmaW5lZFxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuZXhwb3J0IGZ1bmN0aW9uIGRldGVybWluZVByb3RvY29sQW5kUG9ydChcbiAgcHJvdG9jb2w6IEFwcGxpY2F0aW9uUHJvdG9jb2wgfCB1bmRlZmluZWQsXG4gIHBvcnQ6IG51bWJlciB8IHVuZGVmaW5lZCxcbik6IFtBcHBsaWNhdGlvblByb3RvY29sIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdIHtcbiAgaWYgKHByb3RvY29sID09PSB1bmRlZmluZWQgJiYgcG9ydCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIFt1bmRlZmluZWQsIHVuZGVmaW5lZF07XG4gIH1cblxuICBpZiAocHJvdG9jb2wgPT09IHVuZGVmaW5lZCkge1xuICAgIHByb3RvY29sID0gZGVmYXVsdFByb3RvY29sRm9yUG9ydChwb3J0ISk7XG4gIH1cbiAgaWYgKHBvcnQgPT09IHVuZGVmaW5lZCkge1xuICAgIHBvcnQgPSBkZWZhdWx0UG9ydEZvclByb3RvY29sKHByb3RvY29sISk7XG4gIH1cblxuICByZXR1cm4gW3Byb3RvY29sLCBwb3J0XTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gZGVmYXVsdCB1bmRlZmluZWQgaW5wdXQgcHJvcHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlmVW5kZWZpbmVkPFQ+KHg6IFQgfCB1bmRlZmluZWQsIGRlZjogVCkge1xuICByZXR1cm4geCA/PyBkZWY7XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIGZvciBlbnN1cmluZyBuZXR3b3JrIGxpc3RlbmVycyBhbmQgdGFyZ2V0IGdyb3VwcyBvbmx5IGFjY2VwdCB2YWxpZFxuICogcHJvdG9jb2xzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVOZXR3b3JrUHJvdG9jb2wocHJvdG9jb2w6IExiUHJvdG9jb2wpIHtcbiAgY29uc3QgTkxCX1BST1RPQ09MUyA9IFtcbiAgICBMYlByb3RvY29sLlRDUCxcbiAgICBMYlByb3RvY29sLlRMUyxcbiAgICBMYlByb3RvY29sLlVEUCxcbiAgICBMYlByb3RvY29sLlRDUF9VRFAsXG4gIF07XG5cbiAgaWYgKE5MQl9QUk9UT0NPTFMuaW5kZXhPZihwcm90b2NvbCkgPT09IC0xKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFRoZSBwcm90b2NvbCBtdXN0IGJlIG9uZSBvZiAke05MQl9QUk9UT0NPTFMuam9pbihcIiwgXCIpfS4gRm91bmQgJHtwcm90b2NvbH1gLFxuICAgICk7XG4gIH1cbn1cblxuLy8gLyoqXG4vLyAgKiBIZWxwZXIgdG8gbWFwIGEgbWFwIG9mIHRhZ3MgdG8gY3hzY2hlbWEgdGFnIGZvcm1hdC5cbi8vICAqIEBpbnRlcm5hbFxuLy8gICovXG4vLyBleHBvcnQgZnVuY3Rpb24gbWFwVGFnTWFwVG9DeHNjaGVtYShcbi8vICAgdGFnTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuLy8gKTogY3hzY2hlbWEuVGFnW10ge1xuLy8gICByZXR1cm4gT2JqZWN0LmVudHJpZXModGFnTWFwKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4gKHsga2V5LCB2YWx1ZSB9KSk7XG4vLyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUxvYWRCYWxhbmNlckZ1bGxOYW1lKGFybjogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChhcm4pKSB7XG4gICAgLy8gVW5mb3J0dW5hdGVseSBpdCBpcyBub3QgcG9zc2libGUgdG8gdXNlIEFybi5zcGxpdCgpIGJlY2F1c2UgdGhlIEFSTnMgaGF2ZSB0aGlzIHNoYXBlOlxuICAgIC8vXG4gICAgLy8gICBhcm46Li4uOmxvYWRiYWxhbmNlci9uZXQvbXktbG9hZC1iYWxhbmNlci8xMjM0NTZcbiAgICAvL1xuICAgIC8vIEFuZCB0aGUgd2F5IHRoYXQgQXJuLnNwbGl0KCkgaGFuZGxlcyB0aGlzIHNpdHVhdGlvbiBpcyBub3QgZW5vdWdoIHRvIG9idGFpbiB0aGUgZnVsbCBuYW1lXG4gICAgY29uc3QgYXJuUGFydHMgPSBGbi5zcGxpdChcIi9cIiwgYXJuKTtcbiAgICByZXR1cm4gYCR7Rm4uZWxlbWVudChhcm5QYXJ0cywgMSl9LyR7Rm4uZWxlbWVudChhcm5QYXJ0cywgMil9LyR7Rm4uZWxlbWVudChhcm5QYXJ0cywgMyl9YDtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBhcm5Db21wb25lbnRzID0gQXJuLnNwbGl0KGFybiwgQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUpO1xuICAgIGNvbnN0IHJlc291cmNlTmFtZSA9IGFybkNvbXBvbmVudHMucmVzb3VyY2VOYW1lO1xuICAgIGlmICghcmVzb3VyY2VOYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBQcm92aWRlZCBBUk4gZG9lcyBub3QgYmVsb25nIHRvIGEgbG9hZCBiYWxhbmNlcjogJHthcm59YCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiByZXNvdXJjZU5hbWU7XG4gIH1cbn1cblxuLyoqXG4gKiBUcmFuc2Zvcm1zOlxuICpcbiAqICAgYXJuOmF3czplbGFzdGljbG9hZGJhbGFuY2luZzp1cy1lYXN0LTE6MTIzNDU2Nzg5OnRhcmdldGdyb3VwL215LXRhcmdldC1ncm91cC9kYTY5M2Q2MzNhZjQwN2EwXG4gKlxuICogSW50bzpcbiAqXG4gKiAgIHRhcmdldGdyb3VwL215LXRhcmdldC1ncm91cC9kYTY5M2Q2MzNhZjQwN2EwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVRhcmdldEdyb3VwRnVsbE5hbWUoYXJuOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBhcm5Db21wb25lbnRzID0gQXJuLnNwbGl0KGFybiwgQXJuRm9ybWF0Lk5PX1JFU09VUkNFX05BTUUpO1xuICBjb25zdCByZXNvdXJjZSA9IGFybkNvbXBvbmVudHMucmVzb3VyY2U7XG4gIGlmICghcmVzb3VyY2UpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFByb3ZpZGVkIEFSTiBkb2VzIG5vdCBiZWxvbmcgdG8gYSB0YXJnZXQgZ3JvdXA6ICR7YXJufWApO1xuICB9XG4gIHJldHVybiByZXNvdXJjZTtcbn1cblxuZnVuY3Rpb24gcGFyc2VCb29sKHZhbDogc3RyaW5nIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gIGlmICh2YWwgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgLy8gVE9ETzogZXJyb3Igb24gaW52YWxpZCB2YWx1ZXM/XG4gIHJldHVybiB2YWwgPT09IFwidHJ1ZVwiO1xufVxuXG5mdW5jdGlvbiBwYXJzZU51bWJlcih2YWw6IHN0cmluZyB8IHVuZGVmaW5lZCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gIGlmICh2YWwgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3QgbnVtID0gcGFyc2VJbnQodmFsLCAxMCk7XG4gIGlmIChOdW1iZXIuaXNOYU4obnVtKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgbnVtYmVyIGJ1dCBnb3QgXCIke3ZhbH1cImApO1xuICB9XG4gIHJldHVybiBudW07XG59XG5cbi8vIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZWxhc3RpY2xvYWRiYWxhbmNpbmcvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfVGFyZ2V0R3JvdXBBdHRyaWJ1dGUuaHRtbCNBUElfVGFyZ2V0R3JvdXBBdHRyaWJ1dGVfQ29udGVudHMuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vaGFzaGljb3JwL3RlcnJhZm9ybS1wcm92aWRlci1hd3MvdjUuODguMC9tYWluL2ludGVybmFsL3NlcnZpY2UvZWxidjIvY29uc3QuZ28jTDExOFxuZXhwb3J0IGNsYXNzIFRhcmdldEdyb3VwQXR0cmlidXRlIHtcbiAgLy8gVGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzIGFyZSBzdXBwb3J0ZWQgYnkgYWxsIGxvYWQgYmFsYW5jZXJzOlxuICBzdGF0aWMgZGVyZWdpc3RyYXRpb25EZWxheVRpbWVvdXRTZWNvbmRzOiBzdHJpbmcgPVxuICAgIFwiZGVyZWdpc3RyYXRpb25fZGVsYXkudGltZW91dF9zZWNvbmRzXCI7XG4gIHN0YXRpYyBzdGlja2luZXNzRW5hYmxlZCA9IFwic3RpY2tpbmVzcy5lbmFibGVkXCI7XG4gIHN0YXRpYyBzdGlja2luZXNzVHlwZSA9IFwic3RpY2tpbmVzcy50eXBlXCI7XG5cbiAgLy8gVGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzIGFyZSBzdXBwb3J0ZWQgYnkgQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlcnMgYW5kIE5ldHdvcmsgTG9hZCBCYWxhbmNlcnM6XG4gIHN0YXRpYyBsb2FkQmFsYW5jaW5nQ3Jvc3Nab25lRW5hYmxlZCA9IFwibG9hZF9iYWxhbmNpbmcuY3Jvc3Nfem9uZS5lbmFibGVkXCI7XG4gIHN0YXRpYyB0YXJnZXRHcm91cEhlYWx0aEROU0ZhaWxvdmVyTWluaW11bUhlYWx0aHlUYXJnZXRzQ291bnQgPVxuICAgIFwidGFyZ2V0X2dyb3VwX2hlYWx0aC5kbnNfZmFpbG92ZXIubWluaW11bV9oZWFsdGh5X3RhcmdldHMuY291bnRcIjtcbiAgc3RhdGljIHRhcmdldEdyb3VwSGVhbHRoRE5TRmFpbG92ZXJNaW5pbXVtSGVhbHRoeVRhcmdldHNQZXJjZW50YWdlID1cbiAgICBcInRhcmdldF9ncm91cF9oZWFsdGguZG5zX2ZhaWxvdmVyLm1pbmltdW1faGVhbHRoeV90YXJnZXRzLnBlcmNlbnRhZ2VcIjtcbiAgc3RhdGljIHRhcmdldEdyb3VwSGVhbHRoVW5oZWFsdGh5U3RhdGVSb3V0aW5nTWluaW11bUhlYWx0aHlUYXJnZXRzQ291bnQgPVxuICAgIFwidGFyZ2V0X2dyb3VwX2hlYWx0aC51bmhlYWx0aHlfc3RhdGVfcm91dGluZy5taW5pbXVtX2hlYWx0aHlfdGFyZ2V0cy5jb3VudFwiO1xuICBzdGF0aWMgdGFyZ2V0R3JvdXBIZWFsdGhVbmhlYWx0aHlTdGF0ZVJvdXRpbmdNaW5pbXVtSGVhbHRoeVRhcmdldHNQZXJjZW50YWdlID1cbiAgICBcInRhcmdldF9ncm91cF9oZWFsdGgudW5oZWFsdGh5X3N0YXRlX3JvdXRpbmcubWluaW11bV9oZWFsdGh5X3RhcmdldHMucGVyY2VudGFnZVwiO1xuXG4gIC8vIFRoZSBmb2xsb3dpbmcgYXR0cmlidXRlcyBhcmUgc3VwcG9ydGVkIG9ubHkgaWYgdGhlIGxvYWQgYmFsYW5jZXIgaXMgYW4gQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlciBhbmQgdGhlIHRhcmdldCBpcyBhbiBpbnN0YW5jZSBvciBhbiBJUCBhZGRyZXNzOlxuICBzdGF0aWMgbG9hZEJhbGFuY2luZ0FsZ29yaXRobVR5cGUgPSBcImxvYWRfYmFsYW5jaW5nLmFsZ29yaXRobS50eXBlXCI7XG4gIHN0YXRpYyBsb2FkQmFsYW5jaW5nQWxnb3JpdGhtQW5vbWFseU1pdGlnYXRpb24gPVxuICAgIFwibG9hZF9iYWxhbmNpbmcuYWxnb3JpdGhtLmFub21hbHlfbWl0aWdhdGlvblwiO1xuICBzdGF0aWMgc2xvd1N0YXJ0RHVyYXRpb25TZWNvbmRzID0gXCJzbG93X3N0YXJ0LmR1cmF0aW9uX3NlY29uZHNcIjtcbiAgc3RhdGljIHN0aWNraW5lc3NBcHBDb29raWVDb29raWVOYW1lID0gXCJzdGlja2luZXNzLmFwcF9jb29raWUuY29va2llX25hbWVcIjtcbiAgc3RhdGljIHN0aWNraW5lc3NBcHBDb29raWVEdXJhdGlvblNlY29uZHMgPVxuICAgIFwic3RpY2tpbmVzcy5hcHBfY29va2llLmR1cmF0aW9uX3NlY29uZHNcIjtcbiAgc3RhdGljIHN0aWNraW5lc3NMQkNvb2tpZUR1cmF0aW9uU2Vjb25kcyA9XG4gICAgXCJzdGlja2luZXNzLmxiX2Nvb2tpZS5kdXJhdGlvbl9zZWNvbmRzXCI7XG5cbiAgLy8gVGhlIGZvbGxvd2luZyBhdHRyaWJ1dGUgaXMgc3VwcG9ydGVkIG9ubHkgaWYgdGhlIGxvYWQgYmFsYW5jZXIgaXMgYW4gQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlciBhbmQgdGhlIHRhcmdldCBpcyBhIExhbWJkYSBmdW5jdGlvbjpcbiAgc3RhdGljIGxhbWJkYU11bHRpVmFsdWVIZWFkZXJzRW5hYmxlZCA9IFwibGFtYmRhLm11bHRpX3ZhbHVlX2hlYWRlcnMuZW5hYmxlZFwiO1xuXG4gIC8vIFRoZSBmb2xsb3dpbmcgYXR0cmlidXRlcyBhcmUgc3VwcG9ydGVkIG9ubHkgYnkgTmV0d29yayBMb2FkIEJhbGFuY2VyczpcbiAgc3RhdGljIGRlcmVnaXN0cmF0aW9uRGVsYXlDb25uZWN0aW9uVGVybWluYXRpb25FbmFibGVkID1cbiAgICBcImRlcmVnaXN0cmF0aW9uX2RlbGF5LmNvbm5lY3Rpb25fdGVybWluYXRpb24uZW5hYmxlZFwiO1xuICBzdGF0aWMgcHJlc2VydmVDbGllbnRJUEVuYWJsZWQgPSBcInByZXNlcnZlX2NsaWVudF9pcC5lbmFibGVkXCI7XG4gIHN0YXRpYyBwcm94eVByb3RvY29sVjJFbmFibGVkID0gXCJwcm94eV9wcm90b2NvbF92Mi5lbmFibGVkXCI7XG4gIHN0YXRpYyB0YXJnZXRIZWFsdGhTdGF0ZVVuaGVhbHRoeUNvbm5lY3Rpb25UZXJtaW5hdGlvbkVuYWJsZWQgPVxuICAgIFwidGFyZ2V0X2hlYWx0aF9zdGF0ZS51bmhlYWx0aHkuY29ubmVjdGlvbl90ZXJtaW5hdGlvbi5lbmFibGVkXCI7XG4gIHN0YXRpYyB0YXJnZXRIZWFsdGhTdGF0ZVVuaGVhbHRoeURyYWluaW5nSW50ZXJ2YWxTZWNvbmRzID1cbiAgICBcInRhcmdldF9oZWFsdGhfc3RhdGUudW5oZWFsdGh5LmRyYWluaW5nX2ludGVydmFsX3NlY29uZHNcIjtcblxuICAvLyBUaGUgZm9sbG93aW5nIGF0dHJpYnV0ZXMgYXJlIHN1cHBvcnRlZCBvbmx5IGJ5IEdhdGV3YXkgTG9hZCBCYWxhbmNlcnM6XG4gIHN0YXRpYyB0YXJnZXRGYWlsb3Zlck9uRGVyZWdpc3RyYXRpb24gPSBcInRhcmdldF9mYWlsb3Zlci5vbl9kZXJlZ2lzdHJhdGlvblwiO1xuICBzdGF0aWMgdGFyZ2V0RmFpbG92ZXJPblVuaGVhbHRoeSA9IFwidGFyZ2V0X2ZhaWxvdmVyLm9uX3VuaGVhbHRoeVwiO1xufVxuXG4vLyBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VsYXN0aWNsb2FkYmFsYW5jaW5nL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0xvYWRCYWxhbmNlckF0dHJpYnV0ZS5odG1sI0FQSV9Mb2FkQmFsYW5jZXJBdHRyaWJ1dGVfQ29udGVudHMuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vaGFzaGljb3JwL3RlcnJhZm9ybS1wcm92aWRlci1hd3MvYmxvYi9tYWluL2ludGVybmFsL3NlcnZpY2UvZWxidjIvY29uc3QuZ28jTDMyXG5leHBvcnQgY2xhc3MgTG9hZEJhbGFuY2VyQXR0cmlidXRlIHtcbiAgLy8gVGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzIGFyZSBzdXBwb3J0ZWQgYnkgYWxsIGxvYWQgYmFsYW5jZXJzOlxuICBzdGF0aWMgZGVsZXRpb25Qcm90ZWN0aW9uRW5hYmxlZCA9IFwiZGVsZXRpb25fcHJvdGVjdGlvbi5lbmFibGVkXCI7XG4gIHN0YXRpYyBsb2FkQmFsYW5jaW5nQ3Jvc3Nab25lRW5hYmxlZCA9IFwibG9hZF9iYWxhbmNpbmcuY3Jvc3Nfem9uZS5lbmFibGVkXCI7XG5cbiAgLy8gVGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzIGFyZSBzdXBwb3J0ZWQgYnkgYm90aCBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VycyBhbmQgTmV0d29yayBMb2FkIEJhbGFuY2VyczpcbiAgc3RhdGljIGFjY2Vzc0xvZ3NTM0VuYWJsZWQgPSBcImFjY2Vzc19sb2dzLnMzLmVuYWJsZWRcIjtcbiAgc3RhdGljIGFjY2Vzc0xvZ3NTM0J1Y2tldCA9IFwiYWNjZXNzX2xvZ3MuczMuYnVja2V0XCI7XG4gIHN0YXRpYyBhY2Nlc3NMb2dzUzNQcmVmaXggPSBcImFjY2Vzc19sb2dzLnMzLnByZWZpeFwiO1xuICBzdGF0aWMgaVB2NkRlbnlBbGxJR1dUcmFmZmljID0gXCJpcHY2LmRlbnlfYWxsX2lnd190cmFmZmljXCI7XG5cbiAgLy8gVGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzIGFyZSBzdXBwb3J0ZWQgYnkgb25seSBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyczpcbiAgc3RhdGljIGlkbGVUaW1lb3V0VGltZW91dFNlY29uZHMgPSBcImlkbGVfdGltZW91dC50aW1lb3V0X3NlY29uZHNcIjtcbiAgc3RhdGljIGNsaWVudEtlZXBBbGl2ZVNlY29uZHMgPSBcImNsaWVudF9rZWVwX2FsaXZlLnNlY29uZHNcIjtcbiAgc3RhdGljIGNvbm5lY3Rpb25Mb2dzUzNFbmFibGVkID0gXCJjb25uZWN0aW9uX2xvZ3MuczMuZW5hYmxlZFwiO1xuICBzdGF0aWMgY29ubmVjdGlvbkxvZ3NTM0J1Y2tldCA9IFwiY29ubmVjdGlvbl9sb2dzLnMzLmJ1Y2tldFwiO1xuICBzdGF0aWMgY29ubmVjdGlvbkxvZ3NTM1ByZWZpeCA9IFwiY29ubmVjdGlvbl9sb2dzLnMzLnByZWZpeFwiO1xuICBzdGF0aWMgcm91dGluZ0hUVFBEZXN5bmNNaXRpZ2F0aW9uTW9kZSA9XG4gICAgXCJyb3V0aW5nLmh0dHAuZGVzeW5jX21pdGlnYXRpb25fbW9kZVwiO1xuICBzdGF0aWMgcm91dGluZ0hUVFBEcm9wSW52YWxpZEhlYWRlckZpZWxkc0VuYWJsZWQgPVxuICAgIFwicm91dGluZy5odHRwLmRyb3BfaW52YWxpZF9oZWFkZXJfZmllbGRzLmVuYWJsZWRcIjtcbiAgc3RhdGljIHJvdXRpbmdIVFRQUHJlc2VydmVIb3N0SGVhZGVyRW5hYmxlZCA9XG4gICAgXCJyb3V0aW5nLmh0dHAucHJlc2VydmVfaG9zdF9oZWFkZXIuZW5hYmxlZFwiO1xuICBzdGF0aWMgcm91dGluZ0hUVFBYQW16blRMU1ZlcnNpb25BbmRDaXBoZXJTdWl0ZUVuYWJsZWQgPVxuICAgIFwicm91dGluZy5odHRwLnhfYW16bl90bHNfdmVyc2lvbl9hbmRfY2lwaGVyX3N1aXRlLmVuYWJsZWRcIjtcbiAgc3RhdGljIHJvdXRpbmdIVFRQWEZGQ2xpZW50UG9ydEVuYWJsZWQgPVxuICAgIFwicm91dGluZy5odHRwLnhmZl9jbGllbnRfcG9ydC5lbmFibGVkXCI7XG4gIHN0YXRpYyByb3V0aW5nSFRUUFhGRkhlYWRlclByb2Nlc3NpbmdNb2RlID1cbiAgICBcInJvdXRpbmcuaHR0cC54ZmZfaGVhZGVyX3Byb2Nlc3NpbmcubW9kZVwiO1xuICBzdGF0aWMgcm91dGluZ0hUVFAyRW5hYmxlZCA9IFwicm91dGluZy5odHRwMi5lbmFibGVkXCI7XG4gIHN0YXRpYyB3QUZGYWlsT3BlbkVuYWJsZWQgPSBcIndhZi5mYWlsX29wZW4uZW5hYmxlZFwiO1xuICBzdGF0aWMgem9uYWxTaGlmdENvbmZpZ0VuYWJsZWQgPSBcInpvbmFsX3NoaWZ0LmNvbmZpZy5lbmFibGVkXCI7XG5cbiAgLy8gVGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzIGFyZSBzdXBwb3J0ZWQgYnkgb25seSBOZXR3b3JrIExvYWQgQmFsYW5jZXJzOlxuICBzdGF0aWMgZE5TUmVjb3JkQ2xpZW50Um91dGluZ1BvbGljeSA9IFwiZG5zX3JlY29yZC5jbGllbnRfcm91dGluZ19wb2xpY3lcIjtcbn1cblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0tcHJvdmlkZXItYXdzL2Jsb2IvdjUuODguMC9pbnRlcm5hbC9zZXJ2aWNlL2VsYnYyL2xpc3RlbmVyLmdvI0w4ODBcbi8vIHNlZTogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi1saXN0ZW5lci1saXN0ZW5lcmF0dHJpYnV0ZS5odG1sXG5leHBvcnQgY2xhc3MgTGlzdGVuZXJBdHRyaWJ1dGUge1xuICAvLyBBdHRyaWJ1dGUgb25seSBzdXBwb3J0ZWQgb24gVENQIGFuZCBHRU5FVkUgbGlzdGVuZXJzLlxuICBzdGF0aWMgdGNwSWRsZVRpbWVvdXRTZWNvbmRzID0gXCJ0Y3AuaWRsZV90aW1lb3V0LnNlY29uZHNcIjtcblxuICAvLyBBdHRyaWJ1dGVzIG9ubHkgc3VwcG9ydGVkIG9uIEhUVFBTIGxpc3RlbmVycy5cbiAgc3RhdGljIHJvdXRpbmdIVFRQUmVxdWVzdFhBbXpuTXRsc0NsaWVudGNlcnRIZWFkZXJOYW1lID1cbiAgICBcInJvdXRpbmcuaHR0cC5yZXF1ZXN0LnhfYW16bl9tdGxzX2NsaWVudGNlcnQuaGVhZGVyX25hbWVcIjtcbiAgc3RhdGljIHJvdXRpbmdIVFRQUmVxdWVzdFhBbXpuTXRsc0NsaWVudGNlcnRJc3N1ZXJIZWFkZXJOYW1lID1cbiAgICBcInJvdXRpbmcuaHR0cC5yZXF1ZXN0LnhfYW16bl9tdGxzX2NsaWVudGNlcnRfaXNzdWVyLmhlYWRlcl9uYW1lXCI7XG4gIHN0YXRpYyByb3V0aW5nSFRUUFJlcXVlc3RYQW16bk10bHNDbGllbnRjZXJ0TGVhZkhlYWRlck5hbWUgPVxuICAgIFwicm91dGluZy5odHRwLnJlcXVlc3QueF9hbXpuX210bHNfY2xpZW50Y2VydF9sZWFmLmhlYWRlcl9uYW1lXCI7XG4gIHN0YXRpYyByb3V0aW5nSFRUUFJlcXVlc3RYQW16bk10bHNDbGllbnRjZXJ0U2VyaWFsTnVtYmVySGVhZGVyTmFtZSA9XG4gICAgXCJyb3V0aW5nLmh0dHAucmVxdWVzdC54X2Ftem5fbXRsc19jbGllbnRjZXJ0X3NlcmlhbF9udW1iZXIuaGVhZGVyX25hbWVcIjtcbiAgc3RhdGljIHJvdXRpbmdIVFRQUmVxdWVzdFhBbXpuTXRsc0NsaWVudGNlcnRTdWJqZWN0SGVhZGVyTmFtZSA9XG4gICAgXCJyb3V0aW5nLmh0dHAucmVxdWVzdC54X2Ftem5fbXRsc19jbGllbnRjZXJ0X3N1YmplY3QuaGVhZGVyX25hbWVcIjtcbiAgc3RhdGljIHJvdXRpbmdIVFRQUmVxdWVzdFhBbXpuTXRsc0NsaWVudGNlcnRWYWxpZGl0eUhlYWRlck5hbWUgPVxuICAgIFwicm91dGluZy5odHRwLnJlcXVlc3QueF9hbXpuX210bHNfY2xpZW50Y2VydF92YWxpZGl0eS5oZWFkZXJfbmFtZVwiO1xuICBzdGF0aWMgcm91dGluZ0hUVFBSZXF1ZXN0WEFtem5UbHNDaXBoZXJTdWl0ZUhlYWRlck5hbWUgPVxuICAgIFwicm91dGluZy5odHRwLnJlcXVlc3QueF9hbXpuX3Rsc19jaXBoZXJfc3VpdGUuaGVhZGVyX25hbWVcIjtcbiAgc3RhdGljIHJvdXRpbmdIVFRQUmVxdWVzdFhBbXpuVGxzVmVyc2lvbkhlYWRlck5hbWUgPVxuICAgIFwicm91dGluZy5odHRwLnJlcXVlc3QueF9hbXpuX3Rsc192ZXJzaW9uLmhlYWRlcl9uYW1lXCI7XG5cbiAgLy8gQXR0cmlidXRlcyBvbmx5IHN1cHBvcnRlZCBvbiBIVFRQUyBhbmQgSFRUUFMgbGlzdGVuZXJzLlxuICBzdGF0aWMgcm91dGluZ0hUVFBSZXNwb25zZUFjY2Vzc0NvbnRyb2xBbGxvd0NyZWRlbnRpYWxzSGVhZGVyVmFsdWUgPVxuICAgIFwicm91dGluZy5odHRwLnJlc3BvbnNlLmFjY2Vzc19jb250cm9sX2FsbG93X2NyZWRlbnRpYWxzLmhlYWRlcl92YWx1ZVwiO1xuICBzdGF0aWMgcm91dGluZ0hUVFBSZXNwb25zZUFjY2Vzc0NvbnRyb2xBbGxvd0hlYWRlcnNIZWFkZXJWYWx1ZSA9XG4gICAgXCJyb3V0aW5nLmh0dHAucmVzcG9uc2UuYWNjZXNzX2NvbnRyb2xfYWxsb3dfaGVhZGVycy5oZWFkZXJfdmFsdWVcIjtcbiAgc3RhdGljIHJvdXRpbmdIVFRQUmVzcG9uc2VBY2Nlc3NDb250cm9sQWxsb3dNZXRob2RzSGVhZGVyVmFsdWUgPVxuICAgIFwicm91dGluZy5odHRwLnJlc3BvbnNlLmFjY2Vzc19jb250cm9sX2FsbG93X21ldGhvZHMuaGVhZGVyX3ZhbHVlXCI7XG4gIHN0YXRpYyByb3V0aW5nSFRUUFJlc3BvbnNlQWNjZXNzQ29udHJvbEFsbG93T3JpZ2luSGVhZGVyVmFsdWUgPVxuICAgIFwicm91dGluZy5odHRwLnJlc3BvbnNlLmFjY2Vzc19jb250cm9sX2FsbG93X29yaWdpbi5oZWFkZXJfdmFsdWVcIjtcblxuICAvLyBBdHRyaWJ1dGVzIG9ubHkgc3VwcG9ydGVkIG9uIEhUVFBTIGxpc3RlbmVycy5cbiAgc3RhdGljIHJvdXRpbmdIVFRQUmVzcG9uc2VBY2Nlc3NDb250cm9sRXhwb3NlSGVhZGVyc0hlYWRlclZhbHVlID1cbiAgICBcInJvdXRpbmcuaHR0cC5yZXNwb25zZS5hY2Nlc3NfY29udHJvbF9leHBvc2VfaGVhZGVycy5oZWFkZXJfdmFsdWVcIjtcbiAgc3RhdGljIHJvdXRpbmdIVFRQUmVzcG9uc2VBY2Nlc3NDb250cm9sTWF4QWdlSGVhZGVyVmFsdWUgPVxuICAgIFwicm91dGluZy5odHRwLnJlc3BvbnNlLmFjY2Vzc19jb250cm9sX21heF9hZ2UuaGVhZGVyX3ZhbHVlXCI7XG4gIHN0YXRpYyByb3V0aW5nSFRUUFJlc3BvbnNlQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyVmFsdWUgPVxuICAgIFwicm91dGluZy5odHRwLnJlc3BvbnNlLmNvbnRlbnRfc2VjdXJpdHlfcG9saWN5LmhlYWRlcl92YWx1ZVwiO1xuICBzdGF0aWMgcm91dGluZ0hUVFBSZXNwb25zZVNlcnZlckVuYWJsZWQgPVxuICAgIFwicm91dGluZy5odHRwLnJlc3BvbnNlLnNlcnZlci5lbmFibGVkXCI7XG4gIHN0YXRpYyByb3V0aW5nSFRUUFJlc3BvbnNlU3RyaWN0VHJhbnNwb3J0U2VjdXJpdHlIZWFkZXJWYWx1ZSA9XG4gICAgXCJyb3V0aW5nLmh0dHAucmVzcG9uc2Uuc3RyaWN0X3RyYW5zcG9ydF9zZWN1cml0eS5oZWFkZXJfdmFsdWVcIjtcbiAgc3RhdGljIHJvdXRpbmdIVFRQUmVzcG9uc2VYQ29udGVudFR5cGVPcHRpb25zSGVhZGVyVmFsdWUgPVxuICAgIFwicm91dGluZy5odHRwLnJlc3BvbnNlLnhfY29udGVudF90eXBlX29wdGlvbnMuaGVhZGVyX3ZhbHVlXCI7XG4gIHN0YXRpYyByb3V0aW5nSFRUUFJlc3BvbnNlWEZyYW1lT3B0aW9uc0hlYWRlclZhbHVlID1cbiAgICBcInJvdXRpbmcuaHR0cC5yZXNwb25zZS54X2ZyYW1lX29wdGlvbnMuaGVhZGVyX3ZhbHVlXCI7XG59XG4iXX0=
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import * as compute from "../";
|
|
2
|
+
/**
|
|
3
|
+
* A single Application Load Balancer as the target for load balancing.
|
|
4
|
+
*/
|
|
5
|
+
export declare class AlbArnTarget implements compute.INetworkLoadBalancerTarget {
|
|
6
|
+
private readonly albArn;
|
|
7
|
+
private readonly port;
|
|
8
|
+
/**
|
|
9
|
+
* Create a new alb target.
|
|
10
|
+
* Note that the ALB must have a listener on the provided target port.
|
|
11
|
+
*
|
|
12
|
+
* @param albArn The ARN of the application load balancer to load balance to
|
|
13
|
+
* @param port The port on which the target is listening
|
|
14
|
+
*/
|
|
15
|
+
constructor(albArn: string, port: number);
|
|
16
|
+
/**
|
|
17
|
+
* Register this alb target with a load balancer
|
|
18
|
+
*
|
|
19
|
+
* Don't call this, it is called automatically when you add the target to a
|
|
20
|
+
* load balancer.
|
|
21
|
+
*/
|
|
22
|
+
attachToNetworkTargetGroup(targetGroup: compute.INetworkTargetGroup): compute.LoadBalancerTargetProps;
|
|
23
|
+
/**
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
protected _attach(_targetGroup: compute.ITargetGroup): compute.LoadBalancerTargetProps;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* A single Application Load Balancer as the target for load balancing.
|
|
30
|
+
* @deprecated Use `AlbListenerTarget` instead or
|
|
31
|
+
* `AlbArnTarget` for an imported load balancer. This target does not automatically
|
|
32
|
+
* add a dependency between the ALB listener and resulting NLB target group,
|
|
33
|
+
* without which may cause stack deployments to fail if the NLB target group is provisioned
|
|
34
|
+
* before the listener has been fully created.
|
|
35
|
+
*/
|
|
36
|
+
export declare class AlbTarget extends AlbArnTarget {
|
|
37
|
+
/**
|
|
38
|
+
* @param alb The application load balancer to load balance to
|
|
39
|
+
* @param port The port on which the target is listening
|
|
40
|
+
*/
|
|
41
|
+
constructor(alb: compute.IApplicationLoadBalancer, port: number);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* A single Application Load Balancer's listener as the target for load balancing.
|
|
45
|
+
*/
|
|
46
|
+
export declare class AlbListenerTarget extends AlbArnTarget {
|
|
47
|
+
private albListener;
|
|
48
|
+
/**
|
|
49
|
+
* Create a new ALB target.
|
|
50
|
+
* The associated target group will automatically have a dependency added
|
|
51
|
+
* against the ALB's listener.
|
|
52
|
+
*
|
|
53
|
+
* @param albListener The application load balancer listener to target.
|
|
54
|
+
*/
|
|
55
|
+
constructor(albListener: compute.ApplicationListener);
|
|
56
|
+
private attach;
|
|
57
|
+
/**
|
|
58
|
+
* Register this ALB target with a load balancer.
|
|
59
|
+
*
|
|
60
|
+
* Don't call this, it is called automatically when you add the target to a
|
|
61
|
+
* load balancer.
|
|
62
|
+
*
|
|
63
|
+
* This adds dependency on albListener because creation of ALB listener and NLB can vary during runtime.
|
|
64
|
+
* More Details on - https://github.com/aws/aws-cdk/issues/17208
|
|
65
|
+
*/
|
|
66
|
+
attachToNetworkTargetGroup(targetGroup: compute.INetworkTargetGroup): compute.LoadBalancerTargetProps;
|
|
67
|
+
}
|