aws-cdk-lib 2.115.0__py3-none-any.whl → 2.116.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 (66) hide show
  1. aws_cdk/__init__.py +801 -356
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.115.0.jsii.tgz → aws-cdk-lib@2.116.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +3 -1
  5. aws_cdk/aws_apigatewayv2/__init__.py +595 -222
  6. aws_cdk/aws_apigatewayv2_integrations/__init__.py +4 -5
  7. aws_cdk/aws_applicationautoscaling/__init__.py +51 -15
  8. aws_cdk/aws_appsync/__init__.py +14 -3
  9. aws_cdk/aws_autoscaling/__init__.py +6 -0
  10. aws_cdk/aws_b2bi/__init__.py +2445 -0
  11. aws_cdk/aws_cloud9/__init__.py +63 -63
  12. aws_cdk/aws_cloudfront/__init__.py +394 -0
  13. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -2
  14. aws_cdk/aws_cloudtrail/__init__.py +90 -11
  15. aws_cdk/aws_cloudwatch/__init__.py +6 -6
  16. aws_cdk/aws_codedeploy/__init__.py +88 -15
  17. aws_cdk/aws_codepipeline/__init__.py +645 -0
  18. aws_cdk/aws_cognito/__init__.py +13 -26
  19. aws_cdk/aws_config/__init__.py +315 -1
  20. aws_cdk/aws_connect/__init__.py +532 -37
  21. aws_cdk/aws_controltower/__init__.py +4 -4
  22. aws_cdk/aws_datasync/__init__.py +6 -4
  23. aws_cdk/aws_dms/__init__.py +241 -131
  24. aws_cdk/aws_dynamodb/__init__.py +8 -0
  25. aws_cdk/aws_ec2/__init__.py +1030 -45
  26. aws_cdk/aws_ecr/__init__.py +78 -10
  27. aws_cdk/aws_ecs/__init__.py +210 -2
  28. aws_cdk/aws_ecs_patterns/__init__.py +77 -62
  29. aws_cdk/aws_eks/__init__.py +8 -1
  30. aws_cdk/aws_elasticache/__init__.py +136 -10
  31. aws_cdk/aws_elasticloadbalancingv2/__init__.py +10 -13
  32. aws_cdk/aws_emr/__init__.py +234 -17
  33. aws_cdk/aws_eventschemas/__init__.py +15 -13
  34. aws_cdk/aws_fis/__init__.py +33 -13
  35. aws_cdk/aws_gamelift/__init__.py +47 -0
  36. aws_cdk/aws_imagebuilder/__init__.py +922 -84
  37. aws_cdk/aws_internetmonitor/__init__.py +12 -10
  38. aws_cdk/aws_iot/__init__.py +26 -46
  39. aws_cdk/aws_iottwinmaker/__init__.py +36 -34
  40. aws_cdk/aws_lambda/__init__.py +19 -15
  41. aws_cdk/aws_lambda_nodejs/__init__.py +5 -2
  42. aws_cdk/aws_logs/__init__.py +6 -6
  43. aws_cdk/aws_opensearchservice/__init__.py +5 -3
  44. aws_cdk/aws_organizations/__init__.py +3 -3
  45. aws_cdk/aws_osis/__init__.py +17 -13
  46. aws_cdk/aws_rds/__init__.py +6 -0
  47. aws_cdk/aws_s3/__init__.py +4 -2
  48. aws_cdk/aws_s3outposts/__init__.py +8 -8
  49. aws_cdk/aws_sagemaker/__init__.py +17 -94
  50. aws_cdk/aws_secretsmanager/__init__.py +9 -7
  51. aws_cdk/aws_securityhub/__init__.py +18 -0
  52. aws_cdk/aws_servicecatalogappregistry/__init__.py +31 -0
  53. aws_cdk/aws_ses/__init__.py +58 -11
  54. aws_cdk/aws_sns/__init__.py +309 -10
  55. aws_cdk/aws_ssm/__init__.py +3 -5
  56. aws_cdk/aws_stepfunctions/__init__.py +335 -19
  57. aws_cdk/aws_stepfunctions_tasks/__init__.py +388 -38
  58. aws_cdk/aws_transfer/__init__.py +37 -10
  59. aws_cdk/custom_resources/__init__.py +443 -1
  60. aws_cdk/triggers/__init__.py +5 -2
  61. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/METADATA +1 -1
  62. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/RECORD +66 -65
  63. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/LICENSE +0 -0
  64. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/NOTICE +0 -0
  65. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/WHEEL +0 -0
  66. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/top_level.txt +0 -0
@@ -622,6 +622,42 @@ tasks.EmrCreateCluster(self, "Create Cluster",
622
622
  )
623
623
  ```
624
624
 
625
+ You can use the launch specification for On-Demand and Spot instances in the fleet.
626
+
627
+ ```python
628
+ tasks.EmrCreateCluster(self, "OnDemandSpecification",
629
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
630
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
631
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
632
+ launch_specifications=tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
633
+ on_demand_specification=tasks.EmrCreateCluster.OnDemandProvisioningSpecificationProperty(
634
+ allocation_strategy=tasks.EmrCreateCluster.OnDemandAllocationStrategy.LOWEST_PRICE
635
+ )
636
+ )
637
+ )]
638
+ ),
639
+ name="OnDemandCluster",
640
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB
641
+ )
642
+
643
+ tasks.EmrCreateCluster(self, "SpotSpecification",
644
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
645
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
646
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
647
+ launch_specifications=tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
648
+ spot_specification=tasks.EmrCreateCluster.SpotProvisioningSpecificationProperty(
649
+ allocation_strategy=tasks.EmrCreateCluster.SpotAllocationStrategy.CAPACITY_OPTIMIZED,
650
+ timeout_action=tasks.EmrCreateCluster.SpotTimeoutAction.TERMINATE_CLUSTER,
651
+ timeout_duration_minutes=60
652
+ )
653
+ )
654
+ )]
655
+ ),
656
+ name="SpotCluster",
657
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB
658
+ )
659
+ ```
660
+
625
661
  If you want to run multiple steps in [parallel](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-concurrent-steps.html),
626
662
  you can specify the `stepConcurrencyLevel` property. The concurrency range is between 1
627
663
  and 256 inclusive, where the default concurrency of 1 means no step concurrency is allowed.
@@ -15709,6 +15745,9 @@ class EmrCreateCluster(
15709
15745
  weighted_capacity=123
15710
15746
  )],
15711
15747
  launch_specifications=stepfunctions_tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
15748
+ on_demand_specification=stepfunctions_tasks.EmrCreateCluster.OnDemandProvisioningSpecificationProperty(
15749
+ allocation_strategy=stepfunctions_tasks.EmrCreateCluster.OnDemandAllocationStrategy.LOWEST_PRICE
15750
+ ),
15712
15751
  spot_specification=stepfunctions_tasks.EmrCreateCluster.SpotProvisioningSpecificationProperty(
15713
15752
  timeout_action=stepfunctions_tasks.EmrCreateCluster.SpotTimeoutAction.SWITCH_TO_ON_DEMAND,
15714
15753
  timeout_duration_minutes=123,
@@ -15820,55 +15859,101 @@ class EmrCreateCluster(
15820
15859
  @jsii.data_type(
15821
15860
  jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty",
15822
15861
  jsii_struct_bases=[],
15823
- name_mapping={"spot_specification": "spotSpecification"},
15862
+ name_mapping={
15863
+ "on_demand_specification": "onDemandSpecification",
15864
+ "spot_specification": "spotSpecification",
15865
+ },
15824
15866
  )
15825
15867
  class InstanceFleetProvisioningSpecificationsProperty:
15826
15868
  def __init__(
15827
15869
  self,
15828
15870
  *,
15829
- spot_specification: typing.Union["EmrCreateCluster.SpotProvisioningSpecificationProperty", typing.Dict[builtins.str, typing.Any]],
15871
+ on_demand_specification: typing.Optional[typing.Union["EmrCreateCluster.OnDemandProvisioningSpecificationProperty", typing.Dict[builtins.str, typing.Any]]] = None,
15872
+ spot_specification: typing.Optional[typing.Union["EmrCreateCluster.SpotProvisioningSpecificationProperty", typing.Dict[builtins.str, typing.Any]]] = None,
15830
15873
  ) -> None:
15831
- '''The launch specification for Spot instances in the fleet, which determines the defined duration and provisioning timeout behavior.
15874
+ '''The launch specification for On-Demand and Spot instances in the fleet, which determines the defined duration and provisioning timeout behavior, and allocation strategy.
15875
+
15876
+ The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.
15877
+ On-Demand and Spot instance allocation strategies are available in Amazon EMR releases 5.12.1 and later.
15832
15878
 
15833
- :param spot_specification: The launch specification for Spot instances in the fleet, which determines the defined duration and provisioning timeout behavior.
15879
+ :param on_demand_specification: The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy. 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. Default: - no on-demand specification
15880
+ :param spot_specification: The launch specification for Spot instances in the fleet, which determines the defined duration and provisioning timeout behavior. Default: - no spot specification
15834
15881
 
15835
15882
  :see: https://docs.aws.amazon.com/emr/latest/APIReference/API_InstanceFleetProvisioningSpecifications.html
15836
- :exampleMetadata: fixture=_generated
15883
+ :exampleMetadata: infused
15837
15884
 
15838
15885
  Example::
15839
15886
 
15840
- # The code below shows an example of how to instantiate this type.
15841
- # The values are placeholders you should change.
15842
- from aws_cdk import aws_stepfunctions_tasks as stepfunctions_tasks
15843
-
15844
- instance_fleet_provisioning_specifications_property = stepfunctions_tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
15845
- spot_specification=stepfunctions_tasks.EmrCreateCluster.SpotProvisioningSpecificationProperty(
15846
- timeout_action=stepfunctions_tasks.EmrCreateCluster.SpotTimeoutAction.SWITCH_TO_ON_DEMAND,
15847
- timeout_duration_minutes=123,
15887
+ tasks.EmrCreateCluster(self, "OnDemandSpecification",
15888
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
15889
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
15890
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
15891
+ launch_specifications=tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
15892
+ on_demand_specification=tasks.EmrCreateCluster.OnDemandProvisioningSpecificationProperty(
15893
+ allocation_strategy=tasks.EmrCreateCluster.OnDemandAllocationStrategy.LOWEST_PRICE
15894
+ )
15895
+ )
15896
+ )]
15897
+ ),
15898
+ name="OnDemandCluster",
15899
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB
15900
+ )
15848
15901
 
15849
- # the properties below are optional
15850
- allocation_strategy=stepfunctions_tasks.EmrCreateCluster.SpotAllocationStrategy.CAPACITY_OPTIMIZED,
15851
- block_duration_minutes=123
15852
- )
15902
+ tasks.EmrCreateCluster(self, "SpotSpecification",
15903
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
15904
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
15905
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
15906
+ launch_specifications=tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
15907
+ spot_specification=tasks.EmrCreateCluster.SpotProvisioningSpecificationProperty(
15908
+ allocation_strategy=tasks.EmrCreateCluster.SpotAllocationStrategy.CAPACITY_OPTIMIZED,
15909
+ timeout_action=tasks.EmrCreateCluster.SpotTimeoutAction.TERMINATE_CLUSTER,
15910
+ timeout_duration_minutes=60
15911
+ )
15912
+ )
15913
+ )]
15914
+ ),
15915
+ name="SpotCluster",
15916
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB
15853
15917
  )
15854
15918
  '''
15919
+ if isinstance(on_demand_specification, dict):
15920
+ on_demand_specification = EmrCreateCluster.OnDemandProvisioningSpecificationProperty(**on_demand_specification)
15855
15921
  if isinstance(spot_specification, dict):
15856
15922
  spot_specification = EmrCreateCluster.SpotProvisioningSpecificationProperty(**spot_specification)
15857
15923
  if __debug__:
15858
15924
  type_hints = typing.get_type_hints(_typecheckingstub__c27d6c374d4f11f4124618f0ce49e71f2efc7cabef4d24230f643a6e96da589c)
15925
+ check_type(argname="argument on_demand_specification", value=on_demand_specification, expected_type=type_hints["on_demand_specification"])
15859
15926
  check_type(argname="argument spot_specification", value=spot_specification, expected_type=type_hints["spot_specification"])
15860
- self._values: typing.Dict[builtins.str, typing.Any] = {
15861
- "spot_specification": spot_specification,
15862
- }
15927
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
15928
+ if on_demand_specification is not None:
15929
+ self._values["on_demand_specification"] = on_demand_specification
15930
+ if spot_specification is not None:
15931
+ self._values["spot_specification"] = spot_specification
15932
+
15933
+ @builtins.property
15934
+ def on_demand_specification(
15935
+ self,
15936
+ ) -> typing.Optional["EmrCreateCluster.OnDemandProvisioningSpecificationProperty"]:
15937
+ '''The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy.
15938
+
15939
+ The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions.
15940
+ On-Demand Instances allocation strategy is available in Amazon EMR releases 5.12.1 and later.
15941
+
15942
+ :default: - no on-demand specification
15943
+ '''
15944
+ result = self._values.get("on_demand_specification")
15945
+ return typing.cast(typing.Optional["EmrCreateCluster.OnDemandProvisioningSpecificationProperty"], result)
15863
15946
 
15864
15947
  @builtins.property
15865
15948
  def spot_specification(
15866
15949
  self,
15867
- ) -> "EmrCreateCluster.SpotProvisioningSpecificationProperty":
15868
- '''The launch specification for Spot instances in the fleet, which determines the defined duration and provisioning timeout behavior.'''
15950
+ ) -> typing.Optional["EmrCreateCluster.SpotProvisioningSpecificationProperty"]:
15951
+ '''The launch specification for Spot instances in the fleet, which determines the defined duration and provisioning timeout behavior.
15952
+
15953
+ :default: - no spot specification
15954
+ '''
15869
15955
  result = self._values.get("spot_specification")
15870
- assert result is not None, "Required property 'spot_specification' is missing"
15871
- return typing.cast("EmrCreateCluster.SpotProvisioningSpecificationProperty", result)
15956
+ return typing.cast(typing.Optional["EmrCreateCluster.SpotProvisioningSpecificationProperty"], result)
15872
15957
 
15873
15958
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
15874
15959
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -16152,7 +16237,44 @@ class EmrCreateCluster(
16152
16237
  jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.EmrCreateCluster.InstanceRoleType"
16153
16238
  )
16154
16239
  class InstanceRoleType(enum.Enum):
16155
- '''Instance Role Types.'''
16240
+ '''Instance Role Types.
16241
+
16242
+ :exampleMetadata: infused
16243
+
16244
+ Example::
16245
+
16246
+ tasks.EmrCreateCluster(self, "OnDemandSpecification",
16247
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
16248
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
16249
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
16250
+ launch_specifications=tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
16251
+ on_demand_specification=tasks.EmrCreateCluster.OnDemandProvisioningSpecificationProperty(
16252
+ allocation_strategy=tasks.EmrCreateCluster.OnDemandAllocationStrategy.LOWEST_PRICE
16253
+ )
16254
+ )
16255
+ )]
16256
+ ),
16257
+ name="OnDemandCluster",
16258
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB
16259
+ )
16260
+
16261
+ tasks.EmrCreateCluster(self, "SpotSpecification",
16262
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
16263
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
16264
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
16265
+ launch_specifications=tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
16266
+ spot_specification=tasks.EmrCreateCluster.SpotProvisioningSpecificationProperty(
16267
+ allocation_strategy=tasks.EmrCreateCluster.SpotAllocationStrategy.CAPACITY_OPTIMIZED,
16268
+ timeout_action=tasks.EmrCreateCluster.SpotTimeoutAction.TERMINATE_CLUSTER,
16269
+ timeout_duration_minutes=60
16270
+ )
16271
+ )
16272
+ )]
16273
+ ),
16274
+ name="SpotCluster",
16275
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB
16276
+ )
16277
+ '''
16156
16278
 
16157
16279
  MASTER = "MASTER"
16158
16280
  '''Master Node.'''
@@ -16854,6 +16976,135 @@ class EmrCreateCluster(
16854
16976
  k + "=" + repr(v) for k, v in self._values.items()
16855
16977
  )
16856
16978
 
16979
+ @jsii.enum(
16980
+ jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.EmrCreateCluster.OnDemandAllocationStrategy"
16981
+ )
16982
+ class OnDemandAllocationStrategy(enum.Enum):
16983
+ '''On-Demand Allocation Strategies.
16984
+
16985
+ Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is "lowest-price" (the default), which launches the lowest price first.
16986
+
16987
+ :see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-ondemandprovisioningspecification.html
16988
+ :exampleMetadata: infused
16989
+
16990
+ Example::
16991
+
16992
+ tasks.EmrCreateCluster(self, "OnDemandSpecification",
16993
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
16994
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
16995
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
16996
+ launch_specifications=tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
16997
+ on_demand_specification=tasks.EmrCreateCluster.OnDemandProvisioningSpecificationProperty(
16998
+ allocation_strategy=tasks.EmrCreateCluster.OnDemandAllocationStrategy.LOWEST_PRICE
16999
+ )
17000
+ )
17001
+ )]
17002
+ ),
17003
+ name="OnDemandCluster",
17004
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB
17005
+ )
17006
+
17007
+ tasks.EmrCreateCluster(self, "SpotSpecification",
17008
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
17009
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
17010
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
17011
+ launch_specifications=tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
17012
+ spot_specification=tasks.EmrCreateCluster.SpotProvisioningSpecificationProperty(
17013
+ allocation_strategy=tasks.EmrCreateCluster.SpotAllocationStrategy.CAPACITY_OPTIMIZED,
17014
+ timeout_action=tasks.EmrCreateCluster.SpotTimeoutAction.TERMINATE_CLUSTER,
17015
+ timeout_duration_minutes=60
17016
+ )
17017
+ )
17018
+ )]
17019
+ ),
17020
+ name="SpotCluster",
17021
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB
17022
+ )
17023
+ '''
17024
+
17025
+ LOWEST_PRICE = "LOWEST_PRICE"
17026
+ '''Lowest-price, which launches instances from the lowest priced pool that has available capacity.'''
17027
+
17028
+ @jsii.data_type(
17029
+ jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.EmrCreateCluster.OnDemandProvisioningSpecificationProperty",
17030
+ jsii_struct_bases=[],
17031
+ name_mapping={"allocation_strategy": "allocationStrategy"},
17032
+ )
17033
+ class OnDemandProvisioningSpecificationProperty:
17034
+ def __init__(
17035
+ self,
17036
+ *,
17037
+ allocation_strategy: "EmrCreateCluster.OnDemandAllocationStrategy",
17038
+ ) -> None:
17039
+ '''The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy.
17040
+
17041
+ :param allocation_strategy: Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is lowest-price (the default), which launches the lowest price first.
17042
+
17043
+ :see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-ondemandprovisioningspecification.html
17044
+ :exampleMetadata: infused
17045
+
17046
+ Example::
17047
+
17048
+ tasks.EmrCreateCluster(self, "OnDemandSpecification",
17049
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
17050
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
17051
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
17052
+ launch_specifications=tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
17053
+ on_demand_specification=tasks.EmrCreateCluster.OnDemandProvisioningSpecificationProperty(
17054
+ allocation_strategy=tasks.EmrCreateCluster.OnDemandAllocationStrategy.LOWEST_PRICE
17055
+ )
17056
+ )
17057
+ )]
17058
+ ),
17059
+ name="OnDemandCluster",
17060
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB
17061
+ )
17062
+
17063
+ tasks.EmrCreateCluster(self, "SpotSpecification",
17064
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
17065
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
17066
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
17067
+ launch_specifications=tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
17068
+ spot_specification=tasks.EmrCreateCluster.SpotProvisioningSpecificationProperty(
17069
+ allocation_strategy=tasks.EmrCreateCluster.SpotAllocationStrategy.CAPACITY_OPTIMIZED,
17070
+ timeout_action=tasks.EmrCreateCluster.SpotTimeoutAction.TERMINATE_CLUSTER,
17071
+ timeout_duration_minutes=60
17072
+ )
17073
+ )
17074
+ )]
17075
+ ),
17076
+ name="SpotCluster",
17077
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB
17078
+ )
17079
+ '''
17080
+ if __debug__:
17081
+ type_hints = typing.get_type_hints(_typecheckingstub__d97f5c87ed1b238a09520ab5f822dd82f421a50b5f666a8c1e1b93354a6e3275)
17082
+ check_type(argname="argument allocation_strategy", value=allocation_strategy, expected_type=type_hints["allocation_strategy"])
17083
+ self._values: typing.Dict[builtins.str, typing.Any] = {
17084
+ "allocation_strategy": allocation_strategy,
17085
+ }
17086
+
17087
+ @builtins.property
17088
+ def allocation_strategy(self) -> "EmrCreateCluster.OnDemandAllocationStrategy":
17089
+ '''Specifies the strategy to use in launching On-Demand instance fleets.
17090
+
17091
+ Currently, the only option is lowest-price (the default), which launches the lowest price first.
17092
+ '''
17093
+ result = self._values.get("allocation_strategy")
17094
+ assert result is not None, "Required property 'allocation_strategy' is missing"
17095
+ return typing.cast("EmrCreateCluster.OnDemandAllocationStrategy", result)
17096
+
17097
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
17098
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
17099
+
17100
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
17101
+ return not (rhs == self)
17102
+
17103
+ def __repr__(self) -> str:
17104
+ return "OnDemandProvisioningSpecificationProperty(%s)" % ", ".join(
17105
+ k + "=" + repr(v) for k, v in self._values.items()
17106
+ )
17107
+
16857
17108
  @jsii.data_type(
16858
17109
  jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.EmrCreateCluster.PlacementTypeProperty",
16859
17110
  jsii_struct_bases=[],
@@ -17501,6 +17752,41 @@ class EmrCreateCluster(
17501
17752
  Specifies the strategy to use in launching Spot Instance fleets. For example, "capacity-optimized" launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching.
17502
17753
 
17503
17754
  :see: https://docs.aws.amazon.com/emr/latest/APIReference/API_SpotProvisioningSpecification.html
17755
+ :exampleMetadata: infused
17756
+
17757
+ Example::
17758
+
17759
+ tasks.EmrCreateCluster(self, "OnDemandSpecification",
17760
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
17761
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
17762
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
17763
+ launch_specifications=tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
17764
+ on_demand_specification=tasks.EmrCreateCluster.OnDemandProvisioningSpecificationProperty(
17765
+ allocation_strategy=tasks.EmrCreateCluster.OnDemandAllocationStrategy.LOWEST_PRICE
17766
+ )
17767
+ )
17768
+ )]
17769
+ ),
17770
+ name="OnDemandCluster",
17771
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB
17772
+ )
17773
+
17774
+ tasks.EmrCreateCluster(self, "SpotSpecification",
17775
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
17776
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
17777
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
17778
+ launch_specifications=tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
17779
+ spot_specification=tasks.EmrCreateCluster.SpotProvisioningSpecificationProperty(
17780
+ allocation_strategy=tasks.EmrCreateCluster.SpotAllocationStrategy.CAPACITY_OPTIMIZED,
17781
+ timeout_action=tasks.EmrCreateCluster.SpotTimeoutAction.TERMINATE_CLUSTER,
17782
+ timeout_duration_minutes=60
17783
+ )
17784
+ )
17785
+ )]
17786
+ ),
17787
+ name="SpotCluster",
17788
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB
17789
+ )
17504
17790
  '''
17505
17791
 
17506
17792
  CAPACITY_OPTIMIZED = "CAPACITY_OPTIMIZED"
@@ -17533,21 +17819,40 @@ class EmrCreateCluster(
17533
17819
  :param block_duration_minutes: (deprecated) The defined duration for Spot instances (also known as Spot blocks) in minutes. Default: - No blockDurationMinutes
17534
17820
 
17535
17821
  :see: https://docs.aws.amazon.com/emr/latest/APIReference/API_SpotProvisioningSpecification.html
17536
- :exampleMetadata: fixture=_generated
17822
+ :exampleMetadata: infused
17537
17823
 
17538
17824
  Example::
17539
17825
 
17540
- # The code below shows an example of how to instantiate this type.
17541
- # The values are placeholders you should change.
17542
- from aws_cdk import aws_stepfunctions_tasks as stepfunctions_tasks
17543
-
17544
- spot_provisioning_specification_property = stepfunctions_tasks.EmrCreateCluster.SpotProvisioningSpecificationProperty(
17545
- timeout_action=stepfunctions_tasks.EmrCreateCluster.SpotTimeoutAction.SWITCH_TO_ON_DEMAND,
17546
- timeout_duration_minutes=123,
17826
+ tasks.EmrCreateCluster(self, "OnDemandSpecification",
17827
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
17828
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
17829
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
17830
+ launch_specifications=tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
17831
+ on_demand_specification=tasks.EmrCreateCluster.OnDemandProvisioningSpecificationProperty(
17832
+ allocation_strategy=tasks.EmrCreateCluster.OnDemandAllocationStrategy.LOWEST_PRICE
17833
+ )
17834
+ )
17835
+ )]
17836
+ ),
17837
+ name="OnDemandCluster",
17838
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB
17839
+ )
17547
17840
 
17548
- # the properties below are optional
17549
- allocation_strategy=stepfunctions_tasks.EmrCreateCluster.SpotAllocationStrategy.CAPACITY_OPTIMIZED,
17550
- block_duration_minutes=123
17841
+ tasks.EmrCreateCluster(self, "SpotSpecification",
17842
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
17843
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
17844
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
17845
+ launch_specifications=tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
17846
+ spot_specification=tasks.EmrCreateCluster.SpotProvisioningSpecificationProperty(
17847
+ allocation_strategy=tasks.EmrCreateCluster.SpotAllocationStrategy.CAPACITY_OPTIMIZED,
17848
+ timeout_action=tasks.EmrCreateCluster.SpotTimeoutAction.TERMINATE_CLUSTER,
17849
+ timeout_duration_minutes=60
17850
+ )
17851
+ )
17852
+ )]
17853
+ ),
17854
+ name="SpotCluster",
17855
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB
17551
17856
  )
17552
17857
  '''
17553
17858
  if __debug__:
@@ -17621,7 +17926,44 @@ class EmrCreateCluster(
17621
17926
  jsii_type="aws-cdk-lib.aws_stepfunctions_tasks.EmrCreateCluster.SpotTimeoutAction"
17622
17927
  )
17623
17928
  class SpotTimeoutAction(enum.Enum):
17624
- '''Spot Timeout Actions.'''
17929
+ '''Spot Timeout Actions.
17930
+
17931
+ :exampleMetadata: infused
17932
+
17933
+ Example::
17934
+
17935
+ tasks.EmrCreateCluster(self, "OnDemandSpecification",
17936
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
17937
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
17938
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
17939
+ launch_specifications=tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
17940
+ on_demand_specification=tasks.EmrCreateCluster.OnDemandProvisioningSpecificationProperty(
17941
+ allocation_strategy=tasks.EmrCreateCluster.OnDemandAllocationStrategy.LOWEST_PRICE
17942
+ )
17943
+ )
17944
+ )]
17945
+ ),
17946
+ name="OnDemandCluster",
17947
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB
17948
+ )
17949
+
17950
+ tasks.EmrCreateCluster(self, "SpotSpecification",
17951
+ instances=tasks.EmrCreateCluster.InstancesConfigProperty(
17952
+ instance_fleets=[tasks.EmrCreateCluster.InstanceFleetConfigProperty(
17953
+ instance_fleet_type=tasks.EmrCreateCluster.InstanceRoleType.MASTER,
17954
+ launch_specifications=tasks.EmrCreateCluster.InstanceFleetProvisioningSpecificationsProperty(
17955
+ spot_specification=tasks.EmrCreateCluster.SpotProvisioningSpecificationProperty(
17956
+ allocation_strategy=tasks.EmrCreateCluster.SpotAllocationStrategy.CAPACITY_OPTIMIZED,
17957
+ timeout_action=tasks.EmrCreateCluster.SpotTimeoutAction.TERMINATE_CLUSTER,
17958
+ timeout_duration_minutes=60
17959
+ )
17960
+ )
17961
+ )]
17962
+ ),
17963
+ name="SpotCluster",
17964
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB
17965
+ )
17966
+ '''
17625
17967
 
17626
17968
  SWITCH_TO_ON_DEMAND = "SWITCH_TO_ON_DEMAND"
17627
17969
  '''SWITCH_TO_ON_DEMAND.'''
@@ -32296,7 +32638,8 @@ def _typecheckingstub__28f711175b544963e45f41e6432a10f405c3d502da592254bc7cc9836
32296
32638
 
32297
32639
  def _typecheckingstub__c27d6c374d4f11f4124618f0ce49e71f2efc7cabef4d24230f643a6e96da589c(
32298
32640
  *,
32299
- spot_specification: typing.Union[EmrCreateCluster.SpotProvisioningSpecificationProperty, typing.Dict[builtins.str, typing.Any]],
32641
+ on_demand_specification: typing.Optional[typing.Union[EmrCreateCluster.OnDemandProvisioningSpecificationProperty, typing.Dict[builtins.str, typing.Any]]] = None,
32642
+ spot_specification: typing.Optional[typing.Union[EmrCreateCluster.SpotProvisioningSpecificationProperty, typing.Dict[builtins.str, typing.Any]]] = None,
32300
32643
  ) -> None:
32301
32644
  """Type checking stubs"""
32302
32645
  pass
@@ -32369,6 +32712,13 @@ def _typecheckingstub__b08b745951eed0d937bba525b556337b2cbf7ac04b7cf244aa893e391
32369
32712
  """Type checking stubs"""
32370
32713
  pass
32371
32714
 
32715
+ def _typecheckingstub__d97f5c87ed1b238a09520ab5f822dd82f421a50b5f666a8c1e1b93354a6e3275(
32716
+ *,
32717
+ allocation_strategy: EmrCreateCluster.OnDemandAllocationStrategy,
32718
+ ) -> None:
32719
+ """Type checking stubs"""
32720
+ pass
32721
+
32372
32722
  def _typecheckingstub__358af855c95eafd968c1ce2be342c56b08c58e04170ddc323a344e96f471ba2d(
32373
32723
  *,
32374
32724
  availability_zone: typing.Optional[builtins.str] = None,