aws-cdk-lib 2.200.2__py3-none-any.whl → 2.201.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 (53) hide show
  1. aws_cdk/__init__.py +105 -13
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.201.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +2 -3
  5. aws_cdk/aws_amplify/__init__.py +3 -3
  6. aws_cdk/aws_apigateway/__init__.py +21 -17
  7. aws_cdk/aws_apigatewayv2/__init__.py +87 -45
  8. aws_cdk/aws_appconfig/__init__.py +38 -1
  9. aws_cdk/aws_appsync/__init__.py +10 -10
  10. aws_cdk/aws_athena/__init__.py +226 -0
  11. aws_cdk/aws_autoscaling/__init__.py +38 -37
  12. aws_cdk/aws_bedrock/__init__.py +5108 -1571
  13. aws_cdk/aws_cloudfront/__init__.py +8 -0
  14. aws_cdk/aws_cloudtrail/__init__.py +178 -0
  15. aws_cdk/aws_cloudwatch/__init__.py +7 -3
  16. aws_cdk/aws_codepipeline_actions/__init__.py +746 -0
  17. aws_cdk/aws_connect/__init__.py +5 -5
  18. aws_cdk/aws_customerprofiles/__init__.py +377 -8
  19. aws_cdk/aws_datasync/__init__.py +189 -160
  20. aws_cdk/aws_datazone/__init__.py +512 -170
  21. aws_cdk/aws_deadline/__init__.py +32 -4
  22. aws_cdk/aws_dsql/__init__.py +150 -10
  23. aws_cdk/aws_ec2/__init__.py +793 -56
  24. aws_cdk/aws_ecs/__init__.py +94 -11
  25. aws_cdk/aws_efs/__init__.py +92 -12
  26. aws_cdk/aws_eks/__init__.py +166 -19
  27. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  28. aws_cdk/aws_emr/__init__.py +10 -4
  29. aws_cdk/aws_entityresolution/__init__.py +25 -10
  30. aws_cdk/aws_evs/__init__.py +2204 -0
  31. aws_cdk/aws_fsx/__init__.py +7 -7
  32. aws_cdk/aws_lambda/__init__.py +409 -32
  33. aws_cdk/aws_lightsail/__init__.py +17 -13
  34. aws_cdk/aws_logs/__init__.py +1 -0
  35. aws_cdk/aws_networkfirewall/__init__.py +562 -0
  36. aws_cdk/aws_opensearchservice/__init__.py +3 -3
  37. aws_cdk/aws_opsworkscm/__init__.py +9 -43
  38. aws_cdk/aws_rds/__init__.py +284 -87
  39. aws_cdk/aws_s3/__init__.py +23 -15
  40. aws_cdk/aws_sagemaker/__init__.py +223 -3
  41. aws_cdk/aws_securityhub/__init__.py +18 -34
  42. aws_cdk/aws_ssm/__init__.py +83 -1
  43. aws_cdk/aws_stepfunctions/__init__.py +235 -45
  44. aws_cdk/aws_synthetics/__init__.py +74 -0
  45. aws_cdk/aws_transfer/__init__.py +3 -3
  46. aws_cdk/aws_verifiedpermissions/__init__.py +17 -6
  47. aws_cdk/aws_wafv2/__init__.py +39 -2
  48. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.201.0.dist-info}/METADATA +2 -2
  49. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.201.0.dist-info}/RECORD +53 -52
  50. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.201.0.dist-info}/LICENSE +0 -0
  51. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.201.0.dist-info}/NOTICE +0 -0
  52. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.201.0.dist-info}/WHEEL +0 -0
  53. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.201.0.dist-info}/top_level.txt +0 -0
@@ -1144,6 +1144,12 @@ eks.Cluster(self, "Cluster",
1144
1144
  )
1145
1145
  ```
1146
1146
 
1147
+ ### Self-Managed Add-ons
1148
+
1149
+ Amazon EKS automatically installs self-managed add-ons such as the Amazon VPC CNI plugin for Kubernetes, kube-proxy, and CoreDNS for every cluster. You can change the default configuration of the add-ons and update them when desired. If you wish to create a cluster without the default add-ons, set `bootstrapSelfManagedAddons` as `false`. When this is set to false, make sure to install the necessary alternatives which provide functionality that enables pod and service operations for your EKS cluster.
1150
+
1151
+ > Changing the value of `bootstrapSelfManagedAddons` after the EKS cluster creation will result in a replacement of the cluster.
1152
+
1147
1153
  ## Permissions and Security
1148
1154
 
1149
1155
  Amazon EKS provides several mechanism of securing the cluster and granting permissions to specific IAM users and roles.
@@ -6090,7 +6096,7 @@ class CfnCluster(
6090
6096
 
6091
6097
  Amazon EKS nodes run in your AWS account and connect to your cluster's control plane over the Kubernetes API server endpoint and a certificate file that is created for your cluster.
6092
6098
 
6093
- You can use the ``endpointPublicAccess`` and ``endpointPrivateAccess`` parameters to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. For more information, see `Amazon EKS Cluster Endpoint Access Control <https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html>`_ in the **Amazon EKS User Guide** .
6099
+ You can use the ``endpointPublicAccess`` and ``endpointPrivateAccess`` parameters to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. The endpoint domain name and IP address family depends on the value of the ``ipFamily`` for the cluster. For more information, see `Amazon EKS Cluster Endpoint Access Control <https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html>`_ in the **Amazon EKS User Guide** .
6094
6100
 
6095
6101
  You can use the ``logging`` parameter to enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see `Amazon EKS Cluster Control Plane Logs <https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html>`_ in the **Amazon EKS User Guide** .
6096
6102
  .. epigraph::
@@ -7859,9 +7865,9 @@ class CfnCluster(
7859
7865
  - ``PublicAccessCidrs``
7860
7866
 
7861
7867
  :param subnet_ids: Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your nodes and the Kubernetes control plane.
7862
- :param endpoint_private_access: Set this value to ``true`` to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is ``false`` , which disables private access for your Kubernetes API server. If you disable private access and you have nodes or AWS Fargate pods in the cluster, then ensure that ``publicAccessCidrs`` includes the necessary CIDR blocks for communication with the nodes or Fargate pods. For more information, see `Amazon EKS cluster endpoint access control <https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html>`_ in the **Amazon EKS User Guide** .
7863
- :param endpoint_public_access: Set this value to ``false`` to disable public access to your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is ``true`` , which enables public access for your Kubernetes API server. For more information, see `Amazon EKS cluster endpoint access control <https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html>`_ in the **Amazon EKS User Guide** .
7864
- :param public_access_cidrs: The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is ``0.0.0.0/0`` . If you've disabled private endpoint access, make sure that you specify the necessary CIDR blocks for every node and AWS Fargate ``Pod`` in the cluster. For more information, see `Amazon EKS cluster endpoint access control <https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html>`_ in the **Amazon EKS User Guide** .
7868
+ :param endpoint_private_access: Set this value to ``true`` to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is ``false`` , which disables private access for your Kubernetes API server. If you disable private access and you have nodes or AWS Fargate pods in the cluster, then ensure that ``publicAccessCidrs`` includes the necessary CIDR blocks for communication with the nodes or Fargate pods. For more information, see `Cluster API server endpoint <https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html>`_ in the **Amazon EKS User Guide** .
7869
+ :param endpoint_public_access: Set this value to ``false`` to disable public access to your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is ``true`` , which enables public access for your Kubernetes API server. The endpoint domain name and IP address family depends on the value of the ``ipFamily`` for the cluster. For more information, see `Cluster API server endpoint <https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html>`_ in the **Amazon EKS User Guide** .
7870
+ :param public_access_cidrs: The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is ``0.0.0.0/0`` and additionally ``::/0`` for dual-stack ``IPv6`` clusters. If you've disabled private endpoint access, make sure that you specify the necessary CIDR blocks for every node and AWS Fargate ``Pod`` in the cluster. For more information, see `Cluster API server endpoint <https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html>`_ in the **Amazon EKS User Guide** . Note that the public endpoints are dual-stack for only ``IPv6`` clusters that are made after October 2024. You can't add ``IPv6`` CIDR blocks to ``IPv4`` clusters or ``IPv6`` clusters that were made before October 2024.
7865
7871
  :param security_group_ids: Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use that allow communication between your nodes and the Kubernetes control plane. If you don't specify any security groups, then familiarize yourself with the difference between Amazon EKS defaults for clusters deployed with Kubernetes. For more information, see `Amazon EKS security group considerations <https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html>`_ in the **Amazon EKS User Guide** .
7866
7872
 
7867
7873
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-resourcesvpcconfig.html
@@ -7920,7 +7926,7 @@ class CfnCluster(
7920
7926
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
7921
7927
  '''Set this value to ``true`` to enable private access for your cluster's Kubernetes API server endpoint.
7922
7928
 
7923
- If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is ``false`` , which disables private access for your Kubernetes API server. If you disable private access and you have nodes or AWS Fargate pods in the cluster, then ensure that ``publicAccessCidrs`` includes the necessary CIDR blocks for communication with the nodes or Fargate pods. For more information, see `Amazon EKS cluster endpoint access control <https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html>`_ in the **Amazon EKS User Guide** .
7929
+ If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is ``false`` , which disables private access for your Kubernetes API server. If you disable private access and you have nodes or AWS Fargate pods in the cluster, then ensure that ``publicAccessCidrs`` includes the necessary CIDR blocks for communication with the nodes or Fargate pods. For more information, see `Cluster API server endpoint <https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html>`_ in the **Amazon EKS User Guide** .
7924
7930
 
7925
7931
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-resourcesvpcconfig.html#cfn-eks-cluster-resourcesvpcconfig-endpointprivateaccess
7926
7932
  '''
@@ -7933,7 +7939,7 @@ class CfnCluster(
7933
7939
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
7934
7940
  '''Set this value to ``false`` to disable public access to your cluster's Kubernetes API server endpoint.
7935
7941
 
7936
- If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is ``true`` , which enables public access for your Kubernetes API server. For more information, see `Amazon EKS cluster endpoint access control <https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html>`_ in the **Amazon EKS User Guide** .
7942
+ If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is ``true`` , which enables public access for your Kubernetes API server. The endpoint domain name and IP address family depends on the value of the ``ipFamily`` for the cluster. For more information, see `Cluster API server endpoint <https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html>`_ in the **Amazon EKS User Guide** .
7937
7943
 
7938
7944
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-resourcesvpcconfig.html#cfn-eks-cluster-resourcesvpcconfig-endpointpublicaccess
7939
7945
  '''
@@ -7944,7 +7950,9 @@ class CfnCluster(
7944
7950
  def public_access_cidrs(self) -> typing.Optional[typing.List[builtins.str]]:
7945
7951
  '''The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint.
7946
7952
 
7947
- Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is ``0.0.0.0/0`` . If you've disabled private endpoint access, make sure that you specify the necessary CIDR blocks for every node and AWS Fargate ``Pod`` in the cluster. For more information, see `Amazon EKS cluster endpoint access control <https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html>`_ in the **Amazon EKS User Guide** .
7953
+ Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is ``0.0.0.0/0`` and additionally ``::/0`` for dual-stack ``IPv6`` clusters. If you've disabled private endpoint access, make sure that you specify the necessary CIDR blocks for every node and AWS Fargate ``Pod`` in the cluster. For more information, see `Cluster API server endpoint <https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html>`_ in the **Amazon EKS User Guide** .
7954
+
7955
+ Note that the public endpoints are dual-stack for only ``IPv6`` clusters that are made after October 2024. You can't add ``IPv6`` CIDR blocks to ``IPv4`` clusters or ``IPv6`` clusters that were made before October 2024.
7948
7956
 
7949
7957
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-resourcesvpcconfig.html#cfn-eks-cluster-resourcesvpcconfig-publicaccesscidrs
7950
7958
  '''
@@ -11207,10 +11215,12 @@ class CfnPodIdentityAssociation(
11207
11215
  service_account="serviceAccount",
11208
11216
 
11209
11217
  # the properties below are optional
11218
+ disable_session_tags=False,
11210
11219
  tags=[CfnTag(
11211
11220
  key="key",
11212
11221
  value="value"
11213
- )]
11222
+ )],
11223
+ target_role_arn="targetRoleArn"
11214
11224
  )
11215
11225
  '''
11216
11226
 
@@ -11223,7 +11233,9 @@ class CfnPodIdentityAssociation(
11223
11233
  namespace: builtins.str,
11224
11234
  role_arn: builtins.str,
11225
11235
  service_account: builtins.str,
11236
+ disable_session_tags: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
11226
11237
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
11238
+ target_role_arn: typing.Optional[builtins.str] = None,
11227
11239
  ) -> None:
11228
11240
  '''
11229
11241
  :param scope: Scope in which this resource is defined.
@@ -11232,7 +11244,9 @@ class CfnPodIdentityAssociation(
11232
11244
  :param namespace: The name of the Kubernetes namespace inside the cluster to create the association in. The service account and the pods that use the service account must be in this namespace.
11233
11245
  :param role_arn: The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity agent manages credentials to assume this role for applications in the containers in the pods that use this service account.
11234
11246
  :param service_account: The name of the Kubernetes service account inside the cluster to associate the IAM credentials with.
11247
+ :param disable_session_tags: The Disable Session Tags of the pod identity association.
11235
11248
  :param tags: Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or AWS resources. The following basic restrictions apply to tags: - Maximum number of tags per resource – 50 - For each resource, each tag key must be unique, and each tag key can have only one value. - Maximum key length – 128 Unicode characters in UTF-8 - Maximum value length – 256 Unicode characters in UTF-8 - If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : /
11249
+ :param target_role_arn: The Target Role Arn of the pod identity association.
11236
11250
  '''
11237
11251
  if __debug__:
11238
11252
  type_hints = typing.get_type_hints(_typecheckingstub__be8311b6089cea26f85c63a586f0c5b063230a1b4a96ffcd4c6c983a331d8652)
@@ -11243,7 +11257,9 @@ class CfnPodIdentityAssociation(
11243
11257
  namespace=namespace,
11244
11258
  role_arn=role_arn,
11245
11259
  service_account=service_account,
11260
+ disable_session_tags=disable_session_tags,
11246
11261
  tags=tags,
11262
+ target_role_arn=target_role_arn,
11247
11263
  )
11248
11264
 
11249
11265
  jsii.create(self.__class__, self, [scope, id, props])
@@ -11296,6 +11312,15 @@ class CfnPodIdentityAssociation(
11296
11312
  '''
11297
11313
  return typing.cast(builtins.str, jsii.get(self, "attrAssociationId"))
11298
11314
 
11315
+ @builtins.property
11316
+ @jsii.member(jsii_name="attrExternalId")
11317
+ def attr_external_id(self) -> builtins.str:
11318
+ '''The External Id of the pod identity association.
11319
+
11320
+ :cloudformationAttribute: ExternalId
11321
+ '''
11322
+ return typing.cast(builtins.str, jsii.get(self, "attrExternalId"))
11323
+
11299
11324
  @builtins.property
11300
11325
  @jsii.member(jsii_name="cdkTagManager")
11301
11326
  def cdk_tag_manager(self) -> _TagManager_0a598cb3:
@@ -11359,6 +11384,24 @@ class CfnPodIdentityAssociation(
11359
11384
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11360
11385
  jsii.set(self, "serviceAccount", value) # pyright: ignore[reportArgumentType]
11361
11386
 
11387
+ @builtins.property
11388
+ @jsii.member(jsii_name="disableSessionTags")
11389
+ def disable_session_tags(
11390
+ self,
11391
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
11392
+ '''The Disable Session Tags of the pod identity association.'''
11393
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "disableSessionTags"))
11394
+
11395
+ @disable_session_tags.setter
11396
+ def disable_session_tags(
11397
+ self,
11398
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
11399
+ ) -> None:
11400
+ if __debug__:
11401
+ type_hints = typing.get_type_hints(_typecheckingstub__cb3dbe4cc3b44e9265bbfe13e41235db909b0c1dc0e052b3bdda07fd4b228e8b)
11402
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11403
+ jsii.set(self, "disableSessionTags", value) # pyright: ignore[reportArgumentType]
11404
+
11362
11405
  @builtins.property
11363
11406
  @jsii.member(jsii_name="tags")
11364
11407
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -11372,6 +11415,19 @@ class CfnPodIdentityAssociation(
11372
11415
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11373
11416
  jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
11374
11417
 
11418
+ @builtins.property
11419
+ @jsii.member(jsii_name="targetRoleArn")
11420
+ def target_role_arn(self) -> typing.Optional[builtins.str]:
11421
+ '''The Target Role Arn of the pod identity association.'''
11422
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "targetRoleArn"))
11423
+
11424
+ @target_role_arn.setter
11425
+ def target_role_arn(self, value: typing.Optional[builtins.str]) -> None:
11426
+ if __debug__:
11427
+ type_hints = typing.get_type_hints(_typecheckingstub__cb6220c6db8cf93a8a307b1ba0630d6bc64b4a09325e7cfe5854228aa75ff833)
11428
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11429
+ jsii.set(self, "targetRoleArn", value) # pyright: ignore[reportArgumentType]
11430
+
11375
11431
 
11376
11432
  @jsii.data_type(
11377
11433
  jsii_type="aws-cdk-lib.aws_eks.CfnPodIdentityAssociationProps",
@@ -11381,7 +11437,9 @@ class CfnPodIdentityAssociation(
11381
11437
  "namespace": "namespace",
11382
11438
  "role_arn": "roleArn",
11383
11439
  "service_account": "serviceAccount",
11440
+ "disable_session_tags": "disableSessionTags",
11384
11441
  "tags": "tags",
11442
+ "target_role_arn": "targetRoleArn",
11385
11443
  },
11386
11444
  )
11387
11445
  class CfnPodIdentityAssociationProps:
@@ -11392,7 +11450,9 @@ class CfnPodIdentityAssociationProps:
11392
11450
  namespace: builtins.str,
11393
11451
  role_arn: builtins.str,
11394
11452
  service_account: builtins.str,
11453
+ disable_session_tags: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
11395
11454
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
11455
+ target_role_arn: typing.Optional[builtins.str] = None,
11396
11456
  ) -> None:
11397
11457
  '''Properties for defining a ``CfnPodIdentityAssociation``.
11398
11458
 
@@ -11400,7 +11460,9 @@ class CfnPodIdentityAssociationProps:
11400
11460
  :param namespace: The name of the Kubernetes namespace inside the cluster to create the association in. The service account and the pods that use the service account must be in this namespace.
11401
11461
  :param role_arn: The Amazon Resource Name (ARN) of the IAM role to associate with the service account. The EKS Pod Identity agent manages credentials to assume this role for applications in the containers in the pods that use this service account.
11402
11462
  :param service_account: The name of the Kubernetes service account inside the cluster to associate the IAM credentials with.
11463
+ :param disable_session_tags: The Disable Session Tags of the pod identity association.
11403
11464
  :param tags: Metadata that assists with categorization and organization. Each tag consists of a key and an optional value. You define both. Tags don't propagate to any other cluster or AWS resources. The following basic restrictions apply to tags: - Maximum number of tags per resource – 50 - For each resource, each tag key must be unique, and each tag key can have only one value. - Maximum key length – 128 Unicode characters in UTF-8 - Maximum value length – 256 Unicode characters in UTF-8 - If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : /
11465
+ :param target_role_arn: The Target Role Arn of the pod identity association.
11404
11466
 
11405
11467
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html
11406
11468
  :exampleMetadata: fixture=_generated
@@ -11418,10 +11480,12 @@ class CfnPodIdentityAssociationProps:
11418
11480
  service_account="serviceAccount",
11419
11481
 
11420
11482
  # the properties below are optional
11483
+ disable_session_tags=False,
11421
11484
  tags=[CfnTag(
11422
11485
  key="key",
11423
11486
  value="value"
11424
- )]
11487
+ )],
11488
+ target_role_arn="targetRoleArn"
11425
11489
  )
11426
11490
  '''
11427
11491
  if __debug__:
@@ -11430,15 +11494,21 @@ class CfnPodIdentityAssociationProps:
11430
11494
  check_type(argname="argument namespace", value=namespace, expected_type=type_hints["namespace"])
11431
11495
  check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
11432
11496
  check_type(argname="argument service_account", value=service_account, expected_type=type_hints["service_account"])
11497
+ check_type(argname="argument disable_session_tags", value=disable_session_tags, expected_type=type_hints["disable_session_tags"])
11433
11498
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
11499
+ check_type(argname="argument target_role_arn", value=target_role_arn, expected_type=type_hints["target_role_arn"])
11434
11500
  self._values: typing.Dict[builtins.str, typing.Any] = {
11435
11501
  "cluster_name": cluster_name,
11436
11502
  "namespace": namespace,
11437
11503
  "role_arn": role_arn,
11438
11504
  "service_account": service_account,
11439
11505
  }
11506
+ if disable_session_tags is not None:
11507
+ self._values["disable_session_tags"] = disable_session_tags
11440
11508
  if tags is not None:
11441
11509
  self._values["tags"] = tags
11510
+ if target_role_arn is not None:
11511
+ self._values["target_role_arn"] = target_role_arn
11442
11512
 
11443
11513
  @builtins.property
11444
11514
  def cluster_name(self) -> builtins.str:
@@ -11484,6 +11554,17 @@ class CfnPodIdentityAssociationProps:
11484
11554
  assert result is not None, "Required property 'service_account' is missing"
11485
11555
  return typing.cast(builtins.str, result)
11486
11556
 
11557
+ @builtins.property
11558
+ def disable_session_tags(
11559
+ self,
11560
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
11561
+ '''The Disable Session Tags of the pod identity association.
11562
+
11563
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html#cfn-eks-podidentityassociation-disablesessiontags
11564
+ '''
11565
+ result = self._values.get("disable_session_tags")
11566
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
11567
+
11487
11568
  @builtins.property
11488
11569
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
11489
11570
  '''Metadata that assists with categorization and organization.
@@ -11509,6 +11590,15 @@ class CfnPodIdentityAssociationProps:
11509
11590
  result = self._values.get("tags")
11510
11591
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
11511
11592
 
11593
+ @builtins.property
11594
+ def target_role_arn(self) -> typing.Optional[builtins.str]:
11595
+ '''The Target Role Arn of the pod identity association.
11596
+
11597
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-podidentityassociation.html#cfn-eks-podidentityassociation-targetrolearn
11598
+ '''
11599
+ result = self._values.get("target_role_arn")
11600
+ return typing.cast(typing.Optional[builtins.str], result)
11601
+
11512
11602
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
11513
11603
  return isinstance(rhs, self.__class__) and rhs._values == self._values
11514
11604
 
@@ -12007,7 +12097,7 @@ class CommonClusterOptions:
12007
12097
  :param version: The Kubernetes version to run in the cluster.
12008
12098
  :param cluster_name: Name for the cluster. Default: - Automatically generated name
12009
12099
  :param output_cluster_name: Determines whether a CloudFormation output with the name of the cluster will be synthesized. Default: false
12010
- :param output_config_command: Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized. This command will include the cluster name and, if applicable, the ARN of the masters IAM role. Default: true
12100
+ :param output_config_command: Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized. This command will include the cluster name and the ARN of the masters IAM role. Note: If mastersRole is not specified, this property will be ignored and no config command will be emitted. Default: true
12011
12101
  :param role: Role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Default: - A role is automatically created for you
12012
12102
  :param security_group: Security Group to use for Control Plane ENIs. Default: - A security group is automatically created
12013
12103
  :param vpc: The VPC in which to create the Cluster. Default: - a VPC with default configuration will be created and can be accessed through ``cluster.vpc``.
@@ -12108,9 +12198,13 @@ class CommonClusterOptions:
12108
12198
  '''Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized.
12109
12199
 
12110
12200
  This command will include
12111
- the cluster name and, if applicable, the ARN of the masters IAM role.
12201
+ the cluster name and the ARN of the masters IAM role.
12202
+
12203
+ Note: If mastersRole is not specified, this property will be ignored and no config command will be emitted.
12112
12204
 
12113
12205
  :default: true
12206
+
12207
+ :see: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_eks-readme.html#masters-role
12114
12208
  '''
12115
12209
  result = self._values.get("output_config_command")
12116
12210
  return typing.cast(typing.Optional[builtins.bool], result)
@@ -18591,6 +18685,7 @@ class Cluster(
18591
18685
  id: builtins.str,
18592
18686
  *,
18593
18687
  bootstrap_cluster_creator_admin_permissions: typing.Optional[builtins.bool] = None,
18688
+ bootstrap_self_managed_addons: typing.Optional[builtins.bool] = None,
18594
18689
  default_capacity: typing.Optional[jsii.Number] = None,
18595
18690
  default_capacity_instance: typing.Optional[_InstanceType_f64915b9] = None,
18596
18691
  default_capacity_type: typing.Optional[DefaultCapacityType] = None,
@@ -18631,6 +18726,7 @@ class Cluster(
18631
18726
  :param scope: a Construct, most likely a cdk.Stack created.
18632
18727
  :param id: the id of the Construct to create.
18633
18728
  :param bootstrap_cluster_creator_admin_permissions: Whether or not IAM principal of the cluster creator was set as a cluster admin access entry during cluster creation time. Changing this value after the cluster has been created will result in the cluster being replaced. Default: true
18729
+ :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. Changing this value after the cluster has been created will result in the cluster being replaced. Default: true
18634
18730
  :param default_capacity: Number of instances to allocate as an initial capacity for this cluster. Instance type can be configured through ``defaultCapacityInstanceType``, which defaults to ``m5.large``. Use ``cluster.addAutoScalingGroupCapacity`` to add additional customized capacity. Set this to ``0`` is you wish to avoid the initial capacity allocation. Default: 2
18635
18731
  :param default_capacity_instance: The instance type to use for the default capacity. This will only be taken into account if ``defaultCapacity`` is > 0. Default: m5.large
18636
18732
  :param default_capacity_type: The default capacity type for the cluster. Default: NODEGROUP
@@ -18660,7 +18756,7 @@ class Cluster(
18660
18756
  :param version: The Kubernetes version to run in the cluster.
18661
18757
  :param cluster_name: Name for the cluster. Default: - Automatically generated name
18662
18758
  :param output_cluster_name: Determines whether a CloudFormation output with the name of the cluster will be synthesized. Default: false
18663
- :param output_config_command: Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized. This command will include the cluster name and, if applicable, the ARN of the masters IAM role. Default: true
18759
+ :param output_config_command: Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized. This command will include the cluster name and the ARN of the masters IAM role. Note: If mastersRole is not specified, this property will be ignored and no config command will be emitted. Default: true
18664
18760
  :param role: Role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Default: - A role is automatically created for you
18665
18761
  :param security_group: Security Group to use for Control Plane ENIs. Default: - A security group is automatically created
18666
18762
  :param vpc: The VPC in which to create the Cluster. Default: - a VPC with default configuration will be created and can be accessed through ``cluster.vpc``.
@@ -18672,6 +18768,7 @@ class Cluster(
18672
18768
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
18673
18769
  props = ClusterProps(
18674
18770
  bootstrap_cluster_creator_admin_permissions=bootstrap_cluster_creator_admin_permissions,
18771
+ bootstrap_self_managed_addons=bootstrap_self_managed_addons,
18675
18772
  default_capacity=default_capacity,
18676
18773
  default_capacity_instance=default_capacity_instance,
18677
18774
  default_capacity_type=default_capacity_type,
@@ -19686,7 +19783,7 @@ class ClusterOptions(CommonClusterOptions):
19686
19783
  :param version: The Kubernetes version to run in the cluster.
19687
19784
  :param cluster_name: Name for the cluster. Default: - Automatically generated name
19688
19785
  :param output_cluster_name: Determines whether a CloudFormation output with the name of the cluster will be synthesized. Default: false
19689
- :param output_config_command: Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized. This command will include the cluster name and, if applicable, the ARN of the masters IAM role. Default: true
19786
+ :param output_config_command: Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized. This command will include the cluster name and the ARN of the masters IAM role. Note: If mastersRole is not specified, this property will be ignored and no config command will be emitted. Default: true
19690
19787
  :param role: Role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Default: - A role is automatically created for you
19691
19788
  :param security_group: Security Group to use for Control Plane ENIs. Default: - A security group is automatically created
19692
19789
  :param vpc: The VPC in which to create the Cluster. Default: - a VPC with default configuration will be created and can be accessed through ``cluster.vpc``.
@@ -19920,9 +20017,13 @@ class ClusterOptions(CommonClusterOptions):
19920
20017
  '''Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized.
19921
20018
 
19922
20019
  This command will include
19923
- the cluster name and, if applicable, the ARN of the masters IAM role.
20020
+ the cluster name and the ARN of the masters IAM role.
20021
+
20022
+ Note: If mastersRole is not specified, this property will be ignored and no config command will be emitted.
19924
20023
 
19925
20024
  :default: true
20025
+
20026
+ :see: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_eks-readme.html#masters-role
19926
20027
  '''
19927
20028
  result = self._values.get("output_config_command")
19928
20029
  return typing.cast(typing.Optional[builtins.bool], result)
@@ -20262,6 +20363,7 @@ class ClusterOptions(CommonClusterOptions):
20262
20363
  "secrets_encryption_key": "secretsEncryptionKey",
20263
20364
  "service_ipv4_cidr": "serviceIpv4Cidr",
20264
20365
  "bootstrap_cluster_creator_admin_permissions": "bootstrapClusterCreatorAdminPermissions",
20366
+ "bootstrap_self_managed_addons": "bootstrapSelfManagedAddons",
20265
20367
  "default_capacity": "defaultCapacity",
20266
20368
  "default_capacity_instance": "defaultCapacityInstance",
20267
20369
  "default_capacity_type": "defaultCapacityType",
@@ -20303,6 +20405,7 @@ class ClusterProps(ClusterOptions):
20303
20405
  secrets_encryption_key: typing.Optional[_IKey_5f11635f] = None,
20304
20406
  service_ipv4_cidr: typing.Optional[builtins.str] = None,
20305
20407
  bootstrap_cluster_creator_admin_permissions: typing.Optional[builtins.bool] = None,
20408
+ bootstrap_self_managed_addons: typing.Optional[builtins.bool] = None,
20306
20409
  default_capacity: typing.Optional[jsii.Number] = None,
20307
20410
  default_capacity_instance: typing.Optional[_InstanceType_f64915b9] = None,
20308
20411
  default_capacity_type: typing.Optional[DefaultCapacityType] = None,
@@ -20314,7 +20417,7 @@ class ClusterProps(ClusterOptions):
20314
20417
  :param version: The Kubernetes version to run in the cluster.
20315
20418
  :param cluster_name: Name for the cluster. Default: - Automatically generated name
20316
20419
  :param output_cluster_name: Determines whether a CloudFormation output with the name of the cluster will be synthesized. Default: false
20317
- :param output_config_command: Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized. This command will include the cluster name and, if applicable, the ARN of the masters IAM role. Default: true
20420
+ :param output_config_command: Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized. This command will include the cluster name and the ARN of the masters IAM role. Note: If mastersRole is not specified, this property will be ignored and no config command will be emitted. Default: true
20318
20421
  :param role: Role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Default: - A role is automatically created for you
20319
20422
  :param security_group: Security Group to use for Control Plane ENIs. Default: - A security group is automatically created
20320
20423
  :param vpc: The VPC in which to create the Cluster. Default: - a VPC with default configuration will be created and can be accessed through ``cluster.vpc``.
@@ -20341,6 +20444,7 @@ class ClusterProps(ClusterOptions):
20341
20444
  :param secrets_encryption_key: KMS secret for envelope encryption for Kubernetes secrets. Default: - By default, Kubernetes stores all secret object data within etcd and all etcd volumes used by Amazon EKS are encrypted at the disk-level using AWS-Managed encryption keys.
20342
20445
  :param service_ipv4_cidr: The CIDR block to assign Kubernetes service IP addresses from. Default: - Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks
20343
20446
  :param bootstrap_cluster_creator_admin_permissions: Whether or not IAM principal of the cluster creator was set as a cluster admin access entry during cluster creation time. Changing this value after the cluster has been created will result in the cluster being replaced. Default: true
20447
+ :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. Changing this value after the cluster has been created will result in the cluster being replaced. Default: true
20344
20448
  :param default_capacity: Number of instances to allocate as an initial capacity for this cluster. Instance type can be configured through ``defaultCapacityInstanceType``, which defaults to ``m5.large``. Use ``cluster.addAutoScalingGroupCapacity`` to add additional customized capacity. Set this to ``0`` is you wish to avoid the initial capacity allocation. Default: 2
20345
20449
  :param default_capacity_instance: The instance type to use for the default capacity. This will only be taken into account if ``defaultCapacity`` is > 0. Default: m5.large
20346
20450
  :param default_capacity_type: The default capacity type for the cluster. Default: NODEGROUP
@@ -20402,6 +20506,7 @@ class ClusterProps(ClusterOptions):
20402
20506
  check_type(argname="argument secrets_encryption_key", value=secrets_encryption_key, expected_type=type_hints["secrets_encryption_key"])
20403
20507
  check_type(argname="argument service_ipv4_cidr", value=service_ipv4_cidr, expected_type=type_hints["service_ipv4_cidr"])
20404
20508
  check_type(argname="argument bootstrap_cluster_creator_admin_permissions", value=bootstrap_cluster_creator_admin_permissions, expected_type=type_hints["bootstrap_cluster_creator_admin_permissions"])
20509
+ check_type(argname="argument bootstrap_self_managed_addons", value=bootstrap_self_managed_addons, expected_type=type_hints["bootstrap_self_managed_addons"])
20405
20510
  check_type(argname="argument default_capacity", value=default_capacity, expected_type=type_hints["default_capacity"])
20406
20511
  check_type(argname="argument default_capacity_instance", value=default_capacity_instance, expected_type=type_hints["default_capacity_instance"])
20407
20512
  check_type(argname="argument default_capacity_type", value=default_capacity_type, expected_type=type_hints["default_capacity_type"])
@@ -20467,6 +20572,8 @@ class ClusterProps(ClusterOptions):
20467
20572
  self._values["service_ipv4_cidr"] = service_ipv4_cidr
20468
20573
  if bootstrap_cluster_creator_admin_permissions is not None:
20469
20574
  self._values["bootstrap_cluster_creator_admin_permissions"] = bootstrap_cluster_creator_admin_permissions
20575
+ if bootstrap_self_managed_addons is not None:
20576
+ self._values["bootstrap_self_managed_addons"] = bootstrap_self_managed_addons
20470
20577
  if default_capacity is not None:
20471
20578
  self._values["default_capacity"] = default_capacity
20472
20579
  if default_capacity_instance is not None:
@@ -20508,9 +20615,13 @@ class ClusterProps(ClusterOptions):
20508
20615
  '''Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized.
20509
20616
 
20510
20617
  This command will include
20511
- the cluster name and, if applicable, the ARN of the masters IAM role.
20618
+ the cluster name and the ARN of the masters IAM role.
20619
+
20620
+ Note: If mastersRole is not specified, this property will be ignored and no config command will be emitted.
20512
20621
 
20513
20622
  :default: true
20623
+
20624
+ :see: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_eks-readme.html#masters-role
20514
20625
  '''
20515
20626
  result = self._values.get("output_config_command")
20516
20627
  return typing.cast(typing.Optional[builtins.bool], result)
@@ -20817,6 +20928,20 @@ class ClusterProps(ClusterOptions):
20817
20928
  result = self._values.get("bootstrap_cluster_creator_admin_permissions")
20818
20929
  return typing.cast(typing.Optional[builtins.bool], result)
20819
20930
 
20931
+ @builtins.property
20932
+ def bootstrap_self_managed_addons(self) -> typing.Optional[builtins.bool]:
20933
+ '''If you set this value to False when creating a cluster, the default networking add-ons will not be installed.
20934
+
20935
+ The default networking addons include vpc-cni, coredns, and kube-proxy.
20936
+ Use this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.
20937
+
20938
+ Changing this value after the cluster has been created will result in the cluster being replaced.
20939
+
20940
+ :default: true
20941
+ '''
20942
+ result = self._values.get("bootstrap_self_managed_addons")
20943
+ return typing.cast(typing.Optional[builtins.bool], result)
20944
+
20820
20945
  @builtins.property
20821
20946
  def default_capacity(self) -> typing.Optional[jsii.Number]:
20822
20947
  '''Number of instances to allocate as an initial capacity for this cluster.
@@ -20971,7 +21096,7 @@ class FargateCluster(
20971
21096
  :param version: The Kubernetes version to run in the cluster.
20972
21097
  :param cluster_name: Name for the cluster. Default: - Automatically generated name
20973
21098
  :param output_cluster_name: Determines whether a CloudFormation output with the name of the cluster will be synthesized. Default: false
20974
- :param output_config_command: Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized. This command will include the cluster name and, if applicable, the ARN of the masters IAM role. Default: true
21099
+ :param output_config_command: Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized. This command will include the cluster name and the ARN of the masters IAM role. Note: If mastersRole is not specified, this property will be ignored and no config command will be emitted. Default: true
20975
21100
  :param role: Role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Default: - A role is automatically created for you
20976
21101
  :param security_group: Security Group to use for Control Plane ENIs. Default: - A security group is automatically created
20977
21102
  :param vpc: The VPC in which to create the Cluster. Default: - a VPC with default configuration will be created and can be accessed through ``cluster.vpc``.
@@ -21105,7 +21230,7 @@ class FargateClusterProps(ClusterOptions):
21105
21230
  :param version: The Kubernetes version to run in the cluster.
21106
21231
  :param cluster_name: Name for the cluster. Default: - Automatically generated name
21107
21232
  :param output_cluster_name: Determines whether a CloudFormation output with the name of the cluster will be synthesized. Default: false
21108
- :param output_config_command: Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized. This command will include the cluster name and, if applicable, the ARN of the masters IAM role. Default: true
21233
+ :param output_config_command: Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized. This command will include the cluster name and the ARN of the masters IAM role. Note: If mastersRole is not specified, this property will be ignored and no config command will be emitted. Default: true
21109
21234
  :param role: Role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Default: - A role is automatically created for you
21110
21235
  :param security_group: Security Group to use for Control Plane ENIs. Default: - A security group is automatically created
21111
21236
  :param vpc: The VPC in which to create the Cluster. Default: - a VPC with default configuration will be created and can be accessed through ``cluster.vpc``.
@@ -21272,9 +21397,13 @@ class FargateClusterProps(ClusterOptions):
21272
21397
  '''Determines whether a CloudFormation output with the ``aws eks update-kubeconfig`` command will be synthesized.
21273
21398
 
21274
21399
  This command will include
21275
- the cluster name and, if applicable, the ARN of the masters IAM role.
21400
+ the cluster name and the ARN of the masters IAM role.
21401
+
21402
+ Note: If mastersRole is not specified, this property will be ignored and no config command will be emitted.
21276
21403
 
21277
21404
  :default: true
21405
+
21406
+ :see: https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_eks-readme.html#masters-role
21278
21407
  '''
21279
21408
  result = self._values.get("output_config_command")
21280
21409
  return typing.cast(typing.Optional[builtins.bool], result)
@@ -22950,7 +23079,9 @@ def _typecheckingstub__be8311b6089cea26f85c63a586f0c5b063230a1b4a96ffcd4c6c983a3
22950
23079
  namespace: builtins.str,
22951
23080
  role_arn: builtins.str,
22952
23081
  service_account: builtins.str,
23082
+ disable_session_tags: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
22953
23083
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
23084
+ target_role_arn: typing.Optional[builtins.str] = None,
22954
23085
  ) -> None:
22955
23086
  """Type checking stubs"""
22956
23087
  pass
@@ -22991,19 +23122,33 @@ def _typecheckingstub__ea3bb34348aff57e29a5352e7460510bda8dd51720dbf7d275297137f
22991
23122
  """Type checking stubs"""
22992
23123
  pass
22993
23124
 
23125
+ def _typecheckingstub__cb3dbe4cc3b44e9265bbfe13e41235db909b0c1dc0e052b3bdda07fd4b228e8b(
23126
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
23127
+ ) -> None:
23128
+ """Type checking stubs"""
23129
+ pass
23130
+
22994
23131
  def _typecheckingstub__b0e0a0551adefc10761733af04b8c51e7dad6b483be9252882ecff10539c7dcc(
22995
23132
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
22996
23133
  ) -> None:
22997
23134
  """Type checking stubs"""
22998
23135
  pass
22999
23136
 
23137
+ def _typecheckingstub__cb6220c6db8cf93a8a307b1ba0630d6bc64b4a09325e7cfe5854228aa75ff833(
23138
+ value: typing.Optional[builtins.str],
23139
+ ) -> None:
23140
+ """Type checking stubs"""
23141
+ pass
23142
+
23000
23143
  def _typecheckingstub__40e8da56b529234cdbb596fa46af952a935adf744e907347861dfc232b89038b(
23001
23144
  *,
23002
23145
  cluster_name: builtins.str,
23003
23146
  namespace: builtins.str,
23004
23147
  role_arn: builtins.str,
23005
23148
  service_account: builtins.str,
23149
+ disable_session_tags: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
23006
23150
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
23151
+ target_role_arn: typing.Optional[builtins.str] = None,
23007
23152
  ) -> None:
23008
23153
  """Type checking stubs"""
23009
23154
  pass
@@ -23644,6 +23789,7 @@ def _typecheckingstub__786576ad54eacdb9ab8e92277c0fd07f813bc56d4243937f3b5a85c0c
23644
23789
  id: builtins.str,
23645
23790
  *,
23646
23791
  bootstrap_cluster_creator_admin_permissions: typing.Optional[builtins.bool] = None,
23792
+ bootstrap_self_managed_addons: typing.Optional[builtins.bool] = None,
23647
23793
  default_capacity: typing.Optional[jsii.Number] = None,
23648
23794
  default_capacity_instance: typing.Optional[_InstanceType_f64915b9] = None,
23649
23795
  default_capacity_type: typing.Optional[DefaultCapacityType] = None,
@@ -23946,6 +24092,7 @@ def _typecheckingstub__ce7a73a63de29ba5e5b5cd5cabde7aca1c4bc7d119de52fc4c0f11d99
23946
24092
  secrets_encryption_key: typing.Optional[_IKey_5f11635f] = None,
23947
24093
  service_ipv4_cidr: typing.Optional[builtins.str] = None,
23948
24094
  bootstrap_cluster_creator_admin_permissions: typing.Optional[builtins.bool] = None,
24095
+ bootstrap_self_managed_addons: typing.Optional[builtins.bool] = None,
23949
24096
  default_capacity: typing.Optional[jsii.Number] = None,
23950
24097
  default_capacity_instance: typing.Optional[_InstanceType_f64915b9] = None,
23951
24098
  default_capacity_type: typing.Optional[DefaultCapacityType] = None,
@@ -10130,7 +10130,7 @@ class CfnTargetGroup(
10130
10130
  ) -> None:
10131
10131
  '''Specifies a target group attribute.
10132
10132
 
10133
- :param key: The name of the attribute. The following attributes are supported by all load balancers: - ``deregistration_delay.timeout_seconds`` - The amount of time, in seconds, for Elastic Load Balancing to wait before changing the state of a deregistering target from ``draining`` to ``unused`` . The range is 0-3600 seconds. The default value is 300 seconds. If the target is a Lambda function, this attribute is not supported. - ``stickiness.enabled`` - Indicates whether target stickiness is enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``stickiness.type`` - Indicates the type of stickiness. The possible values are: - ``lb_cookie`` and ``app_cookie`` for Application Load Balancers. - ``source_ip`` for Network Load Balancers. - ``source_ip_dest_ip`` and ``source_ip_dest_ip_proto`` for Gateway Load Balancers. The following attributes are supported by Application Load Balancers and Network Load Balancers: - ``load_balancing.cross_zone.enabled`` - Indicates whether cross zone load balancing is enabled. The value is ``true`` , ``false`` or ``use_load_balancer_configuration`` . The default is ``use_load_balancer_configuration`` . - ``target_group_health.dns_failover.minimum_healthy_targets.count`` - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are ``off`` or an integer from 1 to the maximum number of targets. The default is ``off`` . - ``target_group_health.dns_failover.minimum_healthy_targets.percentage`` - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are ``off`` or an integer from 1 to 100. The default is ``off`` . - ``target_group_health.unhealthy_state_routing.minimum_healthy_targets.count`` - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are 1 to the maximum number of targets. The default is 1. - ``target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage`` - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are ``off`` or an integer from 1 to 100. The default is ``off`` . The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address: - ``load_balancing.algorithm.type`` - The load balancing algorithm determines how the load balancer selects targets when routing requests. The value is ``round_robin`` , ``least_outstanding_requests`` , or ``weighted_random`` . The default is ``round_robin`` . - ``load_balancing.algorithm.anomaly_mitigation`` - Only available when ``load_balancing.algorithm.type`` is ``weighted_random`` . Indicates whether anomaly mitigation is enabled. The value is ``on`` or ``off`` . The default is ``off`` . - ``slow_start.duration_seconds`` - The time period, in seconds, during which a newly registered target receives an increasing share of the traffic to the target group. After this time period ends, the target receives its full share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 seconds (disabled). - ``stickiness.app_cookie.cookie_name`` - Indicates the name of the application-based cookie. Names that start with the following prefixes are not allowed: ``AWSALB`` , ``AWSALBAPP`` , and ``AWSALBTG`` ; they're reserved for use by the load balancer. - ``stickiness.app_cookie.duration_seconds`` - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the application-based cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). - ``stickiness.lb_cookie.duration_seconds`` - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function: - ``lambda.multi_value_headers.enabled`` - Indicates whether the request and response headers that are exchanged between the load balancer and the Lambda function include arrays of values or strings. The value is ``true`` or ``false`` . The default is ``false`` . If the value is ``false`` and the request contains a duplicate header field name or query parameter key, the load balancer uses the last value sent by the client. The following attributes are supported only by Network Load Balancers: - ``deregistration_delay.connection_termination.enabled`` - Indicates whether the load balancer terminates connections at the end of the deregistration timeout. The value is ``true`` or ``false`` . For new UDP/TCP_UDP target groups the default is ``true`` . Otherwise, the default is ``false`` . - ``preserve_client_ip.enabled`` - Indicates whether client IP preservation is enabled. The value is ``true`` or ``false`` . The default is disabled if the target group type is IP address and the target group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP preservation can't be disabled for UDP and TCP_UDP target groups. - ``proxy_protocol_v2.enabled`` - Indicates whether Proxy Protocol version 2 is enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``target_health_state.unhealthy.connection_termination.enabled`` - Indicates whether the load balancer terminates connections to unhealthy targets. The value is ``true`` or ``false`` . The default is ``true`` . This attribute can't be enabled for UDP and TCP_UDP target groups. - ``target_health_state.unhealthy.draining_interval_seconds`` - The amount of time for Elastic Load Balancing to wait before changing the state of an unhealthy target from ``unhealthy.draining`` to ``unhealthy`` . The range is 0-360000 seconds. The default value is 0 seconds. Note: This attribute can only be configured when ``target_health_state.unhealthy.connection_termination.enabled`` is ``false`` . The following attributes are supported only by Gateway Load Balancers: - ``target_failover.on_deregistration`` - Indicates how the Gateway Load Balancer handles existing flows when a target is deregistered. The possible values are ``rebalance`` and ``no_rebalance`` . The default is ``no_rebalance`` . The two attributes ( ``target_failover.on_deregistration`` and ``target_failover.on_unhealthy`` ) can't be set independently. The value you set for both attributes must be the same. - ``target_failover.on_unhealthy`` - Indicates how the Gateway Load Balancer handles existing flows when a target is unhealthy. The possible values are ``rebalance`` and ``no_rebalance`` . The default is ``no_rebalance`` . The two attributes ( ``target_failover.on_deregistration`` and ``target_failover.on_unhealthy`` ) can't be set independently. The value you set for both attributes must be the same.
10133
+ :param key: The name of the attribute. The following attributes are supported by all load balancers: - ``deregistration_delay.timeout_seconds`` - The amount of time, in seconds, for Elastic Load Balancing to wait before changing the state of a deregistering target from ``draining`` to ``unused`` . The range is 0-3600 seconds. The default value is 300 seconds. If the target is a Lambda function, this attribute is not supported. - ``stickiness.enabled`` - Indicates whether target stickiness is enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``stickiness.type`` - Indicates the type of stickiness. The possible values are: - ``lb_cookie`` and ``app_cookie`` for Application Load Balancers. - ``source_ip`` for Network Load Balancers. - ``source_ip_dest_ip`` and ``source_ip_dest_ip_proto`` for Gateway Load Balancers. The following attributes are supported by Application Load Balancers and Network Load Balancers: - ``load_balancing.cross_zone.enabled`` - Indicates whether cross zone load balancing is enabled. The value is ``true`` , ``false`` or ``use_load_balancer_configuration`` . The default is ``use_load_balancer_configuration`` . - ``target_group_health.dns_failover.minimum_healthy_targets.count`` - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are ``off`` or an integer from 1 to the maximum number of targets. The default is 1. - ``target_group_health.dns_failover.minimum_healthy_targets.percentage`` - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are ``off`` or an integer from 1 to 100. The default is ``off`` . - ``target_group_health.unhealthy_state_routing.minimum_healthy_targets.count`` - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are 1 to the maximum number of targets. The default is 1. - ``target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage`` - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are ``off`` or an integer from 1 to 100. The default is ``off`` . The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address: - ``load_balancing.algorithm.type`` - The load balancing algorithm determines how the load balancer selects targets when routing requests. The value is ``round_robin`` , ``least_outstanding_requests`` , or ``weighted_random`` . The default is ``round_robin`` . - ``load_balancing.algorithm.anomaly_mitigation`` - Only available when ``load_balancing.algorithm.type`` is ``weighted_random`` . Indicates whether anomaly mitigation is enabled. The value is ``on`` or ``off`` . The default is ``off`` . - ``slow_start.duration_seconds`` - The time period, in seconds, during which a newly registered target receives an increasing share of the traffic to the target group. After this time period ends, the target receives its full share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 seconds (disabled). - ``stickiness.app_cookie.cookie_name`` - Indicates the name of the application-based cookie. Names that start with the following prefixes are not allowed: ``AWSALB`` , ``AWSALBAPP`` , and ``AWSALBTG`` ; they're reserved for use by the load balancer. - ``stickiness.app_cookie.duration_seconds`` - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the application-based cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). - ``stickiness.lb_cookie.duration_seconds`` - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds). The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function: - ``lambda.multi_value_headers.enabled`` - Indicates whether the request and response headers that are exchanged between the load balancer and the Lambda function include arrays of values or strings. The value is ``true`` or ``false`` . The default is ``false`` . If the value is ``false`` and the request contains a duplicate header field name or query parameter key, the load balancer uses the last value sent by the client. The following attributes are supported only by Network Load Balancers: - ``deregistration_delay.connection_termination.enabled`` - Indicates whether the load balancer terminates connections at the end of the deregistration timeout. The value is ``true`` or ``false`` . For new UDP/TCP_UDP target groups the default is ``true`` . Otherwise, the default is ``false`` . - ``preserve_client_ip.enabled`` - Indicates whether client IP preservation is enabled. The value is ``true`` or ``false`` . The default is disabled if the target group type is IP address and the target group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP preservation can't be disabled for UDP and TCP_UDP target groups. - ``proxy_protocol_v2.enabled`` - Indicates whether Proxy Protocol version 2 is enabled. The value is ``true`` or ``false`` . The default is ``false`` . - ``target_health_state.unhealthy.connection_termination.enabled`` - Indicates whether the load balancer terminates connections to unhealthy targets. The value is ``true`` or ``false`` . The default is ``true`` . This attribute can't be enabled for UDP and TCP_UDP target groups. - ``target_health_state.unhealthy.draining_interval_seconds`` - The amount of time for Elastic Load Balancing to wait before changing the state of an unhealthy target from ``unhealthy.draining`` to ``unhealthy`` . The range is 0-360000 seconds. The default value is 0 seconds. Note: This attribute can only be configured when ``target_health_state.unhealthy.connection_termination.enabled`` is ``false`` . The following attributes are supported only by Gateway Load Balancers: - ``target_failover.on_deregistration`` - Indicates how the Gateway Load Balancer handles existing flows when a target is deregistered. The possible values are ``rebalance`` and ``no_rebalance`` . The default is ``no_rebalance`` . The two attributes ( ``target_failover.on_deregistration`` and ``target_failover.on_unhealthy`` ) can't be set independently. The value you set for both attributes must be the same. - ``target_failover.on_unhealthy`` - Indicates how the Gateway Load Balancer handles existing flows when a target is unhealthy. The possible values are ``rebalance`` and ``no_rebalance`` . The default is ``no_rebalance`` . The two attributes ( ``target_failover.on_deregistration`` and ``target_failover.on_unhealthy`` ) can't be set independently. The value you set for both attributes must be the same.
10134
10134
  :param value: The value of the attribute.
10135
10135
 
10136
10136
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetgroupattribute.html
@@ -10173,7 +10173,7 @@ class CfnTargetGroup(
10173
10173
  The following attributes are supported by Application Load Balancers and Network Load Balancers:
10174
10174
 
10175
10175
  - ``load_balancing.cross_zone.enabled`` - Indicates whether cross zone load balancing is enabled. The value is ``true`` , ``false`` or ``use_load_balancer_configuration`` . The default is ``use_load_balancer_configuration`` .
10176
- - ``target_group_health.dns_failover.minimum_healthy_targets.count`` - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are ``off`` or an integer from 1 to the maximum number of targets. The default is ``off`` .
10176
+ - ``target_group_health.dns_failover.minimum_healthy_targets.count`` - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are ``off`` or an integer from 1 to the maximum number of targets. The default is 1.
10177
10177
  - ``target_group_health.dns_failover.minimum_healthy_targets.percentage`` - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are ``off`` or an integer from 1 to 100. The default is ``off`` .
10178
10178
  - ``target_group_health.unhealthy_state_routing.minimum_healthy_targets.count`` - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are 1 to the maximum number of targets. The default is 1.
10179
10179
  - ``target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage`` - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are ``off`` or an integer from 1 to 100. The default is ``off`` .