aws-cdk-lib 2.162.1__py3-none-any.whl → 2.163.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.
- aws_cdk/__init__.py +5 -7
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.162.1.jsii.tgz → aws-cdk-lib@2.163.0.jsii.tgz} +0 -0
- aws_cdk/aws_apigatewayv2/__init__.py +7 -7
- aws_cdk/aws_appflow/__init__.py +30 -16
- aws_cdk/aws_appsync/__init__.py +11 -21
- aws_cdk/aws_autoscaling/__init__.py +123 -0
- aws_cdk/aws_b2bi/__init__.py +83 -57
- aws_cdk/aws_cloudformation/__init__.py +5 -7
- aws_cdk/aws_codebuild/__init__.py +19 -40
- aws_cdk/aws_codepipeline/__init__.py +88 -7
- aws_cdk/aws_cognito/__init__.py +282 -168
- aws_cdk/aws_dms/__init__.py +1076 -117
- aws_cdk/aws_docdb/__init__.py +19 -13
- aws_cdk/aws_dynamodb/__init__.py +43 -22
- aws_cdk/aws_ec2/__init__.py +1213 -38
- aws_cdk/aws_ecs/__init__.py +187 -18
- aws_cdk/aws_ecs_patterns/__init__.py +189 -27
- aws_cdk/aws_efs/__init__.py +56 -37
- aws_cdk/aws_eks/__init__.py +6 -2
- aws_cdk/aws_elasticache/__init__.py +118 -118
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +21 -1
- aws_cdk/aws_emr/__init__.py +124 -57
- aws_cdk/aws_events/__init__.py +40 -0
- aws_cdk/aws_fms/__init__.py +757 -8
- aws_cdk/aws_fsx/__init__.py +245 -10
- aws_cdk/aws_gamelift/__init__.py +121 -0
- aws_cdk/aws_glue/__init__.py +344 -61
- aws_cdk/aws_iam/__init__.py +44 -0
- aws_cdk/aws_identitystore/__init__.py +4 -2
- aws_cdk/aws_iot/__init__.py +40 -12
- aws_cdk/aws_kinesis/__init__.py +239 -0
- aws_cdk/aws_kms/__init__.py +92 -3
- aws_cdk/aws_lambda/__init__.py +2 -2
- aws_cdk/aws_mediapackagev2/__init__.py +26 -10
- aws_cdk/aws_memorydb/__init__.py +7 -7
- aws_cdk/aws_networkfirewall/__init__.py +89 -0
- aws_cdk/aws_qbusiness/__init__.py +51 -7
- aws_cdk/aws_quicksight/__init__.py +221 -87
- aws_cdk/aws_rds/__init__.py +376 -75
- aws_cdk/aws_redshift/__init__.py +493 -13
- aws_cdk/aws_route53profiles/__init__.py +4 -2
- aws_cdk/aws_route53resolver/__init__.py +26 -60
- aws_cdk/aws_s3/__init__.py +104 -4
- aws_cdk/aws_s3express/__init__.py +73 -13
- aws_cdk/aws_s3outposts/__init__.py +21 -12
- aws_cdk/aws_sagemaker/__init__.py +4 -44
- aws_cdk/aws_ssmquicksetup/__init__.py +2 -2
- aws_cdk/aws_stepfunctions/__init__.py +529 -156
- aws_cdk/aws_transfer/__init__.py +15 -4
- aws_cdk/aws_waf/__init__.py +11 -11
- aws_cdk/aws_wafregional/__init__.py +12 -12
- aws_cdk/aws_wisdom/__init__.py +710 -5
- {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/RECORD +59 -59
- {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.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
|
'''
|
aws_cdk/aws_emr/__init__.py
CHANGED
|
@@ -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
|
-
|
|
2109
|
-
:param
|
|
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
|
-
|
|
3851
|
-
:param
|
|
3852
|
-
:param
|
|
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
|
-
|
|
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
|
-
|
|
4942
|
-
:param
|
|
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
|
-
|
|
6420
|
-
:param
|
|
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
|
-
|
|
6722
|
-
:param
|
|
6723
|
-
:param
|
|
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
|
-
|
|
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
|
-
|
|
7112
|
-
:param
|
|
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")
|