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
@@ -5,88 +5,103 @@ This library contains Route53 Alias Record targets for:
5
5
 
6
6
  * API Gateway custom domains
7
7
 
8
- ```python
9
- import aws_cdk.aws_apigateway as apigw
8
+ ```python
9
+ import aws_cdk.aws_apigateway as apigw
10
+
11
+ # zone: route53.HostedZone
12
+ # rest_api: apigw.LambdaRestApi
10
13
 
11
- # zone: route53.HostedZone
12
- # rest_api: apigw.LambdaRestApi
13
14
 
15
+ route53.ARecord(self, "AliasRecord",
16
+ zone=zone,
17
+ target=route53.RecordTarget.from_alias(targets.ApiGateway(rest_api))
18
+ )
19
+ ```
14
20
 
15
- route53.ARecord(self, "AliasRecord",
16
- zone=zone,
17
- target=route53.RecordTarget.from_alias(targets.ApiGateway(rest_api))
18
- )
19
- ```
20
21
  * API Gateway V2 custom domains
21
22
 
22
- ```python
23
- import aws_cdk.aws_apigatewayv2 as apigwv2
23
+ ```python
24
+ import aws_cdk.aws_apigatewayv2 as apigwv2
24
25
 
25
- # zone: route53.HostedZone
26
- # domain_name: apigwv2.DomainName
26
+ # zone: route53.HostedZone
27
+ # domain_name: apigwv2.DomainName
27
28
 
28
29
 
29
- route53.ARecord(self, "AliasRecord",
30
- zone=zone,
31
- target=route53.RecordTarget.from_alias(targets.ApiGatewayv2DomainProperties(domain_name.regional_domain_name, domain_name.regional_hosted_zone_id))
32
- )
33
- ```
30
+ route53.ARecord(self, "AliasRecord",
31
+ zone=zone,
32
+ target=route53.RecordTarget.from_alias(targets.ApiGatewayv2DomainProperties(domain_name.regional_domain_name, domain_name.regional_hosted_zone_id))
33
+ )
34
+ ```
35
+
34
36
  * AppSync custom domains
35
37
 
36
- ```python
37
- import aws_cdk.aws_appsync as appsync
38
+ ```python
39
+ import aws_cdk.aws_appsync as appsync
40
+
41
+ # zone: route53.HostedZone
42
+ # graphql_api: appsync.GraphqlApi
38
43
 
39
- # zone: route53.HostedZone
40
- # graphql_api: appsync.GraphqlApi
41
44
 
45
+ route53.ARecord(self, "AliasRecord",
46
+ zone=zone,
47
+ target=route53.RecordTarget.from_alias(targets.AppSyncTarget(graphql_api))
48
+ )
49
+ ```
42
50
 
43
- route53.ARecord(self, "AliasRecord",
44
- zone=zone,
45
- target=route53.RecordTarget.from_alias(targets.AppSyncTarget(graphql_api))
46
- )
47
- ```
48
51
  * CloudFront distributions
49
52
 
50
- ```python
51
- import aws_cdk.aws_cloudfront as cloudfront
53
+ ```python
54
+ import aws_cdk.aws_cloudfront as cloudfront
52
55
 
53
- # zone: route53.HostedZone
54
- # distribution: cloudfront.CloudFrontWebDistribution
56
+ # zone: route53.HostedZone
57
+ # distribution: cloudfront.CloudFrontWebDistribution
55
58
 
56
59
 
57
- route53.ARecord(self, "AliasRecord",
58
- zone=zone,
59
- target=route53.RecordTarget.from_alias(targets.CloudFrontTarget(distribution))
60
- )
61
- ```
60
+ route53.ARecord(self, "AliasRecord",
61
+ zone=zone,
62
+ target=route53.RecordTarget.from_alias(targets.CloudFrontTarget(distribution))
63
+ )
64
+ ```
65
+
62
66
  * ELBv2 load balancers
63
67
 
64
- ```python
65
- import aws_cdk.aws_elasticloadbalancingv2 as elbv2
68
+ By providing optional properties, you can specify whether to evaluate target health.
69
+
70
+ ```python
71
+ import aws_cdk.aws_elasticloadbalancingv2 as elbv2
72
+
73
+ # zone: route53.HostedZone
74
+ # lb: elbv2.ApplicationLoadBalancer
66
75
 
67
- # zone: route53.HostedZone
68
- # lb: elbv2.ApplicationLoadBalancer
69
76
 
77
+ route53.ARecord(self, "AliasRecord",
78
+ zone=zone,
79
+ target=route53.RecordTarget.from_alias(
80
+ targets.LoadBalancerTarget(lb, {
81
+ "evaluate_target_health": True
82
+ }))
83
+ )
84
+ ```
70
85
 
71
- route53.ARecord(self, "AliasRecord",
72
- zone=zone,
73
- target=route53.RecordTarget.from_alias(targets.LoadBalancerTarget(lb))
74
- )
75
- ```
76
86
  * Classic load balancers
77
87
 
78
- ```python
79
- import aws_cdk.aws_elasticloadbalancing as elb
88
+ By providing optional properties, you can specify whether to evaluate target health.
89
+
90
+ ```python
91
+ import aws_cdk.aws_elasticloadbalancing as elb
80
92
 
81
- # zone: route53.HostedZone
82
- # lb: elb.LoadBalancer
93
+ # zone: route53.HostedZone
94
+ # lb: elb.LoadBalancer
83
95
 
84
96
 
85
- route53.ARecord(self, "AliasRecord",
86
- zone=zone,
87
- target=route53.RecordTarget.from_alias(targets.ClassicLoadBalancerTarget(lb))
88
- )
89
- ```
97
+ route53.ARecord(self, "AliasRecord",
98
+ zone=zone,
99
+ target=route53.RecordTarget.from_alias(
100
+ targets.ClassicLoadBalancerTarget(lb, {
101
+ "evaluate_target_health": True
102
+ }))
103
+ )
104
+ ```
90
105
 
91
106
  **Important:** Based on [AWS documentation](https://aws.amazon.com/de/premiumsupport/knowledge-center/alias-resource-record-set-route53-cli/), all alias record in Route 53 that points to a Elastic Load Balancer will always include *dualstack* for the DNSName to resolve IPv4/IPv6 addresses (without *dualstack* IPv6 will not resolve).
92
107
 
@@ -94,18 +109,23 @@ For example, if the Amazon-provided DNS for the load balancer is `ALB-xxxxxxx.us
94
109
 
95
110
  * GlobalAccelerator
96
111
 
97
- ```python
98
- import aws_cdk.aws_globalaccelerator as globalaccelerator
112
+ By providing optional properties, you can specify whether to evaluate target health.
99
113
 
100
- # zone: route53.HostedZone
101
- # accelerator: globalaccelerator.Accelerator
114
+ ```python
115
+ import aws_cdk.aws_globalaccelerator as globalaccelerator
102
116
 
117
+ # zone: route53.HostedZone
118
+ # accelerator: globalaccelerator.Accelerator
103
119
 
104
- route53.ARecord(self, "AliasRecord",
105
- zone=zone,
106
- target=route53.RecordTarget.from_alias(targets.GlobalAcceleratorTarget(accelerator))
107
- )
108
- ```
120
+
121
+ route53.ARecord(self, "AliasRecord",
122
+ zone=zone,
123
+ target=route53.RecordTarget.from_alias(
124
+ targets.GlobalAcceleratorTarget(accelerator, {
125
+ "evaluate_target_health": True
126
+ }))
127
+ )
128
+ ```
109
129
 
110
130
  **Important:** If you use GlobalAcceleratorDomainTarget, passing a string rather than an instance of IAccelerator, ensure that the string is a valid domain name of an existing Global Accelerator instance.
111
131
  See [the documentation on DNS addressing](https://docs.aws.amazon.com/global-accelerator/latest/dg/dns-addressing-custom-domains.dns-addressing.html) with Global Accelerator for more info.
@@ -132,6 +152,8 @@ route53.ARecord(self, "AliasRecord",
132
152
  **Important:** The Bucket name must strictly match the full DNS name.
133
153
  See [the Developer Guide](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html) for more info.
134
154
 
155
+ By providing optional properties, you can specify whether to evaluate target health.
156
+
135
157
  ```python
136
158
  import aws_cdk.aws_s3 as s3
137
159
 
@@ -150,38 +172,45 @@ zone = route53.HostedZone.from_lookup(self, "Zone", domain_name=domain_name) # e
150
172
  route53.ARecord(self, "AliasRecord",
151
173
  zone=zone,
152
174
  record_name=record_name, # www
153
- target=route53.RecordTarget.from_alias(targets.BucketWebsiteTarget(bucket_website))
175
+ target=route53.RecordTarget.from_alias(
176
+ targets.BucketWebsiteTarget(bucket_website, {
177
+ "evaluate_target_health": True
178
+ }))
154
179
  )
155
180
  ```
156
181
 
157
182
  * User pool domain
158
183
 
159
- ```python
160
- import aws_cdk.aws_cognito as cognito
184
+ ```python
185
+ import aws_cdk.aws_cognito as cognito
186
+
187
+ # zone: route53.HostedZone
188
+ # domain: cognito.UserPoolDomain
161
189
 
162
- # zone: route53.HostedZone
163
- # domain: cognito.UserPoolDomain
190
+ route53.ARecord(self, "AliasRecord",
191
+ zone=zone,
192
+ target=route53.RecordTarget.from_alias(targets.UserPoolDomainTarget(domain))
193
+ )
194
+ ```
164
195
 
165
- route53.ARecord(self, "AliasRecord",
166
- zone=zone,
167
- target=route53.RecordTarget.from_alias(targets.UserPoolDomainTarget(domain))
168
- )
169
- ```
170
196
  * Route 53 record
171
197
 
172
- ```python
173
- # zone: route53.HostedZone
174
- # record: route53.ARecord
198
+ ```python
199
+ # zone: route53.HostedZone
200
+ # record: route53.ARecord
201
+
202
+ route53.ARecord(self, "AliasRecord",
203
+ zone=zone,
204
+ target=route53.RecordTarget.from_alias(targets.Route53RecordTarget(record))
205
+ )
206
+ ```
175
207
 
176
- route53.ARecord(self, "AliasRecord",
177
- zone=zone,
178
- target=route53.RecordTarget.from_alias(targets.Route53RecordTarget(record))
179
- )
180
- ```
181
208
  * Elastic Beanstalk environment:
182
209
 
183
210
  **Important:** Only supports Elastic Beanstalk environments created after 2016 that have a regional endpoint.
184
211
 
212
+ By providing optional properties, you can specify whether to evaluate target health.
213
+
185
214
  ```python
186
215
  # zone: route53.HostedZone
187
216
  # ebs_environment_url: str
@@ -189,7 +218,10 @@ route53.ARecord(self, "AliasRecord",
189
218
 
190
219
  route53.ARecord(self, "AliasRecord",
191
220
  zone=zone,
192
- target=route53.RecordTarget.from_alias(targets.ElasticBeanstalkEnvironmentEndpointTarget(ebs_environment_url))
221
+ target=route53.RecordTarget.from_alias(
222
+ targets.ElasticBeanstalkEnvironmentEndpointTarget(ebs_environment_url, {
223
+ "evaluate_target_health": True
224
+ }))
193
225
  )
194
226
  ```
195
227
 
@@ -438,18 +470,27 @@ class BucketWebsiteTarget(
438
470
  route53.ARecord(self, "AliasRecord",
439
471
  zone=zone,
440
472
  record_name=record_name, # www
441
- target=route53.RecordTarget.from_alias(targets.BucketWebsiteTarget(bucket_website))
473
+ target=route53.RecordTarget.from_alias(
474
+ targets.BucketWebsiteTarget(bucket_website, {
475
+ "evaluate_target_health": True
476
+ }))
442
477
  )
443
478
  '''
444
479
 
445
- def __init__(self, bucket: _IBucket_42e086fd) -> None:
480
+ def __init__(
481
+ self,
482
+ bucket: _IBucket_42e086fd,
483
+ props: typing.Optional["IAliasRecordTargetProps"] = None,
484
+ ) -> None:
446
485
  '''
447
486
  :param bucket: -
487
+ :param props: -
448
488
  '''
449
489
  if __debug__:
450
490
  type_hints = typing.get_type_hints(_typecheckingstub__ddbd19de44d0f648d972f99cbd261ae3e9159511037db7c12ae0ebcb70553020)
451
491
  check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
452
- jsii.create(self.__class__, self, [bucket])
492
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
493
+ jsii.create(self.__class__, self, [bucket, props])
453
494
 
454
495
  @jsii.member(jsii_name="bind")
455
496
  def bind(
@@ -488,18 +529,27 @@ class ClassicLoadBalancerTarget(
488
529
 
489
530
  route53.ARecord(self, "AliasRecord",
490
531
  zone=zone,
491
- target=route53.RecordTarget.from_alias(targets.ClassicLoadBalancerTarget(lb))
532
+ target=route53.RecordTarget.from_alias(
533
+ targets.ClassicLoadBalancerTarget(lb, {
534
+ "evaluate_target_health": True
535
+ }))
492
536
  )
493
537
  '''
494
538
 
495
- def __init__(self, load_balancer: _LoadBalancer_a894d40e) -> None:
539
+ def __init__(
540
+ self,
541
+ load_balancer: _LoadBalancer_a894d40e,
542
+ props: typing.Optional["IAliasRecordTargetProps"] = None,
543
+ ) -> None:
496
544
  '''
497
545
  :param load_balancer: -
546
+ :param props: -
498
547
  '''
499
548
  if __debug__:
500
549
  type_hints = typing.get_type_hints(_typecheckingstub__df60d89e015cd817a27383507bd36a21baad91e6194326c62959170a57cfec93)
501
550
  check_type(argname="argument load_balancer", value=load_balancer, expected_type=type_hints["load_balancer"])
502
- jsii.create(self.__class__, self, [load_balancer])
551
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
552
+ jsii.create(self.__class__, self, [load_balancer, props])
503
553
 
504
554
  @jsii.member(jsii_name="bind")
505
555
  def bind(
@@ -608,18 +658,27 @@ class ElasticBeanstalkEnvironmentEndpointTarget(
608
658
 
609
659
  route53.ARecord(self, "AliasRecord",
610
660
  zone=zone,
611
- target=route53.RecordTarget.from_alias(targets.ElasticBeanstalkEnvironmentEndpointTarget(ebs_environment_url))
661
+ target=route53.RecordTarget.from_alias(
662
+ targets.ElasticBeanstalkEnvironmentEndpointTarget(ebs_environment_url, {
663
+ "evaluate_target_health": True
664
+ }))
612
665
  )
613
666
  '''
614
667
 
615
- def __init__(self, environment_endpoint: builtins.str) -> None:
668
+ def __init__(
669
+ self,
670
+ environment_endpoint: builtins.str,
671
+ props: typing.Optional["IAliasRecordTargetProps"] = None,
672
+ ) -> None:
616
673
  '''
617
674
  :param environment_endpoint: -
675
+ :param props: -
618
676
  '''
619
677
  if __debug__:
620
678
  type_hints = typing.get_type_hints(_typecheckingstub__8d25d707c026f750072f9d979b0260dab154996d630c701cc92fda7ebe39de84)
621
679
  check_type(argname="argument environment_endpoint", value=environment_endpoint, expected_type=type_hints["environment_endpoint"])
622
- jsii.create(self.__class__, self, [environment_endpoint])
680
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
681
+ jsii.create(self.__class__, self, [environment_endpoint, props])
623
682
 
624
683
  @jsii.member(jsii_name="bind")
625
684
  def bind(
@@ -654,18 +713,26 @@ class GlobalAcceleratorDomainTarget(
654
713
  # The values are placeholders you should change.
655
714
  from aws_cdk import aws_route53_targets as route53_targets
656
715
 
657
- global_accelerator_domain_target = route53_targets.GlobalAcceleratorDomainTarget("acceleratorDomainName")
716
+ # alias_record_target_props: route53_targets.IAliasRecordTargetProps
717
+
718
+ global_accelerator_domain_target = route53_targets.GlobalAcceleratorDomainTarget("acceleratorDomainName", alias_record_target_props)
658
719
  '''
659
720
 
660
- def __init__(self, accelerator_domain_name: builtins.str) -> None:
721
+ def __init__(
722
+ self,
723
+ accelerator_domain_name: builtins.str,
724
+ props: typing.Optional["IAliasRecordTargetProps"] = None,
725
+ ) -> None:
661
726
  '''Create an Alias Target for a Global Accelerator domain name.
662
727
 
663
728
  :param accelerator_domain_name: -
729
+ :param props: -
664
730
  '''
665
731
  if __debug__:
666
732
  type_hints = typing.get_type_hints(_typecheckingstub__2c1f5b78bdd86e72483e6033d5bd58f9ee505b8c5c7e7f7a4716fcd03bd2f17e)
667
733
  check_type(argname="argument accelerator_domain_name", value=accelerator_domain_name, expected_type=type_hints["accelerator_domain_name"])
668
- jsii.create(self.__class__, self, [accelerator_domain_name])
734
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
735
+ jsii.create(self.__class__, self, [accelerator_domain_name, props])
669
736
 
670
737
  @jsii.member(jsii_name="bind")
671
738
  def bind(
@@ -714,19 +781,60 @@ class GlobalAcceleratorTarget(
714
781
 
715
782
  route53.ARecord(self, "AliasRecord",
716
783
  zone=zone,
717
- target=route53.RecordTarget.from_alias(targets.GlobalAcceleratorTarget(accelerator))
784
+ target=route53.RecordTarget.from_alias(
785
+ targets.GlobalAcceleratorTarget(accelerator, {
786
+ "evaluate_target_health": True
787
+ }))
718
788
  )
719
789
  '''
720
790
 
721
- def __init__(self, accelerator: _IAccelerator_88df59f2) -> None:
791
+ def __init__(
792
+ self,
793
+ accelerator: _IAccelerator_88df59f2,
794
+ props: typing.Optional["IAliasRecordTargetProps"] = None,
795
+ ) -> None:
722
796
  '''Create an Alias Target for a Global Accelerator instance.
723
797
 
724
798
  :param accelerator: -
799
+ :param props: -
725
800
  '''
726
801
  if __debug__:
727
802
  type_hints = typing.get_type_hints(_typecheckingstub__6e91db2b16be80023a03d4863b5100b3072db6e16f816be05e613cdcc1e6baec)
728
803
  check_type(argname="argument accelerator", value=accelerator, expected_type=type_hints["accelerator"])
729
- jsii.create(self.__class__, self, [accelerator])
804
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
805
+ jsii.create(self.__class__, self, [accelerator, props])
806
+
807
+
808
+ @jsii.interface(jsii_type="aws-cdk-lib.aws_route53_targets.IAliasRecordTargetProps")
809
+ class IAliasRecordTargetProps(typing_extensions.Protocol):
810
+ '''Properties the alias record target.'''
811
+
812
+ @builtins.property
813
+ @jsii.member(jsii_name="evaluateTargetHealth")
814
+ def evaluate_target_health(self) -> typing.Optional[builtins.bool]:
815
+ '''Evaluate target health.
816
+
817
+ :default: - no health check configuration
818
+ '''
819
+ ...
820
+
821
+
822
+ class _IAliasRecordTargetPropsProxy:
823
+ '''Properties the alias record target.'''
824
+
825
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_route53_targets.IAliasRecordTargetProps"
826
+
827
+ @builtins.property
828
+ @jsii.member(jsii_name="evaluateTargetHealth")
829
+ def evaluate_target_health(self) -> typing.Optional[builtins.bool]:
830
+ '''Evaluate target health.
831
+
832
+ :default: - no health check configuration
833
+ '''
834
+ return typing.cast(typing.Optional[builtins.bool], jsii.get(self, "evaluateTargetHealth"))
835
+
836
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
837
+ typing.cast(typing.Any, IAliasRecordTargetProps).__jsii_proxy_class__ = lambda : _IAliasRecordTargetPropsProxy
730
838
 
731
839
 
732
840
  @jsii.implements(_IAliasRecordTarget_aae9327f)
@@ -798,18 +906,27 @@ class LoadBalancerTarget(
798
906
 
799
907
  route53.ARecord(self, "AliasRecord",
800
908
  zone=zone,
801
- target=route53.RecordTarget.from_alias(targets.LoadBalancerTarget(lb))
909
+ target=route53.RecordTarget.from_alias(
910
+ targets.LoadBalancerTarget(lb, {
911
+ "evaluate_target_health": True
912
+ }))
802
913
  )
803
914
  '''
804
915
 
805
- def __init__(self, load_balancer: _ILoadBalancerV2_4c5c0fbb) -> None:
916
+ def __init__(
917
+ self,
918
+ load_balancer: _ILoadBalancerV2_4c5c0fbb,
919
+ props: typing.Optional[IAliasRecordTargetProps] = None,
920
+ ) -> None:
806
921
  '''
807
922
  :param load_balancer: -
923
+ :param props: -
808
924
  '''
809
925
  if __debug__:
810
926
  type_hints = typing.get_type_hints(_typecheckingstub__d1a985c9395ef813e5bd41f719bb6218efa5bb0e851f54f91b3d61c932cb1c59)
811
927
  check_type(argname="argument load_balancer", value=load_balancer, expected_type=type_hints["load_balancer"])
812
- jsii.create(self.__class__, self, [load_balancer])
928
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
929
+ jsii.create(self.__class__, self, [load_balancer, props])
813
930
 
814
931
  @jsii.member(jsii_name="bind")
815
932
  def bind(
@@ -973,6 +1090,7 @@ __all__ = [
973
1090
  "ElasticBeanstalkEnvironmentEndpointTarget",
974
1091
  "GlobalAcceleratorDomainTarget",
975
1092
  "GlobalAcceleratorTarget",
1093
+ "IAliasRecordTargetProps",
976
1094
  "InterfaceVpcEndpointTarget",
977
1095
  "LoadBalancerTarget",
978
1096
  "Route53RecordTarget",
@@ -1023,6 +1141,7 @@ def _typecheckingstub__bb6c1847e1d1aaadc5cdfa732af7d95f520ae163215b4adf60347fc2c
1023
1141
 
1024
1142
  def _typecheckingstub__ddbd19de44d0f648d972f99cbd261ae3e9159511037db7c12ae0ebcb70553020(
1025
1143
  bucket: _IBucket_42e086fd,
1144
+ props: typing.Optional[IAliasRecordTargetProps] = None,
1026
1145
  ) -> None:
1027
1146
  """Type checking stubs"""
1028
1147
  pass
@@ -1036,6 +1155,7 @@ def _typecheckingstub__dd2ecb9daaec6458d815966f81355d94c2b67af66e5e1242ed3eb8004
1036
1155
 
1037
1156
  def _typecheckingstub__df60d89e015cd817a27383507bd36a21baad91e6194326c62959170a57cfec93(
1038
1157
  load_balancer: _LoadBalancer_a894d40e,
1158
+ props: typing.Optional[IAliasRecordTargetProps] = None,
1039
1159
  ) -> None:
1040
1160
  """Type checking stubs"""
1041
1161
  pass
@@ -1068,6 +1188,7 @@ def _typecheckingstub__ff9f8a6340ffc435ad18afba28ab7e6b035f0745841d574ed011feee8
1068
1188
 
1069
1189
  def _typecheckingstub__8d25d707c026f750072f9d979b0260dab154996d630c701cc92fda7ebe39de84(
1070
1190
  environment_endpoint: builtins.str,
1191
+ props: typing.Optional[IAliasRecordTargetProps] = None,
1071
1192
  ) -> None:
1072
1193
  """Type checking stubs"""
1073
1194
  pass
@@ -1081,6 +1202,7 @@ def _typecheckingstub__84020a15dd8ef0dcc21b591bd97f450f84cc046c2f1899e6aab8e6cbf
1081
1202
 
1082
1203
  def _typecheckingstub__2c1f5b78bdd86e72483e6033d5bd58f9ee505b8c5c7e7f7a4716fcd03bd2f17e(
1083
1204
  accelerator_domain_name: builtins.str,
1205
+ props: typing.Optional[IAliasRecordTargetProps] = None,
1084
1206
  ) -> None:
1085
1207
  """Type checking stubs"""
1086
1208
  pass
@@ -1094,6 +1216,7 @@ def _typecheckingstub__558f27329c2636934fcd56512940ef2784d615ef258b5e13b88e1bdfd
1094
1216
 
1095
1217
  def _typecheckingstub__6e91db2b16be80023a03d4863b5100b3072db6e16f816be05e613cdcc1e6baec(
1096
1218
  accelerator: _IAccelerator_88df59f2,
1219
+ props: typing.Optional[IAliasRecordTargetProps] = None,
1097
1220
  ) -> None:
1098
1221
  """Type checking stubs"""
1099
1222
  pass
@@ -1113,6 +1236,7 @@ def _typecheckingstub__d6092dd3b5ac5bc3015dda9338cbe628b55da24a7ed91f812d3cfd949
1113
1236
 
1114
1237
  def _typecheckingstub__d1a985c9395ef813e5bd41f719bb6218efa5bb0e851f54f91b3d61c932cb1c59(
1115
1238
  load_balancer: _ILoadBalancerV2_4c5c0fbb,
1239
+ props: typing.Optional[IAliasRecordTargetProps] = None,
1116
1240
  ) -> None:
1117
1241
  """Type checking stubs"""
1118
1242
  pass
@@ -713,7 +713,7 @@ class CfnFirewallRuleGroup(
713
713
  ) -> None:
714
714
  '''A single firewall rule in a rule group.
715
715
 
716
- :param action: The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list: - ``ALLOW`` - Permit the request to go through. - ``ALERT`` - Permit the request to go through but send an alert to the logs. - ``BLOCK`` - Disallow the request. If this is specified,then ``BlockResponse`` must also be specified. if ``BlockResponse`` is ``OVERRIDE`` , then all of the following ``OVERRIDE`` attributes must be specified: - ``BlockOverrideDnsType`` - ``BlockOverrideDomain`` - ``BlockOverrideTtl``
716
+ :param action: The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list, or a threat in a DNS Firewall Advvanced rule: - ``ALLOW`` - Permit the request to go through. Not available for DNS Firewall Advanced rules. - ``ALERT`` - Permit the request to go through but send an alert to the logs. - ``BLOCK`` - Disallow the request. If this is specified,then ``BlockResponse`` must also be specified. if ``BlockResponse`` is ``OVERRIDE`` , then all of the following ``OVERRIDE`` attributes must be specified: - ``BlockOverrideDnsType`` - ``BlockOverrideDomain`` - ``BlockOverrideTtl``
717
717
  :param priority: The priority of the rule in the rule group. This value must be unique within the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
718
718
  :param block_override_dns_type: The DNS record's type. This determines the format of the record value that you provided in ``BlockOverrideDomain`` . Used for the rule action ``BLOCK`` with a ``BlockResponse`` setting of ``OVERRIDE`` .
719
719
  :param block_override_domain: The custom DNS record to send back in response to the query. Used for the rule action ``BLOCK`` with a ``BlockResponse`` setting of ``OVERRIDE`` .
@@ -793,7 +793,9 @@ class CfnFirewallRuleGroup(
793
793
 
794
794
  @builtins.property
795
795
  def action(self) -> builtins.str:
796
- '''The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list: - ``ALLOW`` - Permit the request to go through.
796
+ '''The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list, or a threat in a DNS Firewall Advvanced rule: - ``ALLOW`` - Permit the request to go through.
797
+
798
+ Not available for DNS Firewall Advanced rules.
797
799
 
798
800
  - ``ALERT`` - Permit the request to go through but send an alert to the logs.
799
801
  - ``BLOCK`` - Disallow the request. If this is specified,then ``BlockResponse`` must also be specified.
@@ -4244,7 +4244,7 @@ class CfnBucket(
4244
4244
  :param logging_configuration: Settings that define where logs are stored.
4245
4245
  :param metrics_configurations: Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see `PutBucketMetricsConfiguration <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html>`_ .
4246
4246
  :param notification_configuration: Configuration that defines how Amazon S3 handles bucket notifications.
4247
- :param object_lock_configuration: .. epigraph:: This operation is not supported by directory buckets. Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see `Locking Objects <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html>`_ . .. epigraph:: - The ``DefaultRetention`` settings require both a mode and a period. - The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time. - You can enable Object Lock for new or existing buckets. For more information, see `Configuring Object Lock <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html>`_ .
4247
+ :param object_lock_configuration: .. epigraph:: This operation is not supported for directory buckets. Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see `Locking Objects <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html>`_ . .. epigraph:: - The ``DefaultRetention`` settings require both a mode and a period. - The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time. - You can enable Object Lock for new or existing buckets. For more information, see `Configuring Object Lock <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html>`_ .
4248
4248
  :param object_lock_enabled: Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.
4249
4249
  :param ownership_controls: Configuration that defines how Amazon S3 handles Object Ownership rules.
4250
4250
  :param public_access_block_configuration: Configuration that defines how Amazon S3 handles public access.
@@ -4597,7 +4597,7 @@ class CfnBucket(
4597
4597
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBucket.ObjectLockConfigurationProperty"]]:
4598
4598
  '''.. epigraph::
4599
4599
 
4600
- This operation is not supported by directory buckets.'''
4600
+ This operation is not supported for directory buckets.'''
4601
4601
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBucket.ObjectLockConfigurationProperty"]], jsii.get(self, "objectLockConfiguration"))
4602
4602
 
4603
4603
  @object_lock_configuration.setter
@@ -10797,7 +10797,7 @@ class CfnBucketProps:
10797
10797
  :param logging_configuration: Settings that define where logs are stored.
10798
10798
  :param metrics_configurations: Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see `PutBucketMetricsConfiguration <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html>`_ .
10799
10799
  :param notification_configuration: Configuration that defines how Amazon S3 handles bucket notifications.
10800
- :param object_lock_configuration: .. epigraph:: This operation is not supported by directory buckets. Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see `Locking Objects <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html>`_ . .. epigraph:: - The ``DefaultRetention`` settings require both a mode and a period. - The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time. - You can enable Object Lock for new or existing buckets. For more information, see `Configuring Object Lock <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html>`_ .
10800
+ :param object_lock_configuration: .. epigraph:: This operation is not supported for directory buckets. Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see `Locking Objects <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html>`_ . .. epigraph:: - The ``DefaultRetention`` settings require both a mode and a period. - The ``DefaultRetention`` period can be either ``Days`` or ``Years`` but you must select one. You cannot specify ``Days`` and ``Years`` at the same time. - You can enable Object Lock for new or existing buckets. For more information, see `Configuring Object Lock <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html>`_ .
10801
10801
  :param object_lock_enabled: Indicates whether this bucket has an Object Lock configuration enabled. Enable ``ObjectLockEnabled`` when you apply ``ObjectLockConfiguration`` to a bucket.
10802
10802
  :param ownership_controls: Configuration that defines how Amazon S3 handles Object Ownership rules.
10803
10803
  :param public_access_block_configuration: Configuration that defines how Amazon S3 handles public access.
@@ -11046,7 +11046,7 @@ class CfnBucketProps:
11046
11046
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnBucket.ObjectLockConfigurationProperty]]:
11047
11047
  '''.. epigraph::
11048
11048
 
11049
- This operation is not supported by directory buckets.
11049
+ This operation is not supported for directory buckets.
11050
11050
 
11051
11051
  Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see `Locking Objects <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html>`_ .
11052
11052
  .. epigraph::