aws-cdk-lib 2.171.1__py3-none-any.whl → 2.173.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 (78) hide show
  1. aws_cdk/__init__.py +528 -161
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.171.1.jsii.tgz → aws-cdk-lib@2.173.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +40 -40
  5. aws_cdk/aws_apigateway/__init__.py +1357 -120
  6. aws_cdk/aws_applicationautoscaling/__init__.py +141 -66
  7. aws_cdk/aws_appsync/__init__.py +163 -139
  8. aws_cdk/aws_autoscaling/__init__.py +96 -30
  9. aws_cdk/aws_bedrock/__init__.py +80 -44
  10. aws_cdk/aws_chatbot/__init__.py +803 -2
  11. aws_cdk/aws_cleanrooms/__init__.py +4 -6
  12. aws_cdk/aws_cloudformation/__init__.py +240 -159
  13. aws_cdk/aws_cloudfront/__init__.py +15 -7
  14. aws_cdk/aws_cloudtrail/__init__.py +802 -13
  15. aws_cdk/aws_cloudwatch/__init__.py +51 -14
  16. aws_cdk/aws_codebuild/__init__.py +39 -0
  17. aws_cdk/aws_codepipeline/__init__.py +4 -4
  18. aws_cdk/aws_cognito/__init__.py +1032 -43
  19. aws_cdk/aws_config/__init__.py +13 -10
  20. aws_cdk/aws_connect/__init__.py +454 -23
  21. aws_cdk/aws_connectcampaignsv2/__init__.py +187 -176
  22. aws_cdk/aws_customerprofiles/__init__.py +3148 -0
  23. aws_cdk/aws_docdb/__init__.py +128 -0
  24. aws_cdk/aws_dynamodb/__init__.py +256 -0
  25. aws_cdk/aws_ec2/__init__.py +976 -27
  26. aws_cdk/aws_ecs/__init__.py +37 -20
  27. aws_cdk/aws_eks/__init__.py +771 -0
  28. aws_cdk/aws_elasticache/__init__.py +22 -22
  29. aws_cdk/aws_elasticloadbalancingv2/__init__.py +441 -177
  30. aws_cdk/aws_events/__init__.py +550 -30
  31. aws_cdk/aws_fsx/__init__.py +134 -10
  32. aws_cdk/aws_imagebuilder/__init__.py +8 -8
  33. aws_cdk/aws_invoicing/__init__.py +651 -0
  34. aws_cdk/aws_iot/__init__.py +70 -26
  35. aws_cdk/aws_iotfleetwise/__init__.py +1033 -382
  36. aws_cdk/aws_iotsitewise/__init__.py +158 -0
  37. aws_cdk/aws_ivs/__init__.py +43 -31
  38. aws_cdk/aws_kendra/__init__.py +4 -0
  39. aws_cdk/aws_lakeformation/__init__.py +2 -1
  40. aws_cdk/aws_lambda/__init__.py +272 -164
  41. aws_cdk/aws_lambda_event_sources/__init__.py +2 -1
  42. aws_cdk/aws_lambda_nodejs/__init__.py +11 -11
  43. aws_cdk/aws_logs/__init__.py +532 -0
  44. aws_cdk/aws_m2/__init__.py +289 -0
  45. aws_cdk/aws_mediaconnect/__init__.py +24 -14
  46. aws_cdk/aws_medialive/__init__.py +2359 -5
  47. aws_cdk/aws_mediapackage/__init__.py +3 -9
  48. aws_cdk/aws_mediapackagev2/__init__.py +19 -17
  49. aws_cdk/aws_memorydb/__init__.py +664 -4
  50. aws_cdk/aws_mwaa/__init__.py +6 -6
  51. aws_cdk/aws_opensearchserverless/__init__.py +249 -1
  52. aws_cdk/aws_pipes/__init__.py +14 -30
  53. aws_cdk/aws_qbusiness/__init__.py +2021 -67
  54. aws_cdk/aws_quicksight/__init__.py +8270 -10
  55. aws_cdk/aws_rbin/__init__.py +53 -34
  56. aws_cdk/aws_rds/__init__.py +170 -8
  57. aws_cdk/aws_resourcegroups/__init__.py +362 -4
  58. aws_cdk/aws_route53/__init__.py +1177 -10
  59. aws_cdk/aws_route53_targets/__init__.py +297 -91
  60. aws_cdk/aws_route53resolver/__init__.py +19 -8
  61. aws_cdk/aws_s3/__init__.py +4 -4
  62. aws_cdk/aws_s3express/__init__.py +421 -9
  63. aws_cdk/aws_sagemaker/__init__.py +905 -119
  64. aws_cdk/aws_secretsmanager/__init__.py +20 -6
  65. aws_cdk/aws_securityhub/__init__.py +64 -32
  66. aws_cdk/aws_servicediscovery/__init__.py +43 -0
  67. aws_cdk/aws_ses/__init__.py +188 -41
  68. aws_cdk/aws_stepfunctions_tasks/__init__.py +190 -35
  69. aws_cdk/aws_synthetics/__init__.py +7 -5
  70. aws_cdk/aws_vpclattice/__init__.py +1479 -122
  71. aws_cdk/aws_wisdom/__init__.py +8509 -1502
  72. aws_cdk/aws_workspacesweb/__init__.py +1081 -0
  73. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/METADATA +1 -1
  74. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/RECORD +78 -77
  75. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/LICENSE +0 -0
  76. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/NOTICE +0 -0
  77. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/WHEEL +0 -0
  78. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/top_level.txt +0 -0
@@ -5787,6 +5787,11 @@ class CfnCluster(
5787
5787
  bootstrap_cluster_creator_admin_permissions=False
5788
5788
  ),
5789
5789
  bootstrap_self_managed_addons=False,
5790
+ compute_config=eks.CfnCluster.ComputeConfigProperty(
5791
+ enabled=False,
5792
+ node_pools=["nodePools"],
5793
+ node_role_arn="nodeRoleArn"
5794
+ ),
5790
5795
  encryption_config=[eks.CfnCluster.EncryptionConfigProperty(
5791
5796
  provider=eks.CfnCluster.ProviderProperty(
5792
5797
  key_arn="keyArn"
@@ -5794,6 +5799,9 @@ class CfnCluster(
5794
5799
  resources=["resources"]
5795
5800
  )],
5796
5801
  kubernetes_network_config=eks.CfnCluster.KubernetesNetworkConfigProperty(
5802
+ elastic_load_balancing=eks.CfnCluster.ElasticLoadBalancingProperty(
5803
+ enabled=False
5804
+ ),
5797
5805
  ip_family="ipFamily",
5798
5806
  service_ipv4_cidr="serviceIpv4Cidr",
5799
5807
  service_ipv6_cidr="serviceIpv6Cidr"
@@ -5815,6 +5823,21 @@ class CfnCluster(
5815
5823
  group_name="groupName"
5816
5824
  )
5817
5825
  ),
5826
+ remote_network_config=eks.CfnCluster.RemoteNetworkConfigProperty(
5827
+ remote_node_networks=[eks.CfnCluster.RemoteNodeNetworkProperty(
5828
+ cidrs=["cidrs"]
5829
+ )],
5830
+
5831
+ # the properties below are optional
5832
+ remote_pod_networks=[eks.CfnCluster.RemotePodNetworkProperty(
5833
+ cidrs=["cidrs"]
5834
+ )]
5835
+ ),
5836
+ storage_config=eks.CfnCluster.StorageConfigProperty(
5837
+ block_storage=eks.CfnCluster.BlockStorageProperty(
5838
+ enabled=False
5839
+ )
5840
+ ),
5818
5841
  tags=[CfnTag(
5819
5842
  key="key",
5820
5843
  value="value"
@@ -5838,11 +5861,14 @@ class CfnCluster(
5838
5861
  role_arn: builtins.str,
5839
5862
  access_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.AccessConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5840
5863
  bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5864
+ compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.ComputeConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5841
5865
  encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.EncryptionConfigProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
5842
5866
  kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.KubernetesNetworkConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5843
5867
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.LoggingProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5844
5868
  name: typing.Optional[builtins.str] = None,
5845
5869
  outpost_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.OutpostConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5870
+ remote_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.RemoteNetworkConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5871
+ storage_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.StorageConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5846
5872
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5847
5873
  upgrade_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.UpgradePolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5848
5874
  version: typing.Optional[builtins.str] = None,
@@ -5855,11 +5881,14 @@ class CfnCluster(
5855
5881
  :param role_arn: The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. For more information, see `Amazon EKS Service IAM Role <https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html>`_ in the **Amazon EKS User Guide** .
5856
5882
  :param access_config: The access configuration for the cluster.
5857
5883
  :param bootstrap_self_managed_addons: If you set this value to ``False`` when creating a cluster, the default networking add-ons will not be installed. The default networking addons include vpc-cni, coredns, and kube-proxy. Use this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.
5884
+ :param compute_config: Indicates the current configuration of the compute capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your AWS account. For more information, see EKS Auto Mode compute capability in the EKS User Guide.
5858
5885
  :param encryption_config: The encryption configuration for the cluster.
5859
5886
  :param kubernetes_network_config: The Kubernetes network configuration for the cluster.
5860
5887
  :param logging: The logging configuration for your cluster.
5861
5888
  :param name: The unique name to give to your cluster. The name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphanumeric character and can't be longer than 100 characters. The name must be unique within the AWS Region and AWS account that you're creating the cluster in. Note that underscores can't be used in AWS CloudFormation .
5862
5889
  :param outpost_config: An object representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This object isn't available for clusters on the AWS cloud.
5890
+ :param remote_network_config: The configuration in the cluster for EKS Hybrid Nodes. You can't change or update this configuration after the cluster is created.
5891
+ :param storage_config: Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your AWS account. For more information, see EKS Auto Mode block storage capability in the EKS User Guide.
5863
5892
  :param tags: The metadata that you apply to the cluster to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Cluster tags don't propagate to any other resources associated with the cluster. .. epigraph:: You must have the ``eks:TagResource`` and ``eks:UntagResource`` permissions for your `IAM principal <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html>`_ to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.
5864
5893
  :param upgrade_policy: This value indicates if extended support is enabled or disabled for the cluster. `Learn more about EKS Extended Support in the EKS User Guide. <https://docs.aws.amazon.com/eks/latest/userguide/extended-support-control.html>`_
5865
5894
  :param version: The desired Kubernetes version for your cluster. If you don't specify a value here, the default version available in Amazon EKS is used. .. epigraph:: The default version might not be the latest version available.
@@ -5874,11 +5903,14 @@ class CfnCluster(
5874
5903
  role_arn=role_arn,
5875
5904
  access_config=access_config,
5876
5905
  bootstrap_self_managed_addons=bootstrap_self_managed_addons,
5906
+ compute_config=compute_config,
5877
5907
  encryption_config=encryption_config,
5878
5908
  kubernetes_network_config=kubernetes_network_config,
5879
5909
  logging=logging,
5880
5910
  name=name,
5881
5911
  outpost_config=outpost_config,
5912
+ remote_network_config=remote_network_config,
5913
+ storage_config=storage_config,
5882
5914
  tags=tags,
5883
5915
  upgrade_policy=upgrade_policy,
5884
5916
  version=version,
@@ -6075,6 +6107,24 @@ class CfnCluster(
6075
6107
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6076
6108
  jsii.set(self, "bootstrapSelfManagedAddons", value) # pyright: ignore[reportArgumentType]
6077
6109
 
6110
+ @builtins.property
6111
+ @jsii.member(jsii_name="computeConfig")
6112
+ def compute_config(
6113
+ self,
6114
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.ComputeConfigProperty"]]:
6115
+ '''Indicates the current configuration of the compute capability on your EKS Auto Mode cluster.'''
6116
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.ComputeConfigProperty"]], jsii.get(self, "computeConfig"))
6117
+
6118
+ @compute_config.setter
6119
+ def compute_config(
6120
+ self,
6121
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.ComputeConfigProperty"]],
6122
+ ) -> None:
6123
+ if __debug__:
6124
+ type_hints = typing.get_type_hints(_typecheckingstub__5d35f88b28db161e1414d604c41ffc1d10fcf76351a0503d110f81158a8e15ca)
6125
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6126
+ jsii.set(self, "computeConfig", value) # pyright: ignore[reportArgumentType]
6127
+
6078
6128
  @builtins.property
6079
6129
  @jsii.member(jsii_name="encryptionConfig")
6080
6130
  def encryption_config(
@@ -6160,6 +6210,42 @@ class CfnCluster(
6160
6210
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6161
6211
  jsii.set(self, "outpostConfig", value) # pyright: ignore[reportArgumentType]
6162
6212
 
6213
+ @builtins.property
6214
+ @jsii.member(jsii_name="remoteNetworkConfig")
6215
+ def remote_network_config(
6216
+ self,
6217
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.RemoteNetworkConfigProperty"]]:
6218
+ '''The configuration in the cluster for EKS Hybrid Nodes.'''
6219
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.RemoteNetworkConfigProperty"]], jsii.get(self, "remoteNetworkConfig"))
6220
+
6221
+ @remote_network_config.setter
6222
+ def remote_network_config(
6223
+ self,
6224
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.RemoteNetworkConfigProperty"]],
6225
+ ) -> None:
6226
+ if __debug__:
6227
+ type_hints = typing.get_type_hints(_typecheckingstub__cbca5e74535463c8d56fe42358d9cdf712c85039267d6580c6b1dbd855c5f255)
6228
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6229
+ jsii.set(self, "remoteNetworkConfig", value) # pyright: ignore[reportArgumentType]
6230
+
6231
+ @builtins.property
6232
+ @jsii.member(jsii_name="storageConfig")
6233
+ def storage_config(
6234
+ self,
6235
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.StorageConfigProperty"]]:
6236
+ '''Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster.'''
6237
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.StorageConfigProperty"]], jsii.get(self, "storageConfig"))
6238
+
6239
+ @storage_config.setter
6240
+ def storage_config(
6241
+ self,
6242
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.StorageConfigProperty"]],
6243
+ ) -> None:
6244
+ if __debug__:
6245
+ type_hints = typing.get_type_hints(_typecheckingstub__d43c0cb2280b293bbb9f09aa10579d43dbb7df4786771157ba149230c817ecfa)
6246
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6247
+ jsii.set(self, "storageConfig", value) # pyright: ignore[reportArgumentType]
6248
+
6163
6249
  @builtins.property
6164
6250
  @jsii.member(jsii_name="tagsRaw")
6165
6251
  def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -6301,6 +6387,67 @@ class CfnCluster(
6301
6387
  k + "=" + repr(v) for k, v in self._values.items()
6302
6388
  )
6303
6389
 
6390
+ @jsii.data_type(
6391
+ jsii_type="aws-cdk-lib.aws_eks.CfnCluster.BlockStorageProperty",
6392
+ jsii_struct_bases=[],
6393
+ name_mapping={"enabled": "enabled"},
6394
+ )
6395
+ class BlockStorageProperty:
6396
+ def __init__(
6397
+ self,
6398
+ *,
6399
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6400
+ ) -> None:
6401
+ '''Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster.
6402
+
6403
+ For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your AWS account. For more information, see EKS Auto Mode block storage capability in the EKS User Guide.
6404
+
6405
+ :param enabled: Indicates if the block storage capability is enabled on your EKS Auto Mode cluster. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your AWS account.
6406
+
6407
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-blockstorage.html
6408
+ :exampleMetadata: fixture=_generated
6409
+
6410
+ Example::
6411
+
6412
+ # The code below shows an example of how to instantiate this type.
6413
+ # The values are placeholders you should change.
6414
+ from aws_cdk import aws_eks as eks
6415
+
6416
+ block_storage_property = eks.CfnCluster.BlockStorageProperty(
6417
+ enabled=False
6418
+ )
6419
+ '''
6420
+ if __debug__:
6421
+ type_hints = typing.get_type_hints(_typecheckingstub__11cdae187ae128dcf0eca6a85c8d94b7c2ef69a0d54a9bd1917a1e27f48a5125)
6422
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
6423
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6424
+ if enabled is not None:
6425
+ self._values["enabled"] = enabled
6426
+
6427
+ @builtins.property
6428
+ def enabled(
6429
+ self,
6430
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6431
+ '''Indicates if the block storage capability is enabled on your EKS Auto Mode cluster.
6432
+
6433
+ If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your AWS account.
6434
+
6435
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-blockstorage.html#cfn-eks-cluster-blockstorage-enabled
6436
+ '''
6437
+ result = self._values.get("enabled")
6438
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
6439
+
6440
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6441
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6442
+
6443
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6444
+ return not (rhs == self)
6445
+
6446
+ def __repr__(self) -> str:
6447
+ return "BlockStorageProperty(%s)" % ", ".join(
6448
+ k + "=" + repr(v) for k, v in self._values.items()
6449
+ )
6450
+
6304
6451
  @jsii.data_type(
6305
6452
  jsii_type="aws-cdk-lib.aws_eks.CfnCluster.ClusterLoggingProperty",
6306
6453
  jsii_struct_bases=[],
@@ -6368,6 +6515,97 @@ class CfnCluster(
6368
6515
  k + "=" + repr(v) for k, v in self._values.items()
6369
6516
  )
6370
6517
 
6518
+ @jsii.data_type(
6519
+ jsii_type="aws-cdk-lib.aws_eks.CfnCluster.ComputeConfigProperty",
6520
+ jsii_struct_bases=[],
6521
+ name_mapping={
6522
+ "enabled": "enabled",
6523
+ "node_pools": "nodePools",
6524
+ "node_role_arn": "nodeRoleArn",
6525
+ },
6526
+ )
6527
+ class ComputeConfigProperty:
6528
+ def __init__(
6529
+ self,
6530
+ *,
6531
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6532
+ node_pools: typing.Optional[typing.Sequence[builtins.str]] = None,
6533
+ node_role_arn: typing.Optional[builtins.str] = None,
6534
+ ) -> None:
6535
+ '''Todo: add description.
6536
+
6537
+ :param enabled: Todo: add description.
6538
+ :param node_pools: Todo: add description.
6539
+ :param node_role_arn: Todo: add description.
6540
+
6541
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-computeconfig.html
6542
+ :exampleMetadata: fixture=_generated
6543
+
6544
+ Example::
6545
+
6546
+ # The code below shows an example of how to instantiate this type.
6547
+ # The values are placeholders you should change.
6548
+ from aws_cdk import aws_eks as eks
6549
+
6550
+ compute_config_property = eks.CfnCluster.ComputeConfigProperty(
6551
+ enabled=False,
6552
+ node_pools=["nodePools"],
6553
+ node_role_arn="nodeRoleArn"
6554
+ )
6555
+ '''
6556
+ if __debug__:
6557
+ type_hints = typing.get_type_hints(_typecheckingstub__340acb2fac13d871050a5222d012205ae59e347bfba164c5431785621f6661b6)
6558
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
6559
+ check_type(argname="argument node_pools", value=node_pools, expected_type=type_hints["node_pools"])
6560
+ check_type(argname="argument node_role_arn", value=node_role_arn, expected_type=type_hints["node_role_arn"])
6561
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6562
+ if enabled is not None:
6563
+ self._values["enabled"] = enabled
6564
+ if node_pools is not None:
6565
+ self._values["node_pools"] = node_pools
6566
+ if node_role_arn is not None:
6567
+ self._values["node_role_arn"] = node_role_arn
6568
+
6569
+ @builtins.property
6570
+ def enabled(
6571
+ self,
6572
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6573
+ '''Todo: add description.
6574
+
6575
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-computeconfig.html#cfn-eks-cluster-computeconfig-enabled
6576
+ '''
6577
+ result = self._values.get("enabled")
6578
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
6579
+
6580
+ @builtins.property
6581
+ def node_pools(self) -> typing.Optional[typing.List[builtins.str]]:
6582
+ '''Todo: add description.
6583
+
6584
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-computeconfig.html#cfn-eks-cluster-computeconfig-nodepools
6585
+ '''
6586
+ result = self._values.get("node_pools")
6587
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6588
+
6589
+ @builtins.property
6590
+ def node_role_arn(self) -> typing.Optional[builtins.str]:
6591
+ '''Todo: add description.
6592
+
6593
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-computeconfig.html#cfn-eks-cluster-computeconfig-noderolearn
6594
+ '''
6595
+ result = self._values.get("node_role_arn")
6596
+ return typing.cast(typing.Optional[builtins.str], result)
6597
+
6598
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6599
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6600
+
6601
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6602
+ return not (rhs == self)
6603
+
6604
+ def __repr__(self) -> str:
6605
+ return "ComputeConfigProperty(%s)" % ", ".join(
6606
+ k + "=" + repr(v) for k, v in self._values.items()
6607
+ )
6608
+
6371
6609
  @jsii.data_type(
6372
6610
  jsii_type="aws-cdk-lib.aws_eks.CfnCluster.ControlPlanePlacementProperty",
6373
6611
  jsii_struct_bases=[],
@@ -6423,6 +6661,67 @@ class CfnCluster(
6423
6661
  k + "=" + repr(v) for k, v in self._values.items()
6424
6662
  )
6425
6663
 
6664
+ @jsii.data_type(
6665
+ jsii_type="aws-cdk-lib.aws_eks.CfnCluster.ElasticLoadBalancingProperty",
6666
+ jsii_struct_bases=[],
6667
+ name_mapping={"enabled": "enabled"},
6668
+ )
6669
+ class ElasticLoadBalancingProperty:
6670
+ def __init__(
6671
+ self,
6672
+ *,
6673
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6674
+ ) -> None:
6675
+ '''Indicates the current configuration of the load balancing capability on your EKS Auto Mode cluster.
6676
+
6677
+ For example, if the capability is enabled or disabled. For more information, see EKS Auto Mode load balancing capability in the EKS User Guide.
6678
+
6679
+ :param enabled: Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster. If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your AWS account.
6680
+
6681
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-elasticloadbalancing.html
6682
+ :exampleMetadata: fixture=_generated
6683
+
6684
+ Example::
6685
+
6686
+ # The code below shows an example of how to instantiate this type.
6687
+ # The values are placeholders you should change.
6688
+ from aws_cdk import aws_eks as eks
6689
+
6690
+ elastic_load_balancing_property = eks.CfnCluster.ElasticLoadBalancingProperty(
6691
+ enabled=False
6692
+ )
6693
+ '''
6694
+ if __debug__:
6695
+ type_hints = typing.get_type_hints(_typecheckingstub__41c8959626c6cd4c3ff5a15cfb2de0bea1a0b654c1bd2e0a62c4841ab19277cc)
6696
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
6697
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6698
+ if enabled is not None:
6699
+ self._values["enabled"] = enabled
6700
+
6701
+ @builtins.property
6702
+ def enabled(
6703
+ self,
6704
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6705
+ '''Indicates if the load balancing capability is enabled on your EKS Auto Mode cluster.
6706
+
6707
+ If the load balancing capability is enabled, EKS Auto Mode will create and delete load balancers in your AWS account.
6708
+
6709
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-elasticloadbalancing.html#cfn-eks-cluster-elasticloadbalancing-enabled
6710
+ '''
6711
+ result = self._values.get("enabled")
6712
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
6713
+
6714
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6715
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6716
+
6717
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6718
+ return not (rhs == self)
6719
+
6720
+ def __repr__(self) -> str:
6721
+ return "ElasticLoadBalancingProperty(%s)" % ", ".join(
6722
+ k + "=" + repr(v) for k, v in self._values.items()
6723
+ )
6724
+
6426
6725
  @jsii.data_type(
6427
6726
  jsii_type="aws-cdk-lib.aws_eks.CfnCluster.EncryptionConfigProperty",
6428
6727
  jsii_struct_bases=[],
@@ -6503,6 +6802,7 @@ class CfnCluster(
6503
6802
  jsii_type="aws-cdk-lib.aws_eks.CfnCluster.KubernetesNetworkConfigProperty",
6504
6803
  jsii_struct_bases=[],
6505
6804
  name_mapping={
6805
+ "elastic_load_balancing": "elasticLoadBalancing",
6506
6806
  "ip_family": "ipFamily",
6507
6807
  "service_ipv4_cidr": "serviceIpv4Cidr",
6508
6808
  "service_ipv6_cidr": "serviceIpv6Cidr",
@@ -6512,12 +6812,14 @@ class CfnCluster(
6512
6812
  def __init__(
6513
6813
  self,
6514
6814
  *,
6815
+ elastic_load_balancing: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.ElasticLoadBalancingProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6515
6816
  ip_family: typing.Optional[builtins.str] = None,
6516
6817
  service_ipv4_cidr: typing.Optional[builtins.str] = None,
6517
6818
  service_ipv6_cidr: typing.Optional[builtins.str] = None,
6518
6819
  ) -> None:
6519
6820
  '''The Kubernetes network configuration for the cluster.
6520
6821
 
6822
+ :param elastic_load_balancing: Todo: add description.
6521
6823
  :param ip_family: Specify which IP family is used to assign Kubernetes pod and service IP addresses. If you don't specify a value, ``ipv4`` is used by default. You can only specify an IP family when you create a cluster and can't change this value once the cluster is created. If you specify ``ipv6`` , the VPC and subnets that you specify for cluster creation must have both ``IPv4`` and ``IPv6`` CIDR blocks assigned to them. You can't specify ``ipv6`` for clusters in China Regions. You can only specify ``ipv6`` for ``1.21`` and later clusters that use version ``1.10.1`` or later of the Amazon VPC CNI add-on. If you specify ``ipv6`` , then ensure that your VPC meets the requirements listed in the considerations listed in `Assigning IPv6 addresses to pods and services <https://docs.aws.amazon.com/eks/latest/userguide/cni-ipv6.html>`_ in the Amazon EKS User Guide. Kubernetes assigns services ``IPv6`` addresses from the unique local address range ``(fc00::/7)`` . You can't specify a custom ``IPv6`` CIDR block. Pod addresses are assigned from the subnet's ``IPv6`` CIDR.
6522
6824
  :param service_ipv4_cidr: Don't specify a value if you select ``ipv6`` for *ipFamily* . The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the ``10.100.0.0/16`` or ``172.20.0.0/16`` CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. The block must meet the following requirements: - Within one of the following private IP address blocks: ``10.0.0.0/8`` , ``172.16.0.0/12`` , or ``192.168.0.0/16`` . - Doesn't overlap with any CIDR block assigned to the VPC that you selected for VPC. - Between ``/24`` and ``/12`` . .. epigraph:: You can only specify a custom CIDR block when you create a cluster. You can't change this value after the cluster is created.
6523
6825
  :param service_ipv6_cidr: The CIDR block that Kubernetes pod and service IP addresses are assigned from if you created a 1.21 or later cluster with version 1.10.1 or later of the Amazon VPC CNI add-on and specified ``ipv6`` for *ipFamily* when you created the cluster. Kubernetes assigns service addresses from the unique local address range ( ``fc00::/7`` ) because you can't specify a custom IPv6 CIDR block when you create the cluster.
@@ -6532,6 +6834,9 @@ class CfnCluster(
6532
6834
  from aws_cdk import aws_eks as eks
6533
6835
 
6534
6836
  kubernetes_network_config_property = eks.CfnCluster.KubernetesNetworkConfigProperty(
6837
+ elastic_load_balancing=eks.CfnCluster.ElasticLoadBalancingProperty(
6838
+ enabled=False
6839
+ ),
6535
6840
  ip_family="ipFamily",
6536
6841
  service_ipv4_cidr="serviceIpv4Cidr",
6537
6842
  service_ipv6_cidr="serviceIpv6Cidr"
@@ -6539,10 +6844,13 @@ class CfnCluster(
6539
6844
  '''
6540
6845
  if __debug__:
6541
6846
  type_hints = typing.get_type_hints(_typecheckingstub__0a92b4e070a67c74edb8714df451b4d215084e3116055e205e49b92778b8704f)
6847
+ check_type(argname="argument elastic_load_balancing", value=elastic_load_balancing, expected_type=type_hints["elastic_load_balancing"])
6542
6848
  check_type(argname="argument ip_family", value=ip_family, expected_type=type_hints["ip_family"])
6543
6849
  check_type(argname="argument service_ipv4_cidr", value=service_ipv4_cidr, expected_type=type_hints["service_ipv4_cidr"])
6544
6850
  check_type(argname="argument service_ipv6_cidr", value=service_ipv6_cidr, expected_type=type_hints["service_ipv6_cidr"])
6545
6851
  self._values: typing.Dict[builtins.str, typing.Any] = {}
6852
+ if elastic_load_balancing is not None:
6853
+ self._values["elastic_load_balancing"] = elastic_load_balancing
6546
6854
  if ip_family is not None:
6547
6855
  self._values["ip_family"] = ip_family
6548
6856
  if service_ipv4_cidr is not None:
@@ -6550,6 +6858,17 @@ class CfnCluster(
6550
6858
  if service_ipv6_cidr is not None:
6551
6859
  self._values["service_ipv6_cidr"] = service_ipv6_cidr
6552
6860
 
6861
+ @builtins.property
6862
+ def elastic_load_balancing(
6863
+ self,
6864
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.ElasticLoadBalancingProperty"]]:
6865
+ '''Todo: add description.
6866
+
6867
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-kubernetesnetworkconfig.html#cfn-eks-cluster-kubernetesnetworkconfig-elasticloadbalancing
6868
+ '''
6869
+ result = self._values.get("elastic_load_balancing")
6870
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.ElasticLoadBalancingProperty"]], result)
6871
+
6553
6872
  @builtins.property
6554
6873
  def ip_family(self) -> typing.Optional[builtins.str]:
6555
6874
  '''Specify which IP family is used to assign Kubernetes pod and service IP addresses.
@@ -6880,6 +7199,238 @@ class CfnCluster(
6880
7199
  k + "=" + repr(v) for k, v in self._values.items()
6881
7200
  )
6882
7201
 
7202
+ @jsii.data_type(
7203
+ jsii_type="aws-cdk-lib.aws_eks.CfnCluster.RemoteNetworkConfigProperty",
7204
+ jsii_struct_bases=[],
7205
+ name_mapping={
7206
+ "remote_node_networks": "remoteNodeNetworks",
7207
+ "remote_pod_networks": "remotePodNetworks",
7208
+ },
7209
+ )
7210
+ class RemoteNetworkConfigProperty:
7211
+ def __init__(
7212
+ self,
7213
+ *,
7214
+ remote_node_networks: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.RemoteNodeNetworkProperty", typing.Dict[builtins.str, typing.Any]]]]],
7215
+ remote_pod_networks: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.RemotePodNetworkProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
7216
+ ) -> None:
7217
+ '''Configuration fields for specifying on-premises node and pod CIDRs that are external to the VPC passed during cluster creation.
7218
+
7219
+ :param remote_node_networks: Network configuration of nodes run on-premises with EKS Hybrid Nodes.
7220
+ :param remote_pod_networks: Network configuration of pods run on-premises with EKS Hybrid Nodes.
7221
+
7222
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-remotenetworkconfig.html
7223
+ :exampleMetadata: fixture=_generated
7224
+
7225
+ Example::
7226
+
7227
+ # The code below shows an example of how to instantiate this type.
7228
+ # The values are placeholders you should change.
7229
+ from aws_cdk import aws_eks as eks
7230
+
7231
+ remote_network_config_property = eks.CfnCluster.RemoteNetworkConfigProperty(
7232
+ remote_node_networks=[eks.CfnCluster.RemoteNodeNetworkProperty(
7233
+ cidrs=["cidrs"]
7234
+ )],
7235
+
7236
+ # the properties below are optional
7237
+ remote_pod_networks=[eks.CfnCluster.RemotePodNetworkProperty(
7238
+ cidrs=["cidrs"]
7239
+ )]
7240
+ )
7241
+ '''
7242
+ if __debug__:
7243
+ type_hints = typing.get_type_hints(_typecheckingstub__29b132ee7bcaaae9fba08ec6dcbfb1b776b9043d57574e18c26975e2109c5a02)
7244
+ check_type(argname="argument remote_node_networks", value=remote_node_networks, expected_type=type_hints["remote_node_networks"])
7245
+ check_type(argname="argument remote_pod_networks", value=remote_pod_networks, expected_type=type_hints["remote_pod_networks"])
7246
+ self._values: typing.Dict[builtins.str, typing.Any] = {
7247
+ "remote_node_networks": remote_node_networks,
7248
+ }
7249
+ if remote_pod_networks is not None:
7250
+ self._values["remote_pod_networks"] = remote_pod_networks
7251
+
7252
+ @builtins.property
7253
+ def remote_node_networks(
7254
+ self,
7255
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCluster.RemoteNodeNetworkProperty"]]]:
7256
+ '''Network configuration of nodes run on-premises with EKS Hybrid Nodes.
7257
+
7258
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-remotenetworkconfig.html#cfn-eks-cluster-remotenetworkconfig-remotenodenetworks
7259
+ '''
7260
+ result = self._values.get("remote_node_networks")
7261
+ assert result is not None, "Required property 'remote_node_networks' is missing"
7262
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCluster.RemoteNodeNetworkProperty"]]], result)
7263
+
7264
+ @builtins.property
7265
+ def remote_pod_networks(
7266
+ self,
7267
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCluster.RemotePodNetworkProperty"]]]]:
7268
+ '''Network configuration of pods run on-premises with EKS Hybrid Nodes.
7269
+
7270
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-remotenetworkconfig.html#cfn-eks-cluster-remotenetworkconfig-remotepodnetworks
7271
+ '''
7272
+ result = self._values.get("remote_pod_networks")
7273
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCluster.RemotePodNetworkProperty"]]]], result)
7274
+
7275
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7276
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7277
+
7278
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7279
+ return not (rhs == self)
7280
+
7281
+ def __repr__(self) -> str:
7282
+ return "RemoteNetworkConfigProperty(%s)" % ", ".join(
7283
+ k + "=" + repr(v) for k, v in self._values.items()
7284
+ )
7285
+
7286
+ @jsii.data_type(
7287
+ jsii_type="aws-cdk-lib.aws_eks.CfnCluster.RemoteNodeNetworkProperty",
7288
+ jsii_struct_bases=[],
7289
+ name_mapping={"cidrs": "cidrs"},
7290
+ )
7291
+ class RemoteNodeNetworkProperty:
7292
+ def __init__(self, *, cidrs: typing.Sequence[builtins.str]) -> None:
7293
+ '''A network CIDR that can contain hybrid nodes.
7294
+
7295
+ These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator.
7296
+
7297
+ Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, ``10.2.0.0/16`` ).
7298
+
7299
+ It must satisfy the following requirements:
7300
+
7301
+ - Each block must be within an ``IPv4`` RFC-1918 network range. Minimum allowed size is /24, maximum allowed size is /8. Publicly-routable addresses aren't supported.
7302
+ - Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.
7303
+ - Each block must have a route to the VPC that uses the VPC CIDR blocks, not public IPs or Elastic IPs. There are many options including AWS Transit Gateway , AWS Site-to-Site VPN , or AWS Direct Connect .
7304
+ - Each host must allow outbound connection to the EKS cluster control plane on TCP ports ``443`` and ``10250`` .
7305
+ - Each host must allow inbound connection from the EKS cluster control plane on TCP port 10250 for logs, exec and port-forward operations.
7306
+ - Each host must allow TCP and UDP network connectivity to and from other hosts that are running ``CoreDNS`` on UDP port ``53`` for service and pod DNS names.
7307
+
7308
+ :param cidrs: A network CIDR that can contain hybrid nodes. These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator. Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, ``10.2.0.0/16`` ). It must satisfy the following requirements: - Each block must be within an ``IPv4`` RFC-1918 network range. Minimum allowed size is /24, maximum allowed size is /8. Publicly-routable addresses aren't supported. - Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range. - Each block must have a route to the VPC that uses the VPC CIDR blocks, not public IPs or Elastic IPs. There are many options including AWS Transit Gateway , AWS Site-to-Site VPN , or AWS Direct Connect . - Each host must allow outbound connection to the EKS cluster control plane on TCP ports ``443`` and ``10250`` . - Each host must allow inbound connection from the EKS cluster control plane on TCP port 10250 for logs, exec and port-forward operations. - Each host must allow TCP and UDP network connectivity to and from other hosts that are running ``CoreDNS`` on UDP port ``53`` for service and pod DNS names.
7309
+
7310
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-remotenodenetwork.html
7311
+ :exampleMetadata: fixture=_generated
7312
+
7313
+ Example::
7314
+
7315
+ # The code below shows an example of how to instantiate this type.
7316
+ # The values are placeholders you should change.
7317
+ from aws_cdk import aws_eks as eks
7318
+
7319
+ remote_node_network_property = eks.CfnCluster.RemoteNodeNetworkProperty(
7320
+ cidrs=["cidrs"]
7321
+ )
7322
+ '''
7323
+ if __debug__:
7324
+ type_hints = typing.get_type_hints(_typecheckingstub__3c788baedbcb7f230114fd8b1ee014478977a6bcf1e2ac104dbaa8f48eda3f53)
7325
+ check_type(argname="argument cidrs", value=cidrs, expected_type=type_hints["cidrs"])
7326
+ self._values: typing.Dict[builtins.str, typing.Any] = {
7327
+ "cidrs": cidrs,
7328
+ }
7329
+
7330
+ @builtins.property
7331
+ def cidrs(self) -> typing.List[builtins.str]:
7332
+ '''A network CIDR that can contain hybrid nodes.
7333
+
7334
+ These CIDR blocks define the expected IP address range of the hybrid nodes that join the cluster. These blocks are typically determined by your network administrator.
7335
+
7336
+ Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, ``10.2.0.0/16`` ).
7337
+
7338
+ It must satisfy the following requirements:
7339
+
7340
+ - Each block must be within an ``IPv4`` RFC-1918 network range. Minimum allowed size is /24, maximum allowed size is /8. Publicly-routable addresses aren't supported.
7341
+ - Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.
7342
+ - Each block must have a route to the VPC that uses the VPC CIDR blocks, not public IPs or Elastic IPs. There are many options including AWS Transit Gateway , AWS Site-to-Site VPN , or AWS Direct Connect .
7343
+ - Each host must allow outbound connection to the EKS cluster control plane on TCP ports ``443`` and ``10250`` .
7344
+ - Each host must allow inbound connection from the EKS cluster control plane on TCP port 10250 for logs, exec and port-forward operations.
7345
+ - Each host must allow TCP and UDP network connectivity to and from other hosts that are running ``CoreDNS`` on UDP port ``53`` for service and pod DNS names.
7346
+
7347
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-remotenodenetwork.html#cfn-eks-cluster-remotenodenetwork-cidrs
7348
+ '''
7349
+ result = self._values.get("cidrs")
7350
+ assert result is not None, "Required property 'cidrs' is missing"
7351
+ return typing.cast(typing.List[builtins.str], result)
7352
+
7353
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7354
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7355
+
7356
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7357
+ return not (rhs == self)
7358
+
7359
+ def __repr__(self) -> str:
7360
+ return "RemoteNodeNetworkProperty(%s)" % ", ".join(
7361
+ k + "=" + repr(v) for k, v in self._values.items()
7362
+ )
7363
+
7364
+ @jsii.data_type(
7365
+ jsii_type="aws-cdk-lib.aws_eks.CfnCluster.RemotePodNetworkProperty",
7366
+ jsii_struct_bases=[],
7367
+ name_mapping={"cidrs": "cidrs"},
7368
+ )
7369
+ class RemotePodNetworkProperty:
7370
+ def __init__(self, *, cidrs: typing.Sequence[builtins.str]) -> None:
7371
+ '''A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.
7372
+
7373
+ These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't available for on-premises and edge locations.
7374
+
7375
+ Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, ``10.2.0.0/16`` ).
7376
+
7377
+ It must satisfy the following requirements:
7378
+
7379
+ - Each block must be within an ``IPv4`` RFC-1918 network range. Minimum allowed size is /24, maximum allowed size is /8. Publicly-routable addresses aren't supported.
7380
+ - Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.
7381
+
7382
+ :param cidrs: A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes. These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't available for on-premises and edge locations. Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, ``10.2.0.0/16`` ). It must satisfy the following requirements: - Each block must be within an ``IPv4`` RFC-1918 network range. Minimum allowed size is /24, maximum allowed size is /8. Publicly-routable addresses aren't supported. - Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.
7383
+
7384
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-remotepodnetwork.html
7385
+ :exampleMetadata: fixture=_generated
7386
+
7387
+ Example::
7388
+
7389
+ # The code below shows an example of how to instantiate this type.
7390
+ # The values are placeholders you should change.
7391
+ from aws_cdk import aws_eks as eks
7392
+
7393
+ remote_pod_network_property = eks.CfnCluster.RemotePodNetworkProperty(
7394
+ cidrs=["cidrs"]
7395
+ )
7396
+ '''
7397
+ if __debug__:
7398
+ type_hints = typing.get_type_hints(_typecheckingstub__51b845e43ba054d464150b1f0fffb60f026af086df16857e5625284cc8b922c6)
7399
+ check_type(argname="argument cidrs", value=cidrs, expected_type=type_hints["cidrs"])
7400
+ self._values: typing.Dict[builtins.str, typing.Any] = {
7401
+ "cidrs": cidrs,
7402
+ }
7403
+
7404
+ @builtins.property
7405
+ def cidrs(self) -> typing.List[builtins.str]:
7406
+ '''A network CIDR that can contain pods that run Kubernetes webhooks on hybrid nodes.
7407
+
7408
+ These CIDR blocks are determined by configuring your Container Network Interface (CNI) plugin. We recommend the Calico CNI or Cilium CNI. Note that the Amazon VPC CNI plugin for Kubernetes isn't available for on-premises and edge locations.
7409
+
7410
+ Enter one or more IPv4 CIDR blocks in decimal dotted-quad notation (for example, ``10.2.0.0/16`` ).
7411
+
7412
+ It must satisfy the following requirements:
7413
+
7414
+ - Each block must be within an ``IPv4`` RFC-1918 network range. Minimum allowed size is /24, maximum allowed size is /8. Publicly-routable addresses aren't supported.
7415
+ - Each block cannot overlap with the range of the VPC CIDR blocks for your EKS resources, or the block of the Kubernetes service IP range.
7416
+
7417
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-remotepodnetwork.html#cfn-eks-cluster-remotepodnetwork-cidrs
7418
+ '''
7419
+ result = self._values.get("cidrs")
7420
+ assert result is not None, "Required property 'cidrs' is missing"
7421
+ return typing.cast(typing.List[builtins.str], result)
7422
+
7423
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7424
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7425
+
7426
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7427
+ return not (rhs == self)
7428
+
7429
+ def __repr__(self) -> str:
7430
+ return "RemotePodNetworkProperty(%s)" % ", ".join(
7431
+ k + "=" + repr(v) for k, v in self._values.items()
7432
+ )
7433
+
6883
7434
  @jsii.data_type(
6884
7435
  jsii_type="aws-cdk-lib.aws_eks.CfnCluster.ResourcesVpcConfigProperty",
6885
7436
  jsii_struct_bases=[],
@@ -7026,6 +7577,65 @@ class CfnCluster(
7026
7577
  k + "=" + repr(v) for k, v in self._values.items()
7027
7578
  )
7028
7579
 
7580
+ @jsii.data_type(
7581
+ jsii_type="aws-cdk-lib.aws_eks.CfnCluster.StorageConfigProperty",
7582
+ jsii_struct_bases=[],
7583
+ name_mapping={"block_storage": "blockStorage"},
7584
+ )
7585
+ class StorageConfigProperty:
7586
+ def __init__(
7587
+ self,
7588
+ *,
7589
+ block_storage: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.BlockStorageProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7590
+ ) -> None:
7591
+ '''Todo: add description.
7592
+
7593
+ :param block_storage: Todo: add description.
7594
+
7595
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-storageconfig.html
7596
+ :exampleMetadata: fixture=_generated
7597
+
7598
+ Example::
7599
+
7600
+ # The code below shows an example of how to instantiate this type.
7601
+ # The values are placeholders you should change.
7602
+ from aws_cdk import aws_eks as eks
7603
+
7604
+ storage_config_property = eks.CfnCluster.StorageConfigProperty(
7605
+ block_storage=eks.CfnCluster.BlockStorageProperty(
7606
+ enabled=False
7607
+ )
7608
+ )
7609
+ '''
7610
+ if __debug__:
7611
+ type_hints = typing.get_type_hints(_typecheckingstub__7c0cf4e49e1451505acf9a439adfa8e025be8470793be5a9598964122b667fa8)
7612
+ check_type(argname="argument block_storage", value=block_storage, expected_type=type_hints["block_storage"])
7613
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
7614
+ if block_storage is not None:
7615
+ self._values["block_storage"] = block_storage
7616
+
7617
+ @builtins.property
7618
+ def block_storage(
7619
+ self,
7620
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.BlockStorageProperty"]]:
7621
+ '''Todo: add description.
7622
+
7623
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-storageconfig.html#cfn-eks-cluster-storageconfig-blockstorage
7624
+ '''
7625
+ result = self._values.get("block_storage")
7626
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.BlockStorageProperty"]], result)
7627
+
7628
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7629
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7630
+
7631
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7632
+ return not (rhs == self)
7633
+
7634
+ def __repr__(self) -> str:
7635
+ return "StorageConfigProperty(%s)" % ", ".join(
7636
+ k + "=" + repr(v) for k, v in self._values.items()
7637
+ )
7638
+
7029
7639
  @jsii.data_type(
7030
7640
  jsii_type="aws-cdk-lib.aws_eks.CfnCluster.UpgradePolicyProperty",
7031
7641
  jsii_struct_bases=[],
@@ -7147,11 +7757,14 @@ class CfnCluster(
7147
7757
  "role_arn": "roleArn",
7148
7758
  "access_config": "accessConfig",
7149
7759
  "bootstrap_self_managed_addons": "bootstrapSelfManagedAddons",
7760
+ "compute_config": "computeConfig",
7150
7761
  "encryption_config": "encryptionConfig",
7151
7762
  "kubernetes_network_config": "kubernetesNetworkConfig",
7152
7763
  "logging": "logging",
7153
7764
  "name": "name",
7154
7765
  "outpost_config": "outpostConfig",
7766
+ "remote_network_config": "remoteNetworkConfig",
7767
+ "storage_config": "storageConfig",
7155
7768
  "tags": "tags",
7156
7769
  "upgrade_policy": "upgradePolicy",
7157
7770
  "version": "version",
@@ -7166,11 +7779,14 @@ class CfnClusterProps:
7166
7779
  role_arn: builtins.str,
7167
7780
  access_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.AccessConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7168
7781
  bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
7782
+ compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ComputeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7169
7783
  encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.EncryptionConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
7170
7784
  kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.KubernetesNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7171
7785
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7172
7786
  name: typing.Optional[builtins.str] = None,
7173
7787
  outpost_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.OutpostConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7788
+ remote_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.RemoteNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7789
+ storage_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.StorageConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7174
7790
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7175
7791
  upgrade_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.UpgradePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7176
7792
  version: typing.Optional[builtins.str] = None,
@@ -7182,11 +7798,14 @@ class CfnClusterProps:
7182
7798
  :param role_arn: The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. For more information, see `Amazon EKS Service IAM Role <https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html>`_ in the **Amazon EKS User Guide** .
7183
7799
  :param access_config: The access configuration for the cluster.
7184
7800
  :param bootstrap_self_managed_addons: If you set this value to ``False`` when creating a cluster, the default networking add-ons will not be installed. The default networking addons include vpc-cni, coredns, and kube-proxy. Use this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.
7801
+ :param compute_config: Indicates the current configuration of the compute capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your AWS account. For more information, see EKS Auto Mode compute capability in the EKS User Guide.
7185
7802
  :param encryption_config: The encryption configuration for the cluster.
7186
7803
  :param kubernetes_network_config: The Kubernetes network configuration for the cluster.
7187
7804
  :param logging: The logging configuration for your cluster.
7188
7805
  :param name: The unique name to give to your cluster. The name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphanumeric character and can't be longer than 100 characters. The name must be unique within the AWS Region and AWS account that you're creating the cluster in. Note that underscores can't be used in AWS CloudFormation .
7189
7806
  :param outpost_config: An object representing the configuration of your local Amazon EKS cluster on an AWS Outpost. This object isn't available for clusters on the AWS cloud.
7807
+ :param remote_network_config: The configuration in the cluster for EKS Hybrid Nodes. You can't change or update this configuration after the cluster is created.
7808
+ :param storage_config: Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster. For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your AWS account. For more information, see EKS Auto Mode block storage capability in the EKS User Guide.
7190
7809
  :param tags: The metadata that you apply to the cluster to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Cluster tags don't propagate to any other resources associated with the cluster. .. epigraph:: You must have the ``eks:TagResource`` and ``eks:UntagResource`` permissions for your `IAM principal <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html>`_ to manage the AWS CloudFormation stack. If you don't have these permissions, there might be unexpected behavior with stack-level tags propagating to the resource during resource creation and update.
7191
7810
  :param upgrade_policy: This value indicates if extended support is enabled or disabled for the cluster. `Learn more about EKS Extended Support in the EKS User Guide. <https://docs.aws.amazon.com/eks/latest/userguide/extended-support-control.html>`_
7192
7811
  :param version: The desired Kubernetes version for your cluster. If you don't specify a value here, the default version available in Amazon EKS is used. .. epigraph:: The default version might not be the latest version available.
@@ -7219,6 +7838,11 @@ class CfnClusterProps:
7219
7838
  bootstrap_cluster_creator_admin_permissions=False
7220
7839
  ),
7221
7840
  bootstrap_self_managed_addons=False,
7841
+ compute_config=eks.CfnCluster.ComputeConfigProperty(
7842
+ enabled=False,
7843
+ node_pools=["nodePools"],
7844
+ node_role_arn="nodeRoleArn"
7845
+ ),
7222
7846
  encryption_config=[eks.CfnCluster.EncryptionConfigProperty(
7223
7847
  provider=eks.CfnCluster.ProviderProperty(
7224
7848
  key_arn="keyArn"
@@ -7226,6 +7850,9 @@ class CfnClusterProps:
7226
7850
  resources=["resources"]
7227
7851
  )],
7228
7852
  kubernetes_network_config=eks.CfnCluster.KubernetesNetworkConfigProperty(
7853
+ elastic_load_balancing=eks.CfnCluster.ElasticLoadBalancingProperty(
7854
+ enabled=False
7855
+ ),
7229
7856
  ip_family="ipFamily",
7230
7857
  service_ipv4_cidr="serviceIpv4Cidr",
7231
7858
  service_ipv6_cidr="serviceIpv6Cidr"
@@ -7247,6 +7874,21 @@ class CfnClusterProps:
7247
7874
  group_name="groupName"
7248
7875
  )
7249
7876
  ),
7877
+ remote_network_config=eks.CfnCluster.RemoteNetworkConfigProperty(
7878
+ remote_node_networks=[eks.CfnCluster.RemoteNodeNetworkProperty(
7879
+ cidrs=["cidrs"]
7880
+ )],
7881
+
7882
+ # the properties below are optional
7883
+ remote_pod_networks=[eks.CfnCluster.RemotePodNetworkProperty(
7884
+ cidrs=["cidrs"]
7885
+ )]
7886
+ ),
7887
+ storage_config=eks.CfnCluster.StorageConfigProperty(
7888
+ block_storage=eks.CfnCluster.BlockStorageProperty(
7889
+ enabled=False
7890
+ )
7891
+ ),
7250
7892
  tags=[CfnTag(
7251
7893
  key="key",
7252
7894
  value="value"
@@ -7266,11 +7908,14 @@ class CfnClusterProps:
7266
7908
  check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
7267
7909
  check_type(argname="argument access_config", value=access_config, expected_type=type_hints["access_config"])
7268
7910
  check_type(argname="argument bootstrap_self_managed_addons", value=bootstrap_self_managed_addons, expected_type=type_hints["bootstrap_self_managed_addons"])
7911
+ check_type(argname="argument compute_config", value=compute_config, expected_type=type_hints["compute_config"])
7269
7912
  check_type(argname="argument encryption_config", value=encryption_config, expected_type=type_hints["encryption_config"])
7270
7913
  check_type(argname="argument kubernetes_network_config", value=kubernetes_network_config, expected_type=type_hints["kubernetes_network_config"])
7271
7914
  check_type(argname="argument logging", value=logging, expected_type=type_hints["logging"])
7272
7915
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
7273
7916
  check_type(argname="argument outpost_config", value=outpost_config, expected_type=type_hints["outpost_config"])
7917
+ check_type(argname="argument remote_network_config", value=remote_network_config, expected_type=type_hints["remote_network_config"])
7918
+ check_type(argname="argument storage_config", value=storage_config, expected_type=type_hints["storage_config"])
7274
7919
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
7275
7920
  check_type(argname="argument upgrade_policy", value=upgrade_policy, expected_type=type_hints["upgrade_policy"])
7276
7921
  check_type(argname="argument version", value=version, expected_type=type_hints["version"])
@@ -7283,6 +7928,8 @@ class CfnClusterProps:
7283
7928
  self._values["access_config"] = access_config
7284
7929
  if bootstrap_self_managed_addons is not None:
7285
7930
  self._values["bootstrap_self_managed_addons"] = bootstrap_self_managed_addons
7931
+ if compute_config is not None:
7932
+ self._values["compute_config"] = compute_config
7286
7933
  if encryption_config is not None:
7287
7934
  self._values["encryption_config"] = encryption_config
7288
7935
  if kubernetes_network_config is not None:
@@ -7293,6 +7940,10 @@ class CfnClusterProps:
7293
7940
  self._values["name"] = name
7294
7941
  if outpost_config is not None:
7295
7942
  self._values["outpost_config"] = outpost_config
7943
+ if remote_network_config is not None:
7944
+ self._values["remote_network_config"] = remote_network_config
7945
+ if storage_config is not None:
7946
+ self._values["storage_config"] = storage_config
7296
7947
  if tags is not None:
7297
7948
  self._values["tags"] = tags
7298
7949
  if upgrade_policy is not None:
@@ -7354,6 +8005,19 @@ class CfnClusterProps:
7354
8005
  result = self._values.get("bootstrap_self_managed_addons")
7355
8006
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
7356
8007
 
8008
+ @builtins.property
8009
+ def compute_config(
8010
+ self,
8011
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.ComputeConfigProperty]]:
8012
+ '''Indicates the current configuration of the compute capability on your EKS Auto Mode cluster.
8013
+
8014
+ For example, if the capability is enabled or disabled. If the compute capability is enabled, EKS Auto Mode will create and delete EC2 Managed Instances in your AWS account. For more information, see EKS Auto Mode compute capability in the EKS User Guide.
8015
+
8016
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-computeconfig
8017
+ '''
8018
+ result = self._values.get("compute_config")
8019
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.ComputeConfigProperty]], result)
8020
+
7357
8021
  @builtins.property
7358
8022
  def encryption_config(
7359
8023
  self,
@@ -7411,6 +8075,32 @@ class CfnClusterProps:
7411
8075
  result = self._values.get("outpost_config")
7412
8076
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.OutpostConfigProperty]], result)
7413
8077
 
8078
+ @builtins.property
8079
+ def remote_network_config(
8080
+ self,
8081
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.RemoteNetworkConfigProperty]]:
8082
+ '''The configuration in the cluster for EKS Hybrid Nodes.
8083
+
8084
+ You can't change or update this configuration after the cluster is created.
8085
+
8086
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-remotenetworkconfig
8087
+ '''
8088
+ result = self._values.get("remote_network_config")
8089
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.RemoteNetworkConfigProperty]], result)
8090
+
8091
+ @builtins.property
8092
+ def storage_config(
8093
+ self,
8094
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.StorageConfigProperty]]:
8095
+ '''Indicates the current configuration of the block storage capability on your EKS Auto Mode cluster.
8096
+
8097
+ For example, if the capability is enabled or disabled. If the block storage capability is enabled, EKS Auto Mode will create and delete EBS volumes in your AWS account. For more information, see EKS Auto Mode block storage capability in the EKS User Guide.
8098
+
8099
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-storageconfig
8100
+ '''
8101
+ result = self._values.get("storage_config")
8102
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.StorageConfigProperty]], result)
8103
+
7414
8104
  @builtins.property
7415
8105
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
7416
8106
  '''The metadata that you apply to the cluster to assist with categorization and organization.
@@ -15157,6 +15847,10 @@ class NodegroupAmiType(enum.Enum):
15157
15847
  '''Windows Full 2022 (x86-64).'''
15158
15848
  AL2023_X86_64_STANDARD = "AL2023_X86_64_STANDARD"
15159
15849
  '''Amazon Linux 2023 (x86-64).'''
15850
+ AL2023_X86_64_NEURON = "AL2023_X86_64_NEURON"
15851
+ '''Amazon Linux 2023 with AWS Neuron drivers (x86-64).'''
15852
+ AL2023_X86_64_NVIDIA = "AL2023_X86_64_NVIDIA"
15853
+ '''Amazon Linux 2023 with NVIDIA drivers (x86-64).'''
15160
15854
  AL2023_ARM_64_STANDARD = "AL2023_ARM_64_STANDARD"
15161
15855
  '''Amazon Linux 2023 (ARM-64).'''
15162
15856
 
@@ -20720,11 +21414,14 @@ def _typecheckingstub__d3e62a858014f3867f3039d1328d57223fb0d16e3fb6d1e2d79279938
20720
21414
  role_arn: builtins.str,
20721
21415
  access_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.AccessConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20722
21416
  bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21417
+ compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ComputeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20723
21418
  encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.EncryptionConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
20724
21419
  kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.KubernetesNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20725
21420
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20726
21421
  name: typing.Optional[builtins.str] = None,
20727
21422
  outpost_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.OutpostConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21423
+ remote_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.RemoteNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21424
+ storage_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.StorageConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20728
21425
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
20729
21426
  upgrade_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.UpgradePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20730
21427
  version: typing.Optional[builtins.str] = None,
@@ -20769,6 +21466,12 @@ def _typecheckingstub__1b3725246139251af199def1d548b17a13e8ddd4df825377563ea01cd
20769
21466
  """Type checking stubs"""
20770
21467
  pass
20771
21468
 
21469
+ def _typecheckingstub__5d35f88b28db161e1414d604c41ffc1d10fcf76351a0503d110f81158a8e15ca(
21470
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.ComputeConfigProperty]],
21471
+ ) -> None:
21472
+ """Type checking stubs"""
21473
+ pass
21474
+
20772
21475
  def _typecheckingstub__b161fda542258d1cd8a20fecd3943cacecb658f19ab16b918baf49908459644c(
20773
21476
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCluster.EncryptionConfigProperty]]]],
20774
21477
  ) -> None:
@@ -20799,6 +21502,18 @@ def _typecheckingstub__f8fa649bbaac6b12d9fb99e325d6fa46e4aea0d9d4d376abd8c7ac600
20799
21502
  """Type checking stubs"""
20800
21503
  pass
20801
21504
 
21505
+ def _typecheckingstub__cbca5e74535463c8d56fe42358d9cdf712c85039267d6580c6b1dbd855c5f255(
21506
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.RemoteNetworkConfigProperty]],
21507
+ ) -> None:
21508
+ """Type checking stubs"""
21509
+ pass
21510
+
21511
+ def _typecheckingstub__d43c0cb2280b293bbb9f09aa10579d43dbb7df4786771157ba149230c817ecfa(
21512
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.StorageConfigProperty]],
21513
+ ) -> None:
21514
+ """Type checking stubs"""
21515
+ pass
21516
+
20802
21517
  def _typecheckingstub__201bfcb16f7ebd474e1c66a732f38f2234c0211f4a0ed45e7caebec7a8eb318a(
20803
21518
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
20804
21519
  ) -> None:
@@ -20831,6 +21546,13 @@ def _typecheckingstub__4bfbf6adbd6203efb1ecf28834fc96b1030344f6fe766203b105462b9
20831
21546
  """Type checking stubs"""
20832
21547
  pass
20833
21548
 
21549
+ def _typecheckingstub__11cdae187ae128dcf0eca6a85c8d94b7c2ef69a0d54a9bd1917a1e27f48a5125(
21550
+ *,
21551
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21552
+ ) -> None:
21553
+ """Type checking stubs"""
21554
+ pass
21555
+
20834
21556
  def _typecheckingstub__bf130126df3bc60611c7a3c0cab41949e35646410234341f59bc4dd2629f5996(
20835
21557
  *,
20836
21558
  enabled_types: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingTypeConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
@@ -20838,6 +21560,15 @@ def _typecheckingstub__bf130126df3bc60611c7a3c0cab41949e35646410234341f59bc4dd26
20838
21560
  """Type checking stubs"""
20839
21561
  pass
20840
21562
 
21563
+ def _typecheckingstub__340acb2fac13d871050a5222d012205ae59e347bfba164c5431785621f6661b6(
21564
+ *,
21565
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21566
+ node_pools: typing.Optional[typing.Sequence[builtins.str]] = None,
21567
+ node_role_arn: typing.Optional[builtins.str] = None,
21568
+ ) -> None:
21569
+ """Type checking stubs"""
21570
+ pass
21571
+
20841
21572
  def _typecheckingstub__d660e36a8e8c346e58bf586d09e62d3f36938b9cb7b40e9842c007af8090a1d3(
20842
21573
  *,
20843
21574
  group_name: typing.Optional[builtins.str] = None,
@@ -20845,6 +21576,13 @@ def _typecheckingstub__d660e36a8e8c346e58bf586d09e62d3f36938b9cb7b40e9842c007af8
20845
21576
  """Type checking stubs"""
20846
21577
  pass
20847
21578
 
21579
+ def _typecheckingstub__41c8959626c6cd4c3ff5a15cfb2de0bea1a0b654c1bd2e0a62c4841ab19277cc(
21580
+ *,
21581
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21582
+ ) -> None:
21583
+ """Type checking stubs"""
21584
+ pass
21585
+
20848
21586
  def _typecheckingstub__f49095254b4d4121f694873b18c2ef5026ef5539eb56b045195b577601e55f41(
20849
21587
  *,
20850
21588
  provider: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ProviderProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -20855,6 +21593,7 @@ def _typecheckingstub__f49095254b4d4121f694873b18c2ef5026ef5539eb56b045195b57760
20855
21593
 
20856
21594
  def _typecheckingstub__0a92b4e070a67c74edb8714df451b4d215084e3116055e205e49b92778b8704f(
20857
21595
  *,
21596
+ elastic_load_balancing: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ElasticLoadBalancingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20858
21597
  ip_family: typing.Optional[builtins.str] = None,
20859
21598
  service_ipv4_cidr: typing.Optional[builtins.str] = None,
20860
21599
  service_ipv6_cidr: typing.Optional[builtins.str] = None,
@@ -20892,6 +21631,28 @@ def _typecheckingstub__0335c5b37409b58aeeda75dd12fbc1f97e1731a3d1f059652c77cea88
20892
21631
  """Type checking stubs"""
20893
21632
  pass
20894
21633
 
21634
+ def _typecheckingstub__29b132ee7bcaaae9fba08ec6dcbfb1b776b9043d57574e18c26975e2109c5a02(
21635
+ *,
21636
+ remote_node_networks: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.RemoteNodeNetworkProperty, typing.Dict[builtins.str, typing.Any]]]]],
21637
+ remote_pod_networks: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.RemotePodNetworkProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
21638
+ ) -> None:
21639
+ """Type checking stubs"""
21640
+ pass
21641
+
21642
+ def _typecheckingstub__3c788baedbcb7f230114fd8b1ee014478977a6bcf1e2ac104dbaa8f48eda3f53(
21643
+ *,
21644
+ cidrs: typing.Sequence[builtins.str],
21645
+ ) -> None:
21646
+ """Type checking stubs"""
21647
+ pass
21648
+
21649
+ def _typecheckingstub__51b845e43ba054d464150b1f0fffb60f026af086df16857e5625284cc8b922c6(
21650
+ *,
21651
+ cidrs: typing.Sequence[builtins.str],
21652
+ ) -> None:
21653
+ """Type checking stubs"""
21654
+ pass
21655
+
20895
21656
  def _typecheckingstub__986289b8a80017f390950fa94e8370d9961848f3cf42f347c78c0c91f0d06148(
20896
21657
  *,
20897
21658
  subnet_ids: typing.Sequence[builtins.str],
@@ -20903,6 +21664,13 @@ def _typecheckingstub__986289b8a80017f390950fa94e8370d9961848f3cf42f347c78c0c91f
20903
21664
  """Type checking stubs"""
20904
21665
  pass
20905
21666
 
21667
+ def _typecheckingstub__7c0cf4e49e1451505acf9a439adfa8e025be8470793be5a9598964122b667fa8(
21668
+ *,
21669
+ block_storage: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.BlockStorageProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21670
+ ) -> None:
21671
+ """Type checking stubs"""
21672
+ pass
21673
+
20906
21674
  def _typecheckingstub__86073c3bbbda3151a59b8c04b7d831693a2bba55bb8a817197ab0618c69197b6(
20907
21675
  *,
20908
21676
  support_type: typing.Optional[builtins.str] = None,
@@ -20923,11 +21691,14 @@ def _typecheckingstub__270f142a59c249328ab174c5b0484cfdae6e3110ab52578dbe783d6f8
20923
21691
  role_arn: builtins.str,
20924
21692
  access_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.AccessConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20925
21693
  bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21694
+ compute_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ComputeConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20926
21695
  encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.EncryptionConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
20927
21696
  kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.KubernetesNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20928
21697
  logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20929
21698
  name: typing.Optional[builtins.str] = None,
20930
21699
  outpost_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.OutpostConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21700
+ remote_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.RemoteNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21701
+ storage_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.StorageConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20931
21702
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
20932
21703
  upgrade_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.UpgradePolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20933
21704
  version: typing.Optional[builtins.str] = None,