aws-cdk-lib 2.172.0__py3-none-any.whl → 2.173.1__py3-none-any.whl

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.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (69) hide show
  1. aws_cdk/__init__.py +57 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.172.0.jsii.tgz → aws-cdk-lib@2.173.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +40 -40
  5. aws_cdk/aws_apigateway/__init__.py +111 -64
  6. aws_cdk/aws_applicationautoscaling/__init__.py +141 -66
  7. aws_cdk/aws_appsync/__init__.py +4 -3
  8. aws_cdk/aws_autoscaling/__init__.py +15 -6
  9. aws_cdk/aws_bedrock/__init__.py +32 -44
  10. aws_cdk/aws_chatbot/__init__.py +72 -46
  11. aws_cdk/aws_cleanrooms/__init__.py +4 -6
  12. aws_cdk/aws_cloudfront/__init__.py +4 -2
  13. aws_cdk/aws_cloudtrail/__init__.py +104 -68
  14. aws_cdk/aws_cloudwatch/__init__.py +51 -14
  15. aws_cdk/aws_codebuild/__init__.py +39 -0
  16. aws_cdk/aws_codepipeline/__init__.py +4 -4
  17. aws_cdk/aws_cognito/__init__.py +221 -53
  18. aws_cdk/aws_config/__init__.py +13 -10
  19. aws_cdk/aws_connect/__init__.py +25 -23
  20. aws_cdk/aws_connectcampaignsv2/__init__.py +187 -176
  21. aws_cdk/aws_docdb/__init__.py +128 -0
  22. aws_cdk/aws_dynamodb/__init__.py +256 -0
  23. aws_cdk/aws_ec2/__init__.py +130 -48
  24. aws_cdk/aws_ecs/__init__.py +25 -13
  25. aws_cdk/aws_eks/__init__.py +86 -24
  26. aws_cdk/aws_elasticache/__init__.py +22 -22
  27. aws_cdk/aws_elasticloadbalancingv2/__init__.py +138 -128
  28. aws_cdk/aws_events/__init__.py +39 -26
  29. aws_cdk/aws_fsx/__init__.py +134 -10
  30. aws_cdk/aws_imagebuilder/__init__.py +8 -8
  31. aws_cdk/aws_invoicing/__init__.py +651 -0
  32. aws_cdk/aws_iot/__init__.py +28 -22
  33. aws_cdk/aws_iotfleetwise/__init__.py +473 -332
  34. aws_cdk/aws_iotsitewise/__init__.py +6 -4
  35. aws_cdk/aws_ivs/__init__.py +43 -31
  36. aws_cdk/aws_kendra/__init__.py +4 -0
  37. aws_cdk/aws_lakeformation/__init__.py +2 -1
  38. aws_cdk/aws_lambda/__init__.py +258 -156
  39. aws_cdk/aws_logs/__init__.py +532 -0
  40. aws_cdk/aws_m2/__init__.py +15 -15
  41. aws_cdk/aws_mediaconnect/__init__.py +24 -14
  42. aws_cdk/aws_medialive/__init__.py +2359 -5
  43. aws_cdk/aws_mediapackage/__init__.py +3 -9
  44. aws_cdk/aws_mediapackagev2/__init__.py +19 -17
  45. aws_cdk/aws_memorydb/__init__.py +664 -4
  46. aws_cdk/aws_qbusiness/__init__.py +2018 -66
  47. aws_cdk/aws_rds/__init__.py +30 -0
  48. aws_cdk/aws_resourcegroups/__init__.py +26 -17
  49. aws_cdk/aws_route53/__init__.py +1177 -10
  50. aws_cdk/aws_route53_targets/__init__.py +224 -100
  51. aws_cdk/aws_route53resolver/__init__.py +4 -2
  52. aws_cdk/aws_s3/__init__.py +4 -4
  53. aws_cdk/aws_s3express/__init__.py +30 -19
  54. aws_cdk/aws_sagemaker/__init__.py +783 -9
  55. aws_cdk/aws_secretsmanager/__init__.py +20 -6
  56. aws_cdk/aws_securityhub/__init__.py +64 -32
  57. aws_cdk/aws_servicediscovery/__init__.py +43 -0
  58. aws_cdk/aws_ses/__init__.py +109 -0
  59. aws_cdk/aws_stepfunctions_tasks/__init__.py +190 -35
  60. aws_cdk/aws_synthetics/__init__.py +7 -5
  61. aws_cdk/aws_vpclattice/__init__.py +1479 -122
  62. aws_cdk/aws_wisdom/__init__.py +2698 -232
  63. aws_cdk/aws_workspacesweb/__init__.py +118 -61
  64. {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/METADATA +1 -1
  65. {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/RECORD +69 -68
  66. {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/LICENSE +0 -0
  67. {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/NOTICE +0 -0
  68. {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/WHEEL +0 -0
  69. {aws_cdk_lib-2.172.0.dist-info → aws_cdk_lib-2.173.1.dist-info}/top_level.txt +0 -0
@@ -231,6 +231,43 @@ Constructs are available for A, AAAA, CAA, CNAME, MX, NS, SRV and TXT records.
231
231
  Use the `CaaAmazonRecord` construct to easily restrict certificate authorities
232
232
  allowed to issue certificates for a domain to Amazon only.
233
233
 
234
+ ### Health Checks
235
+
236
+ See the [Route 53 Health Checks documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-type) for possible types of health checks.
237
+
238
+ Route 53 has the ability to monitor the health of your application and only return records for healthy endpoints.
239
+ This is done using a `HealthCheck` construct.
240
+
241
+ In the following example, the `ARecord` will be returned by Route 53 in response to DNS queries only if the HTTP requests to the `example.com/health` endpoint return a 2XX or 3XX status code.
242
+
243
+ In case, when the endpoint is not healthy, the `ARecord2` will be returned by Route 53 in response to DNS queries.
244
+
245
+ ```python
246
+ # my_zone: route53.HostedZone
247
+
248
+
249
+ health_check = route53.HealthCheck(self, "HealthCheck",
250
+ type=route53.HealthCheckType.HTTP,
251
+ fqdn="example.com",
252
+ port=80,
253
+ resource_path="/health",
254
+ failure_threshold=3,
255
+ request_interval=Duration.seconds(30)
256
+ )
257
+
258
+ route53.ARecord(self, "ARecord",
259
+ zone=my_zone,
260
+ target=route53.RecordTarget.from_ip_addresses("1.2.3.4"),
261
+ health_check=health_check,
262
+ weight=100
263
+ )
264
+ route53.ARecord(self, "ARecord2",
265
+ zone=my_zone,
266
+ target=route53.RecordTarget.from_ip_addresses("5.6.7.8"),
267
+ weight=0
268
+ )
269
+ ```
270
+
234
271
  ### Replacing existing record sets (dangerous!)
235
272
 
236
273
  Use the `deleteExisting` prop to delete an existing record set before deploying the new one.
@@ -586,17 +623,88 @@ from ..aws_iam import (
586
623
  from ..aws_kms import IKey as _IKey_5f11635f
587
624
 
588
625
 
626
+ @jsii.data_type(
627
+ jsii_type="aws-cdk-lib.aws_route53.AlarmIdentifier",
628
+ jsii_struct_bases=[],
629
+ name_mapping={"name": "name", "region": "region"},
630
+ )
631
+ class AlarmIdentifier:
632
+ def __init__(self, *, name: builtins.str, region: builtins.str) -> None:
633
+ '''A CloudWatch alarm that you want Amazon Route 53 health checker to use to determine whether this health check is healthy.
634
+
635
+ :param name: The name of the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.
636
+ :param region: The region of the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.
637
+
638
+ :exampleMetadata: fixture=_generated
639
+
640
+ Example::
641
+
642
+ # The code below shows an example of how to instantiate this type.
643
+ # The values are placeholders you should change.
644
+ from aws_cdk import aws_route53 as route53
645
+
646
+ alarm_identifier = route53.AlarmIdentifier(
647
+ name="name",
648
+ region="region"
649
+ )
650
+ '''
651
+ if __debug__:
652
+ type_hints = typing.get_type_hints(_typecheckingstub__fcd95e6a7e14c758d746168914f9e2a2b5cd382fbfbc8277ef45a5aee3a652fa)
653
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
654
+ check_type(argname="argument region", value=region, expected_type=type_hints["region"])
655
+ self._values: typing.Dict[builtins.str, typing.Any] = {
656
+ "name": name,
657
+ "region": region,
658
+ }
659
+
660
+ @builtins.property
661
+ def name(self) -> builtins.str:
662
+ '''The name of the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.'''
663
+ result = self._values.get("name")
664
+ assert result is not None, "Required property 'name' is missing"
665
+ return typing.cast(builtins.str, result)
666
+
667
+ @builtins.property
668
+ def region(self) -> builtins.str:
669
+ '''The region of the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.'''
670
+ result = self._values.get("region")
671
+ assert result is not None, "Required property 'region' is missing"
672
+ return typing.cast(builtins.str, result)
673
+
674
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
675
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
676
+
677
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
678
+ return not (rhs == self)
679
+
680
+ def __repr__(self) -> str:
681
+ return "AlarmIdentifier(%s)" % ", ".join(
682
+ k + "=" + repr(v) for k, v in self._values.items()
683
+ )
684
+
685
+
589
686
  @jsii.data_type(
590
687
  jsii_type="aws-cdk-lib.aws_route53.AliasRecordTargetConfig",
591
688
  jsii_struct_bases=[],
592
- name_mapping={"dns_name": "dnsName", "hosted_zone_id": "hostedZoneId"},
689
+ name_mapping={
690
+ "dns_name": "dnsName",
691
+ "hosted_zone_id": "hostedZoneId",
692
+ "evaluate_target_health": "evaluateTargetHealth",
693
+ },
593
694
  )
594
695
  class AliasRecordTargetConfig:
595
- def __init__(self, *, dns_name: builtins.str, hosted_zone_id: builtins.str) -> None:
696
+ def __init__(
697
+ self,
698
+ *,
699
+ dns_name: builtins.str,
700
+ hosted_zone_id: builtins.str,
701
+ evaluate_target_health: typing.Optional[builtins.bool] = None,
702
+ ) -> None:
596
703
  '''Represents the properties of an alias target destination.
597
704
 
598
705
  :param dns_name: DNS name of the target.
599
706
  :param hosted_zone_id: Hosted zone ID of the target.
707
+ :param evaluate_target_health: Evaluate the target health. Default: - no health check configuration
600
708
 
601
709
  :exampleMetadata: fixture=_generated
602
710
 
@@ -608,17 +716,23 @@ class AliasRecordTargetConfig:
608
716
 
609
717
  alias_record_target_config = route53.AliasRecordTargetConfig(
610
718
  dns_name="dnsName",
611
- hosted_zone_id="hostedZoneId"
719
+ hosted_zone_id="hostedZoneId",
720
+
721
+ # the properties below are optional
722
+ evaluate_target_health=False
612
723
  )
613
724
  '''
614
725
  if __debug__:
615
726
  type_hints = typing.get_type_hints(_typecheckingstub__387b486cd004971b31128e4032ad0c37e74eea08888305d1660803aa68158e99)
616
727
  check_type(argname="argument dns_name", value=dns_name, expected_type=type_hints["dns_name"])
617
728
  check_type(argname="argument hosted_zone_id", value=hosted_zone_id, expected_type=type_hints["hosted_zone_id"])
729
+ check_type(argname="argument evaluate_target_health", value=evaluate_target_health, expected_type=type_hints["evaluate_target_health"])
618
730
  self._values: typing.Dict[builtins.str, typing.Any] = {
619
731
  "dns_name": dns_name,
620
732
  "hosted_zone_id": hosted_zone_id,
621
733
  }
734
+ if evaluate_target_health is not None:
735
+ self._values["evaluate_target_health"] = evaluate_target_health
622
736
 
623
737
  @builtins.property
624
738
  def dns_name(self) -> builtins.str:
@@ -634,6 +748,15 @@ class AliasRecordTargetConfig:
634
748
  assert result is not None, "Required property 'hosted_zone_id' is missing"
635
749
  return typing.cast(builtins.str, result)
636
750
 
751
+ @builtins.property
752
+ def evaluate_target_health(self) -> typing.Optional[builtins.bool]:
753
+ '''Evaluate the target health.
754
+
755
+ :default: - no health check configuration
756
+ '''
757
+ result = self._values.get("evaluate_target_health")
758
+ return typing.cast(typing.Optional[builtins.bool], result)
759
+
637
760
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
638
761
  return isinstance(rhs, self.__class__) and rhs._values == self._values
639
762
 
@@ -6538,6 +6661,447 @@ class GeoLocation(
6538
6661
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "subdivisionCode"))
6539
6662
 
6540
6663
 
6664
+ @jsii.data_type(
6665
+ jsii_type="aws-cdk-lib.aws_route53.HealthCheckProps",
6666
+ jsii_struct_bases=[],
6667
+ name_mapping={
6668
+ "type": "type",
6669
+ "alarm_identifier": "alarmIdentifier",
6670
+ "child_health_checks": "childHealthChecks",
6671
+ "enable_sni": "enableSNI",
6672
+ "failure_threshold": "failureThreshold",
6673
+ "fqdn": "fqdn",
6674
+ "health_threshold": "healthThreshold",
6675
+ "insufficient_data_health_status": "insufficientDataHealthStatus",
6676
+ "inverted": "inverted",
6677
+ "ip_address": "ipAddress",
6678
+ "measure_latency": "measureLatency",
6679
+ "port": "port",
6680
+ "regions": "regions",
6681
+ "request_interval": "requestInterval",
6682
+ "resource_path": "resourcePath",
6683
+ "routing_control": "routingControl",
6684
+ "search_string": "searchString",
6685
+ },
6686
+ )
6687
+ class HealthCheckProps:
6688
+ def __init__(
6689
+ self,
6690
+ *,
6691
+ type: "HealthCheckType",
6692
+ alarm_identifier: typing.Optional[typing.Union[AlarmIdentifier, typing.Dict[builtins.str, typing.Any]]] = None,
6693
+ child_health_checks: typing.Optional[typing.Sequence["IHealthCheck"]] = None,
6694
+ enable_sni: typing.Optional[builtins.bool] = None,
6695
+ failure_threshold: typing.Optional[jsii.Number] = None,
6696
+ fqdn: typing.Optional[builtins.str] = None,
6697
+ health_threshold: typing.Optional[jsii.Number] = None,
6698
+ insufficient_data_health_status: typing.Optional["InsufficientDataHealthStatusEnum"] = None,
6699
+ inverted: typing.Optional[builtins.bool] = None,
6700
+ ip_address: typing.Optional[builtins.str] = None,
6701
+ measure_latency: typing.Optional[builtins.bool] = None,
6702
+ port: typing.Optional[jsii.Number] = None,
6703
+ regions: typing.Optional[typing.Sequence[builtins.str]] = None,
6704
+ request_interval: typing.Optional[_Duration_4839e8c3] = None,
6705
+ resource_path: typing.Optional[builtins.str] = None,
6706
+ routing_control: typing.Optional[builtins.str] = None,
6707
+ search_string: typing.Optional[builtins.str] = None,
6708
+ ) -> None:
6709
+ '''Properties for a new health check.
6710
+
6711
+ :param type: The type of health check to be associated with the record.
6712
+ :param alarm_identifier: CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy. Default: - if the type is CLOUDWATCH_METRIC, this property is required. Otherwise, it is not configured.
6713
+ :param child_health_checks: A list of health checks to monitor for this 'CALCULATED' health check. Default: - if the type is CALCULATED, this property is required. Otherwise, it is not configured.
6714
+ :param enable_sni: Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName to the endpoint in the client_hello message during TLS negotiation. This allows the endpoint to respond to HTTPS health check requests with the applicable SSL/TLS certificate. Default: - if the type is HTTPS or HTTPS_STR_MATCH, this property default value is true. Otherwise, it is not configured.
6715
+ :param failure_threshold: The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. Default: - if the type is CALCULATED it's not configured - if the type is CLOUDWATCH_METRIC it's not configured - otherwise, the default value is 3.
6716
+ :param fqdn: Fully qualified domain name of the endpoint to be checked. Amazon Route 53 behavior depends on whether you specify a value for IPAddress. If you specify a value for IPAddress: Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName in the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Route 53 to perform health checks. Note: If you specify a value for Port property other than 80 or 443, Route 53 will constract the value for Host header as FullyQualifiedDomainName:Port. If you don't specify a value for IPAddress: Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName at the interval that you specify for RequestInterval. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint. Additionally, if the type of the health check is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you specify value for IPAddress. If the type is TCP, Route 53 doesn't pass a Host header. Default: - not configured
6717
+ :param health_threshold: The number of child health checks that are associated with a CALCULATED health that Amazon Route 53 must consider healthy for the CALCULATED health check to be considered healthy. Default: - if the type is CALCULATED, the default value is number of child health checks. Otherwise, it is not configured.
6718
+ :param insufficient_data_health_status: The status of the health check when CloudWatch has insufficient data about the state of associated alarm. Default: - if the type is CLOUDWATCH_METRIC, the default value is InsufficientDataHealthStatus.LAST_KNOWN_STATUS. Otherwise, it is not configured.
6719
+ :param inverted: Specify whether you want Amazon Route 53 to invert the status of a health check, so a health check that would normally be considered unhealthy is considered healthy, and vice versa. Default: false
6720
+ :param ip_address: The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for IPAddress, Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint. Default: - not configured
6721
+ :param measure_latency: Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to display CloudWatch latency graphs on the Health Checks page in the Route 53 console. Default: - if the type is CALCULATED it's not configured - if the type is CLOUDWATCH_METRIC it's not configured - otherwise, the default value is false.
6722
+ :param port: The port on the endpoint that you want Amazon Route 53 to perform health checks on. Default: - if the type is HTTP or HTTP_STR_MATCH, the default value is 80. - if the type is HTTPS or HTTPS_STR_MATCH, the default value is 443. - otherwise, it is not configured.
6723
+ :param regions: An array of region identifiers that you want Amazon Route 53 health checkers to check the health of the endpoint from. Please refer to the CloudFormation documentation for the most up-to-date list of regions. Default: - if the type is CALCULATED, CLOUDWATCH_METRIC, or RECOVERY_CONTROL, this property is not configured. - otherwise, the default value will be set by CloudFormation itself and will include all valid regions. Please refer to the CloudFormation documentation for the most up-to-date list of regions.
6724
+ :param request_interval: The duration between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health check request. Each Route 53 health checker makes requests at this interval. Default: - if the type is CALCULATED it's not configured - if the type is CLOUDWATCH_METRIC it's not configured - otherwise, the default value is 30 seconds.
6725
+ :param resource_path: The path that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example the file /docs/route53-health-check.html. Route 53 automatically adds the DNS name for the service and a leading forward slash (/) character. Default: - if the type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, the default value is empty string. - otherwise, it is not configured.
6726
+ :param routing_control: The Amazon Resource Name (ARN) of the Route 53 Application Recovery Controller routing control that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy. Default: - if the type is RECOVERY_CONTROL, this property is required. Otherwise, it is not configured.
6727
+ :param search_string: The string that you want Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Route 53 considers the resource healthy. Route 53 considers case when searching for SearchString in the response body. Default: - if the type is HTTP_STR_MATCH or HTTPS_STR_MATCH, this property is required. Otherwise, it is not configured.
6728
+
6729
+ :exampleMetadata: infused
6730
+
6731
+ Example::
6732
+
6733
+ # my_zone: route53.HostedZone
6734
+
6735
+
6736
+ health_check = route53.HealthCheck(self, "HealthCheck",
6737
+ type=route53.HealthCheckType.HTTP,
6738
+ fqdn="example.com",
6739
+ port=80,
6740
+ resource_path="/health",
6741
+ failure_threshold=3,
6742
+ request_interval=Duration.seconds(30)
6743
+ )
6744
+
6745
+ route53.ARecord(self, "ARecord",
6746
+ zone=my_zone,
6747
+ target=route53.RecordTarget.from_ip_addresses("1.2.3.4"),
6748
+ health_check=health_check,
6749
+ weight=100
6750
+ )
6751
+ route53.ARecord(self, "ARecord2",
6752
+ zone=my_zone,
6753
+ target=route53.RecordTarget.from_ip_addresses("5.6.7.8"),
6754
+ weight=0
6755
+ )
6756
+ '''
6757
+ if isinstance(alarm_identifier, dict):
6758
+ alarm_identifier = AlarmIdentifier(**alarm_identifier)
6759
+ if __debug__:
6760
+ type_hints = typing.get_type_hints(_typecheckingstub__aa97034136188f7866c26cd6fb12cf33983958b5147a7092dea7494be1142b56)
6761
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
6762
+ check_type(argname="argument alarm_identifier", value=alarm_identifier, expected_type=type_hints["alarm_identifier"])
6763
+ check_type(argname="argument child_health_checks", value=child_health_checks, expected_type=type_hints["child_health_checks"])
6764
+ check_type(argname="argument enable_sni", value=enable_sni, expected_type=type_hints["enable_sni"])
6765
+ check_type(argname="argument failure_threshold", value=failure_threshold, expected_type=type_hints["failure_threshold"])
6766
+ check_type(argname="argument fqdn", value=fqdn, expected_type=type_hints["fqdn"])
6767
+ check_type(argname="argument health_threshold", value=health_threshold, expected_type=type_hints["health_threshold"])
6768
+ check_type(argname="argument insufficient_data_health_status", value=insufficient_data_health_status, expected_type=type_hints["insufficient_data_health_status"])
6769
+ check_type(argname="argument inverted", value=inverted, expected_type=type_hints["inverted"])
6770
+ check_type(argname="argument ip_address", value=ip_address, expected_type=type_hints["ip_address"])
6771
+ check_type(argname="argument measure_latency", value=measure_latency, expected_type=type_hints["measure_latency"])
6772
+ check_type(argname="argument port", value=port, expected_type=type_hints["port"])
6773
+ check_type(argname="argument regions", value=regions, expected_type=type_hints["regions"])
6774
+ check_type(argname="argument request_interval", value=request_interval, expected_type=type_hints["request_interval"])
6775
+ check_type(argname="argument resource_path", value=resource_path, expected_type=type_hints["resource_path"])
6776
+ check_type(argname="argument routing_control", value=routing_control, expected_type=type_hints["routing_control"])
6777
+ check_type(argname="argument search_string", value=search_string, expected_type=type_hints["search_string"])
6778
+ self._values: typing.Dict[builtins.str, typing.Any] = {
6779
+ "type": type,
6780
+ }
6781
+ if alarm_identifier is not None:
6782
+ self._values["alarm_identifier"] = alarm_identifier
6783
+ if child_health_checks is not None:
6784
+ self._values["child_health_checks"] = child_health_checks
6785
+ if enable_sni is not None:
6786
+ self._values["enable_sni"] = enable_sni
6787
+ if failure_threshold is not None:
6788
+ self._values["failure_threshold"] = failure_threshold
6789
+ if fqdn is not None:
6790
+ self._values["fqdn"] = fqdn
6791
+ if health_threshold is not None:
6792
+ self._values["health_threshold"] = health_threshold
6793
+ if insufficient_data_health_status is not None:
6794
+ self._values["insufficient_data_health_status"] = insufficient_data_health_status
6795
+ if inverted is not None:
6796
+ self._values["inverted"] = inverted
6797
+ if ip_address is not None:
6798
+ self._values["ip_address"] = ip_address
6799
+ if measure_latency is not None:
6800
+ self._values["measure_latency"] = measure_latency
6801
+ if port is not None:
6802
+ self._values["port"] = port
6803
+ if regions is not None:
6804
+ self._values["regions"] = regions
6805
+ if request_interval is not None:
6806
+ self._values["request_interval"] = request_interval
6807
+ if resource_path is not None:
6808
+ self._values["resource_path"] = resource_path
6809
+ if routing_control is not None:
6810
+ self._values["routing_control"] = routing_control
6811
+ if search_string is not None:
6812
+ self._values["search_string"] = search_string
6813
+
6814
+ @builtins.property
6815
+ def type(self) -> "HealthCheckType":
6816
+ '''The type of health check to be associated with the record.'''
6817
+ result = self._values.get("type")
6818
+ assert result is not None, "Required property 'type' is missing"
6819
+ return typing.cast("HealthCheckType", result)
6820
+
6821
+ @builtins.property
6822
+ def alarm_identifier(self) -> typing.Optional[AlarmIdentifier]:
6823
+ '''CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.
6824
+
6825
+ :default: - if the type is CLOUDWATCH_METRIC, this property is required. Otherwise, it is not configured.
6826
+ '''
6827
+ result = self._values.get("alarm_identifier")
6828
+ return typing.cast(typing.Optional[AlarmIdentifier], result)
6829
+
6830
+ @builtins.property
6831
+ def child_health_checks(self) -> typing.Optional[typing.List["IHealthCheck"]]:
6832
+ '''A list of health checks to monitor for this 'CALCULATED' health check.
6833
+
6834
+ :default: - if the type is CALCULATED, this property is required. Otherwise, it is not configured.
6835
+ '''
6836
+ result = self._values.get("child_health_checks")
6837
+ return typing.cast(typing.Optional[typing.List["IHealthCheck"]], result)
6838
+
6839
+ @builtins.property
6840
+ def enable_sni(self) -> typing.Optional[builtins.bool]:
6841
+ '''Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName to the endpoint in the client_hello message during TLS negotiation.
6842
+
6843
+ This allows the endpoint to respond to HTTPS health check requests with the applicable SSL/TLS certificate.
6844
+
6845
+ :default: - if the type is HTTPS or HTTPS_STR_MATCH, this property default value is true. Otherwise, it is not configured.
6846
+ '''
6847
+ result = self._values.get("enable_sni")
6848
+ return typing.cast(typing.Optional[builtins.bool], result)
6849
+
6850
+ @builtins.property
6851
+ def failure_threshold(self) -> typing.Optional[jsii.Number]:
6852
+ '''The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa.
6853
+
6854
+ :default:
6855
+
6856
+ - if the type is CALCULATED it's not configured
6857
+ - if the type is CLOUDWATCH_METRIC it's not configured
6858
+ - otherwise, the default value is 3.
6859
+ '''
6860
+ result = self._values.get("failure_threshold")
6861
+ return typing.cast(typing.Optional[jsii.Number], result)
6862
+
6863
+ @builtins.property
6864
+ def fqdn(self) -> typing.Optional[builtins.str]:
6865
+ '''Fully qualified domain name of the endpoint to be checked.
6866
+
6867
+ Amazon Route 53 behavior depends on whether you specify a value for IPAddress.
6868
+
6869
+ If you specify a value for IPAddress:
6870
+
6871
+ Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName in the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Route 53 to perform health checks.
6872
+ Note: If you specify a value for Port property other than 80 or 443, Route 53 will constract the value for Host header as FullyQualifiedDomainName:Port.
6873
+
6874
+ If you don't specify a value for IPAddress:
6875
+
6876
+ Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName at the interval that you specify for RequestInterval. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.
6877
+
6878
+ Additionally, if the type of the health check is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you specify value for IPAddress. If the type is TCP, Route 53 doesn't pass a Host header.
6879
+
6880
+ :default: - not configured
6881
+ '''
6882
+ result = self._values.get("fqdn")
6883
+ return typing.cast(typing.Optional[builtins.str], result)
6884
+
6885
+ @builtins.property
6886
+ def health_threshold(self) -> typing.Optional[jsii.Number]:
6887
+ '''The number of child health checks that are associated with a CALCULATED health that Amazon Route 53 must consider healthy for the CALCULATED health check to be considered healthy.
6888
+
6889
+ :default: - if the type is CALCULATED, the default value is number of child health checks. Otherwise, it is not configured.
6890
+ '''
6891
+ result = self._values.get("health_threshold")
6892
+ return typing.cast(typing.Optional[jsii.Number], result)
6893
+
6894
+ @builtins.property
6895
+ def insufficient_data_health_status(
6896
+ self,
6897
+ ) -> typing.Optional["InsufficientDataHealthStatusEnum"]:
6898
+ '''The status of the health check when CloudWatch has insufficient data about the state of associated alarm.
6899
+
6900
+ :default: - if the type is CLOUDWATCH_METRIC, the default value is InsufficientDataHealthStatus.LAST_KNOWN_STATUS. Otherwise, it is not configured.
6901
+ '''
6902
+ result = self._values.get("insufficient_data_health_status")
6903
+ return typing.cast(typing.Optional["InsufficientDataHealthStatusEnum"], result)
6904
+
6905
+ @builtins.property
6906
+ def inverted(self) -> typing.Optional[builtins.bool]:
6907
+ '''Specify whether you want Amazon Route 53 to invert the status of a health check, so a health check that would normally be considered unhealthy is considered healthy, and vice versa.
6908
+
6909
+ :default: false
6910
+ '''
6911
+ result = self._values.get("inverted")
6912
+ return typing.cast(typing.Optional[builtins.bool], result)
6913
+
6914
+ @builtins.property
6915
+ def ip_address(self) -> typing.Optional[builtins.str]:
6916
+ '''The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53 to perform health checks on.
6917
+
6918
+ If you don't specify a value for IPAddress, Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.
6919
+
6920
+ :default: - not configured
6921
+ '''
6922
+ result = self._values.get("ip_address")
6923
+ return typing.cast(typing.Optional[builtins.str], result)
6924
+
6925
+ @builtins.property
6926
+ def measure_latency(self) -> typing.Optional[builtins.bool]:
6927
+ '''Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to display CloudWatch latency graphs on the Health Checks page in the Route 53 console.
6928
+
6929
+ :default:
6930
+
6931
+ - if the type is CALCULATED it's not configured
6932
+ - if the type is CLOUDWATCH_METRIC it's not configured
6933
+ - otherwise, the default value is false.
6934
+ '''
6935
+ result = self._values.get("measure_latency")
6936
+ return typing.cast(typing.Optional[builtins.bool], result)
6937
+
6938
+ @builtins.property
6939
+ def port(self) -> typing.Optional[jsii.Number]:
6940
+ '''The port on the endpoint that you want Amazon Route 53 to perform health checks on.
6941
+
6942
+ :default:
6943
+
6944
+ - if the type is HTTP or HTTP_STR_MATCH, the default value is 80.
6945
+ - if the type is HTTPS or HTTPS_STR_MATCH, the default value is 443.
6946
+ - otherwise, it is not configured.
6947
+ '''
6948
+ result = self._values.get("port")
6949
+ return typing.cast(typing.Optional[jsii.Number], result)
6950
+
6951
+ @builtins.property
6952
+ def regions(self) -> typing.Optional[typing.List[builtins.str]]:
6953
+ '''An array of region identifiers that you want Amazon Route 53 health checkers to check the health of the endpoint from.
6954
+
6955
+ Please refer to the CloudFormation documentation for the most up-to-date list of regions.
6956
+
6957
+ :default:
6958
+
6959
+ - if the type is CALCULATED, CLOUDWATCH_METRIC, or RECOVERY_CONTROL, this property is not configured.
6960
+ - otherwise, the default value will be set by CloudFormation itself and will include all valid regions. Please refer to the CloudFormation documentation for the most up-to-date list of regions.
6961
+
6962
+ :see: https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html
6963
+ '''
6964
+ result = self._values.get("regions")
6965
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6966
+
6967
+ @builtins.property
6968
+ def request_interval(self) -> typing.Optional[_Duration_4839e8c3]:
6969
+ '''The duration between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health check request.
6970
+
6971
+ Each Route 53 health checker makes requests at this interval.
6972
+
6973
+ :default:
6974
+
6975
+ - if the type is CALCULATED it's not configured
6976
+ - if the type is CLOUDWATCH_METRIC it's not configured
6977
+ - otherwise, the default value is 30 seconds.
6978
+ '''
6979
+ result = self._values.get("request_interval")
6980
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
6981
+
6982
+ @builtins.property
6983
+ def resource_path(self) -> typing.Optional[builtins.str]:
6984
+ '''The path that you want Amazon Route 53 to request when performing health checks.
6985
+
6986
+ The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example the file /docs/route53-health-check.html. Route 53 automatically adds the DNS name for the service and a leading forward slash (/) character.
6987
+
6988
+ :default:
6989
+
6990
+ - if the type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, the default value is empty string.
6991
+ - otherwise, it is not configured.
6992
+ '''
6993
+ result = self._values.get("resource_path")
6994
+ return typing.cast(typing.Optional[builtins.str], result)
6995
+
6996
+ @builtins.property
6997
+ def routing_control(self) -> typing.Optional[builtins.str]:
6998
+ '''The Amazon Resource Name (ARN) of the Route 53 Application Recovery Controller routing control that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.
6999
+
7000
+ :default: - if the type is RECOVERY_CONTROL, this property is required. Otherwise, it is not configured.
7001
+ '''
7002
+ result = self._values.get("routing_control")
7003
+ return typing.cast(typing.Optional[builtins.str], result)
7004
+
7005
+ @builtins.property
7006
+ def search_string(self) -> typing.Optional[builtins.str]:
7007
+ '''The string that you want Amazon Route 53 to search for in the response body from the specified resource.
7008
+
7009
+ If the string appears in the response body, Route 53 considers the resource healthy.
7010
+
7011
+ Route 53 considers case when searching for SearchString in the response body.
7012
+
7013
+ :default: - if the type is HTTP_STR_MATCH or HTTPS_STR_MATCH, this property is required. Otherwise, it is not configured.
7014
+ '''
7015
+ result = self._values.get("search_string")
7016
+ return typing.cast(typing.Optional[builtins.str], result)
7017
+
7018
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7019
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7020
+
7021
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7022
+ return not (rhs == self)
7023
+
7024
+ def __repr__(self) -> str:
7025
+ return "HealthCheckProps(%s)" % ", ".join(
7026
+ k + "=" + repr(v) for k, v in self._values.items()
7027
+ )
7028
+
7029
+
7030
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_route53.HealthCheckType")
7031
+ class HealthCheckType(enum.Enum):
7032
+ '''The type of health check to be associated with the record.
7033
+
7034
+ :exampleMetadata: infused
7035
+
7036
+ Example::
7037
+
7038
+ # my_zone: route53.HostedZone
7039
+
7040
+
7041
+ health_check = route53.HealthCheck(self, "HealthCheck",
7042
+ type=route53.HealthCheckType.HTTP,
7043
+ fqdn="example.com",
7044
+ port=80,
7045
+ resource_path="/health",
7046
+ failure_threshold=3,
7047
+ request_interval=Duration.seconds(30)
7048
+ )
7049
+
7050
+ route53.ARecord(self, "ARecord",
7051
+ zone=my_zone,
7052
+ target=route53.RecordTarget.from_ip_addresses("1.2.3.4"),
7053
+ health_check=health_check,
7054
+ weight=100
7055
+ )
7056
+ route53.ARecord(self, "ARecord2",
7057
+ zone=my_zone,
7058
+ target=route53.RecordTarget.from_ip_addresses("5.6.7.8"),
7059
+ weight=0
7060
+ )
7061
+ '''
7062
+
7063
+ HTTP = "HTTP"
7064
+ '''HTTP health check.
7065
+
7066
+ Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.
7067
+ '''
7068
+ HTTPS = "HTTPS"
7069
+ '''HTTPS health check.
7070
+
7071
+ Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.
7072
+ '''
7073
+ HTTP_STR_MATCH = "HTTP_STR_MATCH"
7074
+ '''HTTP health check with string matching.
7075
+
7076
+ Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.
7077
+ '''
7078
+ HTTPS_STR_MATCH = "HTTPS_STR_MATCH"
7079
+ '''HTTPS health check with string matching.
7080
+
7081
+ Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.
7082
+ '''
7083
+ TCP = "TCP"
7084
+ '''TCP health check.
7085
+
7086
+ Route 53 tries to establish a TCP connection.
7087
+ '''
7088
+ CLOUDWATCH_METRIC = "CLOUDWATCH_METRIC"
7089
+ '''CloudWatch metric health check.
7090
+
7091
+ The health check is associated with a CloudWatch alarm. If the state of the alarm is OK, the health check is considered healthy. If the state is ALARM, the health check is considered unhealthy. If CloudWatch doesn't have sufficient data to determine whether the state is OK or ALARM, the health check status depends on the setting for InsufficientDataHealthStatus: Healthy, Unhealthy, or LastKnownStatus.
7092
+ '''
7093
+ CALCULATED = "CALCULATED"
7094
+ '''Calculated health check.
7095
+
7096
+ For health checks that monitor the status of other health checks, Route 53 adds up the number of health checks that Route 53 health checkers consider to be healthy and compares that number with the value of HealthThreshold.
7097
+ '''
7098
+ RECOVERY_CONTROL = "RECOVERY_CONTROL"
7099
+ '''Recovery control health check.
7100
+
7101
+ The health check is assocated with a Route53 Application Recovery Controller routing control. If the routing control state is ON, the health check is considered healthy. If the state is OFF, the health check is considered unhealthy.
7102
+ '''
7103
+
7104
+
6541
7105
  @jsii.data_type(
6542
7106
  jsii_type="aws-cdk-lib.aws_route53.HostedZoneAttributes",
6543
7107
  jsii_struct_bases=[],
@@ -6781,7 +7345,10 @@ class HostedZoneProviderProps:
6781
7345
  route53.ARecord(self, "AliasRecord",
6782
7346
  zone=zone,
6783
7347
  record_name=record_name, # www
6784
- target=route53.RecordTarget.from_alias(targets.BucketWebsiteTarget(bucket_website))
7348
+ target=route53.RecordTarget.from_alias(
7349
+ targets.BucketWebsiteTarget(bucket_website, {
7350
+ "evaluate_target_health": True
7351
+ }))
6785
7352
  )
6786
7353
  '''
6787
7354
  if __debug__:
@@ -6881,6 +7448,40 @@ class _IAliasRecordTargetProxy:
6881
7448
  typing.cast(typing.Any, IAliasRecordTarget).__jsii_proxy_class__ = lambda : _IAliasRecordTargetProxy
6882
7449
 
6883
7450
 
7451
+ @jsii.interface(jsii_type="aws-cdk-lib.aws_route53.IHealthCheck")
7452
+ class IHealthCheck(_IResource_c80c4260, typing_extensions.Protocol):
7453
+ '''Imported or created health check.'''
7454
+
7455
+ @builtins.property
7456
+ @jsii.member(jsii_name="healthCheckId")
7457
+ def health_check_id(self) -> builtins.str:
7458
+ '''The ID of the health check.
7459
+
7460
+ :attribute: true
7461
+ '''
7462
+ ...
7463
+
7464
+
7465
+ class _IHealthCheckProxy(
7466
+ jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
7467
+ ):
7468
+ '''Imported or created health check.'''
7469
+
7470
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_route53.IHealthCheck"
7471
+
7472
+ @builtins.property
7473
+ @jsii.member(jsii_name="healthCheckId")
7474
+ def health_check_id(self) -> builtins.str:
7475
+ '''The ID of the health check.
7476
+
7477
+ :attribute: true
7478
+ '''
7479
+ return typing.cast(builtins.str, jsii.get(self, "healthCheckId"))
7480
+
7481
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
7482
+ typing.cast(typing.Any, IHealthCheck).__jsii_proxy_class__ = lambda : _IHealthCheckProxy
7483
+
7484
+
6884
7485
  @jsii.interface(jsii_type="aws-cdk-lib.aws_route53.IHostedZone")
6885
7486
  class IHostedZone(_IResource_c80c4260, typing_extensions.Protocol):
6886
7487
  '''Imported or created hosted zone.'''
@@ -7122,6 +7723,18 @@ class _IRecordSetProxy(
7122
7723
  typing.cast(typing.Any, IRecordSet).__jsii_proxy_class__ = lambda : _IRecordSetProxy
7123
7724
 
7124
7725
 
7726
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_route53.InsufficientDataHealthStatusEnum")
7727
+ class InsufficientDataHealthStatusEnum(enum.Enum):
7728
+ '''The status of the health check when CloudWatch has insufficient data about the state of associated alarm.'''
7729
+
7730
+ HEALTHY = "HEALTHY"
7731
+ '''Route 53 health check status will be healthy.'''
7732
+ UNHEALTHY = "UNHEALTHY"
7733
+ '''Route 53 health check status will be unhealthy.'''
7734
+ LAST_KNOWN_STATUS = "LAST_KNOWN_STATUS"
7735
+ '''Route 53 health check status will be the status of the health check before Route 53 had insufficient data.'''
7736
+
7737
+
7125
7738
  @jsii.implements(IKeySigningKey)
7126
7739
  class KeySigningKey(
7127
7740
  _Resource_45bc6135,
@@ -7896,6 +8509,7 @@ class RecordSet(
7896
8509
  from aws_cdk import aws_route53 as route53
7897
8510
 
7898
8511
  # geo_location: route53.GeoLocation
8512
+ # health_check: route53.HealthCheck
7899
8513
  # hosted_zone: route53.HostedZone
7900
8514
  # record_target: route53.RecordTarget
7901
8515
 
@@ -7908,6 +8522,7 @@ class RecordSet(
7908
8522
  comment="comment",
7909
8523
  delete_existing=False,
7910
8524
  geo_location=geo_location,
8525
+ health_check=health_check,
7911
8526
  multi_value_answer=False,
7912
8527
  record_name="recordName",
7913
8528
  region="region",
@@ -7928,6 +8543,7 @@ class RecordSet(
7928
8543
  comment: typing.Optional[builtins.str] = None,
7929
8544
  delete_existing: typing.Optional[builtins.bool] = None,
7930
8545
  geo_location: typing.Optional[GeoLocation] = None,
8546
+ health_check: typing.Optional[IHealthCheck] = None,
7931
8547
  multi_value_answer: typing.Optional[builtins.bool] = None,
7932
8548
  record_name: typing.Optional[builtins.str] = None,
7933
8549
  region: typing.Optional[builtins.str] = None,
@@ -7944,6 +8560,7 @@ class RecordSet(
7944
8560
  :param comment: A comment to add on the record. Default: no comment
7945
8561
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
7946
8562
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
8563
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
7947
8564
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
7948
8565
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
7949
8566
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -7962,6 +8579,7 @@ class RecordSet(
7962
8579
  comment=comment,
7963
8580
  delete_existing=delete_existing,
7964
8581
  geo_location=geo_location,
8582
+ health_check=health_check,
7965
8583
  multi_value_answer=multi_value_answer,
7966
8584
  record_name=record_name,
7967
8585
  region=region,
@@ -7987,6 +8605,7 @@ class RecordSet(
7987
8605
  "comment": "comment",
7988
8606
  "delete_existing": "deleteExisting",
7989
8607
  "geo_location": "geoLocation",
8608
+ "health_check": "healthCheck",
7990
8609
  "multi_value_answer": "multiValueAnswer",
7991
8610
  "record_name": "recordName",
7992
8611
  "region": "region",
@@ -8003,6 +8622,7 @@ class RecordSetOptions:
8003
8622
  comment: typing.Optional[builtins.str] = None,
8004
8623
  delete_existing: typing.Optional[builtins.bool] = None,
8005
8624
  geo_location: typing.Optional[GeoLocation] = None,
8625
+ health_check: typing.Optional[IHealthCheck] = None,
8006
8626
  multi_value_answer: typing.Optional[builtins.bool] = None,
8007
8627
  record_name: typing.Optional[builtins.str] = None,
8008
8628
  region: typing.Optional[builtins.str] = None,
@@ -8016,6 +8636,7 @@ class RecordSetOptions:
8016
8636
  :param comment: A comment to add on the record. Default: no comment
8017
8637
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
8018
8638
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
8639
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
8019
8640
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
8020
8641
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
8021
8642
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -8033,6 +8654,7 @@ class RecordSetOptions:
8033
8654
  from aws_cdk import aws_route53 as route53
8034
8655
 
8035
8656
  # geo_location: route53.GeoLocation
8657
+ # health_check: route53.HealthCheck
8036
8658
  # hosted_zone: route53.HostedZone
8037
8659
 
8038
8660
  record_set_options = route53.RecordSetOptions(
@@ -8042,6 +8664,7 @@ class RecordSetOptions:
8042
8664
  comment="comment",
8043
8665
  delete_existing=False,
8044
8666
  geo_location=geo_location,
8667
+ health_check=health_check,
8045
8668
  multi_value_answer=False,
8046
8669
  record_name="recordName",
8047
8670
  region="region",
@@ -8056,6 +8679,7 @@ class RecordSetOptions:
8056
8679
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
8057
8680
  check_type(argname="argument delete_existing", value=delete_existing, expected_type=type_hints["delete_existing"])
8058
8681
  check_type(argname="argument geo_location", value=geo_location, expected_type=type_hints["geo_location"])
8682
+ check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
8059
8683
  check_type(argname="argument multi_value_answer", value=multi_value_answer, expected_type=type_hints["multi_value_answer"])
8060
8684
  check_type(argname="argument record_name", value=record_name, expected_type=type_hints["record_name"])
8061
8685
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
@@ -8071,6 +8695,8 @@ class RecordSetOptions:
8071
8695
  self._values["delete_existing"] = delete_existing
8072
8696
  if geo_location is not None:
8073
8697
  self._values["geo_location"] = geo_location
8698
+ if health_check is not None:
8699
+ self._values["health_check"] = health_check
8074
8700
  if multi_value_answer is not None:
8075
8701
  self._values["multi_value_answer"] = multi_value_answer
8076
8702
  if record_name is not None:
@@ -8125,6 +8751,17 @@ class RecordSetOptions:
8125
8751
  result = self._values.get("geo_location")
8126
8752
  return typing.cast(typing.Optional[GeoLocation], result)
8127
8753
 
8754
+ @builtins.property
8755
+ def health_check(self) -> typing.Optional[IHealthCheck]:
8756
+ '''The health check to associate with the record set.
8757
+
8758
+ Route53 will return this record set in response to DNS queries only if the health check is passing.
8759
+
8760
+ :default: - No health check configured
8761
+ '''
8762
+ result = self._values.get("health_check")
8763
+ return typing.cast(typing.Optional[IHealthCheck], result)
8764
+
8128
8765
  @builtins.property
8129
8766
  def multi_value_answer(self) -> typing.Optional[builtins.bool]:
8130
8767
  '''Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries.
@@ -8225,6 +8862,7 @@ class RecordSetOptions:
8225
8862
  "comment": "comment",
8226
8863
  "delete_existing": "deleteExisting",
8227
8864
  "geo_location": "geoLocation",
8865
+ "health_check": "healthCheck",
8228
8866
  "multi_value_answer": "multiValueAnswer",
8229
8867
  "record_name": "recordName",
8230
8868
  "region": "region",
@@ -8243,6 +8881,7 @@ class RecordSetProps(RecordSetOptions):
8243
8881
  comment: typing.Optional[builtins.str] = None,
8244
8882
  delete_existing: typing.Optional[builtins.bool] = None,
8245
8883
  geo_location: typing.Optional[GeoLocation] = None,
8884
+ health_check: typing.Optional[IHealthCheck] = None,
8246
8885
  multi_value_answer: typing.Optional[builtins.bool] = None,
8247
8886
  record_name: typing.Optional[builtins.str] = None,
8248
8887
  region: typing.Optional[builtins.str] = None,
@@ -8258,6 +8897,7 @@ class RecordSetProps(RecordSetOptions):
8258
8897
  :param comment: A comment to add on the record. Default: no comment
8259
8898
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
8260
8899
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
8900
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
8261
8901
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
8262
8902
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
8263
8903
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -8277,6 +8917,7 @@ class RecordSetProps(RecordSetOptions):
8277
8917
  from aws_cdk import aws_route53 as route53
8278
8918
 
8279
8919
  # geo_location: route53.GeoLocation
8920
+ # health_check: route53.HealthCheck
8280
8921
  # hosted_zone: route53.HostedZone
8281
8922
  # record_target: route53.RecordTarget
8282
8923
 
@@ -8289,6 +8930,7 @@ class RecordSetProps(RecordSetOptions):
8289
8930
  comment="comment",
8290
8931
  delete_existing=False,
8291
8932
  geo_location=geo_location,
8933
+ health_check=health_check,
8292
8934
  multi_value_answer=False,
8293
8935
  record_name="recordName",
8294
8936
  region="region",
@@ -8303,6 +8945,7 @@ class RecordSetProps(RecordSetOptions):
8303
8945
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
8304
8946
  check_type(argname="argument delete_existing", value=delete_existing, expected_type=type_hints["delete_existing"])
8305
8947
  check_type(argname="argument geo_location", value=geo_location, expected_type=type_hints["geo_location"])
8948
+ check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
8306
8949
  check_type(argname="argument multi_value_answer", value=multi_value_answer, expected_type=type_hints["multi_value_answer"])
8307
8950
  check_type(argname="argument record_name", value=record_name, expected_type=type_hints["record_name"])
8308
8951
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
@@ -8322,6 +8965,8 @@ class RecordSetProps(RecordSetOptions):
8322
8965
  self._values["delete_existing"] = delete_existing
8323
8966
  if geo_location is not None:
8324
8967
  self._values["geo_location"] = geo_location
8968
+ if health_check is not None:
8969
+ self._values["health_check"] = health_check
8325
8970
  if multi_value_answer is not None:
8326
8971
  self._values["multi_value_answer"] = multi_value_answer
8327
8972
  if record_name is not None:
@@ -8376,6 +9021,17 @@ class RecordSetProps(RecordSetOptions):
8376
9021
  result = self._values.get("geo_location")
8377
9022
  return typing.cast(typing.Optional[GeoLocation], result)
8378
9023
 
9024
+ @builtins.property
9025
+ def health_check(self) -> typing.Optional[IHealthCheck]:
9026
+ '''The health check to associate with the record set.
9027
+
9028
+ Route53 will return this record set in response to DNS queries only if the health check is passing.
9029
+
9030
+ :default: - No health check configured
9031
+ '''
9032
+ result = self._values.get("health_check")
9033
+ return typing.cast(typing.Optional[IHealthCheck], result)
9034
+
8379
9035
  @builtins.property
8380
9036
  def multi_value_answer(self) -> typing.Optional[builtins.bool]:
8381
9037
  '''Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries.
@@ -8691,6 +9347,7 @@ class SrvRecord(
8691
9347
  from aws_cdk import aws_route53 as route53
8692
9348
 
8693
9349
  # geo_location: route53.GeoLocation
9350
+ # health_check: route53.HealthCheck
8694
9351
  # hosted_zone: route53.HostedZone
8695
9352
 
8696
9353
  srv_record = route53.SrvRecord(self, "MySrvRecord",
@@ -8706,6 +9363,7 @@ class SrvRecord(
8706
9363
  comment="comment",
8707
9364
  delete_existing=False,
8708
9365
  geo_location=geo_location,
9366
+ health_check=health_check,
8709
9367
  multi_value_answer=False,
8710
9368
  record_name="recordName",
8711
9369
  region="region",
@@ -8725,6 +9383,7 @@ class SrvRecord(
8725
9383
  comment: typing.Optional[builtins.str] = None,
8726
9384
  delete_existing: typing.Optional[builtins.bool] = None,
8727
9385
  geo_location: typing.Optional[GeoLocation] = None,
9386
+ health_check: typing.Optional[IHealthCheck] = None,
8728
9387
  multi_value_answer: typing.Optional[builtins.bool] = None,
8729
9388
  record_name: typing.Optional[builtins.str] = None,
8730
9389
  region: typing.Optional[builtins.str] = None,
@@ -8740,6 +9399,7 @@ class SrvRecord(
8740
9399
  :param comment: A comment to add on the record. Default: no comment
8741
9400
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
8742
9401
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
9402
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
8743
9403
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
8744
9404
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
8745
9405
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -8757,6 +9417,7 @@ class SrvRecord(
8757
9417
  comment=comment,
8758
9418
  delete_existing=delete_existing,
8759
9419
  geo_location=geo_location,
9420
+ health_check=health_check,
8760
9421
  multi_value_answer=multi_value_answer,
8761
9422
  record_name=record_name,
8762
9423
  region=region,
@@ -8776,6 +9437,7 @@ class SrvRecord(
8776
9437
  "comment": "comment",
8777
9438
  "delete_existing": "deleteExisting",
8778
9439
  "geo_location": "geoLocation",
9440
+ "health_check": "healthCheck",
8779
9441
  "multi_value_answer": "multiValueAnswer",
8780
9442
  "record_name": "recordName",
8781
9443
  "region": "region",
@@ -8793,6 +9455,7 @@ class SrvRecordProps(RecordSetOptions):
8793
9455
  comment: typing.Optional[builtins.str] = None,
8794
9456
  delete_existing: typing.Optional[builtins.bool] = None,
8795
9457
  geo_location: typing.Optional[GeoLocation] = None,
9458
+ health_check: typing.Optional[IHealthCheck] = None,
8796
9459
  multi_value_answer: typing.Optional[builtins.bool] = None,
8797
9460
  record_name: typing.Optional[builtins.str] = None,
8798
9461
  region: typing.Optional[builtins.str] = None,
@@ -8807,6 +9470,7 @@ class SrvRecordProps(RecordSetOptions):
8807
9470
  :param comment: A comment to add on the record. Default: no comment
8808
9471
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
8809
9472
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
9473
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
8810
9474
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
8811
9475
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
8812
9476
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -8825,6 +9489,7 @@ class SrvRecordProps(RecordSetOptions):
8825
9489
  from aws_cdk import aws_route53 as route53
8826
9490
 
8827
9491
  # geo_location: route53.GeoLocation
9492
+ # health_check: route53.HealthCheck
8828
9493
  # hosted_zone: route53.HostedZone
8829
9494
 
8830
9495
  srv_record_props = route53.SrvRecordProps(
@@ -8840,6 +9505,7 @@ class SrvRecordProps(RecordSetOptions):
8840
9505
  comment="comment",
8841
9506
  delete_existing=False,
8842
9507
  geo_location=geo_location,
9508
+ health_check=health_check,
8843
9509
  multi_value_answer=False,
8844
9510
  record_name="recordName",
8845
9511
  region="region",
@@ -8854,6 +9520,7 @@ class SrvRecordProps(RecordSetOptions):
8854
9520
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
8855
9521
  check_type(argname="argument delete_existing", value=delete_existing, expected_type=type_hints["delete_existing"])
8856
9522
  check_type(argname="argument geo_location", value=geo_location, expected_type=type_hints["geo_location"])
9523
+ check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
8857
9524
  check_type(argname="argument multi_value_answer", value=multi_value_answer, expected_type=type_hints["multi_value_answer"])
8858
9525
  check_type(argname="argument record_name", value=record_name, expected_type=type_hints["record_name"])
8859
9526
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
@@ -8871,6 +9538,8 @@ class SrvRecordProps(RecordSetOptions):
8871
9538
  self._values["delete_existing"] = delete_existing
8872
9539
  if geo_location is not None:
8873
9540
  self._values["geo_location"] = geo_location
9541
+ if health_check is not None:
9542
+ self._values["health_check"] = health_check
8874
9543
  if multi_value_answer is not None:
8875
9544
  self._values["multi_value_answer"] = multi_value_answer
8876
9545
  if record_name is not None:
@@ -8925,6 +9594,17 @@ class SrvRecordProps(RecordSetOptions):
8925
9594
  result = self._values.get("geo_location")
8926
9595
  return typing.cast(typing.Optional[GeoLocation], result)
8927
9596
 
9597
+ @builtins.property
9598
+ def health_check(self) -> typing.Optional[IHealthCheck]:
9599
+ '''The health check to associate with the record set.
9600
+
9601
+ Route53 will return this record set in response to DNS queries only if the health check is passing.
9602
+
9603
+ :default: - No health check configured
9604
+ '''
9605
+ result = self._values.get("health_check")
9606
+ return typing.cast(typing.Optional[IHealthCheck], result)
9607
+
8928
9608
  @builtins.property
8929
9609
  def multi_value_answer(self) -> typing.Optional[builtins.bool]:
8930
9610
  '''Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries.
@@ -9154,6 +9834,7 @@ class TxtRecord(
9154
9834
  comment: typing.Optional[builtins.str] = None,
9155
9835
  delete_existing: typing.Optional[builtins.bool] = None,
9156
9836
  geo_location: typing.Optional[GeoLocation] = None,
9837
+ health_check: typing.Optional[IHealthCheck] = None,
9157
9838
  multi_value_answer: typing.Optional[builtins.bool] = None,
9158
9839
  record_name: typing.Optional[builtins.str] = None,
9159
9840
  region: typing.Optional[builtins.str] = None,
@@ -9169,6 +9850,7 @@ class TxtRecord(
9169
9850
  :param comment: A comment to add on the record. Default: no comment
9170
9851
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
9171
9852
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
9853
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
9172
9854
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
9173
9855
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
9174
9856
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -9186,6 +9868,7 @@ class TxtRecord(
9186
9868
  comment=comment,
9187
9869
  delete_existing=delete_existing,
9188
9870
  geo_location=geo_location,
9871
+ health_check=health_check,
9189
9872
  multi_value_answer=multi_value_answer,
9190
9873
  record_name=record_name,
9191
9874
  region=region,
@@ -9205,6 +9888,7 @@ class TxtRecord(
9205
9888
  "comment": "comment",
9206
9889
  "delete_existing": "deleteExisting",
9207
9890
  "geo_location": "geoLocation",
9891
+ "health_check": "healthCheck",
9208
9892
  "multi_value_answer": "multiValueAnswer",
9209
9893
  "record_name": "recordName",
9210
9894
  "region": "region",
@@ -9222,6 +9906,7 @@ class TxtRecordProps(RecordSetOptions):
9222
9906
  comment: typing.Optional[builtins.str] = None,
9223
9907
  delete_existing: typing.Optional[builtins.bool] = None,
9224
9908
  geo_location: typing.Optional[GeoLocation] = None,
9909
+ health_check: typing.Optional[IHealthCheck] = None,
9225
9910
  multi_value_answer: typing.Optional[builtins.bool] = None,
9226
9911
  record_name: typing.Optional[builtins.str] = None,
9227
9912
  region: typing.Optional[builtins.str] = None,
@@ -9236,6 +9921,7 @@ class TxtRecordProps(RecordSetOptions):
9236
9921
  :param comment: A comment to add on the record. Default: no comment
9237
9922
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
9238
9923
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
9924
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
9239
9925
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
9240
9926
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
9241
9927
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -9267,6 +9953,7 @@ class TxtRecordProps(RecordSetOptions):
9267
9953
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
9268
9954
  check_type(argname="argument delete_existing", value=delete_existing, expected_type=type_hints["delete_existing"])
9269
9955
  check_type(argname="argument geo_location", value=geo_location, expected_type=type_hints["geo_location"])
9956
+ check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
9270
9957
  check_type(argname="argument multi_value_answer", value=multi_value_answer, expected_type=type_hints["multi_value_answer"])
9271
9958
  check_type(argname="argument record_name", value=record_name, expected_type=type_hints["record_name"])
9272
9959
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
@@ -9284,6 +9971,8 @@ class TxtRecordProps(RecordSetOptions):
9284
9971
  self._values["delete_existing"] = delete_existing
9285
9972
  if geo_location is not None:
9286
9973
  self._values["geo_location"] = geo_location
9974
+ if health_check is not None:
9975
+ self._values["health_check"] = health_check
9287
9976
  if multi_value_answer is not None:
9288
9977
  self._values["multi_value_answer"] = multi_value_answer
9289
9978
  if record_name is not None:
@@ -9338,6 +10027,17 @@ class TxtRecordProps(RecordSetOptions):
9338
10027
  result = self._values.get("geo_location")
9339
10028
  return typing.cast(typing.Optional[GeoLocation], result)
9340
10029
 
10030
+ @builtins.property
10031
+ def health_check(self) -> typing.Optional[IHealthCheck]:
10032
+ '''The health check to associate with the record set.
10033
+
10034
+ Route53 will return this record set in response to DNS queries only if the health check is passing.
10035
+
10036
+ :default: - No health check configured
10037
+ '''
10038
+ result = self._values.get("health_check")
10039
+ return typing.cast(typing.Optional[IHealthCheck], result)
10040
+
9341
10041
  @builtins.property
9342
10042
  def multi_value_answer(self) -> typing.Optional[builtins.bool]:
9343
10043
  '''Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries.
@@ -9679,6 +10379,7 @@ class ZoneDelegationRecord(
9679
10379
  from aws_cdk import aws_route53 as route53
9680
10380
 
9681
10381
  # geo_location: route53.GeoLocation
10382
+ # health_check: route53.HealthCheck
9682
10383
  # hosted_zone: route53.HostedZone
9683
10384
 
9684
10385
  zone_delegation_record = route53.ZoneDelegationRecord(self, "MyZoneDelegationRecord",
@@ -9689,6 +10390,7 @@ class ZoneDelegationRecord(
9689
10390
  comment="comment",
9690
10391
  delete_existing=False,
9691
10392
  geo_location=geo_location,
10393
+ health_check=health_check,
9692
10394
  multi_value_answer=False,
9693
10395
  record_name="recordName",
9694
10396
  region="region",
@@ -9708,6 +10410,7 @@ class ZoneDelegationRecord(
9708
10410
  comment: typing.Optional[builtins.str] = None,
9709
10411
  delete_existing: typing.Optional[builtins.bool] = None,
9710
10412
  geo_location: typing.Optional[GeoLocation] = None,
10413
+ health_check: typing.Optional[IHealthCheck] = None,
9711
10414
  multi_value_answer: typing.Optional[builtins.bool] = None,
9712
10415
  record_name: typing.Optional[builtins.str] = None,
9713
10416
  region: typing.Optional[builtins.str] = None,
@@ -9723,6 +10426,7 @@ class ZoneDelegationRecord(
9723
10426
  :param comment: A comment to add on the record. Default: no comment
9724
10427
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
9725
10428
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
10429
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
9726
10430
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
9727
10431
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
9728
10432
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -9740,6 +10444,7 @@ class ZoneDelegationRecord(
9740
10444
  comment=comment,
9741
10445
  delete_existing=delete_existing,
9742
10446
  geo_location=geo_location,
10447
+ health_check=health_check,
9743
10448
  multi_value_answer=multi_value_answer,
9744
10449
  record_name=record_name,
9745
10450
  region=region,
@@ -9759,6 +10464,7 @@ class ZoneDelegationRecord(
9759
10464
  "comment": "comment",
9760
10465
  "delete_existing": "deleteExisting",
9761
10466
  "geo_location": "geoLocation",
10467
+ "health_check": "healthCheck",
9762
10468
  "multi_value_answer": "multiValueAnswer",
9763
10469
  "record_name": "recordName",
9764
10470
  "region": "region",
@@ -9776,6 +10482,7 @@ class ZoneDelegationRecordProps(RecordSetOptions):
9776
10482
  comment: typing.Optional[builtins.str] = None,
9777
10483
  delete_existing: typing.Optional[builtins.bool] = None,
9778
10484
  geo_location: typing.Optional[GeoLocation] = None,
10485
+ health_check: typing.Optional[IHealthCheck] = None,
9779
10486
  multi_value_answer: typing.Optional[builtins.bool] = None,
9780
10487
  record_name: typing.Optional[builtins.str] = None,
9781
10488
  region: typing.Optional[builtins.str] = None,
@@ -9790,6 +10497,7 @@ class ZoneDelegationRecordProps(RecordSetOptions):
9790
10497
  :param comment: A comment to add on the record. Default: no comment
9791
10498
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
9792
10499
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
10500
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
9793
10501
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
9794
10502
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
9795
10503
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -9808,6 +10516,7 @@ class ZoneDelegationRecordProps(RecordSetOptions):
9808
10516
  from aws_cdk import aws_route53 as route53
9809
10517
 
9810
10518
  # geo_location: route53.GeoLocation
10519
+ # health_check: route53.HealthCheck
9811
10520
  # hosted_zone: route53.HostedZone
9812
10521
 
9813
10522
  zone_delegation_record_props = route53.ZoneDelegationRecordProps(
@@ -9818,6 +10527,7 @@ class ZoneDelegationRecordProps(RecordSetOptions):
9818
10527
  comment="comment",
9819
10528
  delete_existing=False,
9820
10529
  geo_location=geo_location,
10530
+ health_check=health_check,
9821
10531
  multi_value_answer=False,
9822
10532
  record_name="recordName",
9823
10533
  region="region",
@@ -9832,6 +10542,7 @@ class ZoneDelegationRecordProps(RecordSetOptions):
9832
10542
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
9833
10543
  check_type(argname="argument delete_existing", value=delete_existing, expected_type=type_hints["delete_existing"])
9834
10544
  check_type(argname="argument geo_location", value=geo_location, expected_type=type_hints["geo_location"])
10545
+ check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
9835
10546
  check_type(argname="argument multi_value_answer", value=multi_value_answer, expected_type=type_hints["multi_value_answer"])
9836
10547
  check_type(argname="argument record_name", value=record_name, expected_type=type_hints["record_name"])
9837
10548
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
@@ -9849,6 +10560,8 @@ class ZoneDelegationRecordProps(RecordSetOptions):
9849
10560
  self._values["delete_existing"] = delete_existing
9850
10561
  if geo_location is not None:
9851
10562
  self._values["geo_location"] = geo_location
10563
+ if health_check is not None:
10564
+ self._values["health_check"] = health_check
9852
10565
  if multi_value_answer is not None:
9853
10566
  self._values["multi_value_answer"] = multi_value_answer
9854
10567
  if record_name is not None:
@@ -9903,6 +10616,17 @@ class ZoneDelegationRecordProps(RecordSetOptions):
9903
10616
  result = self._values.get("geo_location")
9904
10617
  return typing.cast(typing.Optional[GeoLocation], result)
9905
10618
 
10619
+ @builtins.property
10620
+ def health_check(self) -> typing.Optional[IHealthCheck]:
10621
+ '''The health check to associate with the record set.
10622
+
10623
+ Route53 will return this record set in response to DNS queries only if the health check is passing.
10624
+
10625
+ :default: - No health check configured
10626
+ '''
10627
+ result = self._values.get("health_check")
10628
+ return typing.cast(typing.Optional[IHealthCheck], result)
10629
+
9906
10630
  @builtins.property
9907
10631
  def multi_value_answer(self) -> typing.Optional[builtins.bool]:
9908
10632
  '''Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries.
@@ -10091,15 +10815,18 @@ class ARecord(
10091
10815
 
10092
10816
  Example::
10093
10817
 
10094
- import aws_cdk.aws_apigateway as apigw
10818
+ import aws_cdk.aws_elasticloadbalancingv2 as elbv2
10095
10819
 
10096
10820
  # zone: route53.HostedZone
10097
- # rest_api: apigw.LambdaRestApi
10821
+ # lb: elbv2.ApplicationLoadBalancer
10098
10822
 
10099
10823
 
10100
10824
  route53.ARecord(self, "AliasRecord",
10101
10825
  zone=zone,
10102
- target=route53.RecordTarget.from_alias(targets.ApiGateway(rest_api))
10826
+ target=route53.RecordTarget.from_alias(
10827
+ targets.LoadBalancerTarget(lb, {
10828
+ "evaluate_target_health": True
10829
+ }))
10103
10830
  )
10104
10831
  '''
10105
10832
 
@@ -10113,6 +10840,7 @@ class ARecord(
10113
10840
  comment: typing.Optional[builtins.str] = None,
10114
10841
  delete_existing: typing.Optional[builtins.bool] = None,
10115
10842
  geo_location: typing.Optional[GeoLocation] = None,
10843
+ health_check: typing.Optional[IHealthCheck] = None,
10116
10844
  multi_value_answer: typing.Optional[builtins.bool] = None,
10117
10845
  record_name: typing.Optional[builtins.str] = None,
10118
10846
  region: typing.Optional[builtins.str] = None,
@@ -10128,6 +10856,7 @@ class ARecord(
10128
10856
  :param comment: A comment to add on the record. Default: no comment
10129
10857
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
10130
10858
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
10859
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
10131
10860
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
10132
10861
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
10133
10862
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -10145,6 +10874,7 @@ class ARecord(
10145
10874
  comment=comment,
10146
10875
  delete_existing=delete_existing,
10147
10876
  geo_location=geo_location,
10877
+ health_check=health_check,
10148
10878
  multi_value_answer=multi_value_answer,
10149
10879
  record_name=record_name,
10150
10880
  region=region,
@@ -10167,6 +10897,7 @@ class ARecord(
10167
10897
  comment: typing.Optional[builtins.str] = None,
10168
10898
  delete_existing: typing.Optional[builtins.bool] = None,
10169
10899
  geo_location: typing.Optional[GeoLocation] = None,
10900
+ health_check: typing.Optional[IHealthCheck] = None,
10170
10901
  multi_value_answer: typing.Optional[builtins.bool] = None,
10171
10902
  record_name: typing.Optional[builtins.str] = None,
10172
10903
  region: typing.Optional[builtins.str] = None,
@@ -10186,6 +10917,7 @@ class ARecord(
10186
10917
  :param comment: A comment to add on the record. Default: no comment
10187
10918
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
10188
10919
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
10920
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
10189
10921
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
10190
10922
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
10191
10923
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -10207,6 +10939,7 @@ class ARecord(
10207
10939
  comment=comment,
10208
10940
  delete_existing=delete_existing,
10209
10941
  geo_location=geo_location,
10942
+ health_check=health_check,
10210
10943
  multi_value_answer=multi_value_answer,
10211
10944
  record_name=record_name,
10212
10945
  region=region,
@@ -10226,6 +10959,7 @@ class ARecord(
10226
10959
  "comment": "comment",
10227
10960
  "delete_existing": "deleteExisting",
10228
10961
  "geo_location": "geoLocation",
10962
+ "health_check": "healthCheck",
10229
10963
  "multi_value_answer": "multiValueAnswer",
10230
10964
  "record_name": "recordName",
10231
10965
  "region": "region",
@@ -10243,6 +10977,7 @@ class ARecordAttrs(RecordSetOptions):
10243
10977
  comment: typing.Optional[builtins.str] = None,
10244
10978
  delete_existing: typing.Optional[builtins.bool] = None,
10245
10979
  geo_location: typing.Optional[GeoLocation] = None,
10980
+ health_check: typing.Optional[IHealthCheck] = None,
10246
10981
  multi_value_answer: typing.Optional[builtins.bool] = None,
10247
10982
  record_name: typing.Optional[builtins.str] = None,
10248
10983
  region: typing.Optional[builtins.str] = None,
@@ -10257,6 +10992,7 @@ class ARecordAttrs(RecordSetOptions):
10257
10992
  :param comment: A comment to add on the record. Default: no comment
10258
10993
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
10259
10994
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
10995
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
10260
10996
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
10261
10997
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
10262
10998
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -10285,6 +11021,7 @@ class ARecordAttrs(RecordSetOptions):
10285
11021
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
10286
11022
  check_type(argname="argument delete_existing", value=delete_existing, expected_type=type_hints["delete_existing"])
10287
11023
  check_type(argname="argument geo_location", value=geo_location, expected_type=type_hints["geo_location"])
11024
+ check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
10288
11025
  check_type(argname="argument multi_value_answer", value=multi_value_answer, expected_type=type_hints["multi_value_answer"])
10289
11026
  check_type(argname="argument record_name", value=record_name, expected_type=type_hints["record_name"])
10290
11027
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
@@ -10302,6 +11039,8 @@ class ARecordAttrs(RecordSetOptions):
10302
11039
  self._values["delete_existing"] = delete_existing
10303
11040
  if geo_location is not None:
10304
11041
  self._values["geo_location"] = geo_location
11042
+ if health_check is not None:
11043
+ self._values["health_check"] = health_check
10305
11044
  if multi_value_answer is not None:
10306
11045
  self._values["multi_value_answer"] = multi_value_answer
10307
11046
  if record_name is not None:
@@ -10356,6 +11095,17 @@ class ARecordAttrs(RecordSetOptions):
10356
11095
  result = self._values.get("geo_location")
10357
11096
  return typing.cast(typing.Optional[GeoLocation], result)
10358
11097
 
11098
+ @builtins.property
11099
+ def health_check(self) -> typing.Optional[IHealthCheck]:
11100
+ '''The health check to associate with the record set.
11101
+
11102
+ Route53 will return this record set in response to DNS queries only if the health check is passing.
11103
+
11104
+ :default: - No health check configured
11105
+ '''
11106
+ result = self._values.get("health_check")
11107
+ return typing.cast(typing.Optional[IHealthCheck], result)
11108
+
10359
11109
  @builtins.property
10360
11110
  def multi_value_answer(self) -> typing.Optional[builtins.bool]:
10361
11111
  '''Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries.
@@ -10463,6 +11213,7 @@ class ARecordAttrs(RecordSetOptions):
10463
11213
  "comment": "comment",
10464
11214
  "delete_existing": "deleteExisting",
10465
11215
  "geo_location": "geoLocation",
11216
+ "health_check": "healthCheck",
10466
11217
  "multi_value_answer": "multiValueAnswer",
10467
11218
  "record_name": "recordName",
10468
11219
  "region": "region",
@@ -10480,6 +11231,7 @@ class ARecordProps(RecordSetOptions):
10480
11231
  comment: typing.Optional[builtins.str] = None,
10481
11232
  delete_existing: typing.Optional[builtins.bool] = None,
10482
11233
  geo_location: typing.Optional[GeoLocation] = None,
11234
+ health_check: typing.Optional[IHealthCheck] = None,
10483
11235
  multi_value_answer: typing.Optional[builtins.bool] = None,
10484
11236
  record_name: typing.Optional[builtins.str] = None,
10485
11237
  region: typing.Optional[builtins.str] = None,
@@ -10494,6 +11246,7 @@ class ARecordProps(RecordSetOptions):
10494
11246
  :param comment: A comment to add on the record. Default: no comment
10495
11247
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
10496
11248
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
11249
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
10497
11250
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
10498
11251
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
10499
11252
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -10506,15 +11259,18 @@ class ARecordProps(RecordSetOptions):
10506
11259
 
10507
11260
  Example::
10508
11261
 
10509
- import aws_cdk.aws_apigateway as apigw
11262
+ import aws_cdk.aws_elasticloadbalancingv2 as elbv2
10510
11263
 
10511
11264
  # zone: route53.HostedZone
10512
- # rest_api: apigw.LambdaRestApi
11265
+ # lb: elbv2.ApplicationLoadBalancer
10513
11266
 
10514
11267
 
10515
11268
  route53.ARecord(self, "AliasRecord",
10516
11269
  zone=zone,
10517
- target=route53.RecordTarget.from_alias(targets.ApiGateway(rest_api))
11270
+ target=route53.RecordTarget.from_alias(
11271
+ targets.LoadBalancerTarget(lb, {
11272
+ "evaluate_target_health": True
11273
+ }))
10518
11274
  )
10519
11275
  '''
10520
11276
  if __debug__:
@@ -10523,6 +11279,7 @@ class ARecordProps(RecordSetOptions):
10523
11279
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
10524
11280
  check_type(argname="argument delete_existing", value=delete_existing, expected_type=type_hints["delete_existing"])
10525
11281
  check_type(argname="argument geo_location", value=geo_location, expected_type=type_hints["geo_location"])
11282
+ check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
10526
11283
  check_type(argname="argument multi_value_answer", value=multi_value_answer, expected_type=type_hints["multi_value_answer"])
10527
11284
  check_type(argname="argument record_name", value=record_name, expected_type=type_hints["record_name"])
10528
11285
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
@@ -10540,6 +11297,8 @@ class ARecordProps(RecordSetOptions):
10540
11297
  self._values["delete_existing"] = delete_existing
10541
11298
  if geo_location is not None:
10542
11299
  self._values["geo_location"] = geo_location
11300
+ if health_check is not None:
11301
+ self._values["health_check"] = health_check
10543
11302
  if multi_value_answer is not None:
10544
11303
  self._values["multi_value_answer"] = multi_value_answer
10545
11304
  if record_name is not None:
@@ -10594,6 +11353,17 @@ class ARecordProps(RecordSetOptions):
10594
11353
  result = self._values.get("geo_location")
10595
11354
  return typing.cast(typing.Optional[GeoLocation], result)
10596
11355
 
11356
+ @builtins.property
11357
+ def health_check(self) -> typing.Optional[IHealthCheck]:
11358
+ '''The health check to associate with the record set.
11359
+
11360
+ Route53 will return this record set in response to DNS queries only if the health check is passing.
11361
+
11362
+ :default: - No health check configured
11363
+ '''
11364
+ result = self._values.get("health_check")
11365
+ return typing.cast(typing.Optional[IHealthCheck], result)
11366
+
10597
11367
  @builtins.property
10598
11368
  def multi_value_answer(self) -> typing.Optional[builtins.bool]:
10599
11369
  '''Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries.
@@ -10726,6 +11496,7 @@ class AaaaRecord(
10726
11496
  comment: typing.Optional[builtins.str] = None,
10727
11497
  delete_existing: typing.Optional[builtins.bool] = None,
10728
11498
  geo_location: typing.Optional[GeoLocation] = None,
11499
+ health_check: typing.Optional[IHealthCheck] = None,
10729
11500
  multi_value_answer: typing.Optional[builtins.bool] = None,
10730
11501
  record_name: typing.Optional[builtins.str] = None,
10731
11502
  region: typing.Optional[builtins.str] = None,
@@ -10741,6 +11512,7 @@ class AaaaRecord(
10741
11512
  :param comment: A comment to add on the record. Default: no comment
10742
11513
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
10743
11514
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
11515
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
10744
11516
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
10745
11517
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
10746
11518
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -10758,6 +11530,7 @@ class AaaaRecord(
10758
11530
  comment=comment,
10759
11531
  delete_existing=delete_existing,
10760
11532
  geo_location=geo_location,
11533
+ health_check=health_check,
10761
11534
  multi_value_answer=multi_value_answer,
10762
11535
  record_name=record_name,
10763
11536
  region=region,
@@ -10777,6 +11550,7 @@ class AaaaRecord(
10777
11550
  "comment": "comment",
10778
11551
  "delete_existing": "deleteExisting",
10779
11552
  "geo_location": "geoLocation",
11553
+ "health_check": "healthCheck",
10780
11554
  "multi_value_answer": "multiValueAnswer",
10781
11555
  "record_name": "recordName",
10782
11556
  "region": "region",
@@ -10794,6 +11568,7 @@ class AaaaRecordProps(RecordSetOptions):
10794
11568
  comment: typing.Optional[builtins.str] = None,
10795
11569
  delete_existing: typing.Optional[builtins.bool] = None,
10796
11570
  geo_location: typing.Optional[GeoLocation] = None,
11571
+ health_check: typing.Optional[IHealthCheck] = None,
10797
11572
  multi_value_answer: typing.Optional[builtins.bool] = None,
10798
11573
  record_name: typing.Optional[builtins.str] = None,
10799
11574
  region: typing.Optional[builtins.str] = None,
@@ -10808,6 +11583,7 @@ class AaaaRecordProps(RecordSetOptions):
10808
11583
  :param comment: A comment to add on the record. Default: no comment
10809
11584
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
10810
11585
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
11586
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
10811
11587
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
10812
11588
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
10813
11589
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -10836,6 +11612,7 @@ class AaaaRecordProps(RecordSetOptions):
10836
11612
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
10837
11613
  check_type(argname="argument delete_existing", value=delete_existing, expected_type=type_hints["delete_existing"])
10838
11614
  check_type(argname="argument geo_location", value=geo_location, expected_type=type_hints["geo_location"])
11615
+ check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
10839
11616
  check_type(argname="argument multi_value_answer", value=multi_value_answer, expected_type=type_hints["multi_value_answer"])
10840
11617
  check_type(argname="argument record_name", value=record_name, expected_type=type_hints["record_name"])
10841
11618
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
@@ -10853,6 +11630,8 @@ class AaaaRecordProps(RecordSetOptions):
10853
11630
  self._values["delete_existing"] = delete_existing
10854
11631
  if geo_location is not None:
10855
11632
  self._values["geo_location"] = geo_location
11633
+ if health_check is not None:
11634
+ self._values["health_check"] = health_check
10856
11635
  if multi_value_answer is not None:
10857
11636
  self._values["multi_value_answer"] = multi_value_answer
10858
11637
  if record_name is not None:
@@ -10907,6 +11686,17 @@ class AaaaRecordProps(RecordSetOptions):
10907
11686
  result = self._values.get("geo_location")
10908
11687
  return typing.cast(typing.Optional[GeoLocation], result)
10909
11688
 
11689
+ @builtins.property
11690
+ def health_check(self) -> typing.Optional[IHealthCheck]:
11691
+ '''The health check to associate with the record set.
11692
+
11693
+ Route53 will return this record set in response to DNS queries only if the health check is passing.
11694
+
11695
+ :default: - No health check configured
11696
+ '''
11697
+ result = self._values.get("health_check")
11698
+ return typing.cast(typing.Optional[IHealthCheck], result)
11699
+
10910
11700
  @builtins.property
10911
11701
  def multi_value_answer(self) -> typing.Optional[builtins.bool]:
10912
11702
  '''Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries.
@@ -11014,6 +11804,7 @@ class AaaaRecordProps(RecordSetOptions):
11014
11804
  "comment": "comment",
11015
11805
  "delete_existing": "deleteExisting",
11016
11806
  "geo_location": "geoLocation",
11807
+ "health_check": "healthCheck",
11017
11808
  "multi_value_answer": "multiValueAnswer",
11018
11809
  "record_name": "recordName",
11019
11810
  "region": "region",
@@ -11030,6 +11821,7 @@ class CaaAmazonRecordProps(RecordSetOptions):
11030
11821
  comment: typing.Optional[builtins.str] = None,
11031
11822
  delete_existing: typing.Optional[builtins.bool] = None,
11032
11823
  geo_location: typing.Optional[GeoLocation] = None,
11824
+ health_check: typing.Optional[IHealthCheck] = None,
11033
11825
  multi_value_answer: typing.Optional[builtins.bool] = None,
11034
11826
  record_name: typing.Optional[builtins.str] = None,
11035
11827
  region: typing.Optional[builtins.str] = None,
@@ -11043,6 +11835,7 @@ class CaaAmazonRecordProps(RecordSetOptions):
11043
11835
  :param comment: A comment to add on the record. Default: no comment
11044
11836
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
11045
11837
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
11838
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
11046
11839
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
11047
11840
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
11048
11841
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -11060,6 +11853,7 @@ class CaaAmazonRecordProps(RecordSetOptions):
11060
11853
  from aws_cdk import aws_route53 as route53
11061
11854
 
11062
11855
  # geo_location: route53.GeoLocation
11856
+ # health_check: route53.HealthCheck
11063
11857
  # hosted_zone: route53.HostedZone
11064
11858
 
11065
11859
  caa_amazon_record_props = route53.CaaAmazonRecordProps(
@@ -11069,6 +11863,7 @@ class CaaAmazonRecordProps(RecordSetOptions):
11069
11863
  comment="comment",
11070
11864
  delete_existing=False,
11071
11865
  geo_location=geo_location,
11866
+ health_check=health_check,
11072
11867
  multi_value_answer=False,
11073
11868
  record_name="recordName",
11074
11869
  region="region",
@@ -11083,6 +11878,7 @@ class CaaAmazonRecordProps(RecordSetOptions):
11083
11878
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
11084
11879
  check_type(argname="argument delete_existing", value=delete_existing, expected_type=type_hints["delete_existing"])
11085
11880
  check_type(argname="argument geo_location", value=geo_location, expected_type=type_hints["geo_location"])
11881
+ check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
11086
11882
  check_type(argname="argument multi_value_answer", value=multi_value_answer, expected_type=type_hints["multi_value_answer"])
11087
11883
  check_type(argname="argument record_name", value=record_name, expected_type=type_hints["record_name"])
11088
11884
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
@@ -11098,6 +11894,8 @@ class CaaAmazonRecordProps(RecordSetOptions):
11098
11894
  self._values["delete_existing"] = delete_existing
11099
11895
  if geo_location is not None:
11100
11896
  self._values["geo_location"] = geo_location
11897
+ if health_check is not None:
11898
+ self._values["health_check"] = health_check
11101
11899
  if multi_value_answer is not None:
11102
11900
  self._values["multi_value_answer"] = multi_value_answer
11103
11901
  if record_name is not None:
@@ -11152,6 +11950,17 @@ class CaaAmazonRecordProps(RecordSetOptions):
11152
11950
  result = self._values.get("geo_location")
11153
11951
  return typing.cast(typing.Optional[GeoLocation], result)
11154
11952
 
11953
+ @builtins.property
11954
+ def health_check(self) -> typing.Optional[IHealthCheck]:
11955
+ '''The health check to associate with the record set.
11956
+
11957
+ Route53 will return this record set in response to DNS queries only if the health check is passing.
11958
+
11959
+ :default: - No health check configured
11960
+ '''
11961
+ result = self._values.get("health_check")
11962
+ return typing.cast(typing.Optional[IHealthCheck], result)
11963
+
11155
11964
  @builtins.property
11156
11965
  def multi_value_answer(self) -> typing.Optional[builtins.bool]:
11157
11966
  '''Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries.
@@ -11262,6 +12071,7 @@ class CaaRecord(
11262
12071
  from aws_cdk import aws_route53 as route53
11263
12072
 
11264
12073
  # geo_location: route53.GeoLocation
12074
+ # health_check: route53.HealthCheck
11265
12075
  # hosted_zone: route53.HostedZone
11266
12076
 
11267
12077
  caa_record = route53.CaaRecord(self, "MyCaaRecord",
@@ -11276,6 +12086,7 @@ class CaaRecord(
11276
12086
  comment="comment",
11277
12087
  delete_existing=False,
11278
12088
  geo_location=geo_location,
12089
+ health_check=health_check,
11279
12090
  multi_value_answer=False,
11280
12091
  record_name="recordName",
11281
12092
  region="region",
@@ -11295,6 +12106,7 @@ class CaaRecord(
11295
12106
  comment: typing.Optional[builtins.str] = None,
11296
12107
  delete_existing: typing.Optional[builtins.bool] = None,
11297
12108
  geo_location: typing.Optional[GeoLocation] = None,
12109
+ health_check: typing.Optional[IHealthCheck] = None,
11298
12110
  multi_value_answer: typing.Optional[builtins.bool] = None,
11299
12111
  record_name: typing.Optional[builtins.str] = None,
11300
12112
  region: typing.Optional[builtins.str] = None,
@@ -11310,6 +12122,7 @@ class CaaRecord(
11310
12122
  :param comment: A comment to add on the record. Default: no comment
11311
12123
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
11312
12124
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
12125
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
11313
12126
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
11314
12127
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
11315
12128
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -11327,6 +12140,7 @@ class CaaRecord(
11327
12140
  comment=comment,
11328
12141
  delete_existing=delete_existing,
11329
12142
  geo_location=geo_location,
12143
+ health_check=health_check,
11330
12144
  multi_value_answer=multi_value_answer,
11331
12145
  record_name=record_name,
11332
12146
  region=region,
@@ -11346,6 +12160,7 @@ class CaaRecord(
11346
12160
  "comment": "comment",
11347
12161
  "delete_existing": "deleteExisting",
11348
12162
  "geo_location": "geoLocation",
12163
+ "health_check": "healthCheck",
11349
12164
  "multi_value_answer": "multiValueAnswer",
11350
12165
  "record_name": "recordName",
11351
12166
  "region": "region",
@@ -11363,6 +12178,7 @@ class CaaRecordProps(RecordSetOptions):
11363
12178
  comment: typing.Optional[builtins.str] = None,
11364
12179
  delete_existing: typing.Optional[builtins.bool] = None,
11365
12180
  geo_location: typing.Optional[GeoLocation] = None,
12181
+ health_check: typing.Optional[IHealthCheck] = None,
11366
12182
  multi_value_answer: typing.Optional[builtins.bool] = None,
11367
12183
  record_name: typing.Optional[builtins.str] = None,
11368
12184
  region: typing.Optional[builtins.str] = None,
@@ -11377,6 +12193,7 @@ class CaaRecordProps(RecordSetOptions):
11377
12193
  :param comment: A comment to add on the record. Default: no comment
11378
12194
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
11379
12195
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
12196
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
11380
12197
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
11381
12198
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
11382
12199
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -11395,6 +12212,7 @@ class CaaRecordProps(RecordSetOptions):
11395
12212
  from aws_cdk import aws_route53 as route53
11396
12213
 
11397
12214
  # geo_location: route53.GeoLocation
12215
+ # health_check: route53.HealthCheck
11398
12216
  # hosted_zone: route53.HostedZone
11399
12217
 
11400
12218
  caa_record_props = route53.CaaRecordProps(
@@ -11409,6 +12227,7 @@ class CaaRecordProps(RecordSetOptions):
11409
12227
  comment="comment",
11410
12228
  delete_existing=False,
11411
12229
  geo_location=geo_location,
12230
+ health_check=health_check,
11412
12231
  multi_value_answer=False,
11413
12232
  record_name="recordName",
11414
12233
  region="region",
@@ -11423,6 +12242,7 @@ class CaaRecordProps(RecordSetOptions):
11423
12242
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
11424
12243
  check_type(argname="argument delete_existing", value=delete_existing, expected_type=type_hints["delete_existing"])
11425
12244
  check_type(argname="argument geo_location", value=geo_location, expected_type=type_hints["geo_location"])
12245
+ check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
11426
12246
  check_type(argname="argument multi_value_answer", value=multi_value_answer, expected_type=type_hints["multi_value_answer"])
11427
12247
  check_type(argname="argument record_name", value=record_name, expected_type=type_hints["record_name"])
11428
12248
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
@@ -11440,6 +12260,8 @@ class CaaRecordProps(RecordSetOptions):
11440
12260
  self._values["delete_existing"] = delete_existing
11441
12261
  if geo_location is not None:
11442
12262
  self._values["geo_location"] = geo_location
12263
+ if health_check is not None:
12264
+ self._values["health_check"] = health_check
11443
12265
  if multi_value_answer is not None:
11444
12266
  self._values["multi_value_answer"] = multi_value_answer
11445
12267
  if record_name is not None:
@@ -11494,6 +12316,17 @@ class CaaRecordProps(RecordSetOptions):
11494
12316
  result = self._values.get("geo_location")
11495
12317
  return typing.cast(typing.Optional[GeoLocation], result)
11496
12318
 
12319
+ @builtins.property
12320
+ def health_check(self) -> typing.Optional[IHealthCheck]:
12321
+ '''The health check to associate with the record set.
12322
+
12323
+ Route53 will return this record set in response to DNS queries only if the health check is passing.
12324
+
12325
+ :default: - No health check configured
12326
+ '''
12327
+ result = self._values.get("health_check")
12328
+ return typing.cast(typing.Optional[IHealthCheck], result)
12329
+
11497
12330
  @builtins.property
11498
12331
  def multi_value_answer(self) -> typing.Optional[builtins.bool]:
11499
12332
  '''Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries.
@@ -11649,6 +12482,7 @@ class CnameRecord(
11649
12482
  comment: typing.Optional[builtins.str] = None,
11650
12483
  delete_existing: typing.Optional[builtins.bool] = None,
11651
12484
  geo_location: typing.Optional[GeoLocation] = None,
12485
+ health_check: typing.Optional[IHealthCheck] = None,
11652
12486
  multi_value_answer: typing.Optional[builtins.bool] = None,
11653
12487
  record_name: typing.Optional[builtins.str] = None,
11654
12488
  region: typing.Optional[builtins.str] = None,
@@ -11664,6 +12498,7 @@ class CnameRecord(
11664
12498
  :param comment: A comment to add on the record. Default: no comment
11665
12499
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
11666
12500
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
12501
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
11667
12502
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
11668
12503
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
11669
12504
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -11681,6 +12516,7 @@ class CnameRecord(
11681
12516
  comment=comment,
11682
12517
  delete_existing=delete_existing,
11683
12518
  geo_location=geo_location,
12519
+ health_check=health_check,
11684
12520
  multi_value_answer=multi_value_answer,
11685
12521
  record_name=record_name,
11686
12522
  region=region,
@@ -11700,6 +12536,7 @@ class CnameRecord(
11700
12536
  "comment": "comment",
11701
12537
  "delete_existing": "deleteExisting",
11702
12538
  "geo_location": "geoLocation",
12539
+ "health_check": "healthCheck",
11703
12540
  "multi_value_answer": "multiValueAnswer",
11704
12541
  "record_name": "recordName",
11705
12542
  "region": "region",
@@ -11717,6 +12554,7 @@ class CnameRecordProps(RecordSetOptions):
11717
12554
  comment: typing.Optional[builtins.str] = None,
11718
12555
  delete_existing: typing.Optional[builtins.bool] = None,
11719
12556
  geo_location: typing.Optional[GeoLocation] = None,
12557
+ health_check: typing.Optional[IHealthCheck] = None,
11720
12558
  multi_value_answer: typing.Optional[builtins.bool] = None,
11721
12559
  record_name: typing.Optional[builtins.str] = None,
11722
12560
  region: typing.Optional[builtins.str] = None,
@@ -11731,6 +12569,7 @@ class CnameRecordProps(RecordSetOptions):
11731
12569
  :param comment: A comment to add on the record. Default: no comment
11732
12570
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
11733
12571
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
12572
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
11734
12573
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
11735
12574
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
11736
12575
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -11782,6 +12621,7 @@ class CnameRecordProps(RecordSetOptions):
11782
12621
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
11783
12622
  check_type(argname="argument delete_existing", value=delete_existing, expected_type=type_hints["delete_existing"])
11784
12623
  check_type(argname="argument geo_location", value=geo_location, expected_type=type_hints["geo_location"])
12624
+ check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
11785
12625
  check_type(argname="argument multi_value_answer", value=multi_value_answer, expected_type=type_hints["multi_value_answer"])
11786
12626
  check_type(argname="argument record_name", value=record_name, expected_type=type_hints["record_name"])
11787
12627
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
@@ -11799,6 +12639,8 @@ class CnameRecordProps(RecordSetOptions):
11799
12639
  self._values["delete_existing"] = delete_existing
11800
12640
  if geo_location is not None:
11801
12641
  self._values["geo_location"] = geo_location
12642
+ if health_check is not None:
12643
+ self._values["health_check"] = health_check
11802
12644
  if multi_value_answer is not None:
11803
12645
  self._values["multi_value_answer"] = multi_value_answer
11804
12646
  if record_name is not None:
@@ -11853,6 +12695,17 @@ class CnameRecordProps(RecordSetOptions):
11853
12695
  result = self._values.get("geo_location")
11854
12696
  return typing.cast(typing.Optional[GeoLocation], result)
11855
12697
 
12698
+ @builtins.property
12699
+ def health_check(self) -> typing.Optional[IHealthCheck]:
12700
+ '''The health check to associate with the record set.
12701
+
12702
+ Route53 will return this record set in response to DNS queries only if the health check is passing.
12703
+
12704
+ :default: - No health check configured
12705
+ '''
12706
+ result = self._values.get("health_check")
12707
+ return typing.cast(typing.Optional[IHealthCheck], result)
12708
+
11856
12709
  @builtins.property
11857
12710
  def multi_value_answer(self) -> typing.Optional[builtins.bool]:
11858
12711
  '''Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries.
@@ -11986,6 +12839,7 @@ class DsRecord(
11986
12839
  comment: typing.Optional[builtins.str] = None,
11987
12840
  delete_existing: typing.Optional[builtins.bool] = None,
11988
12841
  geo_location: typing.Optional[GeoLocation] = None,
12842
+ health_check: typing.Optional[IHealthCheck] = None,
11989
12843
  multi_value_answer: typing.Optional[builtins.bool] = None,
11990
12844
  record_name: typing.Optional[builtins.str] = None,
11991
12845
  region: typing.Optional[builtins.str] = None,
@@ -12001,6 +12855,7 @@ class DsRecord(
12001
12855
  :param comment: A comment to add on the record. Default: no comment
12002
12856
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
12003
12857
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
12858
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
12004
12859
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
12005
12860
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
12006
12861
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -12018,6 +12873,7 @@ class DsRecord(
12018
12873
  comment=comment,
12019
12874
  delete_existing=delete_existing,
12020
12875
  geo_location=geo_location,
12876
+ health_check=health_check,
12021
12877
  multi_value_answer=multi_value_answer,
12022
12878
  record_name=record_name,
12023
12879
  region=region,
@@ -12037,6 +12893,7 @@ class DsRecord(
12037
12893
  "comment": "comment",
12038
12894
  "delete_existing": "deleteExisting",
12039
12895
  "geo_location": "geoLocation",
12896
+ "health_check": "healthCheck",
12040
12897
  "multi_value_answer": "multiValueAnswer",
12041
12898
  "record_name": "recordName",
12042
12899
  "region": "region",
@@ -12054,6 +12911,7 @@ class DsRecordProps(RecordSetOptions):
12054
12911
  comment: typing.Optional[builtins.str] = None,
12055
12912
  delete_existing: typing.Optional[builtins.bool] = None,
12056
12913
  geo_location: typing.Optional[GeoLocation] = None,
12914
+ health_check: typing.Optional[IHealthCheck] = None,
12057
12915
  multi_value_answer: typing.Optional[builtins.bool] = None,
12058
12916
  record_name: typing.Optional[builtins.str] = None,
12059
12917
  region: typing.Optional[builtins.str] = None,
@@ -12068,6 +12926,7 @@ class DsRecordProps(RecordSetOptions):
12068
12926
  :param comment: A comment to add on the record. Default: no comment
12069
12927
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
12070
12928
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
12929
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
12071
12930
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
12072
12931
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
12073
12932
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -12097,6 +12956,7 @@ class DsRecordProps(RecordSetOptions):
12097
12956
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
12098
12957
  check_type(argname="argument delete_existing", value=delete_existing, expected_type=type_hints["delete_existing"])
12099
12958
  check_type(argname="argument geo_location", value=geo_location, expected_type=type_hints["geo_location"])
12959
+ check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
12100
12960
  check_type(argname="argument multi_value_answer", value=multi_value_answer, expected_type=type_hints["multi_value_answer"])
12101
12961
  check_type(argname="argument record_name", value=record_name, expected_type=type_hints["record_name"])
12102
12962
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
@@ -12114,6 +12974,8 @@ class DsRecordProps(RecordSetOptions):
12114
12974
  self._values["delete_existing"] = delete_existing
12115
12975
  if geo_location is not None:
12116
12976
  self._values["geo_location"] = geo_location
12977
+ if health_check is not None:
12978
+ self._values["health_check"] = health_check
12117
12979
  if multi_value_answer is not None:
12118
12980
  self._values["multi_value_answer"] = multi_value_answer
12119
12981
  if record_name is not None:
@@ -12168,6 +13030,17 @@ class DsRecordProps(RecordSetOptions):
12168
13030
  result = self._values.get("geo_location")
12169
13031
  return typing.cast(typing.Optional[GeoLocation], result)
12170
13032
 
13033
+ @builtins.property
13034
+ def health_check(self) -> typing.Optional[IHealthCheck]:
13035
+ '''The health check to associate with the record set.
13036
+
13037
+ Route53 will return this record set in response to DNS queries only if the health check is passing.
13038
+
13039
+ :default: - No health check configured
13040
+ '''
13041
+ result = self._values.get("health_check")
13042
+ return typing.cast(typing.Optional[IHealthCheck], result)
13043
+
12171
13044
  @builtins.property
12172
13045
  def multi_value_answer(self) -> typing.Optional[builtins.bool]:
12173
13046
  '''Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries.
@@ -12267,6 +13140,153 @@ class DsRecordProps(RecordSetOptions):
12267
13140
  )
12268
13141
 
12269
13142
 
13143
+ @jsii.implements(IHealthCheck)
13144
+ class HealthCheck(
13145
+ _Resource_45bc6135,
13146
+ metaclass=jsii.JSIIMeta,
13147
+ jsii_type="aws-cdk-lib.aws_route53.HealthCheck",
13148
+ ):
13149
+ '''Amazon Route 53 health checks monitor the health and performance of your web applications, web servers, and other resources.
13150
+
13151
+ Each health check that you create can monitor one of the following:
13152
+
13153
+ - The health of a resource, such as a web server,
13154
+ - The status of other health checks, and
13155
+ - The CloudWatch alarm that you specify,
13156
+ - The status of an Amazon Route 53 routing control.
13157
+
13158
+ :exampleMetadata: infused
13159
+
13160
+ Example::
13161
+
13162
+ # my_zone: route53.HostedZone
13163
+
13164
+
13165
+ health_check = route53.HealthCheck(self, "HealthCheck",
13166
+ type=route53.HealthCheckType.HTTP,
13167
+ fqdn="example.com",
13168
+ port=80,
13169
+ resource_path="/health",
13170
+ failure_threshold=3,
13171
+ request_interval=Duration.seconds(30)
13172
+ )
13173
+
13174
+ route53.ARecord(self, "ARecord",
13175
+ zone=my_zone,
13176
+ target=route53.RecordTarget.from_ip_addresses("1.2.3.4"),
13177
+ health_check=health_check,
13178
+ weight=100
13179
+ )
13180
+ route53.ARecord(self, "ARecord2",
13181
+ zone=my_zone,
13182
+ target=route53.RecordTarget.from_ip_addresses("5.6.7.8"),
13183
+ weight=0
13184
+ )
13185
+ '''
13186
+
13187
+ def __init__(
13188
+ self,
13189
+ scope: _constructs_77d1e7e8.Construct,
13190
+ id: builtins.str,
13191
+ *,
13192
+ type: HealthCheckType,
13193
+ alarm_identifier: typing.Optional[typing.Union[AlarmIdentifier, typing.Dict[builtins.str, typing.Any]]] = None,
13194
+ child_health_checks: typing.Optional[typing.Sequence[IHealthCheck]] = None,
13195
+ enable_sni: typing.Optional[builtins.bool] = None,
13196
+ failure_threshold: typing.Optional[jsii.Number] = None,
13197
+ fqdn: typing.Optional[builtins.str] = None,
13198
+ health_threshold: typing.Optional[jsii.Number] = None,
13199
+ insufficient_data_health_status: typing.Optional[InsufficientDataHealthStatusEnum] = None,
13200
+ inverted: typing.Optional[builtins.bool] = None,
13201
+ ip_address: typing.Optional[builtins.str] = None,
13202
+ measure_latency: typing.Optional[builtins.bool] = None,
13203
+ port: typing.Optional[jsii.Number] = None,
13204
+ regions: typing.Optional[typing.Sequence[builtins.str]] = None,
13205
+ request_interval: typing.Optional[_Duration_4839e8c3] = None,
13206
+ resource_path: typing.Optional[builtins.str] = None,
13207
+ routing_control: typing.Optional[builtins.str] = None,
13208
+ search_string: typing.Optional[builtins.str] = None,
13209
+ ) -> None:
13210
+ '''Creates a new health check.
13211
+
13212
+ :param scope: The parent creating construct (usually ``this``).
13213
+ :param id: The construct's name.
13214
+ :param type: The type of health check to be associated with the record.
13215
+ :param alarm_identifier: CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy. Default: - if the type is CLOUDWATCH_METRIC, this property is required. Otherwise, it is not configured.
13216
+ :param child_health_checks: A list of health checks to monitor for this 'CALCULATED' health check. Default: - if the type is CALCULATED, this property is required. Otherwise, it is not configured.
13217
+ :param enable_sni: Specify whether you want Amazon Route 53 to send the value of FullyQualifiedDomainName to the endpoint in the client_hello message during TLS negotiation. This allows the endpoint to respond to HTTPS health check requests with the applicable SSL/TLS certificate. Default: - if the type is HTTPS or HTTPS_STR_MATCH, this property default value is true. Otherwise, it is not configured.
13218
+ :param failure_threshold: The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. Default: - if the type is CALCULATED it's not configured - if the type is CLOUDWATCH_METRIC it's not configured - otherwise, the default value is 3.
13219
+ :param fqdn: Fully qualified domain name of the endpoint to be checked. Amazon Route 53 behavior depends on whether you specify a value for IPAddress. If you specify a value for IPAddress: Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName in the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Route 53 to perform health checks. Note: If you specify a value for Port property other than 80 or 443, Route 53 will constract the value for Host header as FullyQualifiedDomainName:Port. If you don't specify a value for IPAddress: Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName at the interval that you specify for RequestInterval. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint. Additionally, if the type of the health check is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you specify value for IPAddress. If the type is TCP, Route 53 doesn't pass a Host header. Default: - not configured
13220
+ :param health_threshold: The number of child health checks that are associated with a CALCULATED health that Amazon Route 53 must consider healthy for the CALCULATED health check to be considered healthy. Default: - if the type is CALCULATED, the default value is number of child health checks. Otherwise, it is not configured.
13221
+ :param insufficient_data_health_status: The status of the health check when CloudWatch has insufficient data about the state of associated alarm. Default: - if the type is CLOUDWATCH_METRIC, the default value is InsufficientDataHealthStatus.LAST_KNOWN_STATUS. Otherwise, it is not configured.
13222
+ :param inverted: Specify whether you want Amazon Route 53 to invert the status of a health check, so a health check that would normally be considered unhealthy is considered healthy, and vice versa. Default: false
13223
+ :param ip_address: The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for IPAddress, Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint. Default: - not configured
13224
+ :param measure_latency: Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to display CloudWatch latency graphs on the Health Checks page in the Route 53 console. Default: - if the type is CALCULATED it's not configured - if the type is CLOUDWATCH_METRIC it's not configured - otherwise, the default value is false.
13225
+ :param port: The port on the endpoint that you want Amazon Route 53 to perform health checks on. Default: - if the type is HTTP or HTTP_STR_MATCH, the default value is 80. - if the type is HTTPS or HTTPS_STR_MATCH, the default value is 443. - otherwise, it is not configured.
13226
+ :param regions: An array of region identifiers that you want Amazon Route 53 health checkers to check the health of the endpoint from. Please refer to the CloudFormation documentation for the most up-to-date list of regions. Default: - if the type is CALCULATED, CLOUDWATCH_METRIC, or RECOVERY_CONTROL, this property is not configured. - otherwise, the default value will be set by CloudFormation itself and will include all valid regions. Please refer to the CloudFormation documentation for the most up-to-date list of regions.
13227
+ :param request_interval: The duration between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health check request. Each Route 53 health checker makes requests at this interval. Default: - if the type is CALCULATED it's not configured - if the type is CLOUDWATCH_METRIC it's not configured - otherwise, the default value is 30 seconds.
13228
+ :param resource_path: The path that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example the file /docs/route53-health-check.html. Route 53 automatically adds the DNS name for the service and a leading forward slash (/) character. Default: - if the type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, the default value is empty string. - otherwise, it is not configured.
13229
+ :param routing_control: The Amazon Resource Name (ARN) of the Route 53 Application Recovery Controller routing control that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy. Default: - if the type is RECOVERY_CONTROL, this property is required. Otherwise, it is not configured.
13230
+ :param search_string: The string that you want Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Route 53 considers the resource healthy. Route 53 considers case when searching for SearchString in the response body. Default: - if the type is HTTP_STR_MATCH or HTTPS_STR_MATCH, this property is required. Otherwise, it is not configured.
13231
+
13232
+ :return: a reference to the newly created health check.
13233
+ '''
13234
+ if __debug__:
13235
+ type_hints = typing.get_type_hints(_typecheckingstub__8c6121b8faf9b7a92fd3086c1c307dea83166bfd534ca84bbad1637d8c9c1cbd)
13236
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
13237
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
13238
+ props = HealthCheckProps(
13239
+ type=type,
13240
+ alarm_identifier=alarm_identifier,
13241
+ child_health_checks=child_health_checks,
13242
+ enable_sni=enable_sni,
13243
+ failure_threshold=failure_threshold,
13244
+ fqdn=fqdn,
13245
+ health_threshold=health_threshold,
13246
+ insufficient_data_health_status=insufficient_data_health_status,
13247
+ inverted=inverted,
13248
+ ip_address=ip_address,
13249
+ measure_latency=measure_latency,
13250
+ port=port,
13251
+ regions=regions,
13252
+ request_interval=request_interval,
13253
+ resource_path=resource_path,
13254
+ routing_control=routing_control,
13255
+ search_string=search_string,
13256
+ )
13257
+
13258
+ jsii.create(self.__class__, self, [scope, id, props])
13259
+
13260
+ @jsii.member(jsii_name="fromHealthCheckId")
13261
+ @builtins.classmethod
13262
+ def from_health_check_id(
13263
+ cls,
13264
+ scope: _constructs_77d1e7e8.Construct,
13265
+ id: builtins.str,
13266
+ health_check_id: builtins.str,
13267
+ ) -> IHealthCheck:
13268
+ '''Import an existing health check into this CDK app.
13269
+
13270
+ :param scope: The parent creating construct (usually ``this``).
13271
+ :param id: The construct's name.
13272
+ :param health_check_id: ID of the health check.
13273
+
13274
+ :return: a reference to the existing health check.
13275
+ '''
13276
+ if __debug__:
13277
+ type_hints = typing.get_type_hints(_typecheckingstub__1574196dfbdf91938d0e48950e72c34106f7e4b227441de8b8df48978fa6c694)
13278
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
13279
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
13280
+ check_type(argname="argument health_check_id", value=health_check_id, expected_type=type_hints["health_check_id"])
13281
+ return typing.cast(IHealthCheck, jsii.sinvoke(cls, "fromHealthCheckId", [scope, id, health_check_id]))
13282
+
13283
+ @builtins.property
13284
+ @jsii.member(jsii_name="healthCheckId")
13285
+ def health_check_id(self) -> builtins.str:
13286
+ '''The ID of the health check.'''
13287
+ return typing.cast(builtins.str, jsii.get(self, "healthCheckId"))
13288
+
13289
+
12270
13290
  @jsii.implements(IHostedZone)
12271
13291
  class HostedZone(
12272
13292
  _Resource_45bc6135,
@@ -12507,6 +13527,7 @@ class MxRecord(
12507
13527
  from aws_cdk import aws_route53 as route53
12508
13528
 
12509
13529
  # geo_location: route53.GeoLocation
13530
+ # health_check: route53.HealthCheck
12510
13531
  # hosted_zone: route53.HostedZone
12511
13532
 
12512
13533
  mx_record = route53.MxRecord(self, "MyMxRecord",
@@ -12520,6 +13541,7 @@ class MxRecord(
12520
13541
  comment="comment",
12521
13542
  delete_existing=False,
12522
13543
  geo_location=geo_location,
13544
+ health_check=health_check,
12523
13545
  multi_value_answer=False,
12524
13546
  record_name="recordName",
12525
13547
  region="region",
@@ -12539,6 +13561,7 @@ class MxRecord(
12539
13561
  comment: typing.Optional[builtins.str] = None,
12540
13562
  delete_existing: typing.Optional[builtins.bool] = None,
12541
13563
  geo_location: typing.Optional[GeoLocation] = None,
13564
+ health_check: typing.Optional[IHealthCheck] = None,
12542
13565
  multi_value_answer: typing.Optional[builtins.bool] = None,
12543
13566
  record_name: typing.Optional[builtins.str] = None,
12544
13567
  region: typing.Optional[builtins.str] = None,
@@ -12554,6 +13577,7 @@ class MxRecord(
12554
13577
  :param comment: A comment to add on the record. Default: no comment
12555
13578
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
12556
13579
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
13580
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
12557
13581
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
12558
13582
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
12559
13583
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -12571,6 +13595,7 @@ class MxRecord(
12571
13595
  comment=comment,
12572
13596
  delete_existing=delete_existing,
12573
13597
  geo_location=geo_location,
13598
+ health_check=health_check,
12574
13599
  multi_value_answer=multi_value_answer,
12575
13600
  record_name=record_name,
12576
13601
  region=region,
@@ -12590,6 +13615,7 @@ class MxRecord(
12590
13615
  "comment": "comment",
12591
13616
  "delete_existing": "deleteExisting",
12592
13617
  "geo_location": "geoLocation",
13618
+ "health_check": "healthCheck",
12593
13619
  "multi_value_answer": "multiValueAnswer",
12594
13620
  "record_name": "recordName",
12595
13621
  "region": "region",
@@ -12607,6 +13633,7 @@ class MxRecordProps(RecordSetOptions):
12607
13633
  comment: typing.Optional[builtins.str] = None,
12608
13634
  delete_existing: typing.Optional[builtins.bool] = None,
12609
13635
  geo_location: typing.Optional[GeoLocation] = None,
13636
+ health_check: typing.Optional[IHealthCheck] = None,
12610
13637
  multi_value_answer: typing.Optional[builtins.bool] = None,
12611
13638
  record_name: typing.Optional[builtins.str] = None,
12612
13639
  region: typing.Optional[builtins.str] = None,
@@ -12621,6 +13648,7 @@ class MxRecordProps(RecordSetOptions):
12621
13648
  :param comment: A comment to add on the record. Default: no comment
12622
13649
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
12623
13650
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
13651
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
12624
13652
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
12625
13653
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
12626
13654
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -12639,6 +13667,7 @@ class MxRecordProps(RecordSetOptions):
12639
13667
  from aws_cdk import aws_route53 as route53
12640
13668
 
12641
13669
  # geo_location: route53.GeoLocation
13670
+ # health_check: route53.HealthCheck
12642
13671
  # hosted_zone: route53.HostedZone
12643
13672
 
12644
13673
  mx_record_props = route53.MxRecordProps(
@@ -12652,6 +13681,7 @@ class MxRecordProps(RecordSetOptions):
12652
13681
  comment="comment",
12653
13682
  delete_existing=False,
12654
13683
  geo_location=geo_location,
13684
+ health_check=health_check,
12655
13685
  multi_value_answer=False,
12656
13686
  record_name="recordName",
12657
13687
  region="region",
@@ -12666,6 +13696,7 @@ class MxRecordProps(RecordSetOptions):
12666
13696
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
12667
13697
  check_type(argname="argument delete_existing", value=delete_existing, expected_type=type_hints["delete_existing"])
12668
13698
  check_type(argname="argument geo_location", value=geo_location, expected_type=type_hints["geo_location"])
13699
+ check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
12669
13700
  check_type(argname="argument multi_value_answer", value=multi_value_answer, expected_type=type_hints["multi_value_answer"])
12670
13701
  check_type(argname="argument record_name", value=record_name, expected_type=type_hints["record_name"])
12671
13702
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
@@ -12683,6 +13714,8 @@ class MxRecordProps(RecordSetOptions):
12683
13714
  self._values["delete_existing"] = delete_existing
12684
13715
  if geo_location is not None:
12685
13716
  self._values["geo_location"] = geo_location
13717
+ if health_check is not None:
13718
+ self._values["health_check"] = health_check
12686
13719
  if multi_value_answer is not None:
12687
13720
  self._values["multi_value_answer"] = multi_value_answer
12688
13721
  if record_name is not None:
@@ -12737,6 +13770,17 @@ class MxRecordProps(RecordSetOptions):
12737
13770
  result = self._values.get("geo_location")
12738
13771
  return typing.cast(typing.Optional[GeoLocation], result)
12739
13772
 
13773
+ @builtins.property
13774
+ def health_check(self) -> typing.Optional[IHealthCheck]:
13775
+ '''The health check to associate with the record set.
13776
+
13777
+ Route53 will return this record set in response to DNS queries only if the health check is passing.
13778
+
13779
+ :default: - No health check configured
13780
+ '''
13781
+ result = self._values.get("health_check")
13782
+ return typing.cast(typing.Optional[IHealthCheck], result)
13783
+
12740
13784
  @builtins.property
12741
13785
  def multi_value_answer(self) -> typing.Optional[builtins.bool]:
12742
13786
  '''Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries.
@@ -12870,6 +13914,7 @@ class NsRecord(
12870
13914
  comment: typing.Optional[builtins.str] = None,
12871
13915
  delete_existing: typing.Optional[builtins.bool] = None,
12872
13916
  geo_location: typing.Optional[GeoLocation] = None,
13917
+ health_check: typing.Optional[IHealthCheck] = None,
12873
13918
  multi_value_answer: typing.Optional[builtins.bool] = None,
12874
13919
  record_name: typing.Optional[builtins.str] = None,
12875
13920
  region: typing.Optional[builtins.str] = None,
@@ -12885,6 +13930,7 @@ class NsRecord(
12885
13930
  :param comment: A comment to add on the record. Default: no comment
12886
13931
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
12887
13932
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
13933
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
12888
13934
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
12889
13935
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
12890
13936
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -12902,6 +13948,7 @@ class NsRecord(
12902
13948
  comment=comment,
12903
13949
  delete_existing=delete_existing,
12904
13950
  geo_location=geo_location,
13951
+ health_check=health_check,
12905
13952
  multi_value_answer=multi_value_answer,
12906
13953
  record_name=record_name,
12907
13954
  region=region,
@@ -12921,6 +13968,7 @@ class NsRecord(
12921
13968
  "comment": "comment",
12922
13969
  "delete_existing": "deleteExisting",
12923
13970
  "geo_location": "geoLocation",
13971
+ "health_check": "healthCheck",
12924
13972
  "multi_value_answer": "multiValueAnswer",
12925
13973
  "record_name": "recordName",
12926
13974
  "region": "region",
@@ -12938,6 +13986,7 @@ class NsRecordProps(RecordSetOptions):
12938
13986
  comment: typing.Optional[builtins.str] = None,
12939
13987
  delete_existing: typing.Optional[builtins.bool] = None,
12940
13988
  geo_location: typing.Optional[GeoLocation] = None,
13989
+ health_check: typing.Optional[IHealthCheck] = None,
12941
13990
  multi_value_answer: typing.Optional[builtins.bool] = None,
12942
13991
  record_name: typing.Optional[builtins.str] = None,
12943
13992
  region: typing.Optional[builtins.str] = None,
@@ -12952,6 +14001,7 @@ class NsRecordProps(RecordSetOptions):
12952
14001
  :param comment: A comment to add on the record. Default: no comment
12953
14002
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
12954
14003
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
14004
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
12955
14005
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
12956
14006
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
12957
14007
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -12981,6 +14031,7 @@ class NsRecordProps(RecordSetOptions):
12981
14031
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
12982
14032
  check_type(argname="argument delete_existing", value=delete_existing, expected_type=type_hints["delete_existing"])
12983
14033
  check_type(argname="argument geo_location", value=geo_location, expected_type=type_hints["geo_location"])
14034
+ check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
12984
14035
  check_type(argname="argument multi_value_answer", value=multi_value_answer, expected_type=type_hints["multi_value_answer"])
12985
14036
  check_type(argname="argument record_name", value=record_name, expected_type=type_hints["record_name"])
12986
14037
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
@@ -12998,6 +14049,8 @@ class NsRecordProps(RecordSetOptions):
12998
14049
  self._values["delete_existing"] = delete_existing
12999
14050
  if geo_location is not None:
13000
14051
  self._values["geo_location"] = geo_location
14052
+ if health_check is not None:
14053
+ self._values["health_check"] = health_check
13001
14054
  if multi_value_answer is not None:
13002
14055
  self._values["multi_value_answer"] = multi_value_answer
13003
14056
  if record_name is not None:
@@ -13052,6 +14105,17 @@ class NsRecordProps(RecordSetOptions):
13052
14105
  result = self._values.get("geo_location")
13053
14106
  return typing.cast(typing.Optional[GeoLocation], result)
13054
14107
 
14108
+ @builtins.property
14109
+ def health_check(self) -> typing.Optional[IHealthCheck]:
14110
+ '''The health check to associate with the record set.
14111
+
14112
+ Route53 will return this record set in response to DNS queries only if the health check is passing.
14113
+
14114
+ :default: - No health check configured
14115
+ '''
14116
+ result = self._values.get("health_check")
14117
+ return typing.cast(typing.Optional[IHealthCheck], result)
14118
+
13055
14119
  @builtins.property
13056
14120
  def multi_value_answer(self) -> typing.Optional[builtins.bool]:
13057
14121
  '''Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries.
@@ -13427,6 +14491,7 @@ class CaaAmazonRecord(
13427
14491
  from aws_cdk import aws_route53 as route53
13428
14492
 
13429
14493
  # geo_location: route53.GeoLocation
14494
+ # health_check: route53.HealthCheck
13430
14495
  # hosted_zone: route53.HostedZone
13431
14496
 
13432
14497
  caa_amazon_record = route53.CaaAmazonRecord(self, "MyCaaAmazonRecord",
@@ -13436,6 +14501,7 @@ class CaaAmazonRecord(
13436
14501
  comment="comment",
13437
14502
  delete_existing=False,
13438
14503
  geo_location=geo_location,
14504
+ health_check=health_check,
13439
14505
  multi_value_answer=False,
13440
14506
  record_name="recordName",
13441
14507
  region="region",
@@ -13454,6 +14520,7 @@ class CaaAmazonRecord(
13454
14520
  comment: typing.Optional[builtins.str] = None,
13455
14521
  delete_existing: typing.Optional[builtins.bool] = None,
13456
14522
  geo_location: typing.Optional[GeoLocation] = None,
14523
+ health_check: typing.Optional[IHealthCheck] = None,
13457
14524
  multi_value_answer: typing.Optional[builtins.bool] = None,
13458
14525
  record_name: typing.Optional[builtins.str] = None,
13459
14526
  region: typing.Optional[builtins.str] = None,
@@ -13468,6 +14535,7 @@ class CaaAmazonRecord(
13468
14535
  :param comment: A comment to add on the record. Default: no comment
13469
14536
  :param delete_existing: Whether to delete the same record set in the hosted zone if it already exists (dangerous!). This allows to deploy a new record set while minimizing the downtime because the new record set will be created immediately after the existing one is deleted. It also avoids "manual" actions to delete existing record sets. .. epigraph:: **N.B.:** this feature is dangerous, use with caution! It can only be used safely when ``deleteExisting`` is set to ``true`` as soon as the resource is added to the stack. Changing an existing Record Set's ``deleteExisting`` property from ``false -> true`` after deployment will delete the record! Default: false
13470
14537
  :param geo_location: The geographical origin for this record to return DNS records based on the user's location.
14538
+ :param health_check: The health check to associate with the record set. Route53 will return this record set in response to DNS queries only if the health check is passing. Default: - No health check configured
13471
14539
  :param multi_value_answer: Whether to return multiple values, such as IP addresses for your web servers, in response to DNS queries. Default: false
13472
14540
  :param record_name: The subdomain name for this record. This should be relative to the zone root name. For example, if you want to create a record for acme.example.com, specify "acme". You can also specify the fully qualified domain name which terminates with a ".". For example, "acme.example.com.". Default: zone root
13473
14541
  :param region: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type. When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set. Default: - Do not set latency based routing
@@ -13484,6 +14552,7 @@ class CaaAmazonRecord(
13484
14552
  comment=comment,
13485
14553
  delete_existing=delete_existing,
13486
14554
  geo_location=geo_location,
14555
+ health_check=health_check,
13487
14556
  multi_value_answer=multi_value_answer,
13488
14557
  record_name=record_name,
13489
14558
  region=region,
@@ -13501,6 +14570,7 @@ __all__ = [
13501
14570
  "ARecordProps",
13502
14571
  "AaaaRecord",
13503
14572
  "AaaaRecordProps",
14573
+ "AlarmIdentifier",
13504
14574
  "AliasRecordTargetConfig",
13505
14575
  "CaaAmazonRecord",
13506
14576
  "CaaAmazonRecordProps",
@@ -13531,16 +14601,21 @@ __all__ = [
13531
14601
  "DsRecord",
13532
14602
  "DsRecordProps",
13533
14603
  "GeoLocation",
14604
+ "HealthCheck",
14605
+ "HealthCheckProps",
14606
+ "HealthCheckType",
13534
14607
  "HostedZone",
13535
14608
  "HostedZoneAttributes",
13536
14609
  "HostedZoneProps",
13537
14610
  "HostedZoneProviderProps",
13538
14611
  "IAliasRecordTarget",
14612
+ "IHealthCheck",
13539
14613
  "IHostedZone",
13540
14614
  "IKeySigningKey",
13541
14615
  "IPrivateHostedZone",
13542
14616
  "IPublicHostedZone",
13543
14617
  "IRecordSet",
14618
+ "InsufficientDataHealthStatusEnum",
13544
14619
  "KeySigningKey",
13545
14620
  "KeySigningKeyAttributes",
13546
14621
  "KeySigningKeyProps",
@@ -13575,10 +14650,19 @@ __all__ = [
13575
14650
 
13576
14651
  publication.publish()
13577
14652
 
14653
+ def _typecheckingstub__fcd95e6a7e14c758d746168914f9e2a2b5cd382fbfbc8277ef45a5aee3a652fa(
14654
+ *,
14655
+ name: builtins.str,
14656
+ region: builtins.str,
14657
+ ) -> None:
14658
+ """Type checking stubs"""
14659
+ pass
14660
+
13578
14661
  def _typecheckingstub__387b486cd004971b31128e4032ad0c37e74eea08888305d1660803aa68158e99(
13579
14662
  *,
13580
14663
  dns_name: builtins.str,
13581
14664
  hosted_zone_id: builtins.str,
14665
+ evaluate_target_health: typing.Optional[builtins.bool] = None,
13582
14666
  ) -> None:
13583
14667
  """Type checking stubs"""
13584
14668
  pass
@@ -14298,6 +15382,29 @@ def _typecheckingstub__13d57b34e60c4361c1d97c820e69f3a9c16ba208b123a261ee081931b
14298
15382
  """Type checking stubs"""
14299
15383
  pass
14300
15384
 
15385
+ def _typecheckingstub__aa97034136188f7866c26cd6fb12cf33983958b5147a7092dea7494be1142b56(
15386
+ *,
15387
+ type: HealthCheckType,
15388
+ alarm_identifier: typing.Optional[typing.Union[AlarmIdentifier, typing.Dict[builtins.str, typing.Any]]] = None,
15389
+ child_health_checks: typing.Optional[typing.Sequence[IHealthCheck]] = None,
15390
+ enable_sni: typing.Optional[builtins.bool] = None,
15391
+ failure_threshold: typing.Optional[jsii.Number] = None,
15392
+ fqdn: typing.Optional[builtins.str] = None,
15393
+ health_threshold: typing.Optional[jsii.Number] = None,
15394
+ insufficient_data_health_status: typing.Optional[InsufficientDataHealthStatusEnum] = None,
15395
+ inverted: typing.Optional[builtins.bool] = None,
15396
+ ip_address: typing.Optional[builtins.str] = None,
15397
+ measure_latency: typing.Optional[builtins.bool] = None,
15398
+ port: typing.Optional[jsii.Number] = None,
15399
+ regions: typing.Optional[typing.Sequence[builtins.str]] = None,
15400
+ request_interval: typing.Optional[_Duration_4839e8c3] = None,
15401
+ resource_path: typing.Optional[builtins.str] = None,
15402
+ routing_control: typing.Optional[builtins.str] = None,
15403
+ search_string: typing.Optional[builtins.str] = None,
15404
+ ) -> None:
15405
+ """Type checking stubs"""
15406
+ pass
15407
+
14301
15408
  def _typecheckingstub__e5fad1cc6999b94bd845480426db92d5bb3ac0208bca78f9cf984e5ce4ccd701(
14302
15409
  *,
14303
15410
  hosted_zone_id: builtins.str,
@@ -14429,6 +15536,7 @@ def _typecheckingstub__b92f4bc0484ad6fe8cce3c7e37b4ee3cd051b8f325d16efd23f924767
14429
15536
  comment: typing.Optional[builtins.str] = None,
14430
15537
  delete_existing: typing.Optional[builtins.bool] = None,
14431
15538
  geo_location: typing.Optional[GeoLocation] = None,
15539
+ health_check: typing.Optional[IHealthCheck] = None,
14432
15540
  multi_value_answer: typing.Optional[builtins.bool] = None,
14433
15541
  record_name: typing.Optional[builtins.str] = None,
14434
15542
  region: typing.Optional[builtins.str] = None,
@@ -14445,6 +15553,7 @@ def _typecheckingstub__c44f39638a001e90bc1175667e4764c4cbde27cade202d52a4f4d8724
14445
15553
  comment: typing.Optional[builtins.str] = None,
14446
15554
  delete_existing: typing.Optional[builtins.bool] = None,
14447
15555
  geo_location: typing.Optional[GeoLocation] = None,
15556
+ health_check: typing.Optional[IHealthCheck] = None,
14448
15557
  multi_value_answer: typing.Optional[builtins.bool] = None,
14449
15558
  record_name: typing.Optional[builtins.str] = None,
14450
15559
  region: typing.Optional[builtins.str] = None,
@@ -14461,6 +15570,7 @@ def _typecheckingstub__038200686c47ef30f81bc5289a6235e766372281295129670053b793d
14461
15570
  comment: typing.Optional[builtins.str] = None,
14462
15571
  delete_existing: typing.Optional[builtins.bool] = None,
14463
15572
  geo_location: typing.Optional[GeoLocation] = None,
15573
+ health_check: typing.Optional[IHealthCheck] = None,
14464
15574
  multi_value_answer: typing.Optional[builtins.bool] = None,
14465
15575
  record_name: typing.Optional[builtins.str] = None,
14466
15576
  region: typing.Optional[builtins.str] = None,
@@ -14507,6 +15617,7 @@ def _typecheckingstub__d52a70fbe22ca5e13acce72254719ea0dd37b436de0640b65774aadd9
14507
15617
  comment: typing.Optional[builtins.str] = None,
14508
15618
  delete_existing: typing.Optional[builtins.bool] = None,
14509
15619
  geo_location: typing.Optional[GeoLocation] = None,
15620
+ health_check: typing.Optional[IHealthCheck] = None,
14510
15621
  multi_value_answer: typing.Optional[builtins.bool] = None,
14511
15622
  record_name: typing.Optional[builtins.str] = None,
14512
15623
  region: typing.Optional[builtins.str] = None,
@@ -14523,6 +15634,7 @@ def _typecheckingstub__803828161f541995c058596dab53102f2eccd14ba565bbe715a5ac293
14523
15634
  comment: typing.Optional[builtins.str] = None,
14524
15635
  delete_existing: typing.Optional[builtins.bool] = None,
14525
15636
  geo_location: typing.Optional[GeoLocation] = None,
15637
+ health_check: typing.Optional[IHealthCheck] = None,
14526
15638
  multi_value_answer: typing.Optional[builtins.bool] = None,
14527
15639
  record_name: typing.Optional[builtins.str] = None,
14528
15640
  region: typing.Optional[builtins.str] = None,
@@ -14553,6 +15665,7 @@ def _typecheckingstub__df1e0c1447d860a09246a7ec54507ca123346e57365df024460258839
14553
15665
  comment: typing.Optional[builtins.str] = None,
14554
15666
  delete_existing: typing.Optional[builtins.bool] = None,
14555
15667
  geo_location: typing.Optional[GeoLocation] = None,
15668
+ health_check: typing.Optional[IHealthCheck] = None,
14556
15669
  multi_value_answer: typing.Optional[builtins.bool] = None,
14557
15670
  record_name: typing.Optional[builtins.str] = None,
14558
15671
  region: typing.Optional[builtins.str] = None,
@@ -14569,6 +15682,7 @@ def _typecheckingstub__1925dd23d881cbbf99625b9a5fe0ef65b92a92359376c46e49b6690f1
14569
15682
  comment: typing.Optional[builtins.str] = None,
14570
15683
  delete_existing: typing.Optional[builtins.bool] = None,
14571
15684
  geo_location: typing.Optional[GeoLocation] = None,
15685
+ health_check: typing.Optional[IHealthCheck] = None,
14572
15686
  multi_value_answer: typing.Optional[builtins.bool] = None,
14573
15687
  record_name: typing.Optional[builtins.str] = None,
14574
15688
  region: typing.Optional[builtins.str] = None,
@@ -14623,6 +15737,7 @@ def _typecheckingstub__1f8360676c13e2167bb58d36e1b6384ba70f036979aa9c80cac046e12
14623
15737
  comment: typing.Optional[builtins.str] = None,
14624
15738
  delete_existing: typing.Optional[builtins.bool] = None,
14625
15739
  geo_location: typing.Optional[GeoLocation] = None,
15740
+ health_check: typing.Optional[IHealthCheck] = None,
14626
15741
  multi_value_answer: typing.Optional[builtins.bool] = None,
14627
15742
  record_name: typing.Optional[builtins.str] = None,
14628
15743
  region: typing.Optional[builtins.str] = None,
@@ -14639,6 +15754,7 @@ def _typecheckingstub__240a965753acb9488d02c120074027364f5e85a8ec585205a863174fe
14639
15754
  comment: typing.Optional[builtins.str] = None,
14640
15755
  delete_existing: typing.Optional[builtins.bool] = None,
14641
15756
  geo_location: typing.Optional[GeoLocation] = None,
15757
+ health_check: typing.Optional[IHealthCheck] = None,
14642
15758
  multi_value_answer: typing.Optional[builtins.bool] = None,
14643
15759
  record_name: typing.Optional[builtins.str] = None,
14644
15760
  region: typing.Optional[builtins.str] = None,
@@ -14667,6 +15783,7 @@ def _typecheckingstub__ca2e60ba6b2baeeff2cc875c86af94b4b26d6f11c1cfcca09280ac533
14667
15783
  comment: typing.Optional[builtins.str] = None,
14668
15784
  delete_existing: typing.Optional[builtins.bool] = None,
14669
15785
  geo_location: typing.Optional[GeoLocation] = None,
15786
+ health_check: typing.Optional[IHealthCheck] = None,
14670
15787
  multi_value_answer: typing.Optional[builtins.bool] = None,
14671
15788
  record_name: typing.Optional[builtins.str] = None,
14672
15789
  region: typing.Optional[builtins.str] = None,
@@ -14686,6 +15803,7 @@ def _typecheckingstub__c76ad72e64542d58d5e33c28ccaca560dac09b21c920d094b7a0c2386
14686
15803
  comment: typing.Optional[builtins.str] = None,
14687
15804
  delete_existing: typing.Optional[builtins.bool] = None,
14688
15805
  geo_location: typing.Optional[GeoLocation] = None,
15806
+ health_check: typing.Optional[IHealthCheck] = None,
14689
15807
  multi_value_answer: typing.Optional[builtins.bool] = None,
14690
15808
  record_name: typing.Optional[builtins.str] = None,
14691
15809
  region: typing.Optional[builtins.str] = None,
@@ -14702,6 +15820,7 @@ def _typecheckingstub__514d7eccc21be019febe80e121fd7d979162668b63cb99051c629ef08
14702
15820
  comment: typing.Optional[builtins.str] = None,
14703
15821
  delete_existing: typing.Optional[builtins.bool] = None,
14704
15822
  geo_location: typing.Optional[GeoLocation] = None,
15823
+ health_check: typing.Optional[IHealthCheck] = None,
14705
15824
  multi_value_answer: typing.Optional[builtins.bool] = None,
14706
15825
  record_name: typing.Optional[builtins.str] = None,
14707
15826
  region: typing.Optional[builtins.str] = None,
@@ -14719,6 +15838,7 @@ def _typecheckingstub__a73a5c86411a0d853fcfad820ed58f5a5c19df65a7b2756560958db5c
14719
15838
  comment: typing.Optional[builtins.str] = None,
14720
15839
  delete_existing: typing.Optional[builtins.bool] = None,
14721
15840
  geo_location: typing.Optional[GeoLocation] = None,
15841
+ health_check: typing.Optional[IHealthCheck] = None,
14722
15842
  multi_value_answer: typing.Optional[builtins.bool] = None,
14723
15843
  record_name: typing.Optional[builtins.str] = None,
14724
15844
  region: typing.Optional[builtins.str] = None,
@@ -14739,6 +15859,7 @@ def _typecheckingstub__4d5345c027ebd51f32f58fdeb055904a5c4dd3f5523f55954f8a191ae
14739
15859
  comment: typing.Optional[builtins.str] = None,
14740
15860
  delete_existing: typing.Optional[builtins.bool] = None,
14741
15861
  geo_location: typing.Optional[GeoLocation] = None,
15862
+ health_check: typing.Optional[IHealthCheck] = None,
14742
15863
  multi_value_answer: typing.Optional[builtins.bool] = None,
14743
15864
  record_name: typing.Optional[builtins.str] = None,
14744
15865
  region: typing.Optional[builtins.str] = None,
@@ -14755,6 +15876,7 @@ def _typecheckingstub__c051ff70083b2ae68889d3f02be8344125acf64b4768d5f5df3298ba8
14755
15876
  comment: typing.Optional[builtins.str] = None,
14756
15877
  delete_existing: typing.Optional[builtins.bool] = None,
14757
15878
  geo_location: typing.Optional[GeoLocation] = None,
15879
+ health_check: typing.Optional[IHealthCheck] = None,
14758
15880
  multi_value_answer: typing.Optional[builtins.bool] = None,
14759
15881
  record_name: typing.Optional[builtins.str] = None,
14760
15882
  region: typing.Optional[builtins.str] = None,
@@ -14772,6 +15894,7 @@ def _typecheckingstub__14055fdb7d9f4b55091295996ec92db8d73fa789a21fca2664da1242a
14772
15894
  comment: typing.Optional[builtins.str] = None,
14773
15895
  delete_existing: typing.Optional[builtins.bool] = None,
14774
15896
  geo_location: typing.Optional[GeoLocation] = None,
15897
+ health_check: typing.Optional[IHealthCheck] = None,
14775
15898
  multi_value_answer: typing.Optional[builtins.bool] = None,
14776
15899
  record_name: typing.Optional[builtins.str] = None,
14777
15900
  region: typing.Optional[builtins.str] = None,
@@ -14791,6 +15914,7 @@ def _typecheckingstub__3a2502cdc1fe021e837217ab0d96b9fa6ea450a68c089482935b695f7
14791
15914
  comment: typing.Optional[builtins.str] = None,
14792
15915
  delete_existing: typing.Optional[builtins.bool] = None,
14793
15916
  geo_location: typing.Optional[GeoLocation] = None,
15917
+ health_check: typing.Optional[IHealthCheck] = None,
14794
15918
  multi_value_answer: typing.Optional[builtins.bool] = None,
14795
15919
  record_name: typing.Optional[builtins.str] = None,
14796
15920
  region: typing.Optional[builtins.str] = None,
@@ -14807,6 +15931,7 @@ def _typecheckingstub__349a94b990ddb833b270dc692692a8b37187c6f17114e02514f44accf
14807
15931
  comment: typing.Optional[builtins.str] = None,
14808
15932
  delete_existing: typing.Optional[builtins.bool] = None,
14809
15933
  geo_location: typing.Optional[GeoLocation] = None,
15934
+ health_check: typing.Optional[IHealthCheck] = None,
14810
15935
  multi_value_answer: typing.Optional[builtins.bool] = None,
14811
15936
  record_name: typing.Optional[builtins.str] = None,
14812
15937
  region: typing.Optional[builtins.str] = None,
@@ -14827,6 +15952,7 @@ def _typecheckingstub__e8dfccd8504bb3c0a779b42a665f362282b1083fe52a95b450d1ac1eb
14827
15952
  comment: typing.Optional[builtins.str] = None,
14828
15953
  delete_existing: typing.Optional[builtins.bool] = None,
14829
15954
  geo_location: typing.Optional[GeoLocation] = None,
15955
+ health_check: typing.Optional[IHealthCheck] = None,
14830
15956
  multi_value_answer: typing.Optional[builtins.bool] = None,
14831
15957
  record_name: typing.Optional[builtins.str] = None,
14832
15958
  region: typing.Optional[builtins.str] = None,
@@ -14843,6 +15969,7 @@ def _typecheckingstub__43b5fc8ccb719e2580c804225e8258b57b1700a701203416558eb2d76
14843
15969
  comment: typing.Optional[builtins.str] = None,
14844
15970
  delete_existing: typing.Optional[builtins.bool] = None,
14845
15971
  geo_location: typing.Optional[GeoLocation] = None,
15972
+ health_check: typing.Optional[IHealthCheck] = None,
14846
15973
  multi_value_answer: typing.Optional[builtins.bool] = None,
14847
15974
  record_name: typing.Optional[builtins.str] = None,
14848
15975
  region: typing.Optional[builtins.str] = None,
@@ -14863,6 +15990,7 @@ def _typecheckingstub__24205d1a44dcefb992b7bd9b6d91d8b6396f8498224c30876fe8a0673
14863
15990
  comment: typing.Optional[builtins.str] = None,
14864
15991
  delete_existing: typing.Optional[builtins.bool] = None,
14865
15992
  geo_location: typing.Optional[GeoLocation] = None,
15993
+ health_check: typing.Optional[IHealthCheck] = None,
14866
15994
  multi_value_answer: typing.Optional[builtins.bool] = None,
14867
15995
  record_name: typing.Optional[builtins.str] = None,
14868
15996
  region: typing.Optional[builtins.str] = None,
@@ -14879,6 +16007,7 @@ def _typecheckingstub__f86f16d9f2de8fe03cc1189a56a86c4888d20f69dc0f241aa21b50fdf
14879
16007
  comment: typing.Optional[builtins.str] = None,
14880
16008
  delete_existing: typing.Optional[builtins.bool] = None,
14881
16009
  geo_location: typing.Optional[GeoLocation] = None,
16010
+ health_check: typing.Optional[IHealthCheck] = None,
14882
16011
  multi_value_answer: typing.Optional[builtins.bool] = None,
14883
16012
  record_name: typing.Optional[builtins.str] = None,
14884
16013
  region: typing.Optional[builtins.str] = None,
@@ -14890,6 +16019,39 @@ def _typecheckingstub__f86f16d9f2de8fe03cc1189a56a86c4888d20f69dc0f241aa21b50fdf
14890
16019
  """Type checking stubs"""
14891
16020
  pass
14892
16021
 
16022
+ def _typecheckingstub__8c6121b8faf9b7a92fd3086c1c307dea83166bfd534ca84bbad1637d8c9c1cbd(
16023
+ scope: _constructs_77d1e7e8.Construct,
16024
+ id: builtins.str,
16025
+ *,
16026
+ type: HealthCheckType,
16027
+ alarm_identifier: typing.Optional[typing.Union[AlarmIdentifier, typing.Dict[builtins.str, typing.Any]]] = None,
16028
+ child_health_checks: typing.Optional[typing.Sequence[IHealthCheck]] = None,
16029
+ enable_sni: typing.Optional[builtins.bool] = None,
16030
+ failure_threshold: typing.Optional[jsii.Number] = None,
16031
+ fqdn: typing.Optional[builtins.str] = None,
16032
+ health_threshold: typing.Optional[jsii.Number] = None,
16033
+ insufficient_data_health_status: typing.Optional[InsufficientDataHealthStatusEnum] = None,
16034
+ inverted: typing.Optional[builtins.bool] = None,
16035
+ ip_address: typing.Optional[builtins.str] = None,
16036
+ measure_latency: typing.Optional[builtins.bool] = None,
16037
+ port: typing.Optional[jsii.Number] = None,
16038
+ regions: typing.Optional[typing.Sequence[builtins.str]] = None,
16039
+ request_interval: typing.Optional[_Duration_4839e8c3] = None,
16040
+ resource_path: typing.Optional[builtins.str] = None,
16041
+ routing_control: typing.Optional[builtins.str] = None,
16042
+ search_string: typing.Optional[builtins.str] = None,
16043
+ ) -> None:
16044
+ """Type checking stubs"""
16045
+ pass
16046
+
16047
+ def _typecheckingstub__1574196dfbdf91938d0e48950e72c34106f7e4b227441de8b8df48978fa6c694(
16048
+ scope: _constructs_77d1e7e8.Construct,
16049
+ id: builtins.str,
16050
+ health_check_id: builtins.str,
16051
+ ) -> None:
16052
+ """Type checking stubs"""
16053
+ pass
16054
+
14893
16055
  def _typecheckingstub__1e5b9f9d7aa4bc16fced3cc22e63b14cbf590c498be223e588483a72fb0b4233(
14894
16056
  scope: _constructs_77d1e7e8.Construct,
14895
16057
  id: builtins.str,
@@ -14953,6 +16115,7 @@ def _typecheckingstub__615153e942ef5cdcb0022d4565e0ec8b8c5554594bfe7221366ad5c83
14953
16115
  comment: typing.Optional[builtins.str] = None,
14954
16116
  delete_existing: typing.Optional[builtins.bool] = None,
14955
16117
  geo_location: typing.Optional[GeoLocation] = None,
16118
+ health_check: typing.Optional[IHealthCheck] = None,
14956
16119
  multi_value_answer: typing.Optional[builtins.bool] = None,
14957
16120
  record_name: typing.Optional[builtins.str] = None,
14958
16121
  region: typing.Optional[builtins.str] = None,
@@ -14969,6 +16132,7 @@ def _typecheckingstub__b259122626a3ba94eebff0b5f692944df4aa55dc550b7d113eec491e1
14969
16132
  comment: typing.Optional[builtins.str] = None,
14970
16133
  delete_existing: typing.Optional[builtins.bool] = None,
14971
16134
  geo_location: typing.Optional[GeoLocation] = None,
16135
+ health_check: typing.Optional[IHealthCheck] = None,
14972
16136
  multi_value_answer: typing.Optional[builtins.bool] = None,
14973
16137
  record_name: typing.Optional[builtins.str] = None,
14974
16138
  region: typing.Optional[builtins.str] = None,
@@ -14989,6 +16153,7 @@ def _typecheckingstub__7f3bbcb4bd5bcd8978ae60eaac5ea2c6ab0bb8357a389e9b981e63291
14989
16153
  comment: typing.Optional[builtins.str] = None,
14990
16154
  delete_existing: typing.Optional[builtins.bool] = None,
14991
16155
  geo_location: typing.Optional[GeoLocation] = None,
16156
+ health_check: typing.Optional[IHealthCheck] = None,
14992
16157
  multi_value_answer: typing.Optional[builtins.bool] = None,
14993
16158
  record_name: typing.Optional[builtins.str] = None,
14994
16159
  region: typing.Optional[builtins.str] = None,
@@ -15005,6 +16170,7 @@ def _typecheckingstub__33cda5fac8572316158161da713e2ceea9d3f7f56b5ee9a2a25acf331
15005
16170
  comment: typing.Optional[builtins.str] = None,
15006
16171
  delete_existing: typing.Optional[builtins.bool] = None,
15007
16172
  geo_location: typing.Optional[GeoLocation] = None,
16173
+ health_check: typing.Optional[IHealthCheck] = None,
15008
16174
  multi_value_answer: typing.Optional[builtins.bool] = None,
15009
16175
  record_name: typing.Optional[builtins.str] = None,
15010
16176
  region: typing.Optional[builtins.str] = None,
@@ -15093,6 +16259,7 @@ def _typecheckingstub__f189380057459afbeff6d38749625e3756c4572dec90f74ca7a400dcb
15093
16259
  comment: typing.Optional[builtins.str] = None,
15094
16260
  delete_existing: typing.Optional[builtins.bool] = None,
15095
16261
  geo_location: typing.Optional[GeoLocation] = None,
16262
+ health_check: typing.Optional[IHealthCheck] = None,
15096
16263
  multi_value_answer: typing.Optional[builtins.bool] = None,
15097
16264
  record_name: typing.Optional[builtins.str] = None,
15098
16265
  region: typing.Optional[builtins.str] = None,