aws-cdk-lib 2.181.1__py3-none-any.whl → 2.182.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (49) hide show
  1. aws_cdk/__init__.py +292 -8
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.181.1.jsii.tgz → aws-cdk-lib@2.182.0.jsii.tgz} +0 -0
  4. aws_cdk/assertions/__init__.py +59 -0
  5. aws_cdk/aws_apigateway/__init__.py +122 -66
  6. aws_cdk/aws_applicationautoscaling/__init__.py +4 -0
  7. aws_cdk/aws_appsync/__init__.py +30 -4
  8. aws_cdk/aws_autoscaling/__init__.py +409 -36
  9. aws_cdk/aws_batch/__init__.py +629 -11
  10. aws_cdk/aws_bedrock/__init__.py +204 -0
  11. aws_cdk/aws_certificatemanager/__init__.py +24 -0
  12. aws_cdk/aws_cloudformation/__init__.py +284 -2
  13. aws_cdk/aws_cloudfront/__init__.py +1 -0
  14. aws_cdk/aws_cloudtrail/__init__.py +4 -4
  15. aws_cdk/aws_datazone/__init__.py +82 -0
  16. aws_cdk/aws_ec2/__init__.py +32 -12
  17. aws_cdk/aws_ecr/__init__.py +10 -4
  18. aws_cdk/aws_ecs/__init__.py +58 -9
  19. aws_cdk/aws_eks/__init__.py +32 -3
  20. aws_cdk/aws_fsx/__init__.py +2 -0
  21. aws_cdk/aws_guardduty/__init__.py +38 -26
  22. aws_cdk/aws_iam/__init__.py +5 -2
  23. aws_cdk/aws_inspector/__init__.py +176 -0
  24. aws_cdk/aws_iotsitewise/__init__.py +2 -3
  25. aws_cdk/aws_kinesisfirehose/__init__.py +6 -0
  26. aws_cdk/aws_lambda/__init__.py +8 -0
  27. aws_cdk/aws_logs/__init__.py +2 -0
  28. aws_cdk/aws_mediapackagev2/__init__.py +22 -14
  29. aws_cdk/aws_opensearchservice/__init__.py +261 -1
  30. aws_cdk/aws_pcaconnectorad/__init__.py +30 -4
  31. aws_cdk/aws_pipes/__init__.py +6 -2
  32. aws_cdk/aws_quicksight/__init__.py +225 -451
  33. aws_cdk/aws_rds/__init__.py +50 -13
  34. aws_cdk/aws_s3/__init__.py +8 -0
  35. aws_cdk/aws_sagemaker/__init__.py +68 -13
  36. aws_cdk/aws_sns/__init__.py +76 -1
  37. aws_cdk/aws_vpclattice/__init__.py +144 -9
  38. aws_cdk/aws_wafv2/__init__.py +702 -0
  39. aws_cdk/aws_wisdom/__init__.py +3 -110
  40. aws_cdk/aws_workspacesthinclient/__init__.py +4 -4
  41. aws_cdk/aws_workspacesweb/__init__.py +179 -2
  42. aws_cdk/cloud_assembly_schema/__init__.py +224 -4
  43. aws_cdk/cx_api/__init__.py +2 -1
  44. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.182.0.dist-info}/METADATA +2 -2
  45. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.182.0.dist-info}/RECORD +49 -49
  46. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.182.0.dist-info}/LICENSE +0 -0
  47. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.182.0.dist-info}/NOTICE +0 -0
  48. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.182.0.dist-info}/WHEEL +0 -0
  49. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.182.0.dist-info}/top_level.txt +0 -0
@@ -755,6 +755,7 @@ from .. import (
755
755
  IResolvable as _IResolvable_da3f097b,
756
756
  IResource as _IResource_c80c4260,
757
757
  ITaggable as _ITaggable_36806126,
758
+ ITaggableV2 as _ITaggableV2_4e6798f8,
758
759
  Resource as _Resource_45bc6135,
759
760
  Size as _Size_7b441c34,
760
761
  TagManager as _TagManager_0a598cb3,
@@ -2631,6 +2632,317 @@ class CfnComputeEnvironmentProps:
2631
2632
  )
2632
2633
 
2633
2634
 
2635
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
2636
+ class CfnConsumableResource(
2637
+ _CfnResource_9df397a6,
2638
+ metaclass=jsii.JSIIMeta,
2639
+ jsii_type="aws-cdk-lib.aws_batch.CfnConsumableResource",
2640
+ ):
2641
+ '''Creates an AWS Batch consumable resource.
2642
+
2643
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-consumableresource.html
2644
+ :cloudformationResource: AWS::Batch::ConsumableResource
2645
+ :exampleMetadata: fixture=_generated
2646
+
2647
+ Example::
2648
+
2649
+ # The code below shows an example of how to instantiate this type.
2650
+ # The values are placeholders you should change.
2651
+ from aws_cdk import aws_batch as batch
2652
+
2653
+ cfn_consumable_resource = batch.CfnConsumableResource(self, "MyCfnConsumableResource",
2654
+ resource_type="resourceType",
2655
+ total_quantity=123,
2656
+
2657
+ # the properties below are optional
2658
+ consumable_resource_name="consumableResourceName",
2659
+ tags={
2660
+ "tags_key": "tags"
2661
+ }
2662
+ )
2663
+ '''
2664
+
2665
+ def __init__(
2666
+ self,
2667
+ scope: _constructs_77d1e7e8.Construct,
2668
+ id: builtins.str,
2669
+ *,
2670
+ resource_type: builtins.str,
2671
+ total_quantity: jsii.Number,
2672
+ consumable_resource_name: typing.Optional[builtins.str] = None,
2673
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2674
+ ) -> None:
2675
+ '''
2676
+ :param scope: Scope in which this resource is defined.
2677
+ :param id: Construct identifier for this resource (unique in its scope).
2678
+ :param resource_type: Indicates whether the resource is available to be re-used after a job completes. Can be one of:. - ``REPLENISHABLE`` - ``NON_REPLENISHABLE``
2679
+ :param total_quantity: The total amount of the consumable resource that is available.
2680
+ :param consumable_resource_name: The name of the consumable resource.
2681
+ :param tags: A key-value pair to associate with a resource.
2682
+ '''
2683
+ if __debug__:
2684
+ type_hints = typing.get_type_hints(_typecheckingstub__5c99b0cde97c1da7fcdbc520729f9e431c6aa0879ca2c3f310f91017cfee5007)
2685
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2686
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2687
+ props = CfnConsumableResourceProps(
2688
+ resource_type=resource_type,
2689
+ total_quantity=total_quantity,
2690
+ consumable_resource_name=consumable_resource_name,
2691
+ tags=tags,
2692
+ )
2693
+
2694
+ jsii.create(self.__class__, self, [scope, id, props])
2695
+
2696
+ @jsii.member(jsii_name="inspect")
2697
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
2698
+ '''Examines the CloudFormation resource and discloses attributes.
2699
+
2700
+ :param inspector: tree inspector to collect and process attributes.
2701
+ '''
2702
+ if __debug__:
2703
+ type_hints = typing.get_type_hints(_typecheckingstub__b41c1f0a4fca10f0b198693331d558f57596f6e4a572a4cf64008e1ca42e3534)
2704
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
2705
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
2706
+
2707
+ @jsii.member(jsii_name="renderProperties")
2708
+ def _render_properties(
2709
+ self,
2710
+ props: typing.Mapping[builtins.str, typing.Any],
2711
+ ) -> typing.Mapping[builtins.str, typing.Any]:
2712
+ '''
2713
+ :param props: -
2714
+ '''
2715
+ if __debug__:
2716
+ type_hints = typing.get_type_hints(_typecheckingstub__5511de8b41a1f295801ff1c0ea7a9ee2822d462f774ec168cdb7e0a49196a1ed)
2717
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
2718
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
2719
+
2720
+ @jsii.python.classproperty
2721
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
2722
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
2723
+ '''The CloudFormation resource type name for this resource class.'''
2724
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2725
+
2726
+ @builtins.property
2727
+ @jsii.member(jsii_name="attrAvailableQuantity")
2728
+ def attr_available_quantity(self) -> jsii.Number:
2729
+ '''Available Quantity of ConsumableResource.
2730
+
2731
+ :cloudformationAttribute: AvailableQuantity
2732
+ '''
2733
+ return typing.cast(jsii.Number, jsii.get(self, "attrAvailableQuantity"))
2734
+
2735
+ @builtins.property
2736
+ @jsii.member(jsii_name="attrConsumableResourceArn")
2737
+ def attr_consumable_resource_arn(self) -> builtins.str:
2738
+ '''The Amazon Resource Name (ARN) of the consumable resource.
2739
+
2740
+ :cloudformationAttribute: ConsumableResourceArn
2741
+ '''
2742
+ return typing.cast(builtins.str, jsii.get(self, "attrConsumableResourceArn"))
2743
+
2744
+ @builtins.property
2745
+ @jsii.member(jsii_name="attrCreatedAt")
2746
+ def attr_created_at(self) -> jsii.Number:
2747
+ '''The Unix timestamp (in milliseconds) for when the consumable resource was created.
2748
+
2749
+ :cloudformationAttribute: CreatedAt
2750
+ '''
2751
+ return typing.cast(jsii.Number, jsii.get(self, "attrCreatedAt"))
2752
+
2753
+ @builtins.property
2754
+ @jsii.member(jsii_name="attrInUseQuantity")
2755
+ def attr_in_use_quantity(self) -> jsii.Number:
2756
+ '''The amount of the consumable resource that is currently in use.
2757
+
2758
+ :cloudformationAttribute: InUseQuantity
2759
+ '''
2760
+ return typing.cast(jsii.Number, jsii.get(self, "attrInUseQuantity"))
2761
+
2762
+ @builtins.property
2763
+ @jsii.member(jsii_name="cdkTagManager")
2764
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
2765
+ '''Tag Manager which manages the tags for this resource.'''
2766
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
2767
+
2768
+ @builtins.property
2769
+ @jsii.member(jsii_name="cfnProperties")
2770
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2771
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2772
+
2773
+ @builtins.property
2774
+ @jsii.member(jsii_name="resourceType")
2775
+ def resource_type(self) -> builtins.str:
2776
+ '''Indicates whether the resource is available to be re-used after a job completes.
2777
+
2778
+ Can be one of:.
2779
+ '''
2780
+ return typing.cast(builtins.str, jsii.get(self, "resourceType"))
2781
+
2782
+ @resource_type.setter
2783
+ def resource_type(self, value: builtins.str) -> None:
2784
+ if __debug__:
2785
+ type_hints = typing.get_type_hints(_typecheckingstub__9e365d37f3f984f47f3e9155d90709d48dab3b5c99de23c31edf3e0524a3302d)
2786
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2787
+ jsii.set(self, "resourceType", value) # pyright: ignore[reportArgumentType]
2788
+
2789
+ @builtins.property
2790
+ @jsii.member(jsii_name="totalQuantity")
2791
+ def total_quantity(self) -> jsii.Number:
2792
+ '''The total amount of the consumable resource that is available.'''
2793
+ return typing.cast(jsii.Number, jsii.get(self, "totalQuantity"))
2794
+
2795
+ @total_quantity.setter
2796
+ def total_quantity(self, value: jsii.Number) -> None:
2797
+ if __debug__:
2798
+ type_hints = typing.get_type_hints(_typecheckingstub__267ecfd211d87fefa6a82e181ae34839f62811b27349a340c7dd7af7b1d643ac)
2799
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2800
+ jsii.set(self, "totalQuantity", value) # pyright: ignore[reportArgumentType]
2801
+
2802
+ @builtins.property
2803
+ @jsii.member(jsii_name="consumableResourceName")
2804
+ def consumable_resource_name(self) -> typing.Optional[builtins.str]:
2805
+ '''The name of the consumable resource.'''
2806
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "consumableResourceName"))
2807
+
2808
+ @consumable_resource_name.setter
2809
+ def consumable_resource_name(self, value: typing.Optional[builtins.str]) -> None:
2810
+ if __debug__:
2811
+ type_hints = typing.get_type_hints(_typecheckingstub__6b8701734e05768bb24c412344b9c0ac7a78b14234dfd357ae9125b48b5ce5e2)
2812
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2813
+ jsii.set(self, "consumableResourceName", value) # pyright: ignore[reportArgumentType]
2814
+
2815
+ @builtins.property
2816
+ @jsii.member(jsii_name="tags")
2817
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
2818
+ '''A key-value pair to associate with a resource.'''
2819
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], jsii.get(self, "tags"))
2820
+
2821
+ @tags.setter
2822
+ def tags(
2823
+ self,
2824
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
2825
+ ) -> None:
2826
+ if __debug__:
2827
+ type_hints = typing.get_type_hints(_typecheckingstub__6aeb610201199cf9ed022e6ce90ed818369482ef25877943acf468ba6509693e)
2828
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2829
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
2830
+
2831
+
2832
+ @jsii.data_type(
2833
+ jsii_type="aws-cdk-lib.aws_batch.CfnConsumableResourceProps",
2834
+ jsii_struct_bases=[],
2835
+ name_mapping={
2836
+ "resource_type": "resourceType",
2837
+ "total_quantity": "totalQuantity",
2838
+ "consumable_resource_name": "consumableResourceName",
2839
+ "tags": "tags",
2840
+ },
2841
+ )
2842
+ class CfnConsumableResourceProps:
2843
+ def __init__(
2844
+ self,
2845
+ *,
2846
+ resource_type: builtins.str,
2847
+ total_quantity: jsii.Number,
2848
+ consumable_resource_name: typing.Optional[builtins.str] = None,
2849
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
2850
+ ) -> None:
2851
+ '''Properties for defining a ``CfnConsumableResource``.
2852
+
2853
+ :param resource_type: Indicates whether the resource is available to be re-used after a job completes. Can be one of:. - ``REPLENISHABLE`` - ``NON_REPLENISHABLE``
2854
+ :param total_quantity: The total amount of the consumable resource that is available.
2855
+ :param consumable_resource_name: The name of the consumable resource.
2856
+ :param tags: A key-value pair to associate with a resource.
2857
+
2858
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-consumableresource.html
2859
+ :exampleMetadata: fixture=_generated
2860
+
2861
+ Example::
2862
+
2863
+ # The code below shows an example of how to instantiate this type.
2864
+ # The values are placeholders you should change.
2865
+ from aws_cdk import aws_batch as batch
2866
+
2867
+ cfn_consumable_resource_props = batch.CfnConsumableResourceProps(
2868
+ resource_type="resourceType",
2869
+ total_quantity=123,
2870
+
2871
+ # the properties below are optional
2872
+ consumable_resource_name="consumableResourceName",
2873
+ tags={
2874
+ "tags_key": "tags"
2875
+ }
2876
+ )
2877
+ '''
2878
+ if __debug__:
2879
+ type_hints = typing.get_type_hints(_typecheckingstub__273574f20d47e157a9e993b6d91e9496f22d80d24c48e2d755bfe2493e0fe9cc)
2880
+ check_type(argname="argument resource_type", value=resource_type, expected_type=type_hints["resource_type"])
2881
+ check_type(argname="argument total_quantity", value=total_quantity, expected_type=type_hints["total_quantity"])
2882
+ check_type(argname="argument consumable_resource_name", value=consumable_resource_name, expected_type=type_hints["consumable_resource_name"])
2883
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2884
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2885
+ "resource_type": resource_type,
2886
+ "total_quantity": total_quantity,
2887
+ }
2888
+ if consumable_resource_name is not None:
2889
+ self._values["consumable_resource_name"] = consumable_resource_name
2890
+ if tags is not None:
2891
+ self._values["tags"] = tags
2892
+
2893
+ @builtins.property
2894
+ def resource_type(self) -> builtins.str:
2895
+ '''Indicates whether the resource is available to be re-used after a job completes. Can be one of:.
2896
+
2897
+ - ``REPLENISHABLE``
2898
+ - ``NON_REPLENISHABLE``
2899
+
2900
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-consumableresource.html#cfn-batch-consumableresource-resourcetype
2901
+ '''
2902
+ result = self._values.get("resource_type")
2903
+ assert result is not None, "Required property 'resource_type' is missing"
2904
+ return typing.cast(builtins.str, result)
2905
+
2906
+ @builtins.property
2907
+ def total_quantity(self) -> jsii.Number:
2908
+ '''The total amount of the consumable resource that is available.
2909
+
2910
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-consumableresource.html#cfn-batch-consumableresource-totalquantity
2911
+ '''
2912
+ result = self._values.get("total_quantity")
2913
+ assert result is not None, "Required property 'total_quantity' is missing"
2914
+ return typing.cast(jsii.Number, result)
2915
+
2916
+ @builtins.property
2917
+ def consumable_resource_name(self) -> typing.Optional[builtins.str]:
2918
+ '''The name of the consumable resource.
2919
+
2920
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-consumableresource.html#cfn-batch-consumableresource-consumableresourcename
2921
+ '''
2922
+ result = self._values.get("consumable_resource_name")
2923
+ return typing.cast(typing.Optional[builtins.str], result)
2924
+
2925
+ @builtins.property
2926
+ def tags(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
2927
+ '''A key-value pair to associate with a resource.
2928
+
2929
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-consumableresource.html#cfn-batch-consumableresource-tags
2930
+ '''
2931
+ result = self._values.get("tags")
2932
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
2933
+
2934
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2935
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2936
+
2937
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2938
+ return not (rhs == self)
2939
+
2940
+ def __repr__(self) -> str:
2941
+ return "CfnConsumableResourceProps(%s)" % ", ".join(
2942
+ k + "=" + repr(v) for k, v in self._values.items()
2943
+ )
2944
+
2945
+
2634
2946
  @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
2635
2947
  class CfnJobDefinition(
2636
2948
  _CfnResource_9df397a6,
@@ -2656,6 +2968,7 @@ class CfnJobDefinition(
2656
2968
  id: builtins.str,
2657
2969
  *,
2658
2970
  type: builtins.str,
2971
+ consumable_resource_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.ConsumableResourcePropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2659
2972
  container_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.ContainerPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2660
2973
  ecs_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EcsPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2661
2974
  eks_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EksPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -2673,6 +2986,7 @@ class CfnJobDefinition(
2673
2986
  :param scope: Scope in which this resource is defined.
2674
2987
  :param id: Construct identifier for this resource (unique in its scope).
2675
2988
  :param type: The type of job definition. For more information about multi-node parallel jobs, see `Creating a multi-node parallel job definition <https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html>`_ in the *AWS Batch User Guide* . - If the value is ``container`` , then one of the following is required: ``containerProperties`` , ``ecsProperties`` , or ``eksProperties`` . - If the value is ``multinode`` , then ``nodeProperties`` is required. .. epigraph:: If the job is run on Fargate resources, then ``multinode`` isn't supported.
2989
+ :param consumable_resource_properties: Contains a list of consumable resources required by the job.
2676
2990
  :param container_properties: An object with properties specific to Amazon ECS-based jobs. When ``containerProperties`` is used in the job definition, it can't be used in addition to ``eksProperties`` , ``ecsProperties`` , or ``nodeProperties`` .
2677
2991
  :param ecs_properties: An object that contains the properties for the Amazon ECS resources of a job.When ``ecsProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``eksProperties`` , or ``nodeProperties`` .
2678
2992
  :param eks_properties: An object with properties that are specific to Amazon EKS-based jobs. When ``eksProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``ecsProperties`` , or ``nodeProperties`` .
@@ -2692,6 +3006,7 @@ class CfnJobDefinition(
2692
3006
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2693
3007
  props = CfnJobDefinitionProps(
2694
3008
  type=type,
3009
+ consumable_resource_properties=consumable_resource_properties,
2695
3010
  container_properties=container_properties,
2696
3011
  ecs_properties=ecs_properties,
2697
3012
  eks_properties=eks_properties,
@@ -2762,6 +3077,24 @@ class CfnJobDefinition(
2762
3077
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2763
3078
  jsii.set(self, "type", value) # pyright: ignore[reportArgumentType]
2764
3079
 
3080
+ @builtins.property
3081
+ @jsii.member(jsii_name="consumableResourceProperties")
3082
+ def consumable_resource_properties(
3083
+ self,
3084
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.ConsumableResourcePropertiesProperty"]]:
3085
+ '''Contains a list of consumable resources required by the job.'''
3086
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.ConsumableResourcePropertiesProperty"]], jsii.get(self, "consumableResourceProperties"))
3087
+
3088
+ @consumable_resource_properties.setter
3089
+ def consumable_resource_properties(
3090
+ self,
3091
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.ConsumableResourcePropertiesProperty"]],
3092
+ ) -> None:
3093
+ if __debug__:
3094
+ type_hints = typing.get_type_hints(_typecheckingstub__c368ee191818b7f44968cb3ae44c5bb147fa195ae7df416283fff61f6efc1dd9)
3095
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3096
+ jsii.set(self, "consumableResourceProperties", value) # pyright: ignore[reportArgumentType]
3097
+
2765
3098
  @builtins.property
2766
3099
  @jsii.member(jsii_name="containerProperties")
2767
3100
  def container_properties(
@@ -3023,6 +3356,141 @@ class CfnJobDefinition(
3023
3356
  k + "=" + repr(v) for k, v in self._values.items()
3024
3357
  )
3025
3358
 
3359
+ @jsii.data_type(
3360
+ jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.ConsumableResourcePropertiesProperty",
3361
+ jsii_struct_bases=[],
3362
+ name_mapping={"consumable_resource_list": "consumableResourceList"},
3363
+ )
3364
+ class ConsumableResourcePropertiesProperty:
3365
+ def __init__(
3366
+ self,
3367
+ *,
3368
+ consumable_resource_list: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.ConsumableResourceRequirementProperty", typing.Dict[builtins.str, typing.Any]]]]],
3369
+ ) -> None:
3370
+ '''Contains a list of consumable resources required by a job.
3371
+
3372
+ :param consumable_resource_list: The list of consumable resources required by a job.
3373
+
3374
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-consumableresourceproperties.html
3375
+ :exampleMetadata: fixture=_generated
3376
+
3377
+ Example::
3378
+
3379
+ # The code below shows an example of how to instantiate this type.
3380
+ # The values are placeholders you should change.
3381
+ from aws_cdk import aws_batch as batch
3382
+
3383
+ consumable_resource_properties_property = batch.CfnJobDefinition.ConsumableResourcePropertiesProperty(
3384
+ consumable_resource_list=[batch.CfnJobDefinition.ConsumableResourceRequirementProperty(
3385
+ consumable_resource="consumableResource",
3386
+ quantity=123
3387
+ )]
3388
+ )
3389
+ '''
3390
+ if __debug__:
3391
+ type_hints = typing.get_type_hints(_typecheckingstub__3b629a35b0e74fbc3eff29818b9c44bbd57ebdeb0ab63ab735a548e6880a79ea)
3392
+ check_type(argname="argument consumable_resource_list", value=consumable_resource_list, expected_type=type_hints["consumable_resource_list"])
3393
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3394
+ "consumable_resource_list": consumable_resource_list,
3395
+ }
3396
+
3397
+ @builtins.property
3398
+ def consumable_resource_list(
3399
+ self,
3400
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.ConsumableResourceRequirementProperty"]]]:
3401
+ '''The list of consumable resources required by a job.
3402
+
3403
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-consumableresourceproperties.html#cfn-batch-jobdefinition-consumableresourceproperties-consumableresourcelist
3404
+ '''
3405
+ result = self._values.get("consumable_resource_list")
3406
+ assert result is not None, "Required property 'consumable_resource_list' is missing"
3407
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.ConsumableResourceRequirementProperty"]]], result)
3408
+
3409
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3410
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3411
+
3412
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3413
+ return not (rhs == self)
3414
+
3415
+ def __repr__(self) -> str:
3416
+ return "ConsumableResourcePropertiesProperty(%s)" % ", ".join(
3417
+ k + "=" + repr(v) for k, v in self._values.items()
3418
+ )
3419
+
3420
+ @jsii.data_type(
3421
+ jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.ConsumableResourceRequirementProperty",
3422
+ jsii_struct_bases=[],
3423
+ name_mapping={
3424
+ "consumable_resource": "consumableResource",
3425
+ "quantity": "quantity",
3426
+ },
3427
+ )
3428
+ class ConsumableResourceRequirementProperty:
3429
+ def __init__(
3430
+ self,
3431
+ *,
3432
+ consumable_resource: builtins.str,
3433
+ quantity: jsii.Number,
3434
+ ) -> None:
3435
+ '''Information about a consumable resource required to run a job.
3436
+
3437
+ :param consumable_resource: The name or ARN of the consumable resource.
3438
+ :param quantity: The quantity of the consumable resource that is needed.
3439
+
3440
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-consumableresourcerequirement.html
3441
+ :exampleMetadata: fixture=_generated
3442
+
3443
+ Example::
3444
+
3445
+ # The code below shows an example of how to instantiate this type.
3446
+ # The values are placeholders you should change.
3447
+ from aws_cdk import aws_batch as batch
3448
+
3449
+ consumable_resource_requirement_property = batch.CfnJobDefinition.ConsumableResourceRequirementProperty(
3450
+ consumable_resource="consumableResource",
3451
+ quantity=123
3452
+ )
3453
+ '''
3454
+ if __debug__:
3455
+ type_hints = typing.get_type_hints(_typecheckingstub__14cb9e21c298e41a083a856c9790ba0510d4434a296b7c70c86b029921622e58)
3456
+ check_type(argname="argument consumable_resource", value=consumable_resource, expected_type=type_hints["consumable_resource"])
3457
+ check_type(argname="argument quantity", value=quantity, expected_type=type_hints["quantity"])
3458
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3459
+ "consumable_resource": consumable_resource,
3460
+ "quantity": quantity,
3461
+ }
3462
+
3463
+ @builtins.property
3464
+ def consumable_resource(self) -> builtins.str:
3465
+ '''The name or ARN of the consumable resource.
3466
+
3467
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-consumableresourcerequirement.html#cfn-batch-jobdefinition-consumableresourcerequirement-consumableresource
3468
+ '''
3469
+ result = self._values.get("consumable_resource")
3470
+ assert result is not None, "Required property 'consumable_resource' is missing"
3471
+ return typing.cast(builtins.str, result)
3472
+
3473
+ @builtins.property
3474
+ def quantity(self) -> jsii.Number:
3475
+ '''The quantity of the consumable resource that is needed.
3476
+
3477
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-consumableresourcerequirement.html#cfn-batch-jobdefinition-consumableresourcerequirement-quantity
3478
+ '''
3479
+ result = self._values.get("quantity")
3480
+ assert result is not None, "Required property 'quantity' is missing"
3481
+ return typing.cast(jsii.Number, result)
3482
+
3483
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3484
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3485
+
3486
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3487
+ return not (rhs == self)
3488
+
3489
+ def __repr__(self) -> str:
3490
+ return "ConsumableResourceRequirementProperty(%s)" % ", ".join(
3491
+ k + "=" + repr(v) for k, v in self._values.items()
3492
+ )
3493
+
3026
3494
  @jsii.data_type(
3027
3495
  jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.ContainerPropertiesProperty",
3028
3496
  jsii_struct_bases=[],
@@ -6833,6 +7301,12 @@ class CfnJobDefinition(
6833
7301
  target_nodes="targetNodes",
6834
7302
 
6835
7303
  # the properties below are optional
7304
+ consumable_resource_properties=batch.CfnJobDefinition.ConsumableResourcePropertiesProperty(
7305
+ consumable_resource_list=[batch.CfnJobDefinition.ConsumableResourceRequirementProperty(
7306
+ consumable_resource="consumableResource",
7307
+ quantity=123
7308
+ )]
7309
+ ),
6836
7310
  container=batch.CfnJobDefinition.ContainerPropertiesProperty(
6837
7311
  image="image",
6838
7312
 
@@ -7195,6 +7669,7 @@ class CfnJobDefinition(
7195
7669
  jsii_struct_bases=[],
7196
7670
  name_mapping={
7197
7671
  "target_nodes": "targetNodes",
7672
+ "consumable_resource_properties": "consumableResourceProperties",
7198
7673
  "container": "container",
7199
7674
  "ecs_properties": "ecsProperties",
7200
7675
  "eks_properties": "eksProperties",
@@ -7206,6 +7681,7 @@ class CfnJobDefinition(
7206
7681
  self,
7207
7682
  *,
7208
7683
  target_nodes: builtins.str,
7684
+ consumable_resource_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.ConsumableResourcePropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7209
7685
  container: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.ContainerPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7210
7686
  ecs_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.MultiNodeEcsPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7211
7687
  eks_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EksPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -7214,6 +7690,7 @@ class CfnJobDefinition(
7214
7690
  '''This is an object that represents the properties of the node range for a multi-node parallel job.
7215
7691
 
7216
7692
  :param target_nodes: The range of nodes, using node index values. A range of ``0:3`` indicates nodes with index values of ``0`` through ``3`` . If the starting range value is omitted ( ``:n`` ), then ``0`` is used to start the range. If the ending range value is omitted ( ``n:`` ), then the highest possible node index is used to end the range. Your accumulative node ranges must account for all nodes ( ``0:n`` ). You can nest node ranges (for example, ``0:10`` and ``4:5`` ). In this case, the ``4:5`` range properties override the ``0:10`` properties.
7693
+ :param consumable_resource_properties: Contains a list of consumable resources required by a job.
7217
7694
  :param container: The container details for the node range.
7218
7695
  :param ecs_properties: This is an object that represents the properties of the node range for a multi-node parallel job.
7219
7696
  :param eks_properties: This is an object that represents the properties of the node range for a multi-node parallel job.
@@ -7237,6 +7714,12 @@ class CfnJobDefinition(
7237
7714
  target_nodes="targetNodes",
7238
7715
 
7239
7716
  # the properties below are optional
7717
+ consumable_resource_properties=batch.CfnJobDefinition.ConsumableResourcePropertiesProperty(
7718
+ consumable_resource_list=[batch.CfnJobDefinition.ConsumableResourceRequirementProperty(
7719
+ consumable_resource="consumableResource",
7720
+ quantity=123
7721
+ )]
7722
+ ),
7240
7723
  container=batch.CfnJobDefinition.ContainerPropertiesProperty(
7241
7724
  image="image",
7242
7725
 
@@ -7539,6 +8022,7 @@ class CfnJobDefinition(
7539
8022
  if __debug__:
7540
8023
  type_hints = typing.get_type_hints(_typecheckingstub__005c21025a81827c3f5ed456b171eb7ffdf652583c7da0ff6ff67186436afeee)
7541
8024
  check_type(argname="argument target_nodes", value=target_nodes, expected_type=type_hints["target_nodes"])
8025
+ check_type(argname="argument consumable_resource_properties", value=consumable_resource_properties, expected_type=type_hints["consumable_resource_properties"])
7542
8026
  check_type(argname="argument container", value=container, expected_type=type_hints["container"])
7543
8027
  check_type(argname="argument ecs_properties", value=ecs_properties, expected_type=type_hints["ecs_properties"])
7544
8028
  check_type(argname="argument eks_properties", value=eks_properties, expected_type=type_hints["eks_properties"])
@@ -7546,6 +8030,8 @@ class CfnJobDefinition(
7546
8030
  self._values: typing.Dict[builtins.str, typing.Any] = {
7547
8031
  "target_nodes": target_nodes,
7548
8032
  }
8033
+ if consumable_resource_properties is not None:
8034
+ self._values["consumable_resource_properties"] = consumable_resource_properties
7549
8035
  if container is not None:
7550
8036
  self._values["container"] = container
7551
8037
  if ecs_properties is not None:
@@ -7567,6 +8053,17 @@ class CfnJobDefinition(
7567
8053
  assert result is not None, "Required property 'target_nodes' is missing"
7568
8054
  return typing.cast(builtins.str, result)
7569
8055
 
8056
+ @builtins.property
8057
+ def consumable_resource_properties(
8058
+ self,
8059
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.ConsumableResourcePropertiesProperty"]]:
8060
+ '''Contains a list of consumable resources required by a job.
8061
+
8062
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-consumableresourceproperties
8063
+ '''
8064
+ result = self._values.get("consumable_resource_properties")
8065
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.ConsumableResourcePropertiesProperty"]], result)
8066
+
7570
8067
  @builtins.property
7571
8068
  def container(
7572
8069
  self,
@@ -9464,6 +9961,7 @@ class CfnJobDefinition(
9464
9961
  jsii_struct_bases=[],
9465
9962
  name_mapping={
9466
9963
  "type": "type",
9964
+ "consumable_resource_properties": "consumableResourceProperties",
9467
9965
  "container_properties": "containerProperties",
9468
9966
  "ecs_properties": "ecsProperties",
9469
9967
  "eks_properties": "eksProperties",
@@ -9483,6 +9981,7 @@ class CfnJobDefinitionProps:
9483
9981
  self,
9484
9982
  *,
9485
9983
  type: builtins.str,
9984
+ consumable_resource_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.ConsumableResourcePropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9486
9985
  container_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.ContainerPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9487
9986
  ecs_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EcsPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9488
9987
  eks_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EksPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -9499,6 +9998,7 @@ class CfnJobDefinitionProps:
9499
9998
  '''Properties for defining a ``CfnJobDefinition``.
9500
9999
 
9501
10000
  :param type: The type of job definition. For more information about multi-node parallel jobs, see `Creating a multi-node parallel job definition <https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html>`_ in the *AWS Batch User Guide* . - If the value is ``container`` , then one of the following is required: ``containerProperties`` , ``ecsProperties`` , or ``eksProperties`` . - If the value is ``multinode`` , then ``nodeProperties`` is required. .. epigraph:: If the job is run on Fargate resources, then ``multinode`` isn't supported.
10001
+ :param consumable_resource_properties: Contains a list of consumable resources required by the job.
9502
10002
  :param container_properties: An object with properties specific to Amazon ECS-based jobs. When ``containerProperties`` is used in the job definition, it can't be used in addition to ``eksProperties`` , ``ecsProperties`` , or ``nodeProperties`` .
9503
10003
  :param ecs_properties: An object that contains the properties for the Amazon ECS resources of a job.When ``ecsProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``eksProperties`` , or ``nodeProperties`` .
9504
10004
  :param eks_properties: An object with properties that are specific to Amazon EKS-based jobs. When ``eksProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``ecsProperties`` , or ``nodeProperties`` .
@@ -9522,6 +10022,7 @@ class CfnJobDefinitionProps:
9522
10022
  if __debug__:
9523
10023
  type_hints = typing.get_type_hints(_typecheckingstub__ed150d027b29486332c3fd2205a51f3c6f64c25946114fb86a6eba38434e87c9)
9524
10024
  check_type(argname="argument type", value=type, expected_type=type_hints["type"])
10025
+ check_type(argname="argument consumable_resource_properties", value=consumable_resource_properties, expected_type=type_hints["consumable_resource_properties"])
9525
10026
  check_type(argname="argument container_properties", value=container_properties, expected_type=type_hints["container_properties"])
9526
10027
  check_type(argname="argument ecs_properties", value=ecs_properties, expected_type=type_hints["ecs_properties"])
9527
10028
  check_type(argname="argument eks_properties", value=eks_properties, expected_type=type_hints["eks_properties"])
@@ -9537,6 +10038,8 @@ class CfnJobDefinitionProps:
9537
10038
  self._values: typing.Dict[builtins.str, typing.Any] = {
9538
10039
  "type": type,
9539
10040
  }
10041
+ if consumable_resource_properties is not None:
10042
+ self._values["consumable_resource_properties"] = consumable_resource_properties
9540
10043
  if container_properties is not None:
9541
10044
  self._values["container_properties"] = container_properties
9542
10045
  if ecs_properties is not None:
@@ -9581,6 +10084,17 @@ class CfnJobDefinitionProps:
9581
10084
  assert result is not None, "Required property 'type' is missing"
9582
10085
  return typing.cast(builtins.str, result)
9583
10086
 
10087
+ @builtins.property
10088
+ def consumable_resource_properties(
10089
+ self,
10090
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnJobDefinition.ConsumableResourcePropertiesProperty]]:
10091
+ '''Contains a list of consumable resources required by the job.
10092
+
10093
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-consumableresourceproperties
10094
+ '''
10095
+ result = self._values.get("consumable_resource_properties")
10096
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnJobDefinition.ConsumableResourcePropertiesProperty]], result)
10097
+
9584
10098
  @builtins.property
9585
10099
  def container_properties(
9586
10100
  self,
@@ -17544,7 +18058,7 @@ class ManagedComputeEnvironmentProps(ComputeEnvironmentProps):
17544
18058
  :param spot: Whether or not to use spot instances. Spot instances are less expensive EC2 instances that can be reclaimed by EC2 at any time; your job will be given two minutes of notice before reclamation. Default: false
17545
18059
  :param terminate_on_update: Whether or not any running jobs will be immediately terminated when an infrastructure update occurs. If this is enabled, any terminated jobs may be retried, depending on the job's retry policy. Default: false
17546
18060
  :param update_timeout: Only meaningful if ``terminateOnUpdate`` is ``false``. If so, when an infrastructure update is triggered, any running jobs will be allowed to run until ``updateTimeout`` has expired. Default: 30 minutes
17547
- :param update_to_latest_image_version: Whether or not the AMI is updated to the latest one supported by Batch when an infrastructure update occurs. If you specify a specific AMI, this property will be ignored. Default: true
18061
+ :param update_to_latest_image_version: Whether or not the AMI is updated to the latest one supported by Batch when an infrastructure update occurs. If you specify a specific AMI, this property will be ignored. Note: the CDK will never set this value by default, ``false`` will set by CFN. This is to avoid a deployment failure that occurs when this value is set. Default: false
17548
18062
  :param vpc_subnets: The VPC Subnets this Compute Environment will launch instances in. Default: new subnets will be created
17549
18063
 
17550
18064
  :exampleMetadata: fixture=_generated
@@ -17769,7 +18283,12 @@ class ManagedComputeEnvironmentProps(ComputeEnvironmentProps):
17769
18283
 
17770
18284
  If you specify a specific AMI, this property will be ignored.
17771
18285
 
17772
- :default: true
18286
+ Note: the CDK will never set this value by default, ``false`` will set by CFN.
18287
+ This is to avoid a deployment failure that occurs when this value is set.
18288
+
18289
+ :default: false
18290
+
18291
+ :see: https://github.com/aws/aws-cdk/issues/27054
17773
18292
  '''
17774
18293
  result = self._values.get("update_to_latest_image_version")
17775
18294
  return typing.cast(typing.Optional[builtins.bool], result)
@@ -17868,7 +18387,7 @@ class ManagedEc2EcsComputeEnvironment(
17868
18387
  :param spot: Whether or not to use spot instances. Spot instances are less expensive EC2 instances that can be reclaimed by EC2 at any time; your job will be given two minutes of notice before reclamation. Default: false
17869
18388
  :param terminate_on_update: Whether or not any running jobs will be immediately terminated when an infrastructure update occurs. If this is enabled, any terminated jobs may be retried, depending on the job's retry policy. Default: false
17870
18389
  :param update_timeout: Only meaningful if ``terminateOnUpdate`` is ``false``. If so, when an infrastructure update is triggered, any running jobs will be allowed to run until ``updateTimeout`` has expired. Default: 30 minutes
17871
- :param update_to_latest_image_version: Whether or not the AMI is updated to the latest one supported by Batch when an infrastructure update occurs. If you specify a specific AMI, this property will be ignored. Default: true
18390
+ :param update_to_latest_image_version: Whether or not the AMI is updated to the latest one supported by Batch when an infrastructure update occurs. If you specify a specific AMI, this property will be ignored. Note: the CDK will never set this value by default, ``false`` will set by CFN. This is to avoid a deployment failure that occurs when this value is set. Default: false
17872
18391
  :param vpc_subnets: The VPC Subnets this Compute Environment will launch instances in. Default: new subnets will be created
17873
18392
  :param compute_environment_name: The name of the ComputeEnvironment. Default: - generated by CloudFormation
17874
18393
  :param enabled: Whether or not this ComputeEnvironment can accept jobs from a Queue. Enabled ComputeEnvironments can accept jobs from a Queue and can scale instances up or down. Disabled ComputeEnvironments cannot accept jobs from a Queue or scale instances up or down. If you change a ComputeEnvironment from enabled to disabled while it is executing jobs, Jobs in the ``STARTED`` or ``RUNNING`` states will not be interrupted. As jobs complete, the ComputeEnvironment will scale instances down to ``minvCpus``. To ensure you aren't billed for unused capacity, set ``minvCpus`` to ``0``. Default: true
@@ -18236,7 +18755,7 @@ class ManagedEc2EcsComputeEnvironmentProps(ManagedComputeEnvironmentProps):
18236
18755
  :param spot: Whether or not to use spot instances. Spot instances are less expensive EC2 instances that can be reclaimed by EC2 at any time; your job will be given two minutes of notice before reclamation. Default: false
18237
18756
  :param terminate_on_update: Whether or not any running jobs will be immediately terminated when an infrastructure update occurs. If this is enabled, any terminated jobs may be retried, depending on the job's retry policy. Default: false
18238
18757
  :param update_timeout: Only meaningful if ``terminateOnUpdate`` is ``false``. If so, when an infrastructure update is triggered, any running jobs will be allowed to run until ``updateTimeout`` has expired. Default: 30 minutes
18239
- :param update_to_latest_image_version: Whether or not the AMI is updated to the latest one supported by Batch when an infrastructure update occurs. If you specify a specific AMI, this property will be ignored. Default: true
18758
+ :param update_to_latest_image_version: Whether or not the AMI is updated to the latest one supported by Batch when an infrastructure update occurs. If you specify a specific AMI, this property will be ignored. Note: the CDK will never set this value by default, ``false`` will set by CFN. This is to avoid a deployment failure that occurs when this value is set. Default: false
18240
18759
  :param vpc_subnets: The VPC Subnets this Compute Environment will launch instances in. Default: new subnets will be created
18241
18760
  :param allocation_strategy: The allocation strategy to use if not enough instances of the best fitting instance type can be allocated. Default: - ``BEST_FIT_PROGRESSIVE`` if not using Spot instances, ``SPOT_CAPACITY_OPTIMIZED`` if using Spot instances.
18242
18761
  :param images: Configure which AMIs this Compute Environment can launch. If you specify this property with only ``image`` specified, then the ``imageType`` will default to ``ECS_AL2``. *If your image needs GPU resources, specify ``ECS_AL2_NVIDIA``; otherwise, the instances will not be able to properly join the ComputeEnvironment*. Default: - ECS_AL2 for non-GPU instances, ECS_AL2_NVIDIA for GPU instances
@@ -18477,7 +18996,12 @@ class ManagedEc2EcsComputeEnvironmentProps(ManagedComputeEnvironmentProps):
18477
18996
 
18478
18997
  If you specify a specific AMI, this property will be ignored.
18479
18998
 
18480
- :default: true
18999
+ Note: the CDK will never set this value by default, ``false`` will set by CFN.
19000
+ This is to avoid a deployment failure that occurs when this value is set.
19001
+
19002
+ :default: false
19003
+
19004
+ :see: https://github.com/aws/aws-cdk/issues/27054
18481
19005
  '''
18482
19006
  result = self._values.get("update_to_latest_image_version")
18483
19007
  return typing.cast(typing.Optional[builtins.bool], result)
@@ -18764,7 +19288,7 @@ class ManagedEc2EksComputeEnvironment(
18764
19288
  :param spot: Whether or not to use spot instances. Spot instances are less expensive EC2 instances that can be reclaimed by EC2 at any time; your job will be given two minutes of notice before reclamation. Default: false
18765
19289
  :param terminate_on_update: Whether or not any running jobs will be immediately terminated when an infrastructure update occurs. If this is enabled, any terminated jobs may be retried, depending on the job's retry policy. Default: false
18766
19290
  :param update_timeout: Only meaningful if ``terminateOnUpdate`` is ``false``. If so, when an infrastructure update is triggered, any running jobs will be allowed to run until ``updateTimeout`` has expired. Default: 30 minutes
18767
- :param update_to_latest_image_version: Whether or not the AMI is updated to the latest one supported by Batch when an infrastructure update occurs. If you specify a specific AMI, this property will be ignored. Default: true
19291
+ :param update_to_latest_image_version: Whether or not the AMI is updated to the latest one supported by Batch when an infrastructure update occurs. If you specify a specific AMI, this property will be ignored. Note: the CDK will never set this value by default, ``false`` will set by CFN. This is to avoid a deployment failure that occurs when this value is set. Default: false
18768
19292
  :param vpc_subnets: The VPC Subnets this Compute Environment will launch instances in. Default: new subnets will be created
18769
19293
  :param compute_environment_name: The name of the ComputeEnvironment. Default: - generated by CloudFormation
18770
19294
  :param enabled: Whether or not this ComputeEnvironment can accept jobs from a Queue. Enabled ComputeEnvironments can accept jobs from a Queue and can scale instances up or down. Disabled ComputeEnvironments cannot accept jobs from a Queue or scale instances up or down. If you change a ComputeEnvironment from enabled to disabled while it is executing jobs, Jobs in the ``STARTED`` or ``RUNNING`` states will not be interrupted. As jobs complete, the ComputeEnvironment will scale instances down to ``minvCpus``. To ensure you aren't billed for unused capacity, set ``minvCpus`` to ``0``. Default: true
@@ -19130,7 +19654,7 @@ class ManagedEc2EksComputeEnvironmentProps(ManagedComputeEnvironmentProps):
19130
19654
  :param spot: Whether or not to use spot instances. Spot instances are less expensive EC2 instances that can be reclaimed by EC2 at any time; your job will be given two minutes of notice before reclamation. Default: false
19131
19655
  :param terminate_on_update: Whether or not any running jobs will be immediately terminated when an infrastructure update occurs. If this is enabled, any terminated jobs may be retried, depending on the job's retry policy. Default: false
19132
19656
  :param update_timeout: Only meaningful if ``terminateOnUpdate`` is ``false``. If so, when an infrastructure update is triggered, any running jobs will be allowed to run until ``updateTimeout`` has expired. Default: 30 minutes
19133
- :param update_to_latest_image_version: Whether or not the AMI is updated to the latest one supported by Batch when an infrastructure update occurs. If you specify a specific AMI, this property will be ignored. Default: true
19657
+ :param update_to_latest_image_version: Whether or not the AMI is updated to the latest one supported by Batch when an infrastructure update occurs. If you specify a specific AMI, this property will be ignored. Note: the CDK will never set this value by default, ``false`` will set by CFN. This is to avoid a deployment failure that occurs when this value is set. Default: false
19134
19658
  :param vpc_subnets: The VPC Subnets this Compute Environment will launch instances in. Default: new subnets will be created
19135
19659
  :param eks_cluster: The cluster that backs this Compute Environment. Required for Compute Environments running Kubernetes jobs. Please ensure that you have followed the steps at https://docs.aws.amazon.com/batch/latest/userguide/getting-started-eks.html before attempting to deploy a ``ManagedEc2EksComputeEnvironment`` that uses this cluster. If you do not follow the steps in the link, the deployment fail with a message that the compute environment did not stabilize.
19136
19660
  :param kubernetes_namespace: The namespace of the Cluster.
@@ -19422,7 +19946,12 @@ class ManagedEc2EksComputeEnvironmentProps(ManagedComputeEnvironmentProps):
19422
19946
 
19423
19947
  If you specify a specific AMI, this property will be ignored.
19424
19948
 
19425
- :default: true
19949
+ Note: the CDK will never set this value by default, ``false`` will set by CFN.
19950
+ This is to avoid a deployment failure that occurs when this value is set.
19951
+
19952
+ :default: false
19953
+
19954
+ :see: https://github.com/aws/aws-cdk/issues/27054
19426
19955
  '''
19427
19956
  result = self._values.get("update_to_latest_image_version")
19428
19957
  return typing.cast(typing.Optional[builtins.bool], result)
@@ -22891,7 +23420,7 @@ class FargateComputeEnvironmentProps(ManagedComputeEnvironmentProps):
22891
23420
  :param spot: Whether or not to use spot instances. Spot instances are less expensive EC2 instances that can be reclaimed by EC2 at any time; your job will be given two minutes of notice before reclamation. Default: false
22892
23421
  :param terminate_on_update: Whether or not any running jobs will be immediately terminated when an infrastructure update occurs. If this is enabled, any terminated jobs may be retried, depending on the job's retry policy. Default: false
22893
23422
  :param update_timeout: Only meaningful if ``terminateOnUpdate`` is ``false``. If so, when an infrastructure update is triggered, any running jobs will be allowed to run until ``updateTimeout`` has expired. Default: 30 minutes
22894
- :param update_to_latest_image_version: Whether or not the AMI is updated to the latest one supported by Batch when an infrastructure update occurs. If you specify a specific AMI, this property will be ignored. Default: true
23423
+ :param update_to_latest_image_version: Whether or not the AMI is updated to the latest one supported by Batch when an infrastructure update occurs. If you specify a specific AMI, this property will be ignored. Note: the CDK will never set this value by default, ``false`` will set by CFN. This is to avoid a deployment failure that occurs when this value is set. Default: false
22895
23424
  :param vpc_subnets: The VPC Subnets this Compute Environment will launch instances in. Default: new subnets will be created
22896
23425
 
22897
23426
  :exampleMetadata: infused
@@ -23094,7 +23623,12 @@ class FargateComputeEnvironmentProps(ManagedComputeEnvironmentProps):
23094
23623
 
23095
23624
  If you specify a specific AMI, this property will be ignored.
23096
23625
 
23097
- :default: true
23626
+ Note: the CDK will never set this value by default, ``false`` will set by CFN.
23627
+ This is to avoid a deployment failure that occurs when this value is set.
23628
+
23629
+ :default: false
23630
+
23631
+ :see: https://github.com/aws/aws-cdk/issues/27054
23098
23632
  '''
23099
23633
  result = self._values.get("update_to_latest_image_version")
23100
23634
  return typing.cast(typing.Optional[builtins.bool], result)
@@ -23782,7 +24316,7 @@ class FargateComputeEnvironment(
23782
24316
  :param spot: Whether or not to use spot instances. Spot instances are less expensive EC2 instances that can be reclaimed by EC2 at any time; your job will be given two minutes of notice before reclamation. Default: false
23783
24317
  :param terminate_on_update: Whether or not any running jobs will be immediately terminated when an infrastructure update occurs. If this is enabled, any terminated jobs may be retried, depending on the job's retry policy. Default: false
23784
24318
  :param update_timeout: Only meaningful if ``terminateOnUpdate`` is ``false``. If so, when an infrastructure update is triggered, any running jobs will be allowed to run until ``updateTimeout`` has expired. Default: 30 minutes
23785
- :param update_to_latest_image_version: Whether or not the AMI is updated to the latest one supported by Batch when an infrastructure update occurs. If you specify a specific AMI, this property will be ignored. Default: true
24319
+ :param update_to_latest_image_version: Whether or not the AMI is updated to the latest one supported by Batch when an infrastructure update occurs. If you specify a specific AMI, this property will be ignored. Note: the CDK will never set this value by default, ``false`` will set by CFN. This is to avoid a deployment failure that occurs when this value is set. Default: false
23786
24320
  :param vpc_subnets: The VPC Subnets this Compute Environment will launch instances in. Default: new subnets will be created
23787
24321
  :param compute_environment_name: The name of the ComputeEnvironment. Default: - generated by CloudFormation
23788
24322
  :param enabled: Whether or not this ComputeEnvironment can accept jobs from a Queue. Enabled ComputeEnvironments can accept jobs from a Queue and can scale instances up or down. Disabled ComputeEnvironments cannot accept jobs from a Queue or scale instances up or down. If you change a ComputeEnvironment from enabled to disabled while it is executing jobs, Jobs in the ``STARTED`` or ``RUNNING`` states will not be interrupted. As jobs complete, the ComputeEnvironment will scale instances down to ``minvCpus``. To ensure you aren't billed for unused capacity, set ``minvCpus`` to ``0``. Default: true
@@ -23965,6 +24499,8 @@ __all__ = [
23965
24499
  "AllocationStrategy",
23966
24500
  "CfnComputeEnvironment",
23967
24501
  "CfnComputeEnvironmentProps",
24502
+ "CfnConsumableResource",
24503
+ "CfnConsumableResourceProps",
23968
24504
  "CfnJobDefinition",
23969
24505
  "CfnJobDefinitionProps",
23970
24506
  "CfnJobQueue",
@@ -24242,11 +24778,70 @@ def _typecheckingstub__a81ed1de03c840384ae49a0a4dbeb244507d2327c304fc093af8d7209
24242
24778
  """Type checking stubs"""
24243
24779
  pass
24244
24780
 
24781
+ def _typecheckingstub__5c99b0cde97c1da7fcdbc520729f9e431c6aa0879ca2c3f310f91017cfee5007(
24782
+ scope: _constructs_77d1e7e8.Construct,
24783
+ id: builtins.str,
24784
+ *,
24785
+ resource_type: builtins.str,
24786
+ total_quantity: jsii.Number,
24787
+ consumable_resource_name: typing.Optional[builtins.str] = None,
24788
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
24789
+ ) -> None:
24790
+ """Type checking stubs"""
24791
+ pass
24792
+
24793
+ def _typecheckingstub__b41c1f0a4fca10f0b198693331d558f57596f6e4a572a4cf64008e1ca42e3534(
24794
+ inspector: _TreeInspector_488e0dd5,
24795
+ ) -> None:
24796
+ """Type checking stubs"""
24797
+ pass
24798
+
24799
+ def _typecheckingstub__5511de8b41a1f295801ff1c0ea7a9ee2822d462f774ec168cdb7e0a49196a1ed(
24800
+ props: typing.Mapping[builtins.str, typing.Any],
24801
+ ) -> None:
24802
+ """Type checking stubs"""
24803
+ pass
24804
+
24805
+ def _typecheckingstub__9e365d37f3f984f47f3e9155d90709d48dab3b5c99de23c31edf3e0524a3302d(
24806
+ value: builtins.str,
24807
+ ) -> None:
24808
+ """Type checking stubs"""
24809
+ pass
24810
+
24811
+ def _typecheckingstub__267ecfd211d87fefa6a82e181ae34839f62811b27349a340c7dd7af7b1d643ac(
24812
+ value: jsii.Number,
24813
+ ) -> None:
24814
+ """Type checking stubs"""
24815
+ pass
24816
+
24817
+ def _typecheckingstub__6b8701734e05768bb24c412344b9c0ac7a78b14234dfd357ae9125b48b5ce5e2(
24818
+ value: typing.Optional[builtins.str],
24819
+ ) -> None:
24820
+ """Type checking stubs"""
24821
+ pass
24822
+
24823
+ def _typecheckingstub__6aeb610201199cf9ed022e6ce90ed818369482ef25877943acf468ba6509693e(
24824
+ value: typing.Optional[typing.Mapping[builtins.str, builtins.str]],
24825
+ ) -> None:
24826
+ """Type checking stubs"""
24827
+ pass
24828
+
24829
+ def _typecheckingstub__273574f20d47e157a9e993b6d91e9496f22d80d24c48e2d755bfe2493e0fe9cc(
24830
+ *,
24831
+ resource_type: builtins.str,
24832
+ total_quantity: jsii.Number,
24833
+ consumable_resource_name: typing.Optional[builtins.str] = None,
24834
+ tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
24835
+ ) -> None:
24836
+ """Type checking stubs"""
24837
+ pass
24838
+
24245
24839
  def _typecheckingstub__37959c68856ab28ea1a57515db976bc2215806d52c75f6166834df6ae651417f(
24246
24840
  scope: _constructs_77d1e7e8.Construct,
24247
24841
  id: builtins.str,
24248
24842
  *,
24249
24843
  type: builtins.str,
24844
+ consumable_resource_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.ConsumableResourcePropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24250
24845
  container_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.ContainerPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24251
24846
  ecs_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EcsPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24252
24847
  eks_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EksPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -24281,6 +24876,12 @@ def _typecheckingstub__c96b92c09c064b55548b6669735edc8ffa8187ffae08746200ea2113f
24281
24876
  """Type checking stubs"""
24282
24877
  pass
24283
24878
 
24879
+ def _typecheckingstub__c368ee191818b7f44968cb3ae44c5bb147fa195ae7df416283fff61f6efc1dd9(
24880
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnJobDefinition.ConsumableResourcePropertiesProperty]],
24881
+ ) -> None:
24882
+ """Type checking stubs"""
24883
+ pass
24884
+
24284
24885
  def _typecheckingstub__f69a394e899a3c712c6499f6fcffa98702eb3ab7de5e4489e6e69fb85ae55491(
24285
24886
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnJobDefinition.ContainerPropertiesProperty]],
24286
24887
  ) -> None:
@@ -24361,6 +24962,21 @@ def _typecheckingstub__a944ff69de809bc564eb18b81b5fe5aaf841b525a61c70b907da2a96b
24361
24962
  """Type checking stubs"""
24362
24963
  pass
24363
24964
 
24965
+ def _typecheckingstub__3b629a35b0e74fbc3eff29818b9c44bbd57ebdeb0ab63ab735a548e6880a79ea(
24966
+ *,
24967
+ consumable_resource_list: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.ConsumableResourceRequirementProperty, typing.Dict[builtins.str, typing.Any]]]]],
24968
+ ) -> None:
24969
+ """Type checking stubs"""
24970
+ pass
24971
+
24972
+ def _typecheckingstub__14cb9e21c298e41a083a856c9790ba0510d4434a296b7c70c86b029921622e58(
24973
+ *,
24974
+ consumable_resource: builtins.str,
24975
+ quantity: jsii.Number,
24976
+ ) -> None:
24977
+ """Type checking stubs"""
24978
+ pass
24979
+
24364
24980
  def _typecheckingstub__09b3c38642739790560033cae597f009c106d353ddc5faf85f6a7bf4891ac4d1(
24365
24981
  *,
24366
24982
  image: builtins.str,
@@ -24645,6 +25261,7 @@ def _typecheckingstub__b765fef4e53f81f8c1a37eea0ea015533bd4621e0f00e5e8692393146
24645
25261
  def _typecheckingstub__005c21025a81827c3f5ed456b171eb7ffdf652583c7da0ff6ff67186436afeee(
24646
25262
  *,
24647
25263
  target_nodes: builtins.str,
25264
+ consumable_resource_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.ConsumableResourcePropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24648
25265
  container: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.ContainerPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24649
25266
  ecs_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.MultiNodeEcsPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24650
25267
  eks_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EksPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -24801,6 +25418,7 @@ def _typecheckingstub__a4a9d90db8477ca586c3c89fb2ce5a548e9a3bb699ae625a80a8a105b
24801
25418
  def _typecheckingstub__ed150d027b29486332c3fd2205a51f3c6f64c25946114fb86a6eba38434e87c9(
24802
25419
  *,
24803
25420
  type: builtins.str,
25421
+ consumable_resource_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.ConsumableResourcePropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24804
25422
  container_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.ContainerPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24805
25423
  ecs_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EcsPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24806
25424
  eks_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EksPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,