aws-cdk-lib 2.176.0__py3-none-any.whl → 2.177.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 (44) hide show
  1. aws_cdk/__init__.py +11 -1
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.176.0.jsii.tgz → aws-cdk-lib@2.177.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2_integrations/__init__.py +2 -2
  5. aws_cdk/aws_appsync/__init__.py +4 -3
  6. aws_cdk/aws_batch/__init__.py +4 -2
  7. aws_cdk/aws_bedrock/__init__.py +5395 -2508
  8. aws_cdk/aws_cloudfront/__init__.py +12 -2
  9. aws_cdk/aws_cloudfront_origins/__init__.py +33 -2
  10. aws_cdk/aws_codepipeline/__init__.py +35 -0
  11. aws_cdk/aws_cognito/__init__.py +162 -139
  12. aws_cdk/aws_customerprofiles/__init__.py +3 -3
  13. aws_cdk/aws_datazone/__init__.py +195 -125
  14. aws_cdk/aws_ec2/__init__.py +5 -3
  15. aws_cdk/aws_ecs/__init__.py +27 -8
  16. aws_cdk/aws_efs/__init__.py +5 -5
  17. aws_cdk/aws_eks/__init__.py +24 -3
  18. aws_cdk/aws_emrserverless/__init__.py +86 -0
  19. aws_cdk/aws_fms/__init__.py +42 -0
  20. aws_cdk/aws_gamelift/__init__.py +8 -10
  21. aws_cdk/aws_iam/__init__.py +8 -0
  22. aws_cdk/aws_imagebuilder/__init__.py +62 -48
  23. aws_cdk/aws_lambda/__init__.py +13 -0
  24. aws_cdk/aws_logs/__init__.py +59 -59
  25. aws_cdk/aws_notifications/__init__.py +1390 -0
  26. aws_cdk/aws_notificationscontacts/__init__.py +593 -0
  27. aws_cdk/aws_rds/__init__.py +16 -22
  28. aws_cdk/aws_redshift/__init__.py +9 -5
  29. aws_cdk/aws_route53/__init__.py +4 -4
  30. aws_cdk/aws_route53_targets/__init__.py +15 -15
  31. aws_cdk/aws_s3/__init__.py +789 -0
  32. aws_cdk/aws_s3_notifications/__init__.py +5 -5
  33. aws_cdk/aws_s3tables/__init__.py +2 -2
  34. aws_cdk/aws_sns/__init__.py +39 -0
  35. aws_cdk/aws_ssm/__init__.py +5 -5
  36. aws_cdk/aws_synthetics/__init__.py +105 -32
  37. aws_cdk/cloud_assembly_schema/__init__.py +63 -4
  38. aws_cdk/cx_api/__init__.py +44 -4
  39. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.177.0.dist-info}/METADATA +3 -3
  40. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.177.0.dist-info}/RECORD +44 -42
  41. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.177.0.dist-info}/LICENSE +0 -0
  42. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.177.0.dist-info}/NOTICE +0 -0
  43. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.177.0.dist-info}/WHEEL +0 -0
  44. {aws_cdk_lib-2.176.0.dist-info → aws_cdk_lib-2.177.0.dist-info}/top_level.txt +0 -0
@@ -476,7 +476,7 @@ DatabaseSubnet3 |`ISOLATED`|`10.0.6.32/28`|#3|Only routes within the VPC
476
476
 
477
477
  #### Dual Stack Configurations
478
478
 
479
- Here is a break down of IPv4 and IPv6 specifc `subnetConfiguration` properties in a dual stack VPC:
479
+ Here is a break down of IPv4 and IPv6 specific `subnetConfiguration` properties in a dual stack VPC:
480
480
 
481
481
  ```python
482
482
  vpc = ec2.Vpc(self, "TheVPC",
@@ -28714,7 +28714,7 @@ class CfnLaunchTemplate(
28714
28714
  :param connection_tracking_specification: A connection tracking specification for the network interface.
28715
28715
  :param delete_on_termination: Indicates whether the network interface is deleted when the instance is terminated.
28716
28716
  :param description: A description for the network interface.
28717
- :param device_index: The device index for the network interface attachment. Each network interface requires a device index. If you create a launch template that includes secondary network interfaces but not a primary network interface, then you must add a primary network interface as a launch parameter when you launch an instance from the template.
28717
+ :param device_index: The device index for the network interface attachment. If the network interface is of type ``interface`` , you must specify a device index. If you create a launch template that includes secondary network interfaces but no primary network interface, and you specify it using the ``LaunchTemplate`` property of ``AWS::EC2::Instance`` , then you must include a primary network interface using the ``NetworkInterfaces`` property of ``AWS::EC2::Instance`` .
28718
28718
  :param ena_srd_specification: The ENA Express configuration for the network interface.
28719
28719
  :param groups: The IDs of one or more security groups.
28720
28720
  :param interface_type: The type of network interface. To create an Elastic Fabric Adapter (EFA), specify ``efa`` or ``efa`` . For more information, see `Elastic Fabric Adapter <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html>`_ in the *Amazon EC2 User Guide* . If you are not creating an EFA, specify ``interface`` or omit this parameter. If you specify ``efa-only`` , do not assign any IP addresses to the network interface. EFA-only network interfaces do not support IP addresses. Valid values: ``interface`` | ``efa`` | ``efa-only``
@@ -28915,7 +28915,9 @@ class CfnLaunchTemplate(
28915
28915
  def device_index(self) -> typing.Optional[jsii.Number]:
28916
28916
  '''The device index for the network interface attachment.
28917
28917
 
28918
- Each network interface requires a device index. If you create a launch template that includes secondary network interfaces but not a primary network interface, then you must add a primary network interface as a launch parameter when you launch an instance from the template.
28918
+ If the network interface is of type ``interface`` , you must specify a device index.
28919
+
28920
+ If you create a launch template that includes secondary network interfaces but no primary network interface, and you specify it using the ``LaunchTemplate`` property of ``AWS::EC2::Instance`` , then you must include a primary network interface using the ``NetworkInterfaces`` property of ``AWS::EC2::Instance`` .
28919
28921
 
28920
28922
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deviceindex
28921
28923
  '''
@@ -8381,6 +8381,7 @@ class CfnService(
8381
8381
  )]
8382
8382
  )],
8383
8383
  throughput=123,
8384
+ volume_initialization_rate=123,
8384
8385
  volume_type="volumeType"
8385
8386
  )
8386
8387
  )],
@@ -8969,8 +8970,8 @@ class CfnService(
8969
8970
  For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` .
8970
8971
 
8971
8972
  :param assign_public_ip: Whether the task's elastic network interface receives a public IP address. The default value is ``ENABLED`` .
8972
- :param security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration`` . .. epigraph:: All specified security groups must be from the same VPC.
8973
- :param subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration`` . .. epigraph:: All specified subnets must be from the same VPC.
8973
+ :param security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified. .. epigraph:: All specified security groups must be from the same VPC.
8974
+ :param subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified. .. epigraph:: All specified subnets must be from the same VPC.
8974
8975
 
8975
8976
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html
8976
8977
  :exampleMetadata: fixture=_generated
@@ -9015,7 +9016,7 @@ class CfnService(
9015
9016
  def security_groups(self) -> typing.Optional[typing.List[builtins.str]]:
9016
9017
  '''The IDs of the security groups associated with the task or service.
9017
9018
 
9018
- If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration`` .
9019
+ If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified.
9019
9020
  .. epigraph::
9020
9021
 
9021
9022
  All specified security groups must be from the same VPC.
@@ -9029,7 +9030,7 @@ class CfnService(
9029
9030
  def subnets(self) -> typing.Optional[typing.List[builtins.str]]:
9030
9031
  '''The IDs of the subnets associated with the task or service.
9031
9032
 
9032
- There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration`` .
9033
+ There's a limit of 16 subnets that can be specified.
9033
9034
  .. epigraph::
9034
9035
 
9035
9036
  All specified subnets must be from the same VPC.
@@ -10890,6 +10891,7 @@ class CfnService(
10890
10891
  "snapshot_id": "snapshotId",
10891
10892
  "tag_specifications": "tagSpecifications",
10892
10893
  "throughput": "throughput",
10894
+ "volume_initialization_rate": "volumeInitializationRate",
10893
10895
  "volume_type": "volumeType",
10894
10896
  },
10895
10897
  )
@@ -10906,6 +10908,7 @@ class CfnService(
10906
10908
  snapshot_id: typing.Optional[builtins.str] = None,
10907
10909
  tag_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnService.EBSTagSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
10908
10910
  throughput: typing.Optional[jsii.Number] = None,
10911
+ volume_initialization_rate: typing.Optional[jsii.Number] = None,
10909
10912
  volume_type: typing.Optional[builtins.str] = None,
10910
10913
  ) -> None:
10911
10914
  '''The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf.
@@ -10923,6 +10926,7 @@ class CfnService(
10923
10926
  :param snapshot_id: The snapshot that Amazon ECS uses to create the volume. You must specify either a snapshot ID or a volume size. This parameter maps 1:1 with the ``SnapshotId`` parameter of the `CreateVolume API <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html>`_ in the *Amazon EC2 API Reference* .
10924
10927
  :param tag_specifications: The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This parameter maps 1:1 with the ``TagSpecifications.N`` parameter of the `CreateVolume API <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html>`_ in the *Amazon EC2 API Reference* .
10925
10928
  :param throughput: The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s. This parameter maps 1:1 with the ``Throughput`` parameter of the `CreateVolume API <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html>`_ in the *Amazon EC2 API Reference* . .. epigraph:: This parameter is only supported for the ``gp3`` volume type.
10929
+ :param volume_initialization_rate:
10926
10930
  :param volume_type: The volume type. This parameter maps 1:1 with the ``VolumeType`` parameter of the `CreateVolume API <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html>`_ in the *Amazon EC2 API Reference* . For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html>`_ in the *Amazon EC2 User Guide* . The following are the supported volume types. - General Purpose SSD: ``gp2`` | ``gp3`` - Provisioned IOPS SSD: ``io1`` | ``io2`` - Throughput Optimized HDD: ``st1`` - Cold HDD: ``sc1`` - Magnetic: ``standard`` .. epigraph:: The magnetic volume type is not supported on Fargate.
10927
10931
 
10928
10932
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-servicemanagedebsvolumeconfiguration.html
@@ -10955,6 +10959,7 @@ class CfnService(
10955
10959
  )]
10956
10960
  )],
10957
10961
  throughput=123,
10962
+ volume_initialization_rate=123,
10958
10963
  volume_type="volumeType"
10959
10964
  )
10960
10965
  '''
@@ -10969,6 +10974,7 @@ class CfnService(
10969
10974
  check_type(argname="argument snapshot_id", value=snapshot_id, expected_type=type_hints["snapshot_id"])
10970
10975
  check_type(argname="argument tag_specifications", value=tag_specifications, expected_type=type_hints["tag_specifications"])
10971
10976
  check_type(argname="argument throughput", value=throughput, expected_type=type_hints["throughput"])
10977
+ check_type(argname="argument volume_initialization_rate", value=volume_initialization_rate, expected_type=type_hints["volume_initialization_rate"])
10972
10978
  check_type(argname="argument volume_type", value=volume_type, expected_type=type_hints["volume_type"])
10973
10979
  self._values: typing.Dict[builtins.str, typing.Any] = {
10974
10980
  "role_arn": role_arn,
@@ -10989,6 +10995,8 @@ class CfnService(
10989
10995
  self._values["tag_specifications"] = tag_specifications
10990
10996
  if throughput is not None:
10991
10997
  self._values["throughput"] = throughput
10998
+ if volume_initialization_rate is not None:
10999
+ self._values["volume_initialization_rate"] = volume_initialization_rate
10992
11000
  if volume_type is not None:
10993
11001
  self._values["volume_type"] = volume_type
10994
11002
 
@@ -11123,6 +11131,14 @@ class CfnService(
11123
11131
  result = self._values.get("throughput")
11124
11132
  return typing.cast(typing.Optional[jsii.Number], result)
11125
11133
 
11134
+ @builtins.property
11135
+ def volume_initialization_rate(self) -> typing.Optional[jsii.Number]:
11136
+ '''
11137
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-servicemanagedebsvolumeconfiguration.html#cfn-ecs-service-servicemanagedebsvolumeconfiguration-volumeinitializationrate
11138
+ '''
11139
+ result = self._values.get("volume_initialization_rate")
11140
+ return typing.cast(typing.Optional[jsii.Number], result)
11141
+
11126
11142
  @builtins.property
11127
11143
  def volume_type(self) -> typing.Optional[builtins.str]:
11128
11144
  '''The volume type.
@@ -11327,6 +11343,7 @@ class CfnService(
11327
11343
  )]
11328
11344
  )],
11329
11345
  throughput=123,
11346
+ volume_initialization_rate=123,
11330
11347
  volume_type="volumeType"
11331
11348
  )
11332
11349
  )
@@ -11792,6 +11809,7 @@ class CfnServiceProps:
11792
11809
  )]
11793
11810
  )],
11794
11811
  throughput=123,
11812
+ volume_initialization_rate=123,
11795
11813
  volume_type="volumeType"
11796
11814
  )
11797
11815
  )],
@@ -18343,9 +18361,9 @@ class CfnTaskSet(
18343
18361
 
18344
18362
  For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` .
18345
18363
 
18346
- :param subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration`` . .. epigraph:: All specified subnets must be from the same VPC.
18364
+ :param subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified. .. epigraph:: All specified subnets must be from the same VPC.
18347
18365
  :param assign_public_ip: Whether the task's elastic network interface receives a public IP address. The default value is ``ENABLED`` .
18348
- :param security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration`` . .. epigraph:: All specified security groups must be from the same VPC.
18366
+ :param security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified. .. epigraph:: All specified security groups must be from the same VPC.
18349
18367
 
18350
18368
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html
18351
18369
  :exampleMetadata: fixture=_generated
@@ -18381,7 +18399,7 @@ class CfnTaskSet(
18381
18399
  def subnets(self) -> typing.List[builtins.str]:
18382
18400
  '''The IDs of the subnets associated with the task or service.
18383
18401
 
18384
- There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration`` .
18402
+ There's a limit of 16 subnets that can be specified.
18385
18403
  .. epigraph::
18386
18404
 
18387
18405
  All specified subnets must be from the same VPC.
@@ -18407,7 +18425,7 @@ class CfnTaskSet(
18407
18425
  def security_groups(self) -> typing.Optional[typing.List[builtins.str]]:
18408
18426
  '''The IDs of the security groups associated with the task or service.
18409
18427
 
18410
- If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration`` .
18428
+ If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified.
18411
18429
  .. epigraph::
18412
18430
 
18413
18431
  All specified security groups must be from the same VPC.
@@ -43408,6 +43426,7 @@ def _typecheckingstub__dfccfa8c4140c61b1030fe8ed564cee115f38fe8144d5ff6ac1654634
43408
43426
  snapshot_id: typing.Optional[builtins.str] = None,
43409
43427
  tag_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.EBSTagSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
43410
43428
  throughput: typing.Optional[jsii.Number] = None,
43429
+ volume_initialization_rate: typing.Optional[jsii.Number] = None,
43411
43430
  volume_type: typing.Optional[builtins.str] = None,
43412
43431
  ) -> None:
43413
43432
  """Type checking stubs"""
@@ -2829,7 +2829,7 @@ class CfnMountTarget(
2829
2829
  :param scope: Scope in which this resource is defined.
2830
2830
  :param id: Construct identifier for this resource (unique in its scope).
2831
2831
  :param file_system_id: The ID of the file system for which to create the mount target.
2832
- :param security_groups: Up to five VPC security group IDs, of the form ``sg-xxxxxxxx`` . These must be for the same VPC as subnet specified.
2832
+ :param security_groups: VPC security group IDs, of the form ``sg-xxxxxxxx`` . These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see `Amazon VPC Quotas <https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html>`_ in the *Amazon VPC User Guide* (see the *Security Groups* table).
2833
2833
  :param subnet_id: The ID of the subnet to add the mount target in. For One Zone file systems, use the subnet that is associated with the file system's Availability Zone.
2834
2834
  :param ip_address: Valid IPv4 address within the address range of the specified subnet.
2835
2835
  '''
@@ -2919,7 +2919,7 @@ class CfnMountTarget(
2919
2919
  @builtins.property
2920
2920
  @jsii.member(jsii_name="securityGroups")
2921
2921
  def security_groups(self) -> typing.List[builtins.str]:
2922
- '''Up to five VPC security group IDs, of the form ``sg-xxxxxxxx`` .'''
2922
+ '''VPC security group IDs, of the form ``sg-xxxxxxxx`` .'''
2923
2923
  return typing.cast(typing.List[builtins.str], jsii.get(self, "securityGroups"))
2924
2924
 
2925
2925
  @security_groups.setter
@@ -2978,7 +2978,7 @@ class CfnMountTargetProps:
2978
2978
  '''Properties for defining a ``CfnMountTarget``.
2979
2979
 
2980
2980
  :param file_system_id: The ID of the file system for which to create the mount target.
2981
- :param security_groups: Up to five VPC security group IDs, of the form ``sg-xxxxxxxx`` . These must be for the same VPC as subnet specified.
2981
+ :param security_groups: VPC security group IDs, of the form ``sg-xxxxxxxx`` . These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see `Amazon VPC Quotas <https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html>`_ in the *Amazon VPC User Guide* (see the *Security Groups* table).
2982
2982
  :param subnet_id: The ID of the subnet to add the mount target in. For One Zone file systems, use the subnet that is associated with the file system's Availability Zone.
2983
2983
  :param ip_address: Valid IPv4 address within the address range of the specified subnet.
2984
2984
 
@@ -3026,9 +3026,9 @@ class CfnMountTargetProps:
3026
3026
 
3027
3027
  @builtins.property
3028
3028
  def security_groups(self) -> typing.List[builtins.str]:
3029
- '''Up to five VPC security group IDs, of the form ``sg-xxxxxxxx`` .
3029
+ '''VPC security group IDs, of the form ``sg-xxxxxxxx`` .
3030
3030
 
3031
- These must be for the same VPC as subnet specified.
3031
+ These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see `Amazon VPC Quotas <https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html>`_ in the *Amazon VPC User Guide* (see the *Security Groups* table).
3032
3032
 
3033
3033
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html#cfn-efs-mounttarget-securitygroups
3034
3034
  '''
@@ -9418,7 +9418,8 @@ class CfnNodegroup(
9418
9418
  )],
9419
9419
  update_config=eks.CfnNodegroup.UpdateConfigProperty(
9420
9420
  max_unavailable=123,
9421
- max_unavailable_percentage=123
9421
+ max_unavailable_percentage=123,
9422
+ update_strategy="updateStrategy"
9422
9423
  ),
9423
9424
  version="version"
9424
9425
  )
@@ -10294,6 +10295,7 @@ class CfnNodegroup(
10294
10295
  name_mapping={
10295
10296
  "max_unavailable": "maxUnavailable",
10296
10297
  "max_unavailable_percentage": "maxUnavailablePercentage",
10298
+ "update_strategy": "updateStrategy",
10297
10299
  },
10298
10300
  )
10299
10301
  class UpdateConfigProperty:
@@ -10302,11 +10304,13 @@ class CfnNodegroup(
10302
10304
  *,
10303
10305
  max_unavailable: typing.Optional[jsii.Number] = None,
10304
10306
  max_unavailable_percentage: typing.Optional[jsii.Number] = None,
10307
+ update_strategy: typing.Optional[builtins.str] = None,
10305
10308
  ) -> None:
10306
10309
  '''The update configuration for the node group.
10307
10310
 
10308
10311
  :param max_unavailable: The maximum number of nodes unavailable at once during a version update. Nodes are updated in parallel. This value or ``maxUnavailablePercentage`` is required to have a value.The maximum number is 100.
10309
10312
  :param max_unavailable_percentage: The maximum percentage of nodes unavailable during a version update. This percentage of nodes are updated in parallel, up to 100 nodes at once. This value or ``maxUnavailable`` is required to have a value.
10313
+ :param update_strategy: The configuration for the behavior to follow during an node group version update of this managed node group. You choose between two possible strategies for replacing nodes during an UpdateNodegroupVersion action.
10310
10314
 
10311
10315
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-updateconfig.html
10312
10316
  :exampleMetadata: fixture=_generated
@@ -10319,18 +10323,22 @@ class CfnNodegroup(
10319
10323
 
10320
10324
  update_config_property = eks.CfnNodegroup.UpdateConfigProperty(
10321
10325
  max_unavailable=123,
10322
- max_unavailable_percentage=123
10326
+ max_unavailable_percentage=123,
10327
+ update_strategy="updateStrategy"
10323
10328
  )
10324
10329
  '''
10325
10330
  if __debug__:
10326
10331
  type_hints = typing.get_type_hints(_typecheckingstub__883c5208b02930e4808e078b3ecb98b51411fa92d248a8031301fe5434326e12)
10327
10332
  check_type(argname="argument max_unavailable", value=max_unavailable, expected_type=type_hints["max_unavailable"])
10328
10333
  check_type(argname="argument max_unavailable_percentage", value=max_unavailable_percentage, expected_type=type_hints["max_unavailable_percentage"])
10334
+ check_type(argname="argument update_strategy", value=update_strategy, expected_type=type_hints["update_strategy"])
10329
10335
  self._values: typing.Dict[builtins.str, typing.Any] = {}
10330
10336
  if max_unavailable is not None:
10331
10337
  self._values["max_unavailable"] = max_unavailable
10332
10338
  if max_unavailable_percentage is not None:
10333
10339
  self._values["max_unavailable_percentage"] = max_unavailable_percentage
10340
+ if update_strategy is not None:
10341
+ self._values["update_strategy"] = update_strategy
10334
10342
 
10335
10343
  @builtins.property
10336
10344
  def max_unavailable(self) -> typing.Optional[jsii.Number]:
@@ -10354,6 +10362,17 @@ class CfnNodegroup(
10354
10362
  result = self._values.get("max_unavailable_percentage")
10355
10363
  return typing.cast(typing.Optional[jsii.Number], result)
10356
10364
 
10365
+ @builtins.property
10366
+ def update_strategy(self) -> typing.Optional[builtins.str]:
10367
+ '''The configuration for the behavior to follow during an node group version update of this managed node group.
10368
+
10369
+ You choose between two possible strategies for replacing nodes during an UpdateNodegroupVersion action.
10370
+
10371
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-updateconfig.html#cfn-eks-nodegroup-updateconfig-updatestrategy
10372
+ '''
10373
+ result = self._values.get("update_strategy")
10374
+ return typing.cast(typing.Optional[builtins.str], result)
10375
+
10357
10376
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
10358
10377
  return isinstance(rhs, self.__class__) and rhs._values == self._values
10359
10378
 
@@ -10491,7 +10510,8 @@ class CfnNodegroupProps:
10491
10510
  )],
10492
10511
  update_config=eks.CfnNodegroup.UpdateConfigProperty(
10493
10512
  max_unavailable=123,
10494
- max_unavailable_percentage=123
10513
+ max_unavailable_percentage=123,
10514
+ update_strategy="updateStrategy"
10495
10515
  ),
10496
10516
  version="version"
10497
10517
  )
@@ -22151,6 +22171,7 @@ def _typecheckingstub__883c5208b02930e4808e078b3ecb98b51411fa92d248a8031301fe543
22151
22171
  *,
22152
22172
  max_unavailable: typing.Optional[jsii.Number] = None,
22153
22173
  max_unavailable_percentage: typing.Optional[jsii.Number] = None,
22174
+ update_strategy: typing.Optional[builtins.str] = None,
22154
22175
  ) -> None:
22155
22176
  """Type checking stubs"""
22156
22177
  pass
@@ -147,6 +147,9 @@ class CfnApplication(
147
147
  enabled=False,
148
148
  encryption_key_arn="encryptionKeyArn"
149
149
  ),
150
+ prometheus_monitoring_configuration=emrserverless.CfnApplication.PrometheusMonitoringConfigurationProperty(
151
+ remote_write_url="remoteWriteUrl"
152
+ ),
150
153
  s3_monitoring_configuration=emrserverless.CfnApplication.S3MonitoringConfigurationProperty(
151
154
  encryption_key_arn="encryptionKeyArn",
152
155
  log_uri="logUri"
@@ -1486,6 +1489,7 @@ class CfnApplication(
1486
1489
  name_mapping={
1487
1490
  "cloud_watch_logging_configuration": "cloudWatchLoggingConfiguration",
1488
1491
  "managed_persistence_monitoring_configuration": "managedPersistenceMonitoringConfiguration",
1492
+ "prometheus_monitoring_configuration": "prometheusMonitoringConfiguration",
1489
1493
  "s3_monitoring_configuration": "s3MonitoringConfiguration",
1490
1494
  },
1491
1495
  )
@@ -1495,12 +1499,14 @@ class CfnApplication(
1495
1499
  *,
1496
1500
  cloud_watch_logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApplication.CloudWatchLoggingConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1497
1501
  managed_persistence_monitoring_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApplication.ManagedPersistenceMonitoringConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1502
+ prometheus_monitoring_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApplication.PrometheusMonitoringConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1498
1503
  s3_monitoring_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApplication.S3MonitoringConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1499
1504
  ) -> None:
1500
1505
  '''The configuration setting for monitoring logs.
1501
1506
 
1502
1507
  :param cloud_watch_logging_configuration: The Amazon CloudWatch configuration for monitoring logs. You can configure your jobs to send log information to CloudWatch.
1503
1508
  :param managed_persistence_monitoring_configuration: The managed log persistence configuration for a job run.
1509
+ :param prometheus_monitoring_configuration:
1504
1510
  :param s3_monitoring_configuration: The Amazon S3 configuration for monitoring log publishing.
1505
1511
 
1506
1512
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrserverless-application-monitoringconfiguration.html
@@ -1527,6 +1533,9 @@ class CfnApplication(
1527
1533
  enabled=False,
1528
1534
  encryption_key_arn="encryptionKeyArn"
1529
1535
  ),
1536
+ prometheus_monitoring_configuration=emrserverless.CfnApplication.PrometheusMonitoringConfigurationProperty(
1537
+ remote_write_url="remoteWriteUrl"
1538
+ ),
1530
1539
  s3_monitoring_configuration=emrserverless.CfnApplication.S3MonitoringConfigurationProperty(
1531
1540
  encryption_key_arn="encryptionKeyArn",
1532
1541
  log_uri="logUri"
@@ -1537,12 +1546,15 @@ class CfnApplication(
1537
1546
  type_hints = typing.get_type_hints(_typecheckingstub__ac64b7b17b97bdc5b470cb32b1b0c00b3bdd7d97ea83ace7e59e5eb7f78d59e6)
1538
1547
  check_type(argname="argument cloud_watch_logging_configuration", value=cloud_watch_logging_configuration, expected_type=type_hints["cloud_watch_logging_configuration"])
1539
1548
  check_type(argname="argument managed_persistence_monitoring_configuration", value=managed_persistence_monitoring_configuration, expected_type=type_hints["managed_persistence_monitoring_configuration"])
1549
+ check_type(argname="argument prometheus_monitoring_configuration", value=prometheus_monitoring_configuration, expected_type=type_hints["prometheus_monitoring_configuration"])
1540
1550
  check_type(argname="argument s3_monitoring_configuration", value=s3_monitoring_configuration, expected_type=type_hints["s3_monitoring_configuration"])
1541
1551
  self._values: typing.Dict[builtins.str, typing.Any] = {}
1542
1552
  if cloud_watch_logging_configuration is not None:
1543
1553
  self._values["cloud_watch_logging_configuration"] = cloud_watch_logging_configuration
1544
1554
  if managed_persistence_monitoring_configuration is not None:
1545
1555
  self._values["managed_persistence_monitoring_configuration"] = managed_persistence_monitoring_configuration
1556
+ if prometheus_monitoring_configuration is not None:
1557
+ self._values["prometheus_monitoring_configuration"] = prometheus_monitoring_configuration
1546
1558
  if s3_monitoring_configuration is not None:
1547
1559
  self._values["s3_monitoring_configuration"] = s3_monitoring_configuration
1548
1560
 
@@ -1570,6 +1582,16 @@ class CfnApplication(
1570
1582
  result = self._values.get("managed_persistence_monitoring_configuration")
1571
1583
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApplication.ManagedPersistenceMonitoringConfigurationProperty"]], result)
1572
1584
 
1585
+ @builtins.property
1586
+ def prometheus_monitoring_configuration(
1587
+ self,
1588
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApplication.PrometheusMonitoringConfigurationProperty"]]:
1589
+ '''
1590
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrserverless-application-monitoringconfiguration.html#cfn-emrserverless-application-monitoringconfiguration-prometheusmonitoringconfiguration
1591
+ '''
1592
+ result = self._values.get("prometheus_monitoring_configuration")
1593
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApplication.PrometheusMonitoringConfigurationProperty"]], result)
1594
+
1573
1595
  @builtins.property
1574
1596
  def s3_monitoring_configuration(
1575
1597
  self,
@@ -1665,6 +1687,59 @@ class CfnApplication(
1665
1687
  k + "=" + repr(v) for k, v in self._values.items()
1666
1688
  )
1667
1689
 
1690
+ @jsii.data_type(
1691
+ jsii_type="aws-cdk-lib.aws_emrserverless.CfnApplication.PrometheusMonitoringConfigurationProperty",
1692
+ jsii_struct_bases=[],
1693
+ name_mapping={"remote_write_url": "remoteWriteUrl"},
1694
+ )
1695
+ class PrometheusMonitoringConfigurationProperty:
1696
+ def __init__(
1697
+ self,
1698
+ *,
1699
+ remote_write_url: typing.Optional[builtins.str] = None,
1700
+ ) -> None:
1701
+ '''
1702
+ :param remote_write_url:
1703
+
1704
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrserverless-application-prometheusmonitoringconfiguration.html
1705
+ :exampleMetadata: fixture=_generated
1706
+
1707
+ Example::
1708
+
1709
+ # The code below shows an example of how to instantiate this type.
1710
+ # The values are placeholders you should change.
1711
+ from aws_cdk import aws_emrserverless as emrserverless
1712
+
1713
+ prometheus_monitoring_configuration_property = emrserverless.CfnApplication.PrometheusMonitoringConfigurationProperty(
1714
+ remote_write_url="remoteWriteUrl"
1715
+ )
1716
+ '''
1717
+ if __debug__:
1718
+ type_hints = typing.get_type_hints(_typecheckingstub__eed5e2a661371ca6ceab2d92afa8904162bc5dd4f2c62c9c20500ec776ae4f27)
1719
+ check_type(argname="argument remote_write_url", value=remote_write_url, expected_type=type_hints["remote_write_url"])
1720
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1721
+ if remote_write_url is not None:
1722
+ self._values["remote_write_url"] = remote_write_url
1723
+
1724
+ @builtins.property
1725
+ def remote_write_url(self) -> typing.Optional[builtins.str]:
1726
+ '''
1727
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emrserverless-application-prometheusmonitoringconfiguration.html#cfn-emrserverless-application-prometheusmonitoringconfiguration-remotewriteurl
1728
+ '''
1729
+ result = self._values.get("remote_write_url")
1730
+ return typing.cast(typing.Optional[builtins.str], result)
1731
+
1732
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1733
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1734
+
1735
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1736
+ return not (rhs == self)
1737
+
1738
+ def __repr__(self) -> str:
1739
+ return "PrometheusMonitoringConfigurationProperty(%s)" % ", ".join(
1740
+ k + "=" + repr(v) for k, v in self._values.items()
1741
+ )
1742
+
1668
1743
  @jsii.data_type(
1669
1744
  jsii_type="aws-cdk-lib.aws_emrserverless.CfnApplication.S3MonitoringConfigurationProperty",
1670
1745
  jsii_struct_bases=[],
@@ -2119,6 +2194,9 @@ class CfnApplicationProps:
2119
2194
  enabled=False,
2120
2195
  encryption_key_arn="encryptionKeyArn"
2121
2196
  ),
2197
+ prometheus_monitoring_configuration=emrserverless.CfnApplication.PrometheusMonitoringConfigurationProperty(
2198
+ remote_write_url="remoteWriteUrl"
2199
+ ),
2122
2200
  s3_monitoring_configuration=emrserverless.CfnApplication.S3MonitoringConfigurationProperty(
2123
2201
  encryption_key_arn="encryptionKeyArn",
2124
2202
  log_uri="logUri"
@@ -2626,6 +2704,7 @@ def _typecheckingstub__ac64b7b17b97bdc5b470cb32b1b0c00b3bdd7d97ea83ace7e59e5eb7f
2626
2704
  *,
2627
2705
  cloud_watch_logging_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.CloudWatchLoggingConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2628
2706
  managed_persistence_monitoring_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.ManagedPersistenceMonitoringConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2707
+ prometheus_monitoring_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.PrometheusMonitoringConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2629
2708
  s3_monitoring_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.S3MonitoringConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2630
2709
  ) -> None:
2631
2710
  """Type checking stubs"""
@@ -2639,6 +2718,13 @@ def _typecheckingstub__ea91d44b7b04faaf86e4a55badd0f26aa73aa5b6fa131753a02f85719
2639
2718
  """Type checking stubs"""
2640
2719
  pass
2641
2720
 
2721
+ def _typecheckingstub__eed5e2a661371ca6ceab2d92afa8904162bc5dd4f2c62c9c20500ec776ae4f27(
2722
+ *,
2723
+ remote_write_url: typing.Optional[builtins.str] = None,
2724
+ ) -> None:
2725
+ """Type checking stubs"""
2726
+ pass
2727
+
2642
2728
  def _typecheckingstub__8c2bbffaec906451dfb8b186ca2e714bc8b38325018a5241dbe3a66e4202ffed(
2643
2729
  *,
2644
2730
  encryption_key_arn: typing.Optional[builtins.str] = None,
@@ -364,6 +364,7 @@ class CfnPolicy(
364
364
  policy_description="policyDescription",
365
365
  resources_clean_up=False,
366
366
  resource_set_ids=["resourceSetIds"],
367
+ resource_tag_logical_operator="resourceTagLogicalOperator",
367
368
  resource_tags=[fms.CfnPolicy.ResourceTagProperty(
368
369
  key="key",
369
370
 
@@ -394,6 +395,7 @@ class CfnPolicy(
394
395
  policy_description: typing.Optional[builtins.str] = None,
395
396
  resources_clean_up: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
396
397
  resource_set_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
398
+ resource_tag_logical_operator: typing.Optional[builtins.str] = None,
397
399
  resource_tags: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnPolicy.ResourceTagProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
398
400
  resource_type: typing.Optional[builtins.str] = None,
399
401
  resource_type_list: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -412,6 +414,7 @@ class CfnPolicy(
412
414
  :param policy_description: Your description of the AWS Firewall Manager policy.
413
415
  :param resources_clean_up: Indicates whether AWS Firewall Manager should automatically remove protections from resources that leave the policy scope and clean up resources that Firewall Manager is managing for accounts when those accounts leave policy scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL from a protected customer resource when the customer resource leaves policy scope. By default, Firewall Manager doesn't remove protections or delete Firewall Manager managed resources. This option is not available for Shield Advanced or AWS WAF Classic policies.
414
416
  :param resource_set_ids: The unique identifiers of the resource sets used by the policy.
417
+ :param resource_tag_logical_operator:
415
418
  :param resource_tags: An array of ``ResourceTag`` objects, used to explicitly include resources in the policy scope or explicitly exclude them. If this isn't set, then tags aren't used to modify policy scope. See also ``ExcludeResourceTags`` .
416
419
  :param resource_type: The type of resource protected by or in scope of the policy. This is in the format shown in the `AWS Resource Types Reference <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html>`_ . To apply this policy to multiple resource types, specify a resource type of ``ResourceTypeList`` and then specify the resource types in a ``ResourceTypeList`` . The following are valid resource types for each Firewall Manager policy type: - AWS WAF Classic - ``AWS::ApiGateway::Stage`` , ``AWS::CloudFront::Distribution`` , and ``AWS::ElasticLoadBalancingV2::LoadBalancer`` . - AWS WAF - ``AWS::ApiGateway::Stage`` , ``AWS::ElasticLoadBalancingV2::LoadBalancer`` , and ``AWS::CloudFront::Distribution`` . - Shield Advanced - ``AWS::ElasticLoadBalancingV2::LoadBalancer`` , ``AWS::ElasticLoadBalancing::LoadBalancer`` , ``AWS::EC2::EIP`` , and ``AWS::CloudFront::Distribution`` . - Network ACL - ``AWS::EC2::Subnet`` . - Security group usage audit - ``AWS::EC2::SecurityGroup`` . - Security group content audit - ``AWS::EC2::SecurityGroup`` , ``AWS::EC2::NetworkInterface`` , and ``AWS::EC2::Instance`` . - DNS Firewall, AWS Network Firewall , and third-party firewall - ``AWS::EC2::VPC`` .
417
420
  :param resource_type_list: An array of ``ResourceType`` objects. Use this only to specify multiple resource types. To specify a single resource type, use ``ResourceType`` .
@@ -432,6 +435,7 @@ class CfnPolicy(
432
435
  policy_description=policy_description,
433
436
  resources_clean_up=resources_clean_up,
434
437
  resource_set_ids=resource_set_ids,
438
+ resource_tag_logical_operator=resource_tag_logical_operator,
435
439
  resource_tags=resource_tags,
436
440
  resource_type=resource_type,
437
441
  resource_type_list=resource_type_list,
@@ -668,6 +672,21 @@ class CfnPolicy(
668
672
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
669
673
  jsii.set(self, "resourceSetIds", value) # pyright: ignore[reportArgumentType]
670
674
 
675
+ @builtins.property
676
+ @jsii.member(jsii_name="resourceTagLogicalOperator")
677
+ def resource_tag_logical_operator(self) -> typing.Optional[builtins.str]:
678
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "resourceTagLogicalOperator"))
679
+
680
+ @resource_tag_logical_operator.setter
681
+ def resource_tag_logical_operator(
682
+ self,
683
+ value: typing.Optional[builtins.str],
684
+ ) -> None:
685
+ if __debug__:
686
+ type_hints = typing.get_type_hints(_typecheckingstub__4c785568d3275bbfb3df2dd3b2ac1d97319f9c06330a57289261dce85d69868f)
687
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
688
+ jsii.set(self, "resourceTagLogicalOperator", value) # pyright: ignore[reportArgumentType]
689
+
671
690
  @builtins.property
672
691
  @jsii.member(jsii_name="resourceTags")
673
692
  def resource_tags(
@@ -2037,6 +2056,7 @@ class CfnPolicy(
2037
2056
  "policy_description": "policyDescription",
2038
2057
  "resources_clean_up": "resourcesCleanUp",
2039
2058
  "resource_set_ids": "resourceSetIds",
2059
+ "resource_tag_logical_operator": "resourceTagLogicalOperator",
2040
2060
  "resource_tags": "resourceTags",
2041
2061
  "resource_type": "resourceType",
2042
2062
  "resource_type_list": "resourceTypeList",
@@ -2057,6 +2077,7 @@ class CfnPolicyProps:
2057
2077
  policy_description: typing.Optional[builtins.str] = None,
2058
2078
  resources_clean_up: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2059
2079
  resource_set_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
2080
+ resource_tag_logical_operator: typing.Optional[builtins.str] = None,
2060
2081
  resource_tags: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicy.ResourceTagProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2061
2082
  resource_type: typing.Optional[builtins.str] = None,
2062
2083
  resource_type_list: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -2074,6 +2095,7 @@ class CfnPolicyProps:
2074
2095
  :param policy_description: Your description of the AWS Firewall Manager policy.
2075
2096
  :param resources_clean_up: Indicates whether AWS Firewall Manager should automatically remove protections from resources that leave the policy scope and clean up resources that Firewall Manager is managing for accounts when those accounts leave policy scope. For example, Firewall Manager will disassociate a Firewall Manager managed web ACL from a protected customer resource when the customer resource leaves policy scope. By default, Firewall Manager doesn't remove protections or delete Firewall Manager managed resources. This option is not available for Shield Advanced or AWS WAF Classic policies.
2076
2097
  :param resource_set_ids: The unique identifiers of the resource sets used by the policy.
2098
+ :param resource_tag_logical_operator:
2077
2099
  :param resource_tags: An array of ``ResourceTag`` objects, used to explicitly include resources in the policy scope or explicitly exclude them. If this isn't set, then tags aren't used to modify policy scope. See also ``ExcludeResourceTags`` .
2078
2100
  :param resource_type: The type of resource protected by or in scope of the policy. This is in the format shown in the `AWS Resource Types Reference <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html>`_ . To apply this policy to multiple resource types, specify a resource type of ``ResourceTypeList`` and then specify the resource types in a ``ResourceTypeList`` . The following are valid resource types for each Firewall Manager policy type: - AWS WAF Classic - ``AWS::ApiGateway::Stage`` , ``AWS::CloudFront::Distribution`` , and ``AWS::ElasticLoadBalancingV2::LoadBalancer`` . - AWS WAF - ``AWS::ApiGateway::Stage`` , ``AWS::ElasticLoadBalancingV2::LoadBalancer`` , and ``AWS::CloudFront::Distribution`` . - Shield Advanced - ``AWS::ElasticLoadBalancingV2::LoadBalancer`` , ``AWS::ElasticLoadBalancing::LoadBalancer`` , ``AWS::EC2::EIP`` , and ``AWS::CloudFront::Distribution`` . - Network ACL - ``AWS::EC2::Subnet`` . - Security group usage audit - ``AWS::EC2::SecurityGroup`` . - Security group content audit - ``AWS::EC2::SecurityGroup`` , ``AWS::EC2::NetworkInterface`` , and ``AWS::EC2::Instance`` . - DNS Firewall, AWS Network Firewall , and third-party firewall - ``AWS::EC2::VPC`` .
2079
2101
  :param resource_type_list: An array of ``ResourceType`` objects. Use this only to specify multiple resource types. To specify a single resource type, use ``ResourceType`` .
@@ -2162,6 +2184,7 @@ class CfnPolicyProps:
2162
2184
  policy_description="policyDescription",
2163
2185
  resources_clean_up=False,
2164
2186
  resource_set_ids=["resourceSetIds"],
2187
+ resource_tag_logical_operator="resourceTagLogicalOperator",
2165
2188
  resource_tags=[fms.CfnPolicy.ResourceTagProperty(
2166
2189
  key="key",
2167
2190
 
@@ -2188,6 +2211,7 @@ class CfnPolicyProps:
2188
2211
  check_type(argname="argument policy_description", value=policy_description, expected_type=type_hints["policy_description"])
2189
2212
  check_type(argname="argument resources_clean_up", value=resources_clean_up, expected_type=type_hints["resources_clean_up"])
2190
2213
  check_type(argname="argument resource_set_ids", value=resource_set_ids, expected_type=type_hints["resource_set_ids"])
2214
+ check_type(argname="argument resource_tag_logical_operator", value=resource_tag_logical_operator, expected_type=type_hints["resource_tag_logical_operator"])
2191
2215
  check_type(argname="argument resource_tags", value=resource_tags, expected_type=type_hints["resource_tags"])
2192
2216
  check_type(argname="argument resource_type", value=resource_type, expected_type=type_hints["resource_type"])
2193
2217
  check_type(argname="argument resource_type_list", value=resource_type_list, expected_type=type_hints["resource_type_list"])
@@ -2210,6 +2234,8 @@ class CfnPolicyProps:
2210
2234
  self._values["resources_clean_up"] = resources_clean_up
2211
2235
  if resource_set_ids is not None:
2212
2236
  self._values["resource_set_ids"] = resource_set_ids
2237
+ if resource_tag_logical_operator is not None:
2238
+ self._values["resource_tag_logical_operator"] = resource_tag_logical_operator
2213
2239
  if resource_tags is not None:
2214
2240
  self._values["resource_tags"] = resource_tags
2215
2241
  if resource_type is not None:
@@ -2468,6 +2494,14 @@ class CfnPolicyProps:
2468
2494
  result = self._values.get("resource_set_ids")
2469
2495
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
2470
2496
 
2497
+ @builtins.property
2498
+ def resource_tag_logical_operator(self) -> typing.Optional[builtins.str]:
2499
+ '''
2500
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fms-policy.html#cfn-fms-policy-resourcetaglogicaloperator
2501
+ '''
2502
+ result = self._values.get("resource_tag_logical_operator")
2503
+ return typing.cast(typing.Optional[builtins.str], result)
2504
+
2471
2505
  @builtins.property
2472
2506
  def resource_tags(
2473
2507
  self,
@@ -2915,6 +2949,7 @@ def _typecheckingstub__a29b3b13041b0ccbd18a0c29ff5cff0adbc0e2aedc87591f1c54ec7a1
2915
2949
  policy_description: typing.Optional[builtins.str] = None,
2916
2950
  resources_clean_up: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2917
2951
  resource_set_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
2952
+ resource_tag_logical_operator: typing.Optional[builtins.str] = None,
2918
2953
  resource_tags: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicy.ResourceTagProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2919
2954
  resource_type: typing.Optional[builtins.str] = None,
2920
2955
  resource_type_list: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -2995,6 +3030,12 @@ def _typecheckingstub__048e93c726f9c5fe6e9b627c041b37e3458add761a76189dddf42b880
2995
3030
  """Type checking stubs"""
2996
3031
  pass
2997
3032
 
3033
+ def _typecheckingstub__4c785568d3275bbfb3df2dd3b2ac1d97319f9c06330a57289261dce85d69868f(
3034
+ value: typing.Optional[builtins.str],
3035
+ ) -> None:
3036
+ """Type checking stubs"""
3037
+ pass
3038
+
2998
3039
  def _typecheckingstub__9c77d40603d6f4c051dd3f9b5d662e1b2f8b3690fcfa612876de86b1cfb05ac0(
2999
3040
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnPolicy.ResourceTagProperty]]]],
3000
3041
  ) -> None:
@@ -3133,6 +3174,7 @@ def _typecheckingstub__8455eef74a6daf8d86ebd4c14f18184bf9c938d95a07a9902bf05c79f
3133
3174
  policy_description: typing.Optional[builtins.str] = None,
3134
3175
  resources_clean_up: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3135
3176
  resource_set_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
3177
+ resource_tag_logical_operator: typing.Optional[builtins.str] = None,
3136
3178
  resource_tags: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnPolicy.ResourceTagProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3137
3179
  resource_type: typing.Optional[builtins.str] = None,
3138
3180
  resource_type_list: typing.Optional[typing.Sequence[builtins.str]] = None,