aws-cdk-lib 2.128.0__py3-none-any.whl → 2.129.0__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 (98) hide show
  1. aws_cdk/__init__.py +2 -10
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.128.0.jsii.tgz → aws-cdk-lib@2.129.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +6 -24
  5. aws_cdk/aws_amplify/__init__.py +1 -2
  6. aws_cdk/aws_appconfig/__init__.py +0 -16
  7. aws_cdk/aws_applicationautoscaling/__init__.py +55 -22
  8. aws_cdk/aws_appstream/__init__.py +14 -14
  9. aws_cdk/aws_appsync/__init__.py +334 -3
  10. aws_cdk/aws_autoscaling/__init__.py +11 -7
  11. aws_cdk/aws_batch/__init__.py +137 -16
  12. aws_cdk/aws_cleanrooms/__init__.py +1 -2
  13. aws_cdk/aws_cloudformation/__init__.py +2 -10
  14. aws_cdk/aws_cloudfront/__init__.py +15 -8
  15. aws_cdk/aws_cloudfront/experimental/__init__.py +22 -0
  16. aws_cdk/aws_cloudfront_origins/__init__.py +332 -0
  17. aws_cdk/aws_cloudtrail/__init__.py +12 -2
  18. aws_cdk/aws_cloudwatch/__init__.py +4 -0
  19. aws_cdk/aws_codepipeline/__init__.py +463 -11
  20. aws_cdk/aws_cognito/__init__.py +0 -9
  21. aws_cdk/aws_config/__init__.py +2 -2
  22. aws_cdk/aws_connect/__init__.py +6 -1
  23. aws_cdk/aws_controltower/__init__.py +527 -7
  24. aws_cdk/aws_datasync/__init__.py +2 -2
  25. aws_cdk/aws_directoryservice/__init__.py +2 -3
  26. aws_cdk/aws_dynamodb/__init__.py +7 -0
  27. aws_cdk/aws_ec2/__init__.py +117 -210
  28. aws_cdk/aws_ecs/__init__.py +537 -3
  29. aws_cdk/aws_eks/__init__.py +1 -1
  30. aws_cdk/aws_elasticache/__init__.py +27 -20
  31. aws_cdk/aws_elasticloadbalancingv2/__init__.py +3 -4
  32. aws_cdk/aws_emr/__init__.py +23 -3
  33. aws_cdk/aws_events_targets/__init__.py +64 -20
  34. aws_cdk/aws_fis/__init__.py +4 -4
  35. aws_cdk/aws_frauddetector/__init__.py +3 -3
  36. aws_cdk/aws_globalaccelerator/__init__.py +2 -6
  37. aws_cdk/aws_glue/__init__.py +84 -55
  38. aws_cdk/aws_groundstation/__init__.py +8 -12
  39. aws_cdk/aws_guardduty/__init__.py +74 -70
  40. aws_cdk/aws_iam/__init__.py +16 -23
  41. aws_cdk/aws_imagebuilder/__init__.py +178 -156
  42. aws_cdk/aws_internetmonitor/__init__.py +12 -10
  43. aws_cdk/aws_iot/__init__.py +17 -10
  44. aws_cdk/aws_iotevents/__init__.py +4 -4
  45. aws_cdk/aws_iotfleetwise/__init__.py +10 -5
  46. aws_cdk/aws_iottwinmaker/__init__.py +3 -5
  47. aws_cdk/aws_iotwireless/__init__.py +35 -23
  48. aws_cdk/aws_kendra/__init__.py +36 -15
  49. aws_cdk/aws_kinesisfirehose/__init__.py +155 -114
  50. aws_cdk/aws_lambda/__init__.py +157 -12
  51. aws_cdk/aws_lambda_nodejs/__init__.py +22 -0
  52. aws_cdk/aws_lightsail/__init__.py +14 -18
  53. aws_cdk/aws_logs/__init__.py +15 -15
  54. aws_cdk/aws_mediaconnect/__init__.py +5 -3
  55. aws_cdk/aws_medialive/__init__.py +3 -12
  56. aws_cdk/aws_mediapackagev2/__init__.py +287 -286
  57. aws_cdk/aws_mediatailor/__init__.py +2 -2
  58. aws_cdk/aws_memorydb/__init__.py +2 -2
  59. aws_cdk/aws_msk/__init__.py +6 -3
  60. aws_cdk/aws_mwaa/__init__.py +10 -5
  61. aws_cdk/aws_neptunegraph/__init__.py +84 -66
  62. aws_cdk/aws_networkfirewall/__init__.py +5 -8
  63. aws_cdk/aws_networkmanager/__init__.py +3 -3
  64. aws_cdk/aws_nimblestudio/__init__.py +2 -4
  65. aws_cdk/aws_opensearchservice/__init__.py +6 -7
  66. aws_cdk/aws_osis/__init__.py +1 -3
  67. aws_cdk/aws_pinpoint/__init__.py +5 -5
  68. aws_cdk/aws_pipes/__init__.py +5 -5
  69. aws_cdk/aws_quicksight/__init__.py +5 -10
  70. aws_cdk/aws_rds/__init__.py +38 -21
  71. aws_cdk/aws_redshift/__init__.py +9 -5
  72. aws_cdk/aws_redshiftserverless/__init__.py +62 -38
  73. aws_cdk/aws_rolesanywhere/__init__.py +41 -53
  74. aws_cdk/aws_route53/__init__.py +532 -6
  75. aws_cdk/aws_route53recoverycontrol/__init__.py +1 -3
  76. aws_cdk/aws_route53recoveryreadiness/__init__.py +2 -2
  77. aws_cdk/aws_route53resolver/__init__.py +1 -4
  78. aws_cdk/aws_s3/__init__.py +3 -1
  79. aws_cdk/aws_s3objectlambda/__init__.py +7 -4
  80. aws_cdk/aws_s3outposts/__init__.py +1 -1
  81. aws_cdk/aws_sagemaker/__init__.py +111 -11
  82. aws_cdk/aws_servicecatalogappregistry/__init__.py +3 -3
  83. aws_cdk/aws_sns/__init__.py +185 -38
  84. aws_cdk/aws_ssm/__init__.py +16 -16
  85. aws_cdk/aws_ssmincidents/__init__.py +1 -1
  86. aws_cdk/aws_synthetics/__init__.py +94 -21
  87. aws_cdk/aws_verifiedpermissions/__init__.py +1 -2
  88. aws_cdk/aws_vpclattice/__init__.py +8 -4
  89. aws_cdk/aws_wafv2/__init__.py +14 -59
  90. aws_cdk/aws_workspaces/__init__.py +5 -4
  91. aws_cdk/aws_workspacesweb/__init__.py +6 -12
  92. aws_cdk/triggers/__init__.py +22 -0
  93. {aws_cdk_lib-2.128.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/METADATA +1 -1
  94. {aws_cdk_lib-2.128.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/RECORD +98 -98
  95. {aws_cdk_lib-2.128.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/LICENSE +0 -0
  96. {aws_cdk_lib-2.128.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/NOTICE +0 -0
  97. {aws_cdk_lib-2.128.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/WHEEL +0 -0
  98. {aws_cdk_lib-2.128.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/top_level.txt +0 -0
@@ -2086,10 +2086,7 @@ class CfnHostedZone(
2086
2086
  @builtins.property
2087
2087
  @jsii.member(jsii_name="attrNameServers")
2088
2088
  def attr_name_servers(self) -> typing.List[builtins.str]:
2089
- '''Returns the set of name servers for the specific hosted zone. For example: ``ns1.example.com`` .
2090
-
2091
- This attribute is not supported for private hosted zones.
2092
-
2089
+ '''
2093
2090
  :cloudformationAttribute: NameServers
2094
2091
  '''
2095
2092
  return typing.cast(typing.List[builtins.str], jsii.get(self, "attrNameServers"))
@@ -2966,6 +2963,15 @@ class CfnRecordSet(
2966
2963
  country_code="countryCode",
2967
2964
  subdivision_code="subdivisionCode"
2968
2965
  ),
2966
+ geo_proximity_location=route53.CfnRecordSet.GeoProximityLocationProperty(
2967
+ aws_region="awsRegion",
2968
+ bias=123,
2969
+ coordinates=route53.CfnRecordSet.CoordinatesProperty(
2970
+ latitude="latitude",
2971
+ longitude="longitude"
2972
+ ),
2973
+ local_zone_group="localZoneGroup"
2974
+ ),
2969
2975
  health_check_id="healthCheckId",
2970
2976
  hosted_zone_id="hostedZoneId",
2971
2977
  hosted_zone_name="hostedZoneName",
@@ -2990,6 +2996,7 @@ class CfnRecordSet(
2990
2996
  comment: typing.Optional[builtins.str] = None,
2991
2997
  failover: typing.Optional[builtins.str] = None,
2992
2998
  geo_location: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRecordSet.GeoLocationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2999
+ geo_proximity_location: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRecordSet.GeoProximityLocationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2993
3000
  health_check_id: typing.Optional[builtins.str] = None,
2994
3001
  hosted_zone_id: typing.Optional[builtins.str] = None,
2995
3002
  hosted_zone_name: typing.Optional[builtins.str] = None,
@@ -3010,6 +3017,7 @@ class CfnRecordSet(
3010
3017
  :param comment: *Optional:* Any comments you want to include about a change batch request.
3011
3018
  :param failover: *Failover resource record sets only:* To configure failover, you add the ``Failover`` element to two resource record sets. For one resource record set, you specify ``PRIMARY`` as the value for ``Failover`` ; for the other resource record set, you specify ``SECONDARY`` . In addition, you include the ``HealthCheckId`` element and specify the health check that you want Amazon Route 53 to perform for each resource record set. Except where noted, the following failover behaviors assume that you have included the ``HealthCheckId`` element in both resource record sets: - When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set. - When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set. - When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set. - If you omit the ``HealthCheckId`` element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint. You can't create non-failover resource record sets that have the same values for the ``Name`` and ``Type`` elements as failover resource record sets. For failover alias resource record sets, you must also include the ``EvaluateTargetHealth`` element and set the value to true. For more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* : - `Route 53 Health Checks and DNS Failover <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html>`_ - `Configuring Failover in a Private Hosted Zone <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html>`_
3012
3019
  :param geo_location: *Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of ``192.0.2.111`` , create a resource record set with a ``Type`` of ``A`` and a ``ContinentCode`` of ``AF`` . If you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource. You can't create two geolocation resource record sets that specify the same geographic location. The value ``*`` in the ``CountryCode`` element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the ``Name`` and ``Type`` elements. .. epigraph:: Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of ``CountryCode`` is ``*`` . Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a ``*`` resource record set, Route 53 returns a "no answer" response for queries from those locations. You can't create non-geolocation resource record sets that have the same values for the ``Name`` and ``Type`` elements as geolocation resource record sets.
3020
+ :param geo_proximity_location: *GeoproximityLocation resource record sets only:* A complex type that lets you control how Route 53 responds to DNS queries based on the geographic origin of the query and your resources.
3013
3021
  :param health_check_id: If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the ``HealthCheckId`` element and specify the ID of the applicable health check. Route 53 determines whether a resource record set is healthy based on one of the following: - By periodically sending a request to the endpoint that is specified in the health check - By aggregating the status of a specified group of health checks (calculated health checks) - By determining the current state of a CloudWatch alarm (CloudWatch metric health checks) .. epigraph:: Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the ``Value`` element. When you add a ``HealthCheckId`` element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check. For more information, see the following topics in the *Amazon Route 53 Developer Guide* : - `How Amazon Route 53 Determines Whether an Endpoint Is Healthy <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html>`_ - `Route 53 Health Checks and DNS Failover <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html>`_ - `Configuring Failover in a Private Hosted Zone <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html>`_ *When to Specify HealthCheckId* Specifying a value for ``HealthCheckId`` is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations: - *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets. If the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with. If the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set. If the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly. - *Alias resource record sets* : You specify the following settings: - You set ``EvaluateTargetHealth`` to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A). - You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone. - You specify a health check ID for the non-alias resource record set. If the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with. If the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set. .. epigraph:: The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets. *Geolocation Routing* For geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has ``*`` for ``CountryCode`` is ``*`` , which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy: - The United States - North America - The default resource record set *Specifying the Health Check Endpoint by Domain Name* If your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each ``HTTP`` server that is serving content for ``www.example.com`` . For the value of ``FullyQualifiedDomainName`` , specify the domain name of the server (such as ``us-east-2-www.example.com`` ), not the name of the resource record sets ( ``www.example.com`` ). .. epigraph:: Health check results will be unpredictable if you do the following: - Create a health check that has the same value for ``FullyQualifiedDomainName`` as the name of a resource record set. - Associate that health check with the resource record set.
3014
3022
  :param hosted_zone_id: The ID of the hosted zone that you want to create records in. Specify either ``HostedZoneName`` or ``HostedZoneId`` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using ``HostedZoneId`` .
3015
3023
  :param hosted_zone_name: The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, ``www.example.com.`` ) as part of the ``HostedZoneName`` . When you create a stack using an AWS::Route53::RecordSet that specifies ``HostedZoneName`` , AWS CloudFormation attempts to find a hosted zone whose name matches the HostedZoneName. If AWS CloudFormation cannot find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack. Specify either ``HostedZoneName`` or ``HostedZoneId`` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using ``HostedZoneId`` .
@@ -3032,6 +3040,7 @@ class CfnRecordSet(
3032
3040
  comment=comment,
3033
3041
  failover=failover,
3034
3042
  geo_location=geo_location,
3043
+ geo_proximity_location=geo_proximity_location,
3035
3044
  health_check_id=health_check_id,
3036
3045
  hosted_zone_id=hosted_zone_id,
3037
3046
  hosted_zone_name=hosted_zone_name,
@@ -3078,7 +3087,8 @@ class CfnRecordSet(
3078
3087
  @builtins.property
3079
3088
  @jsii.member(jsii_name="attrId")
3080
3089
  def attr_id(self) -> builtins.str:
3081
- '''
3090
+ '''Specifies a coordinate of the east–west position of a geographic point on the surface of the Earth.
3091
+
3082
3092
  :cloudformationAttribute: Id
3083
3093
  '''
3084
3094
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -3194,6 +3204,24 @@ class CfnRecordSet(
3194
3204
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3195
3205
  jsii.set(self, "geoLocation", value)
3196
3206
 
3207
+ @builtins.property
3208
+ @jsii.member(jsii_name="geoProximityLocation")
3209
+ def geo_proximity_location(
3210
+ self,
3211
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRecordSet.GeoProximityLocationProperty"]]:
3212
+ '''*GeoproximityLocation resource record sets only:* A complex type that lets you control how Route 53 responds to DNS queries based on the geographic origin of the query and your resources.'''
3213
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRecordSet.GeoProximityLocationProperty"]], jsii.get(self, "geoProximityLocation"))
3214
+
3215
+ @geo_proximity_location.setter
3216
+ def geo_proximity_location(
3217
+ self,
3218
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRecordSet.GeoProximityLocationProperty"]],
3219
+ ) -> None:
3220
+ if __debug__:
3221
+ type_hints = typing.get_type_hints(_typecheckingstub__ac8d1aee0fc5c4e2eba653391bb8b61826a08b6708db398bae5b22b4e13fcf05)
3222
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3223
+ jsii.set(self, "geoProximityLocation", value)
3224
+
3197
3225
  @builtins.property
3198
3226
  @jsii.member(jsii_name="healthCheckId")
3199
3227
  def health_check_id(self) -> typing.Optional[builtins.str]:
@@ -3599,6 +3627,72 @@ class CfnRecordSet(
3599
3627
  k + "=" + repr(v) for k, v in self._values.items()
3600
3628
  )
3601
3629
 
3630
+ @jsii.data_type(
3631
+ jsii_type="aws-cdk-lib.aws_route53.CfnRecordSet.CoordinatesProperty",
3632
+ jsii_struct_bases=[],
3633
+ name_mapping={"latitude": "latitude", "longitude": "longitude"},
3634
+ )
3635
+ class CoordinatesProperty:
3636
+ def __init__(self, *, latitude: builtins.str, longitude: builtins.str) -> None:
3637
+ '''A complex type that lists the coordinates for a geoproximity resource record.
3638
+
3639
+ :param latitude: Specifies a coordinate of the north–south position of a geographic point on the surface of the Earth (-90 - 90).
3640
+ :param longitude: Specifies a coordinate of the east–west position of a geographic point on the surface of the Earth (-180 - 180).
3641
+
3642
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-coordinates.html
3643
+ :exampleMetadata: fixture=_generated
3644
+
3645
+ Example::
3646
+
3647
+ # The code below shows an example of how to instantiate this type.
3648
+ # The values are placeholders you should change.
3649
+ from aws_cdk import aws_route53 as route53
3650
+
3651
+ coordinates_property = route53.CfnRecordSet.CoordinatesProperty(
3652
+ latitude="latitude",
3653
+ longitude="longitude"
3654
+ )
3655
+ '''
3656
+ if __debug__:
3657
+ type_hints = typing.get_type_hints(_typecheckingstub__29683fc8d824969c71955a00cda4d10dde445180eb16e6a17c990ec1252a893a)
3658
+ check_type(argname="argument latitude", value=latitude, expected_type=type_hints["latitude"])
3659
+ check_type(argname="argument longitude", value=longitude, expected_type=type_hints["longitude"])
3660
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3661
+ "latitude": latitude,
3662
+ "longitude": longitude,
3663
+ }
3664
+
3665
+ @builtins.property
3666
+ def latitude(self) -> builtins.str:
3667
+ '''Specifies a coordinate of the north–south position of a geographic point on the surface of the Earth (-90 - 90).
3668
+
3669
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-coordinates.html#cfn-route53-recordset-coordinates-latitude
3670
+ '''
3671
+ result = self._values.get("latitude")
3672
+ assert result is not None, "Required property 'latitude' is missing"
3673
+ return typing.cast(builtins.str, result)
3674
+
3675
+ @builtins.property
3676
+ def longitude(self) -> builtins.str:
3677
+ '''Specifies a coordinate of the east–west position of a geographic point on the surface of the Earth (-180 - 180).
3678
+
3679
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-coordinates.html#cfn-route53-recordset-coordinates-longitude
3680
+ '''
3681
+ result = self._values.get("longitude")
3682
+ assert result is not None, "Required property 'longitude' is missing"
3683
+ return typing.cast(builtins.str, result)
3684
+
3685
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3686
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3687
+
3688
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3689
+ return not (rhs == self)
3690
+
3691
+ def __repr__(self) -> str:
3692
+ return "CoordinatesProperty(%s)" % ", ".join(
3693
+ k + "=" + repr(v) for k, v in self._values.items()
3694
+ )
3695
+
3602
3696
  @jsii.data_type(
3603
3697
  jsii_type="aws-cdk-lib.aws_route53.CfnRecordSet.GeoLocationProperty",
3604
3698
  jsii_struct_bases=[],
@@ -3704,6 +3798,131 @@ class CfnRecordSet(
3704
3798
  k + "=" + repr(v) for k, v in self._values.items()
3705
3799
  )
3706
3800
 
3801
+ @jsii.data_type(
3802
+ jsii_type="aws-cdk-lib.aws_route53.CfnRecordSet.GeoProximityLocationProperty",
3803
+ jsii_struct_bases=[],
3804
+ name_mapping={
3805
+ "aws_region": "awsRegion",
3806
+ "bias": "bias",
3807
+ "coordinates": "coordinates",
3808
+ "local_zone_group": "localZoneGroup",
3809
+ },
3810
+ )
3811
+ class GeoProximityLocationProperty:
3812
+ def __init__(
3813
+ self,
3814
+ *,
3815
+ aws_region: typing.Optional[builtins.str] = None,
3816
+ bias: typing.Optional[jsii.Number] = None,
3817
+ coordinates: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRecordSet.CoordinatesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3818
+ local_zone_group: typing.Optional[builtins.str] = None,
3819
+ ) -> None:
3820
+ '''(Resource record sets only): A complex type that lets you specify where your resources are located.
3821
+
3822
+ Only one of ``LocalZoneGroup`` , ``Coordinates`` , or ``AWS Region`` is allowed per request at a time.
3823
+
3824
+ For more information about geoproximity routing, see `Geoproximity routing <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geoproximity.html>`_ in the *Amazon Route 53 Developer Guide* .
3825
+
3826
+ :param aws_region: The AWS Region the resource you are directing DNS traffic to, is in.
3827
+ :param bias: The bias increases or decreases the size of the geographic region from which Route 53 routes traffic to a resource. To use ``Bias`` to change the size of the geographic region, specify the applicable value for the bias: - To expand the size of the geographic region from which Route 53 routes traffic to a resource, specify a positive integer from 1 to 99 for the bias. Route 53 shrinks the size of adjacent regions. - To shrink the size of the geographic region from which Route 53 routes traffic to a resource, specify a negative bias of -1 to -99. Route 53 expands the size of adjacent regions.
3828
+ :param coordinates: Contains the longitude and latitude for a geographic region.
3829
+ :param local_zone_group: Specifies an AWS Local Zone Group. A local Zone Group is usually the Local Zone code without the ending character. For example, if the Local Zone is ``us-east-1-bue-1a`` the Local Zone Group is ``us-east-1-bue-1`` . You can identify the Local Zones Group for a specific Local Zone by using the `describe-availability-zones <https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html>`_ CLI command: This command returns: ``"GroupName": "us-west-2-den-1"`` , specifying that the Local Zone ``us-west-2-den-1a`` belongs to the Local Zone Group ``us-west-2-den-1`` .
3830
+
3831
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geoproximitylocation.html
3832
+ :exampleMetadata: fixture=_generated
3833
+
3834
+ Example::
3835
+
3836
+ # The code below shows an example of how to instantiate this type.
3837
+ # The values are placeholders you should change.
3838
+ from aws_cdk import aws_route53 as route53
3839
+
3840
+ geo_proximity_location_property = route53.CfnRecordSet.GeoProximityLocationProperty(
3841
+ aws_region="awsRegion",
3842
+ bias=123,
3843
+ coordinates=route53.CfnRecordSet.CoordinatesProperty(
3844
+ latitude="latitude",
3845
+ longitude="longitude"
3846
+ ),
3847
+ local_zone_group="localZoneGroup"
3848
+ )
3849
+ '''
3850
+ if __debug__:
3851
+ type_hints = typing.get_type_hints(_typecheckingstub__9bbef31bd9d19fea78e067206e8cea17ada33bda9853588d7a99d66d91f15555)
3852
+ check_type(argname="argument aws_region", value=aws_region, expected_type=type_hints["aws_region"])
3853
+ check_type(argname="argument bias", value=bias, expected_type=type_hints["bias"])
3854
+ check_type(argname="argument coordinates", value=coordinates, expected_type=type_hints["coordinates"])
3855
+ check_type(argname="argument local_zone_group", value=local_zone_group, expected_type=type_hints["local_zone_group"])
3856
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3857
+ if aws_region is not None:
3858
+ self._values["aws_region"] = aws_region
3859
+ if bias is not None:
3860
+ self._values["bias"] = bias
3861
+ if coordinates is not None:
3862
+ self._values["coordinates"] = coordinates
3863
+ if local_zone_group is not None:
3864
+ self._values["local_zone_group"] = local_zone_group
3865
+
3866
+ @builtins.property
3867
+ def aws_region(self) -> typing.Optional[builtins.str]:
3868
+ '''The AWS Region the resource you are directing DNS traffic to, is in.
3869
+
3870
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geoproximitylocation.html#cfn-route53-recordset-geoproximitylocation-awsregion
3871
+ '''
3872
+ result = self._values.get("aws_region")
3873
+ return typing.cast(typing.Optional[builtins.str], result)
3874
+
3875
+ @builtins.property
3876
+ def bias(self) -> typing.Optional[jsii.Number]:
3877
+ '''The bias increases or decreases the size of the geographic region from which Route 53 routes traffic to a resource.
3878
+
3879
+ To use ``Bias`` to change the size of the geographic region, specify the applicable value for the bias:
3880
+
3881
+ - To expand the size of the geographic region from which Route 53 routes traffic to a resource, specify a positive integer from 1 to 99 for the bias. Route 53 shrinks the size of adjacent regions.
3882
+ - To shrink the size of the geographic region from which Route 53 routes traffic to a resource, specify a negative bias of -1 to -99. Route 53 expands the size of adjacent regions.
3883
+
3884
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geoproximitylocation.html#cfn-route53-recordset-geoproximitylocation-bias
3885
+ '''
3886
+ result = self._values.get("bias")
3887
+ return typing.cast(typing.Optional[jsii.Number], result)
3888
+
3889
+ @builtins.property
3890
+ def coordinates(
3891
+ self,
3892
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRecordSet.CoordinatesProperty"]]:
3893
+ '''Contains the longitude and latitude for a geographic region.
3894
+
3895
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geoproximitylocation.html#cfn-route53-recordset-geoproximitylocation-coordinates
3896
+ '''
3897
+ result = self._values.get("coordinates")
3898
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRecordSet.CoordinatesProperty"]], result)
3899
+
3900
+ @builtins.property
3901
+ def local_zone_group(self) -> typing.Optional[builtins.str]:
3902
+ '''Specifies an AWS Local Zone Group.
3903
+
3904
+ A local Zone Group is usually the Local Zone code without the ending character. For example, if the Local Zone is ``us-east-1-bue-1a`` the Local Zone Group is ``us-east-1-bue-1`` .
3905
+
3906
+ You can identify the Local Zones Group for a specific Local Zone by using the `describe-availability-zones <https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html>`_ CLI command:
3907
+
3908
+ This command returns: ``"GroupName": "us-west-2-den-1"`` , specifying that the Local Zone ``us-west-2-den-1a`` belongs to the Local Zone Group ``us-west-2-den-1`` .
3909
+
3910
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geoproximitylocation.html#cfn-route53-recordset-geoproximitylocation-localzonegroup
3911
+ '''
3912
+ result = self._values.get("local_zone_group")
3913
+ return typing.cast(typing.Optional[builtins.str], result)
3914
+
3915
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3916
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3917
+
3918
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3919
+ return not (rhs == self)
3920
+
3921
+ def __repr__(self) -> str:
3922
+ return "GeoProximityLocationProperty(%s)" % ", ".join(
3923
+ k + "=" + repr(v) for k, v in self._values.items()
3924
+ )
3925
+
3707
3926
 
3708
3927
  @jsii.implements(_IInspectable_c2943556)
3709
3928
  class CfnRecordSetGroup(
@@ -3749,6 +3968,15 @@ class CfnRecordSetGroup(
3749
3968
  country_code="countryCode",
3750
3969
  subdivision_code="subdivisionCode"
3751
3970
  ),
3971
+ geo_proximity_location=route53.CfnRecordSetGroup.GeoProximityLocationProperty(
3972
+ aws_region="awsRegion",
3973
+ bias=123,
3974
+ coordinates=route53.CfnRecordSetGroup.CoordinatesProperty(
3975
+ latitude="latitude",
3976
+ longitude="longitude"
3977
+ ),
3978
+ local_zone_group="localZoneGroup"
3979
+ ),
3752
3980
  health_check_id="healthCheckId",
3753
3981
  hosted_zone_id="hostedZoneId",
3754
3982
  hosted_zone_name="hostedZoneName",
@@ -3826,7 +4054,8 @@ class CfnRecordSetGroup(
3826
4054
  @builtins.property
3827
4055
  @jsii.member(jsii_name="attrId")
3828
4056
  def attr_id(self) -> builtins.str:
3829
- '''
4057
+ '''Specifies a coordinate of the east–west position of a geographic point on the surface of the Earth.
4058
+
3830
4059
  :cloudformationAttribute: Id
3831
4060
  '''
3832
4061
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -4170,6 +4399,72 @@ class CfnRecordSetGroup(
4170
4399
  k + "=" + repr(v) for k, v in self._values.items()
4171
4400
  )
4172
4401
 
4402
+ @jsii.data_type(
4403
+ jsii_type="aws-cdk-lib.aws_route53.CfnRecordSetGroup.CoordinatesProperty",
4404
+ jsii_struct_bases=[],
4405
+ name_mapping={"latitude": "latitude", "longitude": "longitude"},
4406
+ )
4407
+ class CoordinatesProperty:
4408
+ def __init__(self, *, latitude: builtins.str, longitude: builtins.str) -> None:
4409
+ '''A complex type that lists the coordinates for a geoproximity resource record.
4410
+
4411
+ :param latitude: Specifies a coordinate of the north–south position of a geographic point on the surface of the Earth (-90 - 90).
4412
+ :param longitude: Specifies a coordinate of the east–west position of a geographic point on the surface of the Earth (-180 - 180).
4413
+
4414
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordsetgroup-coordinates.html
4415
+ :exampleMetadata: fixture=_generated
4416
+
4417
+ Example::
4418
+
4419
+ # The code below shows an example of how to instantiate this type.
4420
+ # The values are placeholders you should change.
4421
+ from aws_cdk import aws_route53 as route53
4422
+
4423
+ coordinates_property = route53.CfnRecordSetGroup.CoordinatesProperty(
4424
+ latitude="latitude",
4425
+ longitude="longitude"
4426
+ )
4427
+ '''
4428
+ if __debug__:
4429
+ type_hints = typing.get_type_hints(_typecheckingstub__3ebaae8a752b3b1dfff4bf671352e45cbd7c98fa0058ccfb5170085a3e53f8cb)
4430
+ check_type(argname="argument latitude", value=latitude, expected_type=type_hints["latitude"])
4431
+ check_type(argname="argument longitude", value=longitude, expected_type=type_hints["longitude"])
4432
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4433
+ "latitude": latitude,
4434
+ "longitude": longitude,
4435
+ }
4436
+
4437
+ @builtins.property
4438
+ def latitude(self) -> builtins.str:
4439
+ '''Specifies a coordinate of the north–south position of a geographic point on the surface of the Earth (-90 - 90).
4440
+
4441
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordsetgroup-coordinates.html#cfn-route53-recordsetgroup-coordinates-latitude
4442
+ '''
4443
+ result = self._values.get("latitude")
4444
+ assert result is not None, "Required property 'latitude' is missing"
4445
+ return typing.cast(builtins.str, result)
4446
+
4447
+ @builtins.property
4448
+ def longitude(self) -> builtins.str:
4449
+ '''Specifies a coordinate of the east–west position of a geographic point on the surface of the Earth (-180 - 180).
4450
+
4451
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordsetgroup-coordinates.html#cfn-route53-recordsetgroup-coordinates-longitude
4452
+ '''
4453
+ result = self._values.get("longitude")
4454
+ assert result is not None, "Required property 'longitude' is missing"
4455
+ return typing.cast(builtins.str, result)
4456
+
4457
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4458
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4459
+
4460
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4461
+ return not (rhs == self)
4462
+
4463
+ def __repr__(self) -> str:
4464
+ return "CoordinatesProperty(%s)" % ", ".join(
4465
+ k + "=" + repr(v) for k, v in self._values.items()
4466
+ )
4467
+
4173
4468
  @jsii.data_type(
4174
4469
  jsii_type="aws-cdk-lib.aws_route53.CfnRecordSetGroup.GeoLocationProperty",
4175
4470
  jsii_struct_bases=[],
@@ -4275,6 +4570,131 @@ class CfnRecordSetGroup(
4275
4570
  k + "=" + repr(v) for k, v in self._values.items()
4276
4571
  )
4277
4572
 
4573
+ @jsii.data_type(
4574
+ jsii_type="aws-cdk-lib.aws_route53.CfnRecordSetGroup.GeoProximityLocationProperty",
4575
+ jsii_struct_bases=[],
4576
+ name_mapping={
4577
+ "aws_region": "awsRegion",
4578
+ "bias": "bias",
4579
+ "coordinates": "coordinates",
4580
+ "local_zone_group": "localZoneGroup",
4581
+ },
4582
+ )
4583
+ class GeoProximityLocationProperty:
4584
+ def __init__(
4585
+ self,
4586
+ *,
4587
+ aws_region: typing.Optional[builtins.str] = None,
4588
+ bias: typing.Optional[jsii.Number] = None,
4589
+ coordinates: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRecordSetGroup.CoordinatesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4590
+ local_zone_group: typing.Optional[builtins.str] = None,
4591
+ ) -> None:
4592
+ '''(Resource record sets only): A complex type that lets you specify where your resources are located.
4593
+
4594
+ Only one of ``LocalZoneGroup`` , ``Coordinates`` , or ``AWS Region`` is allowed per request at a time.
4595
+
4596
+ For more information about geoproximity routing, see `Geoproximity routing <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geoproximity.html>`_ in the *Amazon Route 53 Developer Guide* .
4597
+
4598
+ :param aws_region: The AWS Region the resource you are directing DNS traffic to, is in.
4599
+ :param bias: The bias increases or decreases the size of the geographic region from which Route 53 routes traffic to a resource. To use ``Bias`` to change the size of the geographic region, specify the applicable value for the bias: - To expand the size of the geographic region from which Route 53 routes traffic to a resource, specify a positive integer from 1 to 99 for the bias. Route 53 shrinks the size of adjacent regions. - To shrink the size of the geographic region from which Route 53 routes traffic to a resource, specify a negative bias of -1 to -99. Route 53 expands the size of adjacent regions.
4600
+ :param coordinates: Contains the longitude and latitude for a geographic region.
4601
+ :param local_zone_group: Specifies an AWS Local Zone Group. A local Zone Group is usually the Local Zone code without the ending character. For example, if the Local Zone is ``us-east-1-bue-1a`` the Local Zone Group is ``us-east-1-bue-1`` . You can identify the Local Zones Group for a specific Local Zone by using the `describe-availability-zones <https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html>`_ CLI command: This command returns: ``"GroupName": "us-west-2-den-1"`` , specifying that the Local Zone ``us-west-2-den-1a`` belongs to the Local Zone Group ``us-west-2-den-1`` .
4602
+
4603
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordsetgroup-geoproximitylocation.html
4604
+ :exampleMetadata: fixture=_generated
4605
+
4606
+ Example::
4607
+
4608
+ # The code below shows an example of how to instantiate this type.
4609
+ # The values are placeholders you should change.
4610
+ from aws_cdk import aws_route53 as route53
4611
+
4612
+ geo_proximity_location_property = route53.CfnRecordSetGroup.GeoProximityLocationProperty(
4613
+ aws_region="awsRegion",
4614
+ bias=123,
4615
+ coordinates=route53.CfnRecordSetGroup.CoordinatesProperty(
4616
+ latitude="latitude",
4617
+ longitude="longitude"
4618
+ ),
4619
+ local_zone_group="localZoneGroup"
4620
+ )
4621
+ '''
4622
+ if __debug__:
4623
+ type_hints = typing.get_type_hints(_typecheckingstub__5430af5a2d4636b1244b53f4c6759f6d1ffde530908e449cf4bc90b0d9de5ec8)
4624
+ check_type(argname="argument aws_region", value=aws_region, expected_type=type_hints["aws_region"])
4625
+ check_type(argname="argument bias", value=bias, expected_type=type_hints["bias"])
4626
+ check_type(argname="argument coordinates", value=coordinates, expected_type=type_hints["coordinates"])
4627
+ check_type(argname="argument local_zone_group", value=local_zone_group, expected_type=type_hints["local_zone_group"])
4628
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4629
+ if aws_region is not None:
4630
+ self._values["aws_region"] = aws_region
4631
+ if bias is not None:
4632
+ self._values["bias"] = bias
4633
+ if coordinates is not None:
4634
+ self._values["coordinates"] = coordinates
4635
+ if local_zone_group is not None:
4636
+ self._values["local_zone_group"] = local_zone_group
4637
+
4638
+ @builtins.property
4639
+ def aws_region(self) -> typing.Optional[builtins.str]:
4640
+ '''The AWS Region the resource you are directing DNS traffic to, is in.
4641
+
4642
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordsetgroup-geoproximitylocation.html#cfn-route53-recordsetgroup-geoproximitylocation-awsregion
4643
+ '''
4644
+ result = self._values.get("aws_region")
4645
+ return typing.cast(typing.Optional[builtins.str], result)
4646
+
4647
+ @builtins.property
4648
+ def bias(self) -> typing.Optional[jsii.Number]:
4649
+ '''The bias increases or decreases the size of the geographic region from which Route 53 routes traffic to a resource.
4650
+
4651
+ To use ``Bias`` to change the size of the geographic region, specify the applicable value for the bias:
4652
+
4653
+ - To expand the size of the geographic region from which Route 53 routes traffic to a resource, specify a positive integer from 1 to 99 for the bias. Route 53 shrinks the size of adjacent regions.
4654
+ - To shrink the size of the geographic region from which Route 53 routes traffic to a resource, specify a negative bias of -1 to -99. Route 53 expands the size of adjacent regions.
4655
+
4656
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordsetgroup-geoproximitylocation.html#cfn-route53-recordsetgroup-geoproximitylocation-bias
4657
+ '''
4658
+ result = self._values.get("bias")
4659
+ return typing.cast(typing.Optional[jsii.Number], result)
4660
+
4661
+ @builtins.property
4662
+ def coordinates(
4663
+ self,
4664
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRecordSetGroup.CoordinatesProperty"]]:
4665
+ '''Contains the longitude and latitude for a geographic region.
4666
+
4667
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordsetgroup-geoproximitylocation.html#cfn-route53-recordsetgroup-geoproximitylocation-coordinates
4668
+ '''
4669
+ result = self._values.get("coordinates")
4670
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRecordSetGroup.CoordinatesProperty"]], result)
4671
+
4672
+ @builtins.property
4673
+ def local_zone_group(self) -> typing.Optional[builtins.str]:
4674
+ '''Specifies an AWS Local Zone Group.
4675
+
4676
+ A local Zone Group is usually the Local Zone code without the ending character. For example, if the Local Zone is ``us-east-1-bue-1a`` the Local Zone Group is ``us-east-1-bue-1`` .
4677
+
4678
+ You can identify the Local Zones Group for a specific Local Zone by using the `describe-availability-zones <https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html>`_ CLI command:
4679
+
4680
+ This command returns: ``"GroupName": "us-west-2-den-1"`` , specifying that the Local Zone ``us-west-2-den-1a`` belongs to the Local Zone Group ``us-west-2-den-1`` .
4681
+
4682
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordsetgroup-geoproximitylocation.html#cfn-route53-recordsetgroup-geoproximitylocation-localzonegroup
4683
+ '''
4684
+ result = self._values.get("local_zone_group")
4685
+ return typing.cast(typing.Optional[builtins.str], result)
4686
+
4687
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4688
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4689
+
4690
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4691
+ return not (rhs == self)
4692
+
4693
+ def __repr__(self) -> str:
4694
+ return "GeoProximityLocationProperty(%s)" % ", ".join(
4695
+ k + "=" + repr(v) for k, v in self._values.items()
4696
+ )
4697
+
4278
4698
  @jsii.data_type(
4279
4699
  jsii_type="aws-cdk-lib.aws_route53.CfnRecordSetGroup.RecordSetProperty",
4280
4700
  jsii_struct_bases=[],
@@ -4285,6 +4705,7 @@ class CfnRecordSetGroup(
4285
4705
  "cidr_routing_config": "cidrRoutingConfig",
4286
4706
  "failover": "failover",
4287
4707
  "geo_location": "geoLocation",
4708
+ "geo_proximity_location": "geoProximityLocation",
4288
4709
  "health_check_id": "healthCheckId",
4289
4710
  "hosted_zone_id": "hostedZoneId",
4290
4711
  "hosted_zone_name": "hostedZoneName",
@@ -4306,6 +4727,7 @@ class CfnRecordSetGroup(
4306
4727
  cidr_routing_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRecordSetGroup.CidrRoutingConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4307
4728
  failover: typing.Optional[builtins.str] = None,
4308
4729
  geo_location: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRecordSetGroup.GeoLocationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4730
+ geo_proximity_location: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnRecordSetGroup.GeoProximityLocationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4309
4731
  health_check_id: typing.Optional[builtins.str] = None,
4310
4732
  hosted_zone_id: typing.Optional[builtins.str] = None,
4311
4733
  hosted_zone_name: typing.Optional[builtins.str] = None,
@@ -4324,6 +4746,7 @@ class CfnRecordSetGroup(
4324
4746
  :param cidr_routing_config:
4325
4747
  :param failover: *Failover resource record sets only:* To configure failover, you add the ``Failover`` element to two resource record sets. For one resource record set, you specify ``PRIMARY`` as the value for ``Failover`` ; for the other resource record set, you specify ``SECONDARY`` . In addition, you include the ``HealthCheckId`` element and specify the health check that you want Amazon Route 53 to perform for each resource record set. Except where noted, the following failover behaviors assume that you have included the ``HealthCheckId`` element in both resource record sets: - When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set. - When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set. - When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set. - If you omit the ``HealthCheckId`` element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint. You can't create non-failover resource record sets that have the same values for the ``Name`` and ``Type`` elements as failover resource record sets. For failover alias resource record sets, you must also include the ``EvaluateTargetHealth`` element and set the value to true. For more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* : - `Route 53 Health Checks and DNS Failover <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html>`_ - `Configuring Failover in a Private Hosted Zone <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html>`_
4326
4748
  :param geo_location: *Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of ``192.0.2.111`` , create a resource record set with a ``Type`` of ``A`` and a ``ContinentCode`` of ``AF`` . If you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource. You can't create two geolocation resource record sets that specify the same geographic location. The value ``*`` in the ``CountryCode`` element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the ``Name`` and ``Type`` elements. .. epigraph:: Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of ``CountryCode`` is ``*`` . Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a ``*`` resource record set, Route 53 returns a "no answer" response for queries from those locations. You can't create non-geolocation resource record sets that have the same values for the ``Name`` and ``Type`` elements as geolocation resource record sets.
4749
+ :param geo_proximity_location: A complex type that contains information about a geographic location.
4327
4750
  :param health_check_id: If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the ``HealthCheckId`` element and specify the ID of the applicable health check. Route 53 determines whether a resource record set is healthy based on one of the following: - By periodically sending a request to the endpoint that is specified in the health check - By aggregating the status of a specified group of health checks (calculated health checks) - By determining the current state of a CloudWatch alarm (CloudWatch metric health checks) .. epigraph:: Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the ``Value`` element. When you add a ``HealthCheckId`` element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check. For more information, see the following topics in the *Amazon Route 53 Developer Guide* : - `How Amazon Route 53 Determines Whether an Endpoint Is Healthy <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html>`_ - `Route 53 Health Checks and DNS Failover <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html>`_ - `Configuring Failover in a Private Hosted Zone <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html>`_ *When to Specify HealthCheckId* Specifying a value for ``HealthCheckId`` is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations: - *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets. If the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with. If the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set. If the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly. - *Alias resource record sets* : You specify the following settings: - You set ``EvaluateTargetHealth`` to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A). - You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone. - You specify a health check ID for the non-alias resource record set. If the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with. If the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set. .. epigraph:: The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets. *Geolocation Routing* For geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has ``*`` for ``CountryCode`` is ``*`` , which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy: - The United States - North America - The default resource record set *Specifying the Health Check Endpoint by Domain Name* If your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each ``HTTP`` server that is serving content for ``www.example.com`` . For the value of ``FullyQualifiedDomainName`` , specify the domain name of the server (such as ``us-east-2-www.example.com`` ), not the name of the resource record sets ( ``www.example.com`` ). .. epigraph:: Health check results will be unpredictable if you do the following: - Create a health check that has the same value for ``FullyQualifiedDomainName`` as the name of a resource record set. - Associate that health check with the resource record set.
4328
4751
  :param hosted_zone_id: The ID of the hosted zone that you want to create records in. Specify either ``HostedZoneName`` or ``HostedZoneId`` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using ``HostedZoneId`` . Do not provide the ``HostedZoneId`` if it is already defined in ``AWS::Route53::RecordSetGroup`` . The creation fails if ``HostedZoneId`` is defined in both.
4329
4752
  :param hosted_zone_name: The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, ``www.example.com.`` ) as part of the ``HostedZoneName`` . When you create a stack using an ``AWS::Route53::RecordSet`` that specifies ``HostedZoneName`` , AWS CloudFormation attempts to find a hosted zone whose name matches the ``HostedZoneName`` . If AWS CloudFormation can't find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack. Specify either ``HostedZoneName`` or ``HostedZoneId`` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using ``HostedZoneId`` .
@@ -4365,6 +4788,15 @@ class CfnRecordSetGroup(
4365
4788
  country_code="countryCode",
4366
4789
  subdivision_code="subdivisionCode"
4367
4790
  ),
4791
+ geo_proximity_location=route53.CfnRecordSetGroup.GeoProximityLocationProperty(
4792
+ aws_region="awsRegion",
4793
+ bias=123,
4794
+ coordinates=route53.CfnRecordSetGroup.CoordinatesProperty(
4795
+ latitude="latitude",
4796
+ longitude="longitude"
4797
+ ),
4798
+ local_zone_group="localZoneGroup"
4799
+ ),
4368
4800
  health_check_id="healthCheckId",
4369
4801
  hosted_zone_id="hostedZoneId",
4370
4802
  hosted_zone_name="hostedZoneName",
@@ -4384,6 +4816,7 @@ class CfnRecordSetGroup(
4384
4816
  check_type(argname="argument cidr_routing_config", value=cidr_routing_config, expected_type=type_hints["cidr_routing_config"])
4385
4817
  check_type(argname="argument failover", value=failover, expected_type=type_hints["failover"])
4386
4818
  check_type(argname="argument geo_location", value=geo_location, expected_type=type_hints["geo_location"])
4819
+ check_type(argname="argument geo_proximity_location", value=geo_proximity_location, expected_type=type_hints["geo_proximity_location"])
4387
4820
  check_type(argname="argument health_check_id", value=health_check_id, expected_type=type_hints["health_check_id"])
4388
4821
  check_type(argname="argument hosted_zone_id", value=hosted_zone_id, expected_type=type_hints["hosted_zone_id"])
4389
4822
  check_type(argname="argument hosted_zone_name", value=hosted_zone_name, expected_type=type_hints["hosted_zone_name"])
@@ -4405,6 +4838,8 @@ class CfnRecordSetGroup(
4405
4838
  self._values["failover"] = failover
4406
4839
  if geo_location is not None:
4407
4840
  self._values["geo_location"] = geo_location
4841
+ if geo_proximity_location is not None:
4842
+ self._values["geo_proximity_location"] = geo_proximity_location
4408
4843
  if health_check_id is not None:
4409
4844
  self._values["health_check_id"] = health_check_id
4410
4845
  if hosted_zone_id is not None:
@@ -4567,6 +5002,17 @@ class CfnRecordSetGroup(
4567
5002
  result = self._values.get("geo_location")
4568
5003
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRecordSetGroup.GeoLocationProperty"]], result)
4569
5004
 
5005
+ @builtins.property
5006
+ def geo_proximity_location(
5007
+ self,
5008
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRecordSetGroup.GeoProximityLocationProperty"]]:
5009
+ '''A complex type that contains information about a geographic location.
5010
+
5011
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordsetgroup-recordset.html#cfn-route53-recordsetgroup-recordset-geoproximitylocation
5012
+ '''
5013
+ result = self._values.get("geo_proximity_location")
5014
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRecordSetGroup.GeoProximityLocationProperty"]], result)
5015
+
4570
5016
  @builtins.property
4571
5017
  def health_check_id(self) -> typing.Optional[builtins.str]:
4572
5018
  '''If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the ``HealthCheckId`` element and specify the ID of the applicable health check.
@@ -4832,6 +5278,15 @@ class CfnRecordSetGroupProps:
4832
5278
  country_code="countryCode",
4833
5279
  subdivision_code="subdivisionCode"
4834
5280
  ),
5281
+ geo_proximity_location=route53.CfnRecordSetGroup.GeoProximityLocationProperty(
5282
+ aws_region="awsRegion",
5283
+ bias=123,
5284
+ coordinates=route53.CfnRecordSetGroup.CoordinatesProperty(
5285
+ latitude="latitude",
5286
+ longitude="longitude"
5287
+ ),
5288
+ local_zone_group="localZoneGroup"
5289
+ ),
4835
5290
  health_check_id="healthCheckId",
4836
5291
  hosted_zone_id="hostedZoneId",
4837
5292
  hosted_zone_name="hostedZoneName",
@@ -4929,6 +5384,7 @@ class CfnRecordSetGroupProps:
4929
5384
  "comment": "comment",
4930
5385
  "failover": "failover",
4931
5386
  "geo_location": "geoLocation",
5387
+ "geo_proximity_location": "geoProximityLocation",
4932
5388
  "health_check_id": "healthCheckId",
4933
5389
  "hosted_zone_id": "hostedZoneId",
4934
5390
  "hosted_zone_name": "hostedZoneName",
@@ -4951,6 +5407,7 @@ class CfnRecordSetProps:
4951
5407
  comment: typing.Optional[builtins.str] = None,
4952
5408
  failover: typing.Optional[builtins.str] = None,
4953
5409
  geo_location: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRecordSet.GeoLocationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5410
+ geo_proximity_location: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRecordSet.GeoProximityLocationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4954
5411
  health_check_id: typing.Optional[builtins.str] = None,
4955
5412
  hosted_zone_id: typing.Optional[builtins.str] = None,
4956
5413
  hosted_zone_name: typing.Optional[builtins.str] = None,
@@ -4970,6 +5427,7 @@ class CfnRecordSetProps:
4970
5427
  :param comment: *Optional:* Any comments you want to include about a change batch request.
4971
5428
  :param failover: *Failover resource record sets only:* To configure failover, you add the ``Failover`` element to two resource record sets. For one resource record set, you specify ``PRIMARY`` as the value for ``Failover`` ; for the other resource record set, you specify ``SECONDARY`` . In addition, you include the ``HealthCheckId`` element and specify the health check that you want Amazon Route 53 to perform for each resource record set. Except where noted, the following failover behaviors assume that you have included the ``HealthCheckId`` element in both resource record sets: - When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set. - When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set. - When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set. - If you omit the ``HealthCheckId`` element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint. You can't create non-failover resource record sets that have the same values for the ``Name`` and ``Type`` elements as failover resource record sets. For failover alias resource record sets, you must also include the ``EvaluateTargetHealth`` element and set the value to true. For more information about configuring failover for Route 53, see the following topics in the *Amazon Route 53 Developer Guide* : - `Route 53 Health Checks and DNS Failover <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html>`_ - `Configuring Failover in a Private Hosted Zone <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html>`_
4972
5429
  :param geo_location: *Geolocation resource record sets only:* A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of ``192.0.2.111`` , create a resource record set with a ``Type`` of ``A`` and a ``ContinentCode`` of ``AF`` . If you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource. You can't create two geolocation resource record sets that specify the same geographic location. The value ``*`` in the ``CountryCode`` element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the ``Name`` and ``Type`` elements. .. epigraph:: Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of ``CountryCode`` is ``*`` . Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a ``*`` resource record set, Route 53 returns a "no answer" response for queries from those locations. You can't create non-geolocation resource record sets that have the same values for the ``Name`` and ``Type`` elements as geolocation resource record sets.
5430
+ :param geo_proximity_location: *GeoproximityLocation resource record sets only:* A complex type that lets you control how Route 53 responds to DNS queries based on the geographic origin of the query and your resources.
4973
5431
  :param health_check_id: If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the ``HealthCheckId`` element and specify the ID of the applicable health check. Route 53 determines whether a resource record set is healthy based on one of the following: - By periodically sending a request to the endpoint that is specified in the health check - By aggregating the status of a specified group of health checks (calculated health checks) - By determining the current state of a CloudWatch alarm (CloudWatch metric health checks) .. epigraph:: Route 53 doesn't check the health of the endpoint that is specified in the resource record set, for example, the endpoint specified by the IP address in the ``Value`` element. When you add a ``HealthCheckId`` element to a resource record set, Route 53 checks the health of the endpoint that you specified in the health check. For more information, see the following topics in the *Amazon Route 53 Developer Guide* : - `How Amazon Route 53 Determines Whether an Endpoint Is Healthy <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html>`_ - `Route 53 Health Checks and DNS Failover <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html>`_ - `Configuring Failover in a Private Hosted Zone <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html>`_ *When to Specify HealthCheckId* Specifying a value for ``HealthCheckId`` is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations: - *Non-alias resource record sets* : You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets. If the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with. If the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set. If the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly. - *Alias resource record sets* : You specify the following settings: - You set ``EvaluateTargetHealth`` to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A). - You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone. - You specify a health check ID for the non-alias resource record set. If the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with. If the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set. .. epigraph:: The alias resource record set can also route traffic to a *group* of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets. *Geolocation Routing* For geolocation resource record sets, if an endpoint is unhealthy, Route 53 looks for a resource record set for the larger, associated geographic region. For example, suppose you have resource record sets for a state in the United States, for the entire United States, for North America, and a resource record set that has ``*`` for ``CountryCode`` is ``*`` , which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy: - The United States - North America - The default resource record set *Specifying the Health Check Endpoint by Domain Name* If your health checks specify the endpoint only by domain name, we recommend that you create a separate health check for each endpoint. For example, create a health check for each ``HTTP`` server that is serving content for ``www.example.com`` . For the value of ``FullyQualifiedDomainName`` , specify the domain name of the server (such as ``us-east-2-www.example.com`` ), not the name of the resource record sets ( ``www.example.com`` ). .. epigraph:: Health check results will be unpredictable if you do the following: - Create a health check that has the same value for ``FullyQualifiedDomainName`` as the name of a resource record set. - Associate that health check with the resource record set.
4974
5432
  :param hosted_zone_id: The ID of the hosted zone that you want to create records in. Specify either ``HostedZoneName`` or ``HostedZoneId`` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using ``HostedZoneId`` .
4975
5433
  :param hosted_zone_name: The name of the hosted zone that you want to create records in. You must include a trailing dot (for example, ``www.example.com.`` ) as part of the ``HostedZoneName`` . When you create a stack using an AWS::Route53::RecordSet that specifies ``HostedZoneName`` , AWS CloudFormation attempts to find a hosted zone whose name matches the HostedZoneName. If AWS CloudFormation cannot find a hosted zone with a matching domain name, or if there is more than one hosted zone with the specified domain name, AWS CloudFormation will not create the stack. Specify either ``HostedZoneName`` or ``HostedZoneId`` , but not both. If you have multiple hosted zones with the same domain name, you must specify the hosted zone using ``HostedZoneId`` .
@@ -5012,6 +5470,15 @@ class CfnRecordSetProps:
5012
5470
  country_code="countryCode",
5013
5471
  subdivision_code="subdivisionCode"
5014
5472
  ),
5473
+ geo_proximity_location=route53.CfnRecordSet.GeoProximityLocationProperty(
5474
+ aws_region="awsRegion",
5475
+ bias=123,
5476
+ coordinates=route53.CfnRecordSet.CoordinatesProperty(
5477
+ latitude="latitude",
5478
+ longitude="longitude"
5479
+ ),
5480
+ local_zone_group="localZoneGroup"
5481
+ ),
5015
5482
  health_check_id="healthCheckId",
5016
5483
  hosted_zone_id="hostedZoneId",
5017
5484
  hosted_zone_name="hostedZoneName",
@@ -5032,6 +5499,7 @@ class CfnRecordSetProps:
5032
5499
  check_type(argname="argument comment", value=comment, expected_type=type_hints["comment"])
5033
5500
  check_type(argname="argument failover", value=failover, expected_type=type_hints["failover"])
5034
5501
  check_type(argname="argument geo_location", value=geo_location, expected_type=type_hints["geo_location"])
5502
+ check_type(argname="argument geo_proximity_location", value=geo_proximity_location, expected_type=type_hints["geo_proximity_location"])
5035
5503
  check_type(argname="argument health_check_id", value=health_check_id, expected_type=type_hints["health_check_id"])
5036
5504
  check_type(argname="argument hosted_zone_id", value=hosted_zone_id, expected_type=type_hints["hosted_zone_id"])
5037
5505
  check_type(argname="argument hosted_zone_name", value=hosted_zone_name, expected_type=type_hints["hosted_zone_name"])
@@ -5055,6 +5523,8 @@ class CfnRecordSetProps:
5055
5523
  self._values["failover"] = failover
5056
5524
  if geo_location is not None:
5057
5525
  self._values["geo_location"] = geo_location
5526
+ if geo_proximity_location is not None:
5527
+ self._values["geo_proximity_location"] = geo_proximity_location
5058
5528
  if health_check_id is not None:
5059
5529
  self._values["health_check_id"] = health_check_id
5060
5530
  if hosted_zone_id is not None:
@@ -5229,6 +5699,17 @@ class CfnRecordSetProps:
5229
5699
  result = self._values.get("geo_location")
5230
5700
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnRecordSet.GeoLocationProperty]], result)
5231
5701
 
5702
+ @builtins.property
5703
+ def geo_proximity_location(
5704
+ self,
5705
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnRecordSet.GeoProximityLocationProperty]]:
5706
+ '''*GeoproximityLocation resource record sets only:* A complex type that lets you control how Route 53 responds to DNS queries based on the geographic origin of the query and your resources.
5707
+
5708
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordset.html#cfn-route53-recordset-geoproximitylocation
5709
+ '''
5710
+ result = self._values.get("geo_proximity_location")
5711
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnRecordSet.GeoProximityLocationProperty]], result)
5712
+
5232
5713
  @builtins.property
5233
5714
  def health_check_id(self) -> typing.Optional[builtins.str]:
5234
5715
  '''If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the ``HealthCheckId`` element and specify the ID of the applicable health check.
@@ -12502,6 +12983,7 @@ def _typecheckingstub__5260f62d2297374b2126da361d614f7922d306048a751f4287d4f7b25
12502
12983
  comment: typing.Optional[builtins.str] = None,
12503
12984
  failover: typing.Optional[builtins.str] = None,
12504
12985
  geo_location: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRecordSet.GeoLocationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
12986
+ geo_proximity_location: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRecordSet.GeoProximityLocationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
12505
12987
  health_check_id: typing.Optional[builtins.str] = None,
12506
12988
  hosted_zone_id: typing.Optional[builtins.str] = None,
12507
12989
  hosted_zone_name: typing.Optional[builtins.str] = None,
@@ -12569,6 +13051,12 @@ def _typecheckingstub__e7b257b8973ecbc1eff717cef5d9e9a86a7e93521a1f67acf22b2e846
12569
13051
  """Type checking stubs"""
12570
13052
  pass
12571
13053
 
13054
+ def _typecheckingstub__ac8d1aee0fc5c4e2eba653391bb8b61826a08b6708db398bae5b22b4e13fcf05(
13055
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnRecordSet.GeoProximityLocationProperty]],
13056
+ ) -> None:
13057
+ """Type checking stubs"""
13058
+ pass
13059
+
12572
13060
  def _typecheckingstub__6008831249a60a522c31e8ed28371a87feee29b69976deadfbbb7939c49e5a0a(
12573
13061
  value: typing.Optional[builtins.str],
12574
13062
  ) -> None:
@@ -12640,6 +13128,14 @@ def _typecheckingstub__cc6569566583d30a42a983532b11cef6d6313d0666f46f50d599eabd1
12640
13128
  """Type checking stubs"""
12641
13129
  pass
12642
13130
 
13131
+ def _typecheckingstub__29683fc8d824969c71955a00cda4d10dde445180eb16e6a17c990ec1252a893a(
13132
+ *,
13133
+ latitude: builtins.str,
13134
+ longitude: builtins.str,
13135
+ ) -> None:
13136
+ """Type checking stubs"""
13137
+ pass
13138
+
12643
13139
  def _typecheckingstub__fc6e59779782a9e8ecceda7a67dfa9c21d257bdac8db0558def7239dd1d167a5(
12644
13140
  *,
12645
13141
  continent_code: typing.Optional[builtins.str] = None,
@@ -12649,6 +13145,16 @@ def _typecheckingstub__fc6e59779782a9e8ecceda7a67dfa9c21d257bdac8db0558def7239dd
12649
13145
  """Type checking stubs"""
12650
13146
  pass
12651
13147
 
13148
+ def _typecheckingstub__9bbef31bd9d19fea78e067206e8cea17ada33bda9853588d7a99d66d91f15555(
13149
+ *,
13150
+ aws_region: typing.Optional[builtins.str] = None,
13151
+ bias: typing.Optional[jsii.Number] = None,
13152
+ coordinates: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRecordSet.CoordinatesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13153
+ local_zone_group: typing.Optional[builtins.str] = None,
13154
+ ) -> None:
13155
+ """Type checking stubs"""
13156
+ pass
13157
+
12652
13158
  def _typecheckingstub__88410dc2301961a44d6910ee0de13aa8273ce0fa1b93daca4141c18b5fa3d03b(
12653
13159
  scope: _constructs_77d1e7e8.Construct,
12654
13160
  id: builtins.str,
@@ -12714,6 +13220,14 @@ def _typecheckingstub__c25a6f79ee876d62204e1e24470518bddae21e675bc5258cc7766c8a3
12714
13220
  """Type checking stubs"""
12715
13221
  pass
12716
13222
 
13223
+ def _typecheckingstub__3ebaae8a752b3b1dfff4bf671352e45cbd7c98fa0058ccfb5170085a3e53f8cb(
13224
+ *,
13225
+ latitude: builtins.str,
13226
+ longitude: builtins.str,
13227
+ ) -> None:
13228
+ """Type checking stubs"""
13229
+ pass
13230
+
12717
13231
  def _typecheckingstub__2815193fa29c379ea003dd9391a70d63f49989043e7f24e220ccebb1143c1026(
12718
13232
  *,
12719
13233
  continent_code: typing.Optional[builtins.str] = None,
@@ -12723,6 +13237,16 @@ def _typecheckingstub__2815193fa29c379ea003dd9391a70d63f49989043e7f24e220ccebb11
12723
13237
  """Type checking stubs"""
12724
13238
  pass
12725
13239
 
13240
+ def _typecheckingstub__5430af5a2d4636b1244b53f4c6759f6d1ffde530908e449cf4bc90b0d9de5ec8(
13241
+ *,
13242
+ aws_region: typing.Optional[builtins.str] = None,
13243
+ bias: typing.Optional[jsii.Number] = None,
13244
+ coordinates: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRecordSetGroup.CoordinatesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13245
+ local_zone_group: typing.Optional[builtins.str] = None,
13246
+ ) -> None:
13247
+ """Type checking stubs"""
13248
+ pass
13249
+
12726
13250
  def _typecheckingstub__11ff291a729fd95a26a222e98e883239191c114a9dd6e70516ac2fe433d4b95d(
12727
13251
  *,
12728
13252
  name: builtins.str,
@@ -12731,6 +13255,7 @@ def _typecheckingstub__11ff291a729fd95a26a222e98e883239191c114a9dd6e70516ac2fe43
12731
13255
  cidr_routing_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRecordSetGroup.CidrRoutingConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
12732
13256
  failover: typing.Optional[builtins.str] = None,
12733
13257
  geo_location: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRecordSetGroup.GeoLocationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13258
+ geo_proximity_location: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRecordSetGroup.GeoProximityLocationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
12734
13259
  health_check_id: typing.Optional[builtins.str] = None,
12735
13260
  hosted_zone_id: typing.Optional[builtins.str] = None,
12736
13261
  hosted_zone_name: typing.Optional[builtins.str] = None,
@@ -12763,6 +13288,7 @@ def _typecheckingstub__07806684fd0bcb683322d42ae67181582216fa4e1371a7133012bf489
12763
13288
  comment: typing.Optional[builtins.str] = None,
12764
13289
  failover: typing.Optional[builtins.str] = None,
12765
13290
  geo_location: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRecordSet.GeoLocationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13291
+ geo_proximity_location: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnRecordSet.GeoProximityLocationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
12766
13292
  health_check_id: typing.Optional[builtins.str] = None,
12767
13293
  hosted_zone_id: typing.Optional[builtins.str] = None,
12768
13294
  hosted_zone_name: typing.Optional[builtins.str] = None,