aws-cdk-lib 2.162.1__py3-none-any.whl → 2.163.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 (59) hide show
  1. aws_cdk/__init__.py +5 -7
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.162.1.jsii.tgz → aws-cdk-lib@2.163.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2/__init__.py +7 -7
  5. aws_cdk/aws_appflow/__init__.py +30 -16
  6. aws_cdk/aws_appsync/__init__.py +11 -21
  7. aws_cdk/aws_autoscaling/__init__.py +123 -0
  8. aws_cdk/aws_b2bi/__init__.py +83 -57
  9. aws_cdk/aws_cloudformation/__init__.py +5 -7
  10. aws_cdk/aws_codebuild/__init__.py +19 -40
  11. aws_cdk/aws_codepipeline/__init__.py +88 -7
  12. aws_cdk/aws_cognito/__init__.py +282 -168
  13. aws_cdk/aws_dms/__init__.py +1076 -117
  14. aws_cdk/aws_docdb/__init__.py +19 -13
  15. aws_cdk/aws_dynamodb/__init__.py +43 -22
  16. aws_cdk/aws_ec2/__init__.py +1213 -38
  17. aws_cdk/aws_ecs/__init__.py +187 -18
  18. aws_cdk/aws_ecs_patterns/__init__.py +189 -27
  19. aws_cdk/aws_efs/__init__.py +56 -37
  20. aws_cdk/aws_eks/__init__.py +6 -2
  21. aws_cdk/aws_elasticache/__init__.py +118 -118
  22. aws_cdk/aws_elasticloadbalancingv2/__init__.py +21 -1
  23. aws_cdk/aws_emr/__init__.py +124 -57
  24. aws_cdk/aws_events/__init__.py +40 -0
  25. aws_cdk/aws_fms/__init__.py +757 -8
  26. aws_cdk/aws_fsx/__init__.py +245 -10
  27. aws_cdk/aws_gamelift/__init__.py +121 -0
  28. aws_cdk/aws_glue/__init__.py +344 -61
  29. aws_cdk/aws_iam/__init__.py +44 -0
  30. aws_cdk/aws_identitystore/__init__.py +4 -2
  31. aws_cdk/aws_iot/__init__.py +40 -12
  32. aws_cdk/aws_kinesis/__init__.py +239 -0
  33. aws_cdk/aws_kms/__init__.py +92 -3
  34. aws_cdk/aws_lambda/__init__.py +2 -2
  35. aws_cdk/aws_mediapackagev2/__init__.py +26 -10
  36. aws_cdk/aws_memorydb/__init__.py +7 -7
  37. aws_cdk/aws_networkfirewall/__init__.py +89 -0
  38. aws_cdk/aws_qbusiness/__init__.py +51 -7
  39. aws_cdk/aws_quicksight/__init__.py +221 -87
  40. aws_cdk/aws_rds/__init__.py +376 -75
  41. aws_cdk/aws_redshift/__init__.py +493 -13
  42. aws_cdk/aws_route53profiles/__init__.py +4 -2
  43. aws_cdk/aws_route53resolver/__init__.py +26 -60
  44. aws_cdk/aws_s3/__init__.py +104 -4
  45. aws_cdk/aws_s3express/__init__.py +73 -13
  46. aws_cdk/aws_s3outposts/__init__.py +21 -12
  47. aws_cdk/aws_sagemaker/__init__.py +4 -44
  48. aws_cdk/aws_ssmquicksetup/__init__.py +2 -2
  49. aws_cdk/aws_stepfunctions/__init__.py +529 -156
  50. aws_cdk/aws_transfer/__init__.py +15 -4
  51. aws_cdk/aws_waf/__init__.py +11 -11
  52. aws_cdk/aws_wafregional/__init__.py +12 -12
  53. aws_cdk/aws_wisdom/__init__.py +710 -5
  54. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.1.dist-info}/METADATA +1 -1
  55. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.1.dist-info}/RECORD +59 -59
  56. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.1.dist-info}/LICENSE +0 -0
  57. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.1.dist-info}/NOTICE +0 -0
  58. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.1.dist-info}/WHEEL +0 -0
  59. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.1.dist-info}/top_level.txt +0 -0
@@ -434,6 +434,25 @@ listener = lb.add_listener("Listener",
434
434
  )
435
435
  ```
436
436
 
437
+ ### Network Load Balancer and EC2 IConnectable interface
438
+
439
+ Network Load Balancer implements EC2 `IConnectable` and exposes `connections` property. EC2 Connections allows manage the allowed network connections for constructs with Security Groups. This class makes it easy to allow network connections to and from security groups, and between security groups individually. One thing to keep in mind is that network load balancers do not have security groups, and no automatic security group configuration is done for you. You will have to configure the security groups of the target yourself to allow traffic by clients and/or load balancer instances, depending on your target types.
440
+
441
+ ```python
442
+ # vpc: ec2.Vpc
443
+ # sg1: ec2.ISecurityGroup
444
+ # sg2: ec2.ISecurityGroup
445
+
446
+
447
+ lb = elbv2.NetworkLoadBalancer(self, "LB",
448
+ vpc=vpc,
449
+ internet_facing=True,
450
+ security_groups=[sg1]
451
+ )
452
+ lb.add_security_group(sg2)
453
+ lb.connections.allow_from_any_ipv4(ec2.Port.tcp(80))
454
+ ```
455
+
437
456
  ## Targets and Target Groups
438
457
 
439
458
  Application and Network Load Balancers organize load balancing targets in Target
@@ -8445,7 +8464,7 @@ class CfnLoadBalancer(
8445
8464
  ) -> None:
8446
8465
  '''Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.
8447
8466
 
8448
- :param key: The name of the attribute. The following attributes are supported by all load balancers: - ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false`` . The default for Network Load Balancers and Gateway Load Balancers is ``false`` . The default for Application Load Balancers is ``true`` , and cannot be changed. The following attributes are supported by both Application Load Balancers and Network Load Balancers: - ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket. - ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs. - ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway. The following attributes are supported by only Application Load Balancers: - ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds. - ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds. - ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket. - ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs. - ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor`` , ``defensive`` , and ``strictest`` . The default is ``defensive`` . - ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer ( ``true`` ) or routed to targets ( ``false`` ). The default is ``false`` . - ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers ( ``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite`` ), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append`` , ``preserve`` , and ``remove`` . The default is ``append`` . - If the value is ``append`` , the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets. - If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change. - If the value is ``remove`` , the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets. - ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false`` . The default is ``true`` . Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. - ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false`` . The default is ``false`` . The following attributes are supported by only Network Load Balancers: - ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.
8467
+ :param key: The name of the attribute. The following attributes are supported by all load balancers: - ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false`` . The default for Network Load Balancers and Gateway Load Balancers is ``false`` . The default for Application Load Balancers is ``true`` , and cannot be changed. The following attributes are supported by both Application Load Balancers and Network Load Balancers: - ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket. - ``access_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the access logs. - ``ipv6.deny_all_igw_traffic`` - Blocks internet gateway (IGW) access to the load balancer. It is set to ``false`` for internet-facing load balancers and ``true`` for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway. The following attributes are supported by only Application Load Balancers: - ``idle_timeout.timeout_seconds`` - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds. - ``client_keep_alive.seconds`` - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds. - ``connection_logs.s3.enabled`` - Indicates whether connection logs are enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``connection_logs.s3.bucket`` - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket. - ``connection_logs.s3.prefix`` - The prefix for the location in the S3 bucket for the connection logs. - ``routing.http.desync_mitigation_mode`` - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are ``monitor`` , ``defensive`` , and ``strictest`` . The default is ``defensive`` . - ``routing.http.drop_invalid_header_fields.enabled`` - Indicates whether HTTP headers with invalid header fields are removed by the load balancer ( ``true`` ) or routed to targets ( ``false`` ). The default is ``false`` . - ``routing.http.preserve_host_header.enabled`` - Indicates whether the Application Load Balancer should preserve the ``Host`` header in the HTTP request and send it to the target without any change. The possible values are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.x_amzn_tls_version_and_cipher_suite.enabled`` - Indicates whether the two headers ( ``x-amzn-tls-version`` and ``x-amzn-tls-cipher-suite`` ), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The ``x-amzn-tls-version`` header has information about the TLS protocol version negotiated with the client, and the ``x-amzn-tls-cipher-suite`` header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.xff_client_port.enabled`` - Indicates whether the ``X-Forwarded-For`` header should preserve the source port that the client used to connect to the load balancer. The possible values are ``true`` and ``false`` . The default is ``false`` . - ``routing.http.xff_header_processing.mode`` - Enables you to modify, preserve, or remove the ``X-Forwarded-For`` header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are ``append`` , ``preserve`` , and ``remove`` . The default is ``append`` . - If the value is ``append`` , the Application Load Balancer adds the client IP address (of the last hop) to the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets. - If the value is ``preserve`` the Application Load Balancer preserves the ``X-Forwarded-For`` header in the HTTP request, and sends it to targets without any change. - If the value is ``remove`` , the Application Load Balancer removes the ``X-Forwarded-For`` header in the HTTP request before it sends it to targets. - ``routing.http2.enabled`` - Indicates whether HTTP/2 is enabled. The possible values are ``true`` and ``false`` . The default is ``true`` . Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. - ``waf.fail_open.enabled`` - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to AWS WAF. The possible values are ``true`` and ``false`` . The default is ``false`` . The following attributes are supported by only Network Load Balancers: - ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity. - ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false`` . The default is ``false`` .
8449
8468
  :param value: The value of the attribute.
8450
8469
 
8451
8470
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattribute.html
@@ -8510,6 +8529,7 @@ class CfnLoadBalancer(
8510
8529
  The following attributes are supported by only Network Load Balancers:
8511
8530
 
8512
8531
  - ``dns_record.client_routing_policy`` - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are ``availability_zone_affinity`` with 100 percent zonal affinity, ``partial_availability_zone_affinity`` with 85 percent zonal affinity, and ``any_availability_zone`` with 0 percent zonal affinity.
8532
+ - ``zonal_shift.config.enabled`` - Indicates whether zonal shift is enabled. The possible values are ``true`` and ``false`` . The default is ``false`` .
8513
8533
 
8514
8534
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattribute.html#cfn-elasticloadbalancingv2-loadbalancer-loadbalancerattribute-key
8515
8535
  '''
@@ -1796,7 +1796,7 @@ class CfnCluster(
1796
1796
  :param instance_type_configs: The instance type configurations that define the Amazon EC2 instances in the instance fleet.
1797
1797
  :param launch_specifications: The launch specification for the instance fleet.
1798
1798
  :param name: The friendly name of the instance fleet.
1799
- :param resize_specifications:
1799
+ :param resize_specifications: The resize specification for the instance fleet.
1800
1800
  :param target_on_demand_capacity: The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by ``InstanceTypeConfig`` . Each instance configuration has a specified ``WeightedCapacity`` . When an On-Demand instance is provisioned, the ``WeightedCapacity`` units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a ``WeightedCapacity`` of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. .. epigraph:: If not specified or set to 0, only Spot instances are provisioned for the instance fleet using ``TargetSpotCapacity`` . At least one of ``TargetSpotCapacity`` and ``TargetOnDemandCapacity`` should be greater than 0. For a master instance fleet, only one of ``TargetSpotCapacity`` and ``TargetOnDemandCapacity`` can be specified, and its value must be 1.
1801
1801
  :param target_spot_capacity: The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by ``InstanceTypeConfig`` . Each instance configuration has a specified ``WeightedCapacity`` . When a Spot instance is provisioned, the ``WeightedCapacity`` units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a ``WeightedCapacity`` of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. .. epigraph:: If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of ``TargetSpotCapacity`` and ``TargetOnDemandCapacity`` should be greater than 0. For a master instance fleet, only one of ``TargetSpotCapacity`` and ``TargetOnDemandCapacity`` can be specified, and its value must be 1.
1802
1802
 
@@ -1942,7 +1942,8 @@ class CfnCluster(
1942
1942
  def resize_specifications(
1943
1943
  self,
1944
1944
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.InstanceFleetResizingSpecificationsProperty"]]:
1945
- '''
1945
+ '''The resize specification for the instance fleet.
1946
+
1946
1947
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-instancefleetconfig.html#cfn-emr-cluster-instancefleetconfig-resizespecifications
1947
1948
  '''
1948
1949
  result = self._values.get("resize_specifications")
@@ -2104,9 +2105,10 @@ class CfnCluster(
2104
2105
  on_demand_resize_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.OnDemandResizingSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2105
2106
  spot_resize_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.SpotResizingSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2106
2107
  ) -> None:
2107
- '''
2108
- :param on_demand_resize_specification:
2109
- :param spot_resize_specification:
2108
+ '''The resize specification for On-Demand and Spot Instances in the fleet.
2109
+
2110
+ :param on_demand_resize_specification: The resize specification for On-Demand Instances in the instance fleet, which contains the allocation strategy, capacity reservation options, and the resize timeout period.
2111
+ :param spot_resize_specification: The resize specification for Spot Instances in the instance fleet, which contains the allocation strategy and the resize timeout period.
2110
2112
 
2111
2113
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-instancefleetresizingspecifications.html
2112
2114
  :exampleMetadata: fixture=_generated
@@ -2147,7 +2149,8 @@ class CfnCluster(
2147
2149
  def on_demand_resize_specification(
2148
2150
  self,
2149
2151
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.OnDemandResizingSpecificationProperty"]]:
2150
- '''
2152
+ '''The resize specification for On-Demand Instances in the instance fleet, which contains the allocation strategy, capacity reservation options, and the resize timeout period.
2153
+
2151
2154
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-instancefleetresizingspecifications.html#cfn-emr-cluster-instancefleetresizingspecifications-ondemandresizespecification
2152
2155
  '''
2153
2156
  result = self._values.get("on_demand_resize_specification")
@@ -2157,7 +2160,8 @@ class CfnCluster(
2157
2160
  def spot_resize_specification(
2158
2161
  self,
2159
2162
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.SpotResizingSpecificationProperty"]]:
2160
- '''
2163
+ '''The resize specification for Spot Instances in the instance fleet, which contains the allocation strategy and the resize timeout period.
2164
+
2161
2165
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-instancefleetresizingspecifications.html#cfn-emr-cluster-instancefleetresizingspecifications-spotresizespecification
2162
2166
  '''
2163
2167
  result = self._values.get("spot_resize_specification")
@@ -2479,7 +2483,7 @@ class CfnCluster(
2479
2483
  :param configurations: A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster.
2480
2484
  :param custom_ami_id: The custom AMI ID to use for the instance type.
2481
2485
  :param ebs_configuration: The configuration of Amazon Elastic Block Store (Amazon EBS) attached to each instance as defined by ``InstanceType`` .
2482
- :param priority:
2486
+ :param priority: The priority at which Amazon EMR launches the Amazon EC2 instances with this instance type. Priority starts at 0, which is the highest priority. Amazon EMR considers the highest priority first.
2483
2487
  :param weighted_capacity: The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in ``InstanceFleetConfig`` . This value is 1 for a master instance fleet, and must be 1 or greater for core and task instance fleets. Defaults to 1 if not specified.
2484
2488
 
2485
2489
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-instancetypeconfig.html
@@ -2622,7 +2626,10 @@ class CfnCluster(
2622
2626
 
2623
2627
  @builtins.property
2624
2628
  def priority(self) -> typing.Optional[jsii.Number]:
2625
- '''
2629
+ '''The priority at which Amazon EMR launches the Amazon EC2 instances with this instance type.
2630
+
2631
+ Priority starts at 0, which is the highest priority. Amazon EMR considers the highest priority first.
2632
+
2626
2633
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-instancetypeconfig.html#cfn-emr-cluster-instancetypeconfig-priority
2627
2634
  '''
2628
2635
  result = self._values.get("priority")
@@ -3846,10 +3853,11 @@ class CfnCluster(
3846
3853
  capacity_reservation_resource_group_arn: typing.Optional[builtins.str] = None,
3847
3854
  usage_strategy: typing.Optional[builtins.str] = None,
3848
3855
  ) -> None:
3849
- '''
3850
- :param capacity_reservation_preference:
3851
- :param capacity_reservation_resource_group_arn:
3852
- :param usage_strategy:
3856
+ '''Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.
3857
+
3858
+ :param capacity_reservation_preference: Indicates the instance's Capacity Reservation preferences. Possible preferences include:. - ``open`` - The instance can run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). - ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs as an On-Demand Instance.
3859
+ :param capacity_reservation_resource_group_arn: The ARN of the Capacity Reservation resource group in which to run the instance.
3860
+ :param usage_strategy: Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. If you specify ``use-capacity-reservations-first`` , the fleet uses unused Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If multiple instance pools have unused Capacity Reservations, the On-Demand allocation strategy ( ``lowest-price`` ) is applied. If the number of unused Capacity Reservations is less than the On-Demand target capacity, the remaining On-Demand target capacity is launched according to the On-Demand allocation strategy ( ``lowest-price`` ). If you do not specify a value, the fleet fulfills the On-Demand capacity according to the chosen On-Demand allocation strategy.
3853
3861
 
3854
3862
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-ondemandcapacityreservationoptions.html
3855
3863
  :exampleMetadata: fixture=_generated
@@ -3881,7 +3889,11 @@ class CfnCluster(
3881
3889
 
3882
3890
  @builtins.property
3883
3891
  def capacity_reservation_preference(self) -> typing.Optional[builtins.str]:
3884
- '''
3892
+ '''Indicates the instance's Capacity Reservation preferences. Possible preferences include:.
3893
+
3894
+ - ``open`` - The instance can run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
3895
+ - ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs as an On-Demand Instance.
3896
+
3885
3897
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-ondemandcapacityreservationoptions.html#cfn-emr-cluster-ondemandcapacityreservationoptions-capacityreservationpreference
3886
3898
  '''
3887
3899
  result = self._values.get("capacity_reservation_preference")
@@ -3891,7 +3903,8 @@ class CfnCluster(
3891
3903
  def capacity_reservation_resource_group_arn(
3892
3904
  self,
3893
3905
  ) -> typing.Optional[builtins.str]:
3894
- '''
3906
+ '''The ARN of the Capacity Reservation resource group in which to run the instance.
3907
+
3895
3908
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-ondemandcapacityreservationoptions.html#cfn-emr-cluster-ondemandcapacityreservationoptions-capacityreservationresourcegrouparn
3896
3909
  '''
3897
3910
  result = self._values.get("capacity_reservation_resource_group_arn")
@@ -3899,7 +3912,12 @@ class CfnCluster(
3899
3912
 
3900
3913
  @builtins.property
3901
3914
  def usage_strategy(self) -> typing.Optional[builtins.str]:
3902
- '''
3915
+ '''Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.
3916
+
3917
+ If you specify ``use-capacity-reservations-first`` , the fleet uses unused Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If multiple instance pools have unused Capacity Reservations, the On-Demand allocation strategy ( ``lowest-price`` ) is applied. If the number of unused Capacity Reservations is less than the On-Demand target capacity, the remaining On-Demand target capacity is launched according to the On-Demand allocation strategy ( ``lowest-price`` ).
3918
+
3919
+ If you do not specify a value, the fleet fulfills the On-Demand capacity according to the chosen On-Demand allocation strategy.
3920
+
3903
3921
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-ondemandcapacityreservationoptions.html#cfn-emr-cluster-ondemandcapacityreservationoptions-usagestrategy
3904
3922
  '''
3905
3923
  result = self._values.get("usage_strategy")
@@ -3938,7 +3956,7 @@ class CfnCluster(
3938
3956
  The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in Amazon EMR releases 5.12.1 and later.
3939
3957
 
3940
3958
  :param allocation_strategy: Specifies the strategy to use in launching On-Demand instance fleets. Available options are ``lowest-price`` and ``prioritized`` . ``lowest-price`` specifies to launch the instances with the lowest price first, and ``prioritized`` specifies that Amazon EMR should launch the instances with the highest priority first. The default is ``lowest-price`` .
3941
- :param capacity_reservation_options:
3959
+ :param capacity_reservation_options: The launch specification for On-Demand instances in the instance fleet, which determines the allocation strategy.
3942
3960
 
3943
3961
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-ondemandprovisioningspecification.html
3944
3962
  :exampleMetadata: fixture=_generated
@@ -3986,7 +4004,8 @@ class CfnCluster(
3986
4004
  def capacity_reservation_options(
3987
4005
  self,
3988
4006
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.OnDemandCapacityReservationOptionsProperty"]]:
3989
- '''
4007
+ '''The launch specification for On-Demand instances in the instance fleet, which determines the allocation strategy.
4008
+
3990
4009
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-ondemandprovisioningspecification.html#cfn-emr-cluster-ondemandprovisioningspecification-capacityreservationoptions
3991
4010
  '''
3992
4011
  result = self._values.get("capacity_reservation_options")
@@ -4020,10 +4039,11 @@ class CfnCluster(
4020
4039
  capacity_reservation_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.OnDemandCapacityReservationOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4021
4040
  timeout_duration_minutes: typing.Optional[jsii.Number] = None,
4022
4041
  ) -> None:
4023
- '''
4024
- :param allocation_strategy:
4042
+ '''The resize specification for On-Demand Instances in the instance fleet, which contains the resize timeout period.
4043
+
4044
+ :param allocation_strategy: Specifies the allocation strategy to use to launch On-Demand instances during a resize. The default is ``lowest-price`` .
4025
4045
  :param capacity_reservation_options:
4026
- :param timeout_duration_minutes:
4046
+ :param timeout_duration_minutes: On-Demand resize timeout in minutes. If On-Demand Instances are not provisioned within this time, the resize workflow stops. The minimum value is 5 minutes, and the maximum value is 10,080 minutes (7 days). The timeout applies to all resize workflows on the Instance Fleet. The resize could be triggered by Amazon EMR Managed Scaling or by the customer (via Amazon EMR Console, Amazon EMR CLI modify-instance-fleet or Amazon EMR SDK ModifyInstanceFleet API) or by Amazon EMR due to Amazon EC2 Spot Reclamation.
4027
4047
 
4028
4048
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-ondemandresizingspecification.html
4029
4049
  :exampleMetadata: fixture=_generated
@@ -4059,7 +4079,10 @@ class CfnCluster(
4059
4079
 
4060
4080
  @builtins.property
4061
4081
  def allocation_strategy(self) -> typing.Optional[builtins.str]:
4062
- '''
4082
+ '''Specifies the allocation strategy to use to launch On-Demand instances during a resize.
4083
+
4084
+ The default is ``lowest-price`` .
4085
+
4063
4086
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-ondemandresizingspecification.html#cfn-emr-cluster-ondemandresizingspecification-allocationstrategy
4064
4087
  '''
4065
4088
  result = self._values.get("allocation_strategy")
@@ -4077,7 +4100,10 @@ class CfnCluster(
4077
4100
 
4078
4101
  @builtins.property
4079
4102
  def timeout_duration_minutes(self) -> typing.Optional[jsii.Number]:
4080
- '''
4103
+ '''On-Demand resize timeout in minutes.
4104
+
4105
+ If On-Demand Instances are not provisioned within this time, the resize workflow stops. The minimum value is 5 minutes, and the maximum value is 10,080 minutes (7 days). The timeout applies to all resize workflows on the Instance Fleet. The resize could be triggered by Amazon EMR Managed Scaling or by the customer (via Amazon EMR Console, Amazon EMR CLI modify-instance-fleet or Amazon EMR SDK ModifyInstanceFleet API) or by Amazon EMR due to Amazon EC2 Spot Reclamation.
4106
+
4081
4107
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-ondemandresizingspecification.html#cfn-emr-cluster-ondemandresizingspecification-timeoutdurationminutes
4082
4108
  '''
4083
4109
  result = self._values.get("timeout_duration_minutes")
@@ -4937,9 +4963,10 @@ class CfnCluster(
4937
4963
  allocation_strategy: typing.Optional[builtins.str] = None,
4938
4964
  timeout_duration_minutes: typing.Optional[jsii.Number] = None,
4939
4965
  ) -> None:
4940
- '''
4941
- :param allocation_strategy:
4942
- :param timeout_duration_minutes:
4966
+ '''The resize specification for Spot Instances in the instance fleet, which contains the resize timeout period.
4967
+
4968
+ :param allocation_strategy: Specifies the allocation strategy to use to launch Spot instances during a resize. If you run Amazon EMR releases 6.9.0 or higher, the default is ``price-capacity-optimized`` . If you run Amazon EMR releases 6.8.0 or lower, the default is ``capacity-optimized`` .
4969
+ :param timeout_duration_minutes: Spot resize timeout in minutes. If Spot Instances are not provisioned within this time, the resize workflow will stop provisioning of Spot instances. Minimum value is 5 minutes and maximum value is 10,080 minutes (7 days). The timeout applies to all resize workflows on the Instance Fleet. The resize could be triggered by Amazon EMR Managed Scaling or by the customer (via Amazon EMR Console, Amazon EMR CLI modify-instance-fleet or Amazon EMR SDK ModifyInstanceFleet API) or by Amazon EMR due to Amazon EC2 Spot Reclamation.
4943
4970
 
4944
4971
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-spotresizingspecification.html
4945
4972
  :exampleMetadata: fixture=_generated
@@ -4967,7 +4994,10 @@ class CfnCluster(
4967
4994
 
4968
4995
  @builtins.property
4969
4996
  def allocation_strategy(self) -> typing.Optional[builtins.str]:
4970
- '''
4997
+ '''Specifies the allocation strategy to use to launch Spot instances during a resize.
4998
+
4999
+ If you run Amazon EMR releases 6.9.0 or higher, the default is ``price-capacity-optimized`` . If you run Amazon EMR releases 6.8.0 or lower, the default is ``capacity-optimized`` .
5000
+
4971
5001
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-spotresizingspecification.html#cfn-emr-cluster-spotresizingspecification-allocationstrategy
4972
5002
  '''
4973
5003
  result = self._values.get("allocation_strategy")
@@ -4975,7 +5005,10 @@ class CfnCluster(
4975
5005
 
4976
5006
  @builtins.property
4977
5007
  def timeout_duration_minutes(self) -> typing.Optional[jsii.Number]:
4978
- '''
5008
+ '''Spot resize timeout in minutes.
5009
+
5010
+ If Spot Instances are not provisioned within this time, the resize workflow will stop provisioning of Spot instances. Minimum value is 5 minutes and maximum value is 10,080 minutes (7 days). The timeout applies to all resize workflows on the Instance Fleet. The resize could be triggered by Amazon EMR Managed Scaling or by the customer (via Amazon EMR Console, Amazon EMR CLI modify-instance-fleet or Amazon EMR SDK ModifyInstanceFleet API) or by Amazon EMR due to Amazon EC2 Spot Reclamation.
5011
+
4979
5012
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-spotresizingspecification.html#cfn-emr-cluster-spotresizingspecification-timeoutdurationminutes
4980
5013
  '''
4981
5014
  result = self._values.get("timeout_duration_minutes")
@@ -5838,7 +5871,7 @@ class CfnInstanceFleetConfig(
5838
5871
  :param instance_type_configs: ``InstanceTypeConfigs`` determine the EC2 instances that Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities. .. epigraph:: The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.
5839
5872
  :param launch_specifications: The launch specification for the instance fleet.
5840
5873
  :param name: The friendly name of the instance fleet.
5841
- :param resize_specifications:
5874
+ :param resize_specifications: The resize specification for the instance fleet.
5842
5875
  :param target_on_demand_capacity: The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by ``InstanceTypeConfig`` . Each instance configuration has a specified ``WeightedCapacity`` . When an On-Demand instance is provisioned, the ``WeightedCapacity`` units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a ``WeightedCapacity`` of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. .. epigraph:: If not specified or set to 0, only Spot instances are provisioned for the instance fleet using ``TargetSpotCapacity`` . At least one of ``TargetSpotCapacity`` and ``TargetOnDemandCapacity`` should be greater than 0. For a master instance fleet, only one of ``TargetSpotCapacity`` and ``TargetOnDemandCapacity`` can be specified, and its value must be 1.
5843
5876
  :param target_spot_capacity: The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by ``InstanceTypeConfig`` . Each instance configuration has a specified ``WeightedCapacity`` . When a Spot instance is provisioned, the ``WeightedCapacity`` units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a ``WeightedCapacity`` of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. .. epigraph:: If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of ``TargetSpotCapacity`` and ``TargetOnDemandCapacity`` should be greater than 0. For a master instance fleet, only one of ``TargetSpotCapacity`` and ``TargetOnDemandCapacity`` can be specified, and its value must be 1.
5844
5877
  '''
@@ -5982,6 +6015,7 @@ class CfnInstanceFleetConfig(
5982
6015
  def resize_specifications(
5983
6016
  self,
5984
6017
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstanceFleetConfig.InstanceFleetResizingSpecificationsProperty"]]:
6018
+ '''The resize specification for the instance fleet.'''
5985
6019
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstanceFleetConfig.InstanceFleetResizingSpecificationsProperty"]], jsii.get(self, "resizeSpecifications"))
5986
6020
 
5987
6021
  @resize_specifications.setter
@@ -6415,9 +6449,10 @@ class CfnInstanceFleetConfig(
6415
6449
  on_demand_resize_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnInstanceFleetConfig.OnDemandResizingSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6416
6450
  spot_resize_specification: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnInstanceFleetConfig.SpotResizingSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6417
6451
  ) -> None:
6418
- '''
6419
- :param on_demand_resize_specification:
6420
- :param spot_resize_specification:
6452
+ '''The resize specification for On-Demand and Spot Instances in the fleet.
6453
+
6454
+ :param on_demand_resize_specification: The resize specification for On-Demand Instances in the instance fleet, which contains the allocation strategy, capacity reservation options, and the resize timeout period.
6455
+ :param spot_resize_specification: The resize specification for Spot Instances in the instance fleet, which contains the allocation strategy and the resize timeout period.
6421
6456
 
6422
6457
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-instancefleetresizingspecifications.html
6423
6458
  :exampleMetadata: fixture=_generated
@@ -6458,7 +6493,8 @@ class CfnInstanceFleetConfig(
6458
6493
  def on_demand_resize_specification(
6459
6494
  self,
6460
6495
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstanceFleetConfig.OnDemandResizingSpecificationProperty"]]:
6461
- '''
6496
+ '''The resize specification for On-Demand Instances in the instance fleet, which contains the allocation strategy, capacity reservation options, and the resize timeout period.
6497
+
6462
6498
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-instancefleetresizingspecifications.html#cfn-emr-instancefleetconfig-instancefleetresizingspecifications-ondemandresizespecification
6463
6499
  '''
6464
6500
  result = self._values.get("on_demand_resize_specification")
@@ -6468,7 +6504,8 @@ class CfnInstanceFleetConfig(
6468
6504
  def spot_resize_specification(
6469
6505
  self,
6470
6506
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstanceFleetConfig.SpotResizingSpecificationProperty"]]:
6471
- '''
6507
+ '''The resize specification for Spot Instances in the instance fleet, which contains the allocation strategy and the resize timeout period.
6508
+
6472
6509
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-instancefleetresizingspecifications.html#cfn-emr-instancefleetconfig-instancefleetresizingspecifications-spotresizespecification
6473
6510
  '''
6474
6511
  result = self._values.get("spot_resize_specification")
@@ -6525,7 +6562,7 @@ class CfnInstanceFleetConfig(
6525
6562
  :param configurations: .. epigraph:: Amazon EMR releases 4.x or later. An optional configuration specification to be used when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR. A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file. For more information, see `Configuring Applications <https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html>`_ .
6526
6563
  :param custom_ami_id: The custom AMI ID to use for the instance type.
6527
6564
  :param ebs_configuration: The configuration of Amazon Elastic Block Store (Amazon EBS) attached to each instance as defined by ``InstanceType`` .
6528
- :param priority:
6565
+ :param priority: The priority at which Amazon EMR launches the Amazon EC2 instances with this instance type. Priority starts at 0, which is the highest priority. Amazon EMR considers the highest priority first.
6529
6566
  :param weighted_capacity: The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in ``InstanceFleetConfig`` . This value is 1 for a master instance fleet, and must be 1 or greater for core and task instance fleets. Defaults to 1 if not specified.
6530
6567
 
6531
6568
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-instancetypeconfig.html
@@ -6672,7 +6709,10 @@ class CfnInstanceFleetConfig(
6672
6709
 
6673
6710
  @builtins.property
6674
6711
  def priority(self) -> typing.Optional[jsii.Number]:
6675
- '''
6712
+ '''The priority at which Amazon EMR launches the Amazon EC2 instances with this instance type.
6713
+
6714
+ Priority starts at 0, which is the highest priority. Amazon EMR considers the highest priority first.
6715
+
6676
6716
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-instancetypeconfig.html#cfn-emr-instancefleetconfig-instancetypeconfig-priority
6677
6717
  '''
6678
6718
  result = self._values.get("priority")
@@ -6717,10 +6757,11 @@ class CfnInstanceFleetConfig(
6717
6757
  capacity_reservation_resource_group_arn: typing.Optional[builtins.str] = None,
6718
6758
  usage_strategy: typing.Optional[builtins.str] = None,
6719
6759
  ) -> None:
6720
- '''
6721
- :param capacity_reservation_preference:
6722
- :param capacity_reservation_resource_group_arn:
6723
- :param usage_strategy:
6760
+ '''Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.
6761
+
6762
+ :param capacity_reservation_preference: Indicates the instance's Capacity Reservation preferences. Possible preferences include:. - ``open`` - The instance can run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). - ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs as an On-Demand Instance.
6763
+ :param capacity_reservation_resource_group_arn: The ARN of the Capacity Reservation resource group in which to run the instance.
6764
+ :param usage_strategy: Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity. If you specify ``use-capacity-reservations-first`` , the fleet uses unused Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If multiple instance pools have unused Capacity Reservations, the On-Demand allocation strategy ( ``lowest-price`` ) is applied. If the number of unused Capacity Reservations is less than the On-Demand target capacity, the remaining On-Demand target capacity is launched according to the On-Demand allocation strategy ( ``lowest-price`` ). If you do not specify a value, the fleet fulfills the On-Demand capacity according to the chosen On-Demand allocation strategy.
6724
6765
 
6725
6766
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-ondemandcapacityreservationoptions.html
6726
6767
  :exampleMetadata: fixture=_generated
@@ -6752,7 +6793,11 @@ class CfnInstanceFleetConfig(
6752
6793
 
6753
6794
  @builtins.property
6754
6795
  def capacity_reservation_preference(self) -> typing.Optional[builtins.str]:
6755
- '''
6796
+ '''Indicates the instance's Capacity Reservation preferences. Possible preferences include:.
6797
+
6798
+ - ``open`` - The instance can run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
6799
+ - ``none`` - The instance avoids running in a Capacity Reservation even if one is available. The instance runs as an On-Demand Instance.
6800
+
6756
6801
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-ondemandcapacityreservationoptions.html#cfn-emr-instancefleetconfig-ondemandcapacityreservationoptions-capacityreservationpreference
6757
6802
  '''
6758
6803
  result = self._values.get("capacity_reservation_preference")
@@ -6762,7 +6807,8 @@ class CfnInstanceFleetConfig(
6762
6807
  def capacity_reservation_resource_group_arn(
6763
6808
  self,
6764
6809
  ) -> typing.Optional[builtins.str]:
6765
- '''
6810
+ '''The ARN of the Capacity Reservation resource group in which to run the instance.
6811
+
6766
6812
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-ondemandcapacityreservationoptions.html#cfn-emr-instancefleetconfig-ondemandcapacityreservationoptions-capacityreservationresourcegrouparn
6767
6813
  '''
6768
6814
  result = self._values.get("capacity_reservation_resource_group_arn")
@@ -6770,7 +6816,12 @@ class CfnInstanceFleetConfig(
6770
6816
 
6771
6817
  @builtins.property
6772
6818
  def usage_strategy(self) -> typing.Optional[builtins.str]:
6773
- '''
6819
+ '''Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.
6820
+
6821
+ If you specify ``use-capacity-reservations-first`` , the fleet uses unused Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If multiple instance pools have unused Capacity Reservations, the On-Demand allocation strategy ( ``lowest-price`` ) is applied. If the number of unused Capacity Reservations is less than the On-Demand target capacity, the remaining On-Demand target capacity is launched according to the On-Demand allocation strategy ( ``lowest-price`` ).
6822
+
6823
+ If you do not specify a value, the fleet fulfills the On-Demand capacity according to the chosen On-Demand allocation strategy.
6824
+
6774
6825
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-ondemandcapacityreservationoptions.html#cfn-emr-instancefleetconfig-ondemandcapacityreservationoptions-usagestrategy
6775
6826
  '''
6776
6827
  result = self._values.get("usage_strategy")
@@ -6809,7 +6860,7 @@ class CfnInstanceFleetConfig(
6809
6860
  The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in Amazon EMR releases 5.12.1 and later.
6810
6861
 
6811
6862
  :param allocation_strategy: Specifies the strategy to use in launching On-Demand instance fleets. Available options are ``lowest-price`` and ``prioritized`` . ``lowest-price`` specifies to launch the instances with the lowest price first, and ``prioritized`` specifies that Amazon EMR should launch the instances with the highest priority first. The default is ``lowest-price`` .
6812
- :param capacity_reservation_options:
6863
+ :param capacity_reservation_options: The launch specification for On-Demand instances in the instance fleet, which determines the allocation strategy.
6813
6864
 
6814
6865
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-ondemandprovisioningspecification.html
6815
6866
  :exampleMetadata: fixture=_generated
@@ -6857,7 +6908,8 @@ class CfnInstanceFleetConfig(
6857
6908
  def capacity_reservation_options(
6858
6909
  self,
6859
6910
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstanceFleetConfig.OnDemandCapacityReservationOptionsProperty"]]:
6860
- '''
6911
+ '''The launch specification for On-Demand instances in the instance fleet, which determines the allocation strategy.
6912
+
6861
6913
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-ondemandprovisioningspecification.html#cfn-emr-instancefleetconfig-ondemandprovisioningspecification-capacityreservationoptions
6862
6914
  '''
6863
6915
  result = self._values.get("capacity_reservation_options")
@@ -6891,10 +6943,11 @@ class CfnInstanceFleetConfig(
6891
6943
  capacity_reservation_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnInstanceFleetConfig.OnDemandCapacityReservationOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6892
6944
  timeout_duration_minutes: typing.Optional[jsii.Number] = None,
6893
6945
  ) -> None:
6894
- '''
6895
- :param allocation_strategy:
6946
+ '''The resize specification for On-Demand Instances in the instance fleet, which contains the resize timeout period.
6947
+
6948
+ :param allocation_strategy: Specifies the allocation strategy to use to launch On-Demand instances during a resize. The default is ``lowest-price`` .
6896
6949
  :param capacity_reservation_options:
6897
- :param timeout_duration_minutes:
6950
+ :param timeout_duration_minutes: On-Demand resize timeout in minutes. If On-Demand Instances are not provisioned within this time, the resize workflow stops. The minimum value is 5 minutes, and the maximum value is 10,080 minutes (7 days). The timeout applies to all resize workflows on the Instance Fleet. The resize could be triggered by Amazon EMR Managed Scaling or by the customer (via Amazon EMR Console, Amazon EMR CLI modify-instance-fleet or Amazon EMR SDK ModifyInstanceFleet API) or by Amazon EMR due to Amazon EC2 Spot Reclamation.
6898
6951
 
6899
6952
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-ondemandresizingspecification.html
6900
6953
  :exampleMetadata: fixture=_generated
@@ -6930,7 +6983,10 @@ class CfnInstanceFleetConfig(
6930
6983
 
6931
6984
  @builtins.property
6932
6985
  def allocation_strategy(self) -> typing.Optional[builtins.str]:
6933
- '''
6986
+ '''Specifies the allocation strategy to use to launch On-Demand instances during a resize.
6987
+
6988
+ The default is ``lowest-price`` .
6989
+
6934
6990
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-ondemandresizingspecification.html#cfn-emr-instancefleetconfig-ondemandresizingspecification-allocationstrategy
6935
6991
  '''
6936
6992
  result = self._values.get("allocation_strategy")
@@ -6948,7 +7004,10 @@ class CfnInstanceFleetConfig(
6948
7004
 
6949
7005
  @builtins.property
6950
7006
  def timeout_duration_minutes(self) -> typing.Optional[jsii.Number]:
6951
- '''
7007
+ '''On-Demand resize timeout in minutes.
7008
+
7009
+ If On-Demand Instances are not provisioned within this time, the resize workflow stops. The minimum value is 5 minutes, and the maximum value is 10,080 minutes (7 days). The timeout applies to all resize workflows on the Instance Fleet. The resize could be triggered by Amazon EMR Managed Scaling or by the customer (via Amazon EMR Console, Amazon EMR CLI modify-instance-fleet or Amazon EMR SDK ModifyInstanceFleet API) or by Amazon EMR due to Amazon EC2 Spot Reclamation.
7010
+
6952
7011
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-ondemandresizingspecification.html#cfn-emr-instancefleetconfig-ondemandresizingspecification-timeoutdurationminutes
6953
7012
  '''
6954
7013
  result = self._values.get("timeout_duration_minutes")
@@ -7107,9 +7166,10 @@ class CfnInstanceFleetConfig(
7107
7166
  allocation_strategy: typing.Optional[builtins.str] = None,
7108
7167
  timeout_duration_minutes: typing.Optional[jsii.Number] = None,
7109
7168
  ) -> None:
7110
- '''
7111
- :param allocation_strategy:
7112
- :param timeout_duration_minutes:
7169
+ '''The resize specification for Spot Instances in the instance fleet, which contains the resize timeout period.
7170
+
7171
+ :param allocation_strategy: Specifies the allocation strategy to use to launch Spot instances during a resize. If you run Amazon EMR releases 6.9.0 or higher, the default is ``price-capacity-optimized`` . If you run Amazon EMR releases 6.8.0 or lower, the default is ``capacity-optimized`` .
7172
+ :param timeout_duration_minutes: Spot resize timeout in minutes. If Spot Instances are not provisioned within this time, the resize workflow will stop provisioning of Spot instances. Minimum value is 5 minutes and maximum value is 10,080 minutes (7 days). The timeout applies to all resize workflows on the Instance Fleet. The resize could be triggered by Amazon EMR Managed Scaling or by the customer (via Amazon EMR Console, Amazon EMR CLI modify-instance-fleet or Amazon EMR SDK ModifyInstanceFleet API) or by Amazon EMR due to Amazon EC2 Spot Reclamation.
7113
7173
 
7114
7174
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-spotresizingspecification.html
7115
7175
  :exampleMetadata: fixture=_generated
@@ -7137,7 +7197,10 @@ class CfnInstanceFleetConfig(
7137
7197
 
7138
7198
  @builtins.property
7139
7199
  def allocation_strategy(self) -> typing.Optional[builtins.str]:
7140
- '''
7200
+ '''Specifies the allocation strategy to use to launch Spot instances during a resize.
7201
+
7202
+ If you run Amazon EMR releases 6.9.0 or higher, the default is ``price-capacity-optimized`` . If you run Amazon EMR releases 6.8.0 or lower, the default is ``capacity-optimized`` .
7203
+
7141
7204
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-spotresizingspecification.html#cfn-emr-instancefleetconfig-spotresizingspecification-allocationstrategy
7142
7205
  '''
7143
7206
  result = self._values.get("allocation_strategy")
@@ -7145,7 +7208,10 @@ class CfnInstanceFleetConfig(
7145
7208
 
7146
7209
  @builtins.property
7147
7210
  def timeout_duration_minutes(self) -> typing.Optional[jsii.Number]:
7148
- '''
7211
+ '''Spot resize timeout in minutes.
7212
+
7213
+ If Spot Instances are not provisioned within this time, the resize workflow will stop provisioning of Spot instances. Minimum value is 5 minutes and maximum value is 10,080 minutes (7 days). The timeout applies to all resize workflows on the Instance Fleet. The resize could be triggered by Amazon EMR Managed Scaling or by the customer (via Amazon EMR Console, Amazon EMR CLI modify-instance-fleet or Amazon EMR SDK ModifyInstanceFleet API) or by Amazon EMR due to Amazon EC2 Spot Reclamation.
7214
+
7149
7215
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-spotresizingspecification.html#cfn-emr-instancefleetconfig-spotresizingspecification-timeoutdurationminutes
7150
7216
  '''
7151
7217
  result = self._values.get("timeout_duration_minutes")
@@ -7313,7 +7379,7 @@ class CfnInstanceFleetConfigProps:
7313
7379
  :param instance_type_configs: ``InstanceTypeConfigs`` determine the EC2 instances that Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities. .. epigraph:: The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.
7314
7380
  :param launch_specifications: The launch specification for the instance fleet.
7315
7381
  :param name: The friendly name of the instance fleet.
7316
- :param resize_specifications:
7382
+ :param resize_specifications: The resize specification for the instance fleet.
7317
7383
  :param target_on_demand_capacity: The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by ``InstanceTypeConfig`` . Each instance configuration has a specified ``WeightedCapacity`` . When an On-Demand instance is provisioned, the ``WeightedCapacity`` units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a ``WeightedCapacity`` of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. .. epigraph:: If not specified or set to 0, only Spot instances are provisioned for the instance fleet using ``TargetSpotCapacity`` . At least one of ``TargetSpotCapacity`` and ``TargetOnDemandCapacity`` should be greater than 0. For a master instance fleet, only one of ``TargetSpotCapacity`` and ``TargetOnDemandCapacity`` can be specified, and its value must be 1.
7318
7384
  :param target_spot_capacity: The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by ``InstanceTypeConfig`` . Each instance configuration has a specified ``WeightedCapacity`` . When a Spot instance is provisioned, the ``WeightedCapacity`` units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a ``WeightedCapacity`` of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. .. epigraph:: If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of ``TargetSpotCapacity`` and ``TargetOnDemandCapacity`` should be greater than 0. For a master instance fleet, only one of ``TargetSpotCapacity`` and ``TargetOnDemandCapacity`` can be specified, and its value must be 1.
7319
7385
 
@@ -7494,7 +7560,8 @@ class CfnInstanceFleetConfigProps:
7494
7560
  def resize_specifications(
7495
7561
  self,
7496
7562
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnInstanceFleetConfig.InstanceFleetResizingSpecificationsProperty]]:
7497
- '''
7563
+ '''The resize specification for the instance fleet.
7564
+
7498
7565
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancefleetconfig.html#cfn-emr-instancefleetconfig-resizespecifications
7499
7566
  '''
7500
7567
  result = self._values.get("resize_specifications")