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

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

Potentially problematic release.


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

@@ -35,6 +35,7 @@ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aw
35
35
  * [Multi-factor Authentication (MFA)](#multi-factor-authentication-mfa)
36
36
  * [Account Recovery Settings](#account-recovery-settings)
37
37
  * [Advanced Security Mode](#advanced-security-mode)
38
+ * [Threat Protection](#threat-protection)
38
39
  * [Emails](#emails)
39
40
  * [Device Tracking](#device-tracking)
40
41
  * [Lambda Triggers](#lambda-triggers)
@@ -472,7 +473,7 @@ A user will not be allowed to reset their password via phone if they are also us
472
473
 
473
474
  #### Advanced Security Mode
474
475
 
475
- ⚠️ Advanced Security Mode is deprecated in favor of [user pool feature plans](#user-pool-feature-plans).
476
+ ⚠️ Advanced Security Mode is deprecated in favor of [Threat Protection](#threat-protection).
476
477
 
477
478
  User pools can be configured to use Advanced security. You can turn the user pool advanced security features on, and customize the actions that are taken in response to different risks. Or you can use audit mode to gather metrics on detected risks without taking action. In audit mode, the advanced security features publish metrics to Amazon CloudWatch. See the [documentation on Advanced security](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) to learn more.
478
479
 
@@ -483,6 +484,15 @@ cognito.UserPool(self, "myuserpool",
483
484
  )
484
485
  ```
485
486
 
487
+ ### Threat Protection
488
+
489
+ This feature is only available if your Feature Plan is set to PLUS.
490
+
491
+ Threat Protection can be set to configure enforcement levels and automatic responses for users in password-based and custom-challenge authentication flows.
492
+ For configuration, there are 2 options for standard authentication and custom authentication.
493
+ These are represented with properties `standardThreatProtectionMode` and `customThreatProtectionMode`.
494
+ See the [documentation on Threat Protection](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-threat-protection.html)
495
+
486
496
  ### Emails
487
497
 
488
498
  Cognito sends emails to users in the user pool, when particular actions take place, such as welcome emails, invitation
@@ -1349,9 +1359,9 @@ class AccountRecovery(enum.Enum):
1349
1359
  class AdvancedSecurityMode(enum.Enum):
1350
1360
  '''(deprecated) The different ways in which a user pool's Advanced Security Mode can be configured.
1351
1361
 
1352
- :deprecated: Advanced Security Mode is deprecated in favor of user pool feature plans.
1362
+ :deprecated: Advanced Security Mode is deprecated due to user pool feature plans. Use StandardThreatProtectionMode and CustomThreatProtectionMode to set Thread Protection level.
1353
1363
 
1354
- :see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html#cfn-cognito-userpool-userpooladdons-advancedsecuritymode
1364
+ :see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html
1355
1365
  :stability: deprecated
1356
1366
  :exampleMetadata: infused
1357
1367
 
@@ -14044,6 +14054,21 @@ class CustomDomainOptions:
14044
14054
  )
14045
14055
 
14046
14056
 
14057
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_cognito.CustomThreatProtectionMode")
14058
+ class CustomThreatProtectionMode(enum.Enum):
14059
+ '''The Type of Threat Protection Enabled for Custom Authentication.
14060
+
14061
+ This feature only functions if your FeaturePlan is set to FeaturePlan.PLUS
14062
+
14063
+ :see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html
14064
+ '''
14065
+
14066
+ FULL_FUNCTION = "FULL_FUNCTION"
14067
+ '''Cognito automatically takes preventative actions in response to different levels of risk that you configure for your user pool.'''
14068
+ AUDIT_ONLY = "AUDIT_ONLY"
14069
+ '''Cognito gathers metrics on detected risks, but doesn't take automatic action.'''
14070
+
14071
+
14047
14072
  @jsii.data_type(
14048
14073
  jsii_type="aws-cdk-lib.aws_cognito.DeviceTracking",
14049
14074
  jsii_struct_bases=[],
@@ -17381,6 +17406,23 @@ class StandardAttributesMask:
17381
17406
  )
17382
17407
 
17383
17408
 
17409
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_cognito.StandardThreatProtectionMode")
17410
+ class StandardThreatProtectionMode(enum.Enum):
17411
+ '''The Type of Threat Protection Enabled for Standard Authentication.
17412
+
17413
+ This feature only functions if your FeaturePlan is set to FeaturePlan.PLUS
17414
+
17415
+ :see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html
17416
+ '''
17417
+
17418
+ FULL_FUNCTION = "FULL_FUNCTION"
17419
+ '''Cognito automatically takes preventative actions in response to different levels of risk that you configure for your user pool.'''
17420
+ AUDIT_ONLY = "AUDIT_ONLY"
17421
+ '''Cognito gathers metrics on detected risks, but doesn't take automatic action.'''
17422
+ NO_ENFORCEMENT = "NO_ENFORCEMENT"
17423
+ '''Cognito doesn't gather metrics on detected risks or automatically take preventative actions.'''
17424
+
17425
+
17384
17426
  @jsii.implements(ICustomAttribute)
17385
17427
  class StringAttribute(
17386
17428
  metaclass=jsii.JSIIMeta,
@@ -17727,6 +17769,7 @@ class UserPool(
17727
17769
  auto_verify: typing.Optional[typing.Union[AutoVerifiedAttrs, typing.Dict[builtins.str, typing.Any]]] = None,
17728
17770
  custom_attributes: typing.Optional[typing.Mapping[builtins.str, ICustomAttribute]] = None,
17729
17771
  custom_sender_kms_key: typing.Optional[_IKey_5f11635f] = None,
17772
+ custom_threat_protection_mode: typing.Optional[CustomThreatProtectionMode] = None,
17730
17773
  deletion_protection: typing.Optional[builtins.bool] = None,
17731
17774
  device_tracking: typing.Optional[typing.Union[DeviceTracking, typing.Dict[builtins.str, typing.Any]]] = None,
17732
17775
  email: typing.Optional["UserPoolEmail"] = None,
@@ -17749,6 +17792,7 @@ class UserPool(
17749
17792
  sms_role_external_id: typing.Optional[builtins.str] = None,
17750
17793
  sns_region: typing.Optional[builtins.str] = None,
17751
17794
  standard_attributes: typing.Optional[typing.Union[StandardAttributes, typing.Dict[builtins.str, typing.Any]]] = None,
17795
+ standard_threat_protection_mode: typing.Optional[StandardThreatProtectionMode] = None,
17752
17796
  user_invitation: typing.Optional[typing.Union[UserInvitationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
17753
17797
  user_pool_name: typing.Optional[builtins.str] = None,
17754
17798
  user_verification: typing.Optional[typing.Union["UserVerificationConfig", typing.Dict[builtins.str, typing.Any]]] = None,
@@ -17761,6 +17805,7 @@ class UserPool(
17761
17805
  :param auto_verify: Attributes which Cognito will look to verify automatically upon user sign up. EMAIL and PHONE are the only available options. Default: - If ``signInAlias`` includes email and/or phone, they will be included in ``autoVerifiedAttributes`` by default. If absent, no attributes will be auto-verified.
17762
17806
  :param custom_attributes: Define a set of custom attributes that can be configured for each user in the user pool. Default: - No custom attributes.
17763
17807
  :param custom_sender_kms_key: This key will be used to encrypt temporary passwords and authorization codes that Amazon Cognito generates. Default: - no key ID configured
17808
+ :param custom_threat_protection_mode: The Type of Threat Protection Enabled for Custom Authentication. This feature only functions if your FeaturePlan is set to FeaturePlan.PLUS Default: - no value
17764
17809
  :param deletion_protection: Indicates whether the user pool should have deletion protection enabled. Default: false
17765
17810
  :param device_tracking: Device tracking settings. Default: - see defaults on each property of DeviceTracking.
17766
17811
  :param email: Email settings for a user pool. Default: - cognito will use the default email configuration
@@ -17783,6 +17828,7 @@ class UserPool(
17783
17828
  :param sms_role_external_id: The 'ExternalId' that Cognito service must be using when assuming the ``smsRole``, if the role is restricted with an 'sts:ExternalId' conditional. Learn more about ExternalId here - https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html This property will be ignored if ``smsRole`` is not specified. Default: - No external id will be configured.
17784
17829
  :param sns_region: The region to integrate with SNS to send SMS messages. This property will do nothing if SMS configuration is not configured. Default: - The same region as the user pool, with a few exceptions - https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-sms-settings.html#user-pool-sms-settings-first-time
17785
17830
  :param standard_attributes: The set of attributes that are required for every user in the user pool. Read more on attributes here - https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html Default: - All standard attributes are optional and mutable.
17831
+ :param standard_threat_protection_mode: The Type of Threat Protection Enabled for Standard Authentication. This feature only functions if your FeaturePlan is set to FeaturePlan.PLUS Default: - StandardThreatProtectionMode.NO_ENFORCEMENT
17786
17832
  :param user_invitation: Configuration around admins signing up users into a user pool. Default: - see defaults in UserInvitationConfig.
17787
17833
  :param user_pool_name: Name of the user pool. Default: - automatically generated name by CloudFormation at deploy time.
17788
17834
  :param user_verification: Configuration around users signing themselves up to the user pool. Enable or disable self sign-up via the ``selfSignUpEnabled`` property. Default: - see defaults in UserVerificationConfig.
@@ -17797,6 +17843,7 @@ class UserPool(
17797
17843
  auto_verify=auto_verify,
17798
17844
  custom_attributes=custom_attributes,
17799
17845
  custom_sender_kms_key=custom_sender_kms_key,
17846
+ custom_threat_protection_mode=custom_threat_protection_mode,
17800
17847
  deletion_protection=deletion_protection,
17801
17848
  device_tracking=device_tracking,
17802
17849
  email=email,
@@ -17819,6 +17866,7 @@ class UserPool(
17819
17866
  sms_role_external_id=sms_role_external_id,
17820
17867
  sns_region=sns_region,
17821
17868
  standard_attributes=standard_attributes,
17869
+ standard_threat_protection_mode=standard_threat_protection_mode,
17822
17870
  user_invitation=user_invitation,
17823
17871
  user_pool_name=user_pool_name,
17824
17872
  user_verification=user_verification,
@@ -21145,6 +21193,7 @@ class UserPoolOperation(
21145
21193
  "auto_verify": "autoVerify",
21146
21194
  "custom_attributes": "customAttributes",
21147
21195
  "custom_sender_kms_key": "customSenderKmsKey",
21196
+ "custom_threat_protection_mode": "customThreatProtectionMode",
21148
21197
  "deletion_protection": "deletionProtection",
21149
21198
  "device_tracking": "deviceTracking",
21150
21199
  "email": "email",
@@ -21167,6 +21216,7 @@ class UserPoolOperation(
21167
21216
  "sms_role_external_id": "smsRoleExternalId",
21168
21217
  "sns_region": "snsRegion",
21169
21218
  "standard_attributes": "standardAttributes",
21219
+ "standard_threat_protection_mode": "standardThreatProtectionMode",
21170
21220
  "user_invitation": "userInvitation",
21171
21221
  "user_pool_name": "userPoolName",
21172
21222
  "user_verification": "userVerification",
@@ -21181,6 +21231,7 @@ class UserPoolProps:
21181
21231
  auto_verify: typing.Optional[typing.Union[AutoVerifiedAttrs, typing.Dict[builtins.str, typing.Any]]] = None,
21182
21232
  custom_attributes: typing.Optional[typing.Mapping[builtins.str, ICustomAttribute]] = None,
21183
21233
  custom_sender_kms_key: typing.Optional[_IKey_5f11635f] = None,
21234
+ custom_threat_protection_mode: typing.Optional[CustomThreatProtectionMode] = None,
21184
21235
  deletion_protection: typing.Optional[builtins.bool] = None,
21185
21236
  device_tracking: typing.Optional[typing.Union[DeviceTracking, typing.Dict[builtins.str, typing.Any]]] = None,
21186
21237
  email: typing.Optional[UserPoolEmail] = None,
@@ -21203,6 +21254,7 @@ class UserPoolProps:
21203
21254
  sms_role_external_id: typing.Optional[builtins.str] = None,
21204
21255
  sns_region: typing.Optional[builtins.str] = None,
21205
21256
  standard_attributes: typing.Optional[typing.Union[StandardAttributes, typing.Dict[builtins.str, typing.Any]]] = None,
21257
+ standard_threat_protection_mode: typing.Optional[StandardThreatProtectionMode] = None,
21206
21258
  user_invitation: typing.Optional[typing.Union[UserInvitationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
21207
21259
  user_pool_name: typing.Optional[builtins.str] = None,
21208
21260
  user_verification: typing.Optional[typing.Union["UserVerificationConfig", typing.Dict[builtins.str, typing.Any]]] = None,
@@ -21214,6 +21266,7 @@ class UserPoolProps:
21214
21266
  :param auto_verify: Attributes which Cognito will look to verify automatically upon user sign up. EMAIL and PHONE are the only available options. Default: - If ``signInAlias`` includes email and/or phone, they will be included in ``autoVerifiedAttributes`` by default. If absent, no attributes will be auto-verified.
21215
21267
  :param custom_attributes: Define a set of custom attributes that can be configured for each user in the user pool. Default: - No custom attributes.
21216
21268
  :param custom_sender_kms_key: This key will be used to encrypt temporary passwords and authorization codes that Amazon Cognito generates. Default: - no key ID configured
21269
+ :param custom_threat_protection_mode: The Type of Threat Protection Enabled for Custom Authentication. This feature only functions if your FeaturePlan is set to FeaturePlan.PLUS Default: - no value
21217
21270
  :param deletion_protection: Indicates whether the user pool should have deletion protection enabled. Default: false
21218
21271
  :param device_tracking: Device tracking settings. Default: - see defaults on each property of DeviceTracking.
21219
21272
  :param email: Email settings for a user pool. Default: - cognito will use the default email configuration
@@ -21236,6 +21289,7 @@ class UserPoolProps:
21236
21289
  :param sms_role_external_id: The 'ExternalId' that Cognito service must be using when assuming the ``smsRole``, if the role is restricted with an 'sts:ExternalId' conditional. Learn more about ExternalId here - https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html This property will be ignored if ``smsRole`` is not specified. Default: - No external id will be configured.
21237
21290
  :param sns_region: The region to integrate with SNS to send SMS messages. This property will do nothing if SMS configuration is not configured. Default: - The same region as the user pool, with a few exceptions - https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-sms-settings.html#user-pool-sms-settings-first-time
21238
21291
  :param standard_attributes: The set of attributes that are required for every user in the user pool. Read more on attributes here - https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html Default: - All standard attributes are optional and mutable.
21292
+ :param standard_threat_protection_mode: The Type of Threat Protection Enabled for Standard Authentication. This feature only functions if your FeaturePlan is set to FeaturePlan.PLUS Default: - StandardThreatProtectionMode.NO_ENFORCEMENT
21239
21293
  :param user_invitation: Configuration around admins signing up users into a user pool. Default: - see defaults in UserInvitationConfig.
21240
21294
  :param user_pool_name: Name of the user pool. Default: - automatically generated name by CloudFormation at deploy time.
21241
21295
  :param user_verification: Configuration around users signing themselves up to the user pool. Enable or disable self sign-up via the ``selfSignUpEnabled`` property. Default: - see defaults in UserVerificationConfig.
@@ -21281,6 +21335,7 @@ class UserPoolProps:
21281
21335
  check_type(argname="argument auto_verify", value=auto_verify, expected_type=type_hints["auto_verify"])
21282
21336
  check_type(argname="argument custom_attributes", value=custom_attributes, expected_type=type_hints["custom_attributes"])
21283
21337
  check_type(argname="argument custom_sender_kms_key", value=custom_sender_kms_key, expected_type=type_hints["custom_sender_kms_key"])
21338
+ check_type(argname="argument custom_threat_protection_mode", value=custom_threat_protection_mode, expected_type=type_hints["custom_threat_protection_mode"])
21284
21339
  check_type(argname="argument deletion_protection", value=deletion_protection, expected_type=type_hints["deletion_protection"])
21285
21340
  check_type(argname="argument device_tracking", value=device_tracking, expected_type=type_hints["device_tracking"])
21286
21341
  check_type(argname="argument email", value=email, expected_type=type_hints["email"])
@@ -21303,6 +21358,7 @@ class UserPoolProps:
21303
21358
  check_type(argname="argument sms_role_external_id", value=sms_role_external_id, expected_type=type_hints["sms_role_external_id"])
21304
21359
  check_type(argname="argument sns_region", value=sns_region, expected_type=type_hints["sns_region"])
21305
21360
  check_type(argname="argument standard_attributes", value=standard_attributes, expected_type=type_hints["standard_attributes"])
21361
+ check_type(argname="argument standard_threat_protection_mode", value=standard_threat_protection_mode, expected_type=type_hints["standard_threat_protection_mode"])
21306
21362
  check_type(argname="argument user_invitation", value=user_invitation, expected_type=type_hints["user_invitation"])
21307
21363
  check_type(argname="argument user_pool_name", value=user_pool_name, expected_type=type_hints["user_pool_name"])
21308
21364
  check_type(argname="argument user_verification", value=user_verification, expected_type=type_hints["user_verification"])
@@ -21317,6 +21373,8 @@ class UserPoolProps:
21317
21373
  self._values["custom_attributes"] = custom_attributes
21318
21374
  if custom_sender_kms_key is not None:
21319
21375
  self._values["custom_sender_kms_key"] = custom_sender_kms_key
21376
+ if custom_threat_protection_mode is not None:
21377
+ self._values["custom_threat_protection_mode"] = custom_threat_protection_mode
21320
21378
  if deletion_protection is not None:
21321
21379
  self._values["deletion_protection"] = deletion_protection
21322
21380
  if device_tracking is not None:
@@ -21361,6 +21419,8 @@ class UserPoolProps:
21361
21419
  self._values["sns_region"] = sns_region
21362
21420
  if standard_attributes is not None:
21363
21421
  self._values["standard_attributes"] = standard_attributes
21422
+ if standard_threat_protection_mode is not None:
21423
+ self._values["standard_threat_protection_mode"] = standard_threat_protection_mode
21364
21424
  if user_invitation is not None:
21365
21425
  self._values["user_invitation"] = user_invitation
21366
21426
  if user_pool_name is not None:
@@ -21383,7 +21443,7 @@ class UserPoolProps:
21383
21443
 
21384
21444
  :default: - no value
21385
21445
 
21386
- :deprecated: Advanced Security Mode is deprecated in favor of user pool feature plans.
21446
+ :deprecated: Advanced Security Mode is deprecated due to user pool feature plans. Use StandardThreatProtectionMode and CustomThreatProtectionMode to set Thread Protection level.
21387
21447
 
21388
21448
  :stability: deprecated
21389
21449
  '''
@@ -21426,6 +21486,21 @@ class UserPoolProps:
21426
21486
  result = self._values.get("custom_sender_kms_key")
21427
21487
  return typing.cast(typing.Optional[_IKey_5f11635f], result)
21428
21488
 
21489
+ @builtins.property
21490
+ def custom_threat_protection_mode(
21491
+ self,
21492
+ ) -> typing.Optional[CustomThreatProtectionMode]:
21493
+ '''The Type of Threat Protection Enabled for Custom Authentication.
21494
+
21495
+ This feature only functions if your FeaturePlan is set to FeaturePlan.PLUS
21496
+
21497
+ :default: - no value
21498
+
21499
+ :see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html
21500
+ '''
21501
+ result = self._values.get("custom_threat_protection_mode")
21502
+ return typing.cast(typing.Optional[CustomThreatProtectionMode], result)
21503
+
21429
21504
  @builtins.property
21430
21505
  def deletion_protection(self) -> typing.Optional[builtins.bool]:
21431
21506
  '''Indicates whether the user pool should have deletion protection enabled.
@@ -21671,6 +21746,21 @@ class UserPoolProps:
21671
21746
  result = self._values.get("standard_attributes")
21672
21747
  return typing.cast(typing.Optional[StandardAttributes], result)
21673
21748
 
21749
+ @builtins.property
21750
+ def standard_threat_protection_mode(
21751
+ self,
21752
+ ) -> typing.Optional[StandardThreatProtectionMode]:
21753
+ '''The Type of Threat Protection Enabled for Standard Authentication.
21754
+
21755
+ This feature only functions if your FeaturePlan is set to FeaturePlan.PLUS
21756
+
21757
+ :default: - StandardThreatProtectionMode.NO_ENFORCEMENT
21758
+
21759
+ :see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html
21760
+ '''
21761
+ result = self._values.get("standard_threat_protection_mode")
21762
+ return typing.cast(typing.Optional[StandardThreatProtectionMode], result)
21763
+
21674
21764
  @builtins.property
21675
21765
  def user_invitation(self) -> typing.Optional[UserInvitationConfig]:
21676
21766
  '''Configuration around admins signing up users into a user pool.
@@ -23564,6 +23654,7 @@ __all__ = [
23564
23654
  "CustomAttributeConfig",
23565
23655
  "CustomAttributeProps",
23566
23656
  "CustomDomainOptions",
23657
+ "CustomThreatProtectionMode",
23567
23658
  "DateTimeAttribute",
23568
23659
  "DeviceTracking",
23569
23660
  "EmailSettings",
@@ -23600,6 +23691,7 @@ __all__ = [
23600
23691
  "StandardAttribute",
23601
23692
  "StandardAttributes",
23602
23693
  "StandardAttributesMask",
23694
+ "StandardThreatProtectionMode",
23603
23695
  "StringAttribute",
23604
23696
  "StringAttributeConstraints",
23605
23697
  "StringAttributeProps",
@@ -25789,6 +25881,7 @@ def _typecheckingstub__677a8ec9a3f2a22d2dfde6fd6818121e4a071dc4e942f6bbe219e5a9b
25789
25881
  auto_verify: typing.Optional[typing.Union[AutoVerifiedAttrs, typing.Dict[builtins.str, typing.Any]]] = None,
25790
25882
  custom_attributes: typing.Optional[typing.Mapping[builtins.str, ICustomAttribute]] = None,
25791
25883
  custom_sender_kms_key: typing.Optional[_IKey_5f11635f] = None,
25884
+ custom_threat_protection_mode: typing.Optional[CustomThreatProtectionMode] = None,
25792
25885
  deletion_protection: typing.Optional[builtins.bool] = None,
25793
25886
  device_tracking: typing.Optional[typing.Union[DeviceTracking, typing.Dict[builtins.str, typing.Any]]] = None,
25794
25887
  email: typing.Optional[UserPoolEmail] = None,
@@ -25811,6 +25904,7 @@ def _typecheckingstub__677a8ec9a3f2a22d2dfde6fd6818121e4a071dc4e942f6bbe219e5a9b
25811
25904
  sms_role_external_id: typing.Optional[builtins.str] = None,
25812
25905
  sns_region: typing.Optional[builtins.str] = None,
25813
25906
  standard_attributes: typing.Optional[typing.Union[StandardAttributes, typing.Dict[builtins.str, typing.Any]]] = None,
25907
+ standard_threat_protection_mode: typing.Optional[StandardThreatProtectionMode] = None,
25814
25908
  user_invitation: typing.Optional[typing.Union[UserInvitationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
25815
25909
  user_pool_name: typing.Optional[builtins.str] = None,
25816
25910
  user_verification: typing.Optional[typing.Union[UserVerificationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -26249,6 +26343,7 @@ def _typecheckingstub__754b1af40b4712720733e130c63a8ec0ca9a35d4cfb25450725d5aa02
26249
26343
  auto_verify: typing.Optional[typing.Union[AutoVerifiedAttrs, typing.Dict[builtins.str, typing.Any]]] = None,
26250
26344
  custom_attributes: typing.Optional[typing.Mapping[builtins.str, ICustomAttribute]] = None,
26251
26345
  custom_sender_kms_key: typing.Optional[_IKey_5f11635f] = None,
26346
+ custom_threat_protection_mode: typing.Optional[CustomThreatProtectionMode] = None,
26252
26347
  deletion_protection: typing.Optional[builtins.bool] = None,
26253
26348
  device_tracking: typing.Optional[typing.Union[DeviceTracking, typing.Dict[builtins.str, typing.Any]]] = None,
26254
26349
  email: typing.Optional[UserPoolEmail] = None,
@@ -26271,6 +26366,7 @@ def _typecheckingstub__754b1af40b4712720733e130c63a8ec0ca9a35d4cfb25450725d5aa02
26271
26366
  sms_role_external_id: typing.Optional[builtins.str] = None,
26272
26367
  sns_region: typing.Optional[builtins.str] = None,
26273
26368
  standard_attributes: typing.Optional[typing.Union[StandardAttributes, typing.Dict[builtins.str, typing.Any]]] = None,
26369
+ standard_threat_protection_mode: typing.Optional[StandardThreatProtectionMode] = None,
26274
26370
  user_invitation: typing.Optional[typing.Union[UserInvitationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
26275
26371
  user_pool_name: typing.Optional[builtins.str] = None,
26276
26372
  user_verification: typing.Optional[typing.Union[UserVerificationConfig, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -698,7 +698,7 @@ class CfnConfigRule(
698
698
  :param evaluation_modes: The modes the AWS Config rule can be evaluated in. The valid values are distinct objects. By default, the value is Detective evaluation mode only.
699
699
  :param input_parameters: A string, in JSON format, that is passed to the AWS Config rule Lambda function.
700
700
  :param maximum_execution_frequency: The maximum frequency with which AWS Config runs evaluations for a rule. You can specify a value for ``MaximumExecutionFrequency`` when: - You are using an AWS managed rule that is triggered at a periodic frequency. - Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see `ConfigSnapshotDeliveryProperties <https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigSnapshotDeliveryProperties.html>`_ . .. epigraph:: By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the ``MaximumExecutionFrequency`` parameter.
701
- :param scope: Defines which resources can trigger an evaluation for the rule. The scope can include one or more resource types, a combination of one resource type and one resource ID, or a combination of a tag key and value. Specify a scope to constrain the resources that can trigger an evaluation for the rule. If you do not specify a scope, evaluations are triggered when any resource in the recording group changes. .. epigraph:: The scope can be empty.
701
+ :param scope: Defines which resources can trigger an evaluation for the rule. The scope can include one or more resource types, a combination of one resource type and one resource ID, or a combination of a tag key and value. Specify a scope to constrain the resources that can trigger an evaluation for the rule. If you do not specify a scope, evaluations are triggered when any resource in the recording group changes. .. epigraph:: Scope is only supported for change-triggered rules. Scope is not supported for periodic or hybrid rules.
702
702
  '''
703
703
  if __debug__:
704
704
  type_hints = typing.get_type_hints(_typecheckingstub__deecc74e0a0f7e54fde16a159ece5d8f96f56f6b8aca025003adcc1d931d5d00)
@@ -1512,7 +1512,7 @@ class CfnConfigRuleProps:
1512
1512
  :param evaluation_modes: The modes the AWS Config rule can be evaluated in. The valid values are distinct objects. By default, the value is Detective evaluation mode only.
1513
1513
  :param input_parameters: A string, in JSON format, that is passed to the AWS Config rule Lambda function.
1514
1514
  :param maximum_execution_frequency: The maximum frequency with which AWS Config runs evaluations for a rule. You can specify a value for ``MaximumExecutionFrequency`` when: - You are using an AWS managed rule that is triggered at a periodic frequency. - Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see `ConfigSnapshotDeliveryProperties <https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigSnapshotDeliveryProperties.html>`_ . .. epigraph:: By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the ``MaximumExecutionFrequency`` parameter.
1515
- :param scope: Defines which resources can trigger an evaluation for the rule. The scope can include one or more resource types, a combination of one resource type and one resource ID, or a combination of a tag key and value. Specify a scope to constrain the resources that can trigger an evaluation for the rule. If you do not specify a scope, evaluations are triggered when any resource in the recording group changes. .. epigraph:: The scope can be empty.
1515
+ :param scope: Defines which resources can trigger an evaluation for the rule. The scope can include one or more resource types, a combination of one resource type and one resource ID, or a combination of a tag key and value. Specify a scope to constrain the resources that can trigger an evaluation for the rule. If you do not specify a scope, evaluations are triggered when any resource in the recording group changes. .. epigraph:: Scope is only supported for change-triggered rules. Scope is not supported for periodic or hybrid rules.
1516
1516
 
1517
1517
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html
1518
1518
  :exampleMetadata: fixture=_generated
@@ -1684,7 +1684,7 @@ class CfnConfigRuleProps:
1684
1684
  The scope can include one or more resource types, a combination of one resource type and one resource ID, or a combination of a tag key and value. Specify a scope to constrain the resources that can trigger an evaluation for the rule. If you do not specify a scope, evaluations are triggered when any resource in the recording group changes.
1685
1685
  .. epigraph::
1686
1686
 
1687
- The scope can be empty.
1687
+ Scope is only supported for change-triggered rules. Scope is not supported for periodic or hybrid rules.
1688
1688
 
1689
1689
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-scope
1690
1690
  '''
@@ -4990,7 +4990,7 @@ class CfnTable(
4990
4990
  :param id: Construct identifier for this resource (unique in its scope).
4991
4991
  :param key_schema: Specifies the attributes that make up the primary key for the table. The attributes in the ``KeySchema`` property must also be defined in the ``AttributeDefinitions`` property.
4992
4992
  :param attribute_definitions: A list of attributes that describe the key schema for the table and indexes. This property is required to create a DynamoDB table. Update requires: `Some interruptions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt>`_ . Replacement if you edit an existing AttributeDefinition.
4993
- :param billing_mode: Specify how you are charged for read and write throughput and how you manage capacity. Valid values include: - ``PROVISIONED`` - We recommend using ``PROVISIONED`` for predictable workloads. ``PROVISIONED`` sets the billing mode to `Provisioned Mode <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual>`_ . - ``PAY_PER_REQUEST`` - We recommend using ``PAY_PER_REQUEST`` for unpredictable workloads. ``PAY_PER_REQUEST`` sets the billing mode to `On-Demand Mode <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand>`_ . If not specified, the default is ``PROVISIONED`` .
4993
+ :param billing_mode: Specify how you are charged for read and write throughput and how you manage capacity. Valid values include: - ``PAY_PER_REQUEST`` - We recommend using ``PAY_PER_REQUEST`` for most DynamoDB workloads. ``PAY_PER_REQUEST`` sets the billing mode to `On-demand capacity mode <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html>`_ . - ``PROVISIONED`` - We recommend using ``PROVISIONED`` for steady workloads with predictable growth where capacity requirements can be reliably forecasted. ``PROVISIONED`` sets the billing mode to `Provisioned capacity mode <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html>`_ . If not specified, the default is ``PROVISIONED`` .
4994
4994
  :param contributor_insights_specification: The settings used to enable or disable CloudWatch Contributor Insights for the specified table.
4995
4995
  :param deletion_protection_enabled: Determines if a table is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see `Using deletion protection <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection>`_ in the *Amazon DynamoDB Developer Guide* .
4996
4996
  :param global_secondary_indexes: Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes. .. epigraph:: If you update a table to include a new global secondary index, AWS CloudFormation initiates the index creation and then proceeds with the stack update. AWS CloudFormation doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is ``ACTIVE`` . You can track its status by using the DynamoDB `DescribeTable <https://docs.aws.amazon.com/cli/latest/reference/dynamodb/describe-table.html>`_ command. If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index. Updates are not supported. The following are exceptions: - If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption. - You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.
@@ -7207,7 +7207,7 @@ class CfnTableProps:
7207
7207
 
7208
7208
  :param key_schema: Specifies the attributes that make up the primary key for the table. The attributes in the ``KeySchema`` property must also be defined in the ``AttributeDefinitions`` property.
7209
7209
  :param attribute_definitions: A list of attributes that describe the key schema for the table and indexes. This property is required to create a DynamoDB table. Update requires: `Some interruptions <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt>`_ . Replacement if you edit an existing AttributeDefinition.
7210
- :param billing_mode: Specify how you are charged for read and write throughput and how you manage capacity. Valid values include: - ``PROVISIONED`` - We recommend using ``PROVISIONED`` for predictable workloads. ``PROVISIONED`` sets the billing mode to `Provisioned Mode <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual>`_ . - ``PAY_PER_REQUEST`` - We recommend using ``PAY_PER_REQUEST`` for unpredictable workloads. ``PAY_PER_REQUEST`` sets the billing mode to `On-Demand Mode <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand>`_ . If not specified, the default is ``PROVISIONED`` .
7210
+ :param billing_mode: Specify how you are charged for read and write throughput and how you manage capacity. Valid values include: - ``PAY_PER_REQUEST`` - We recommend using ``PAY_PER_REQUEST`` for most DynamoDB workloads. ``PAY_PER_REQUEST`` sets the billing mode to `On-demand capacity mode <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html>`_ . - ``PROVISIONED`` - We recommend using ``PROVISIONED`` for steady workloads with predictable growth where capacity requirements can be reliably forecasted. ``PROVISIONED`` sets the billing mode to `Provisioned capacity mode <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html>`_ . If not specified, the default is ``PROVISIONED`` .
7211
7211
  :param contributor_insights_specification: The settings used to enable or disable CloudWatch Contributor Insights for the specified table.
7212
7212
  :param deletion_protection_enabled: Determines if a table is protected from deletion. When enabled, the table cannot be deleted by any user or process. This setting is disabled by default. For more information, see `Using deletion protection <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.DeletionProtection>`_ in the *Amazon DynamoDB Developer Guide* .
7213
7213
  :param global_secondary_indexes: Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes. .. epigraph:: If you update a table to include a new global secondary index, AWS CloudFormation initiates the index creation and then proceeds with the stack update. AWS CloudFormation doesn't wait for the index to complete creation because the backfilling phase can take a long time, depending on the size of the table. You can't use the index or update the table until the index's status is ``ACTIVE`` . You can track its status by using the DynamoDB `DescribeTable <https://docs.aws.amazon.com/cli/latest/reference/dynamodb/describe-table.html>`_ command. If you add or delete an index during an update, we recommend that you don't update any other resources. If your stack fails to update and is rolled back while adding a new index, you must manually delete the index. Updates are not supported. The following are exceptions: - If you update either the contributor insights specification or the provisioned throughput values of global secondary indexes, you can update the table without interruption. - You can delete or add one global secondary index without interruption. If you do both in the same update (for example, by changing the index's logical ID), the update fails.
@@ -7464,8 +7464,8 @@ class CfnTableProps:
7464
7464
 
7465
7465
  Valid values include:
7466
7466
 
7467
- - ``PROVISIONED`` - We recommend using ``PROVISIONED`` for predictable workloads. ``PROVISIONED`` sets the billing mode to `Provisioned Mode <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.ProvisionedThroughput.Manual>`_ .
7468
- - ``PAY_PER_REQUEST`` - We recommend using ``PAY_PER_REQUEST`` for unpredictable workloads. ``PAY_PER_REQUEST`` sets the billing mode to `On-Demand Mode <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html#HowItWorks.OnDemand>`_ .
7467
+ - ``PAY_PER_REQUEST`` - We recommend using ``PAY_PER_REQUEST`` for most DynamoDB workloads. ``PAY_PER_REQUEST`` sets the billing mode to `On-demand capacity mode <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html>`_ .
7468
+ - ``PROVISIONED`` - We recommend using ``PROVISIONED`` for steady workloads with predictable growth where capacity requirements can be reliably forecasted. ``PROVISIONED`` sets the billing mode to `Provisioned capacity mode <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html>`_ .
7469
7469
 
7470
7470
  If not specified, the default is ``PROVISIONED`` .
7471
7471
 
@@ -7570,7 +7570,7 @@ class CfnCluster(
7570
7570
 
7571
7571
  Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see `Service Connect <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
7572
7572
 
7573
- :param namespace: The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace that's used when you create a service and don't specify a Service Connect configuration. The namespace name can include up to 1024 characters. The name is case-sensitive. The name can't include hyphens (-), tilde (~), greater than (>), less than (<), or slash (/). If you enter an existing namespace name or ARN, then that namespace will be used. Any namespace type is supported. The namespace must be in this account and this AWS Region. If you enter a new name, a AWS Cloud Map namespace will be created. Amazon ECS creates a AWS Cloud Map namespace with the "API calls" method of instance discovery only. This instance discovery method is the "HTTP" namespace type in the AWS Command Line Interface . Other types of instance discovery aren't used by Service Connect. If you update the cluster with an empty string ``""`` for the namespace name, the cluster configuration for Service Connect is removed. Note that the namespace will remain in AWS Cloud Map and must be deleted separately. For more information about AWS Cloud Map , see `Working with Services <https://docs.aws.amazon.com/cloud-map/latest/dg/working-with-services.html>`_ in the *AWS Cloud Map Developer Guide* .
7573
+ :param namespace: The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace that's used when you create a service and don't specify a Service Connect configuration. The namespace name can include up to 1024 characters. The name is case-sensitive. The name can't include greater than (>), less than (<), double quotation marks ("), or slash (/). If you enter an existing namespace name or ARN, then that namespace will be used. Any namespace type is supported. The namespace must be in this account and this AWS Region. If you enter a new name, a AWS Cloud Map namespace will be created. Amazon ECS creates a AWS Cloud Map namespace with the "API calls" method of instance discovery only. This instance discovery method is the "HTTP" namespace type in the AWS Command Line Interface . Other types of instance discovery aren't used by Service Connect. If you update the cluster with an empty string ``""`` for the namespace name, the cluster configuration for Service Connect is removed. Note that the namespace will remain in AWS Cloud Map and must be deleted separately. For more information about AWS Cloud Map , see `Working with Services <https://docs.aws.amazon.com/cloud-map/latest/dg/working-with-services.html>`_ in the *AWS Cloud Map Developer Guide* .
7574
7574
 
7575
7575
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-serviceconnectdefaults.html
7576
7576
  :exampleMetadata: fixture=_generated
@@ -7596,7 +7596,7 @@ class CfnCluster(
7596
7596
  def namespace(self) -> typing.Optional[builtins.str]:
7597
7597
  '''The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace that's used when you create a service and don't specify a Service Connect configuration.
7598
7598
 
7599
- The namespace name can include up to 1024 characters. The name is case-sensitive. The name can't include hyphens (-), tilde (~), greater than (>), less than (<), or slash (/).
7599
+ The namespace name can include up to 1024 characters. The name is case-sensitive. The name can't include greater than (>), less than (<), double quotation marks ("), or slash (/).
7600
7600
 
7601
7601
  If you enter an existing namespace name or ARN, then that namespace will be used. Any namespace type is supported. The namespace must be in this account and this AWS Region.
7602
7602
 
@@ -9156,7 +9156,7 @@ class CfnService(
9156
9156
 
9157
9157
  For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` .
9158
9158
 
9159
- :param assign_public_ip: Whether the task's elastic network interface receives a public IP address. The default value is ``ENABLED`` .
9159
+ :param assign_public_ip: Whether the task's elastic network interface receives a public IP address. Consider the following when you set this value: - When you use ``create-service`` or ``update-service`` , the default is ``DISABLED`` . - When the service ``deploymentController`` is ``ECS`` , the value must be ``DISABLED`` . - When you use ``create-service`` or ``update-service`` , the default is ``ENABLED`` .
9160
9160
  :param security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified. .. epigraph:: All specified security groups must be from the same VPC.
9161
9161
  :param subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified. .. epigraph:: All specified subnets must be from the same VPC.
9162
9162
 
@@ -9192,7 +9192,11 @@ class CfnService(
9192
9192
  def assign_public_ip(self) -> typing.Optional[builtins.str]:
9193
9193
  '''Whether the task's elastic network interface receives a public IP address.
9194
9194
 
9195
- The default value is ``ENABLED`` .
9195
+ Consider the following when you set this value:
9196
+
9197
+ - When you use ``create-service`` or ``update-service`` , the default is ``DISABLED`` .
9198
+ - When the service ``deploymentController`` is ``ECS`` , the value must be ``DISABLED`` .
9199
+ - When you use ``create-service`` or ``update-service`` , the default is ``ENABLED`` .
9196
9200
 
9197
9201
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html#cfn-ecs-service-awsvpcconfiguration-assignpublicip
9198
9202
  '''
@@ -12717,7 +12721,7 @@ class CfnTaskDefinition(
12717
12721
  :param scope: Scope in which this resource is defined.
12718
12722
  :param id: Construct identifier for this resource (unique in its scope).
12719
12723
  :param container_definitions: A list of container definitions in JSON format that describe the different containers that make up your task. For more information about container definition parameters and defaults, see `Amazon ECS Task Definitions <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
12720
- :param cpu: The number of ``cpu`` units used by the task. If you use the EC2 launch type, this field is optional. Any value can be used. If you use the Fargate launch type, this field is required. You must use one of the following values. The value that you choose determines your range of valid values for the ``memory`` parameter. If you use the EC2 launch type, this field is optional. Supported values are between ``128`` CPU units ( ``0.125`` vCPUs) and ``10240`` CPU units ( ``10`` vCPUs). The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate. - 256 (.25 vCPU) - Available ``memory`` values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - 512 (.5 vCPU) - Available ``memory`` values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - 1024 (1 vCPU) - Available ``memory`` values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - 2048 (2 vCPU) - Available ``memory`` values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 4096 (4 vCPU) - Available ``memory`` values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 8192 (8 vCPU) - Available ``memory`` values: 16 GB and 60 GB in 4 GB increments This option requires Linux platform ``1.4.0`` or later. - 16384 (16vCPU) - Available ``memory`` values: 32GB and 120 GB in 8 GB increments This option requires Linux platform ``1.4.0`` or later.
12724
+ :param cpu: The number of ``cpu`` units used by the task. If you use the EC2 launch type, this field is optional. Any value can be used. If you use the Fargate launch type, this field is required. You must use one of the following values. The value that you choose determines your range of valid values for the ``memory`` parameter. If you're using the EC2 launch type or the external launch type, this field is optional. Supported values are between ``128`` CPU units ( ``0.125`` vCPUs) and ``196608`` CPU units ( ``192`` vCPUs). The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate. - 256 (.25 vCPU) - Available ``memory`` values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - 512 (.5 vCPU) - Available ``memory`` values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - 1024 (1 vCPU) - Available ``memory`` values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - 2048 (2 vCPU) - Available ``memory`` values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 4096 (4 vCPU) - Available ``memory`` values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 8192 (8 vCPU) - Available ``memory`` values: 16 GB and 60 GB in 4 GB increments This option requires Linux platform ``1.4.0`` or later. - 16384 (16vCPU) - Available ``memory`` values: 32GB and 120 GB in 8 GB increments This option requires Linux platform ``1.4.0`` or later.
12721
12725
  :param enable_fault_injection: Enables fault injection and allows for fault injection requests to be accepted from the task's containers. The default value is ``false`` .
12722
12726
  :param ephemeral_storage: The ephemeral storage settings to use for tasks run with the task definition.
12723
12727
  :param execution_role_arn: The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent permission to make AWS API calls on your behalf. For informationabout the required IAM roles for Amazon ECS, see `IAM roles for Amazon ECS <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-ecs-iam-role-overview.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
@@ -17556,7 +17560,7 @@ class CfnTaskDefinitionProps:
17556
17560
  '''Properties for defining a ``CfnTaskDefinition``.
17557
17561
 
17558
17562
  :param container_definitions: A list of container definitions in JSON format that describe the different containers that make up your task. For more information about container definition parameters and defaults, see `Amazon ECS Task Definitions <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
17559
- :param cpu: The number of ``cpu`` units used by the task. If you use the EC2 launch type, this field is optional. Any value can be used. If you use the Fargate launch type, this field is required. You must use one of the following values. The value that you choose determines your range of valid values for the ``memory`` parameter. If you use the EC2 launch type, this field is optional. Supported values are between ``128`` CPU units ( ``0.125`` vCPUs) and ``10240`` CPU units ( ``10`` vCPUs). The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate. - 256 (.25 vCPU) - Available ``memory`` values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - 512 (.5 vCPU) - Available ``memory`` values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - 1024 (1 vCPU) - Available ``memory`` values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - 2048 (2 vCPU) - Available ``memory`` values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 4096 (4 vCPU) - Available ``memory`` values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 8192 (8 vCPU) - Available ``memory`` values: 16 GB and 60 GB in 4 GB increments This option requires Linux platform ``1.4.0`` or later. - 16384 (16vCPU) - Available ``memory`` values: 32GB and 120 GB in 8 GB increments This option requires Linux platform ``1.4.0`` or later.
17563
+ :param cpu: The number of ``cpu`` units used by the task. If you use the EC2 launch type, this field is optional. Any value can be used. If you use the Fargate launch type, this field is required. You must use one of the following values. The value that you choose determines your range of valid values for the ``memory`` parameter. If you're using the EC2 launch type or the external launch type, this field is optional. Supported values are between ``128`` CPU units ( ``0.125`` vCPUs) and ``196608`` CPU units ( ``192`` vCPUs). The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate. - 256 (.25 vCPU) - Available ``memory`` values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - 512 (.5 vCPU) - Available ``memory`` values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - 1024 (1 vCPU) - Available ``memory`` values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - 2048 (2 vCPU) - Available ``memory`` values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 4096 (4 vCPU) - Available ``memory`` values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 8192 (8 vCPU) - Available ``memory`` values: 16 GB and 60 GB in 4 GB increments This option requires Linux platform ``1.4.0`` or later. - 16384 (16vCPU) - Available ``memory`` values: 32GB and 120 GB in 8 GB increments This option requires Linux platform ``1.4.0`` or later.
17560
17564
  :param enable_fault_injection: Enables fault injection and allows for fault injection requests to be accepted from the task's containers. The default value is ``false`` .
17561
17565
  :param ephemeral_storage: The ephemeral storage settings to use for tasks run with the task definition.
17562
17566
  :param execution_role_arn: The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent permission to make AWS API calls on your behalf. For informationabout the required IAM roles for Amazon ECS, see `IAM roles for Amazon ECS <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-ecs-iam-role-overview.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
@@ -17880,9 +17884,7 @@ class CfnTaskDefinitionProps:
17880
17884
 
17881
17885
  If you use the EC2 launch type, this field is optional. Any value can be used. If you use the Fargate launch type, this field is required. You must use one of the following values. The value that you choose determines your range of valid values for the ``memory`` parameter.
17882
17886
 
17883
- If you use the EC2 launch type, this field is optional. Supported values are between ``128`` CPU units ( ``0.125`` vCPUs) and ``10240`` CPU units ( ``10`` vCPUs).
17884
-
17885
- The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.
17887
+ If you're using the EC2 launch type or the external launch type, this field is optional. Supported values are between ``128`` CPU units ( ``0.125`` vCPUs) and ``196608`` CPU units ( ``192`` vCPUs). The CPU units cannot be less than 1 vCPU when you use Windows containers on Fargate.
17886
17888
 
17887
17889
  - 256 (.25 vCPU) - Available ``memory`` values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
17888
17890
  - 512 (.5 vCPU) - Available ``memory`` values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
@@ -18555,7 +18557,7 @@ class CfnTaskSet(
18555
18557
  For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` .
18556
18558
 
18557
18559
  :param subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified. .. epigraph:: All specified subnets must be from the same VPC.
18558
- :param assign_public_ip: Whether the task's elastic network interface receives a public IP address. The default value is ``ENABLED`` .
18560
+ :param assign_public_ip: Whether the task's elastic network interface receives a public IP address. Consider the following when you set this value: - When you use ``create-service`` or ``update-service`` , the default is ``DISABLED`` . - When the service ``deploymentController`` is ``ECS`` , the value must be ``DISABLED`` . - When you use ``create-service`` or ``update-service`` , the default is ``ENABLED`` .
18559
18561
  :param security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified. .. epigraph:: All specified security groups must be from the same VPC.
18560
18562
 
18561
18563
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html
@@ -18607,7 +18609,11 @@ class CfnTaskSet(
18607
18609
  def assign_public_ip(self) -> typing.Optional[builtins.str]:
18608
18610
  '''Whether the task's elastic network interface receives a public IP address.
18609
18611
 
18610
- The default value is ``ENABLED`` .
18612
+ Consider the following when you set this value:
18613
+
18614
+ - When you use ``create-service`` or ``update-service`` , the default is ``DISABLED`` .
18615
+ - When the service ``deploymentController`` is ``ECS`` , the value must be ``DISABLED`` .
18616
+ - When you use ``create-service`` or ``update-service`` , the default is ``ENABLED`` .
18611
18617
 
18612
18618
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html#cfn-ecs-taskset-awsvpcconfiguration-assignpublicip
18613
18619
  '''
@@ -9464,7 +9464,9 @@ class CfnNodegroup(
9464
9464
  ):
9465
9465
  '''Creates a managed node group for an Amazon EKS cluster.
9466
9466
 
9467
- You can only create a node group for your cluster that is equal to the current Kubernetes version for the cluster. All node groups are created with the latest AMI release version for the respective minor Kubernetes version of the cluster, unless you deploy a custom AMI using a launch template. For more information about using launch templates, see `Customizing managed nodes with launch templates <https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html>`_ .
9467
+ You can only create a node group for your cluster that is equal to the current Kubernetes version for the cluster. All node groups are created with the latest AMI release version for the respective minor Kubernetes version of the cluster, unless you deploy a custom AMI using a launch template.
9468
+
9469
+ For later updates, you will only be able to update a node group using a launch template only if it was originally deployed with a launch template. Additionally, the launch template ID or name must match what was used when the node group was created. You can update the launch template version with necessary changes. For more information about using launch templates, see `Customizing managed nodes with launch templates <https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html>`_ .
9468
9470
 
9469
9471
  An Amazon EKS managed node group is an Amazon EC2 Auto Scaling group and associated Amazon EC2 instances that are managed by AWS for an Amazon EKS cluster. For more information, see `Managed node groups <https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html>`_ in the *Amazon EKS User Guide* .
9470
9472
  .. epigraph::
@@ -9570,7 +9572,7 @@ class CfnNodegroup(
9570
9572
  :param force_update_enabled: Force the update if any ``Pod`` on the existing node group can't be drained due to a ``Pod`` disruption budget issue. If an update fails because all Pods can't be drained, you can force the update after it fails to terminate the old node whether or not any ``Pod`` is running on the node. Default: - false
9571
9573
  :param instance_types: Specify the instance types for a node group. If you specify a GPU instance type, make sure to also specify an applicable GPU AMI type with the ``amiType`` parameter. If you specify ``launchTemplate`` , then you can specify zero or one instance type in your launch template *or* you can specify 0-20 instance types for ``instanceTypes`` . If however, you specify an instance type in your launch template *and* specify any ``instanceTypes`` , the node group deployment will fail. If you don't specify an instance type in a launch template or for ``instanceTypes`` , then ``t3.medium`` is used, by default. If you specify ``Spot`` for ``capacityType`` , then we recommend specifying multiple values for ``instanceTypes`` . For more information, see `Managed node group capacity types <https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-capacity-types>`_ and `Customizing managed nodes with launch templates <https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html>`_ in the *Amazon EKS User Guide* .
9572
9574
  :param labels: The Kubernetes ``labels`` applied to the nodes in the node group. .. epigraph:: Only ``labels`` that are applied with the Amazon EKS API are shown here. There may be other Kubernetes ``labels`` applied to the nodes in this group.
9573
- :param launch_template: An object representing a node group's launch template specification. When using this object, don't directly specify ``instanceTypes`` , ``diskSize`` , or ``remoteAccess`` . Make sure that the launch template meets the requirements in ``launchTemplateSpecification`` . Also refer to `Customizing managed nodes with launch templates <https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html>`_ in the *Amazon EKS User Guide* .
9575
+ :param launch_template: An object representing a node group's launch template specification. When using this object, don't directly specify ``instanceTypes`` , ``diskSize`` , or ``remoteAccess`` . You cannot later specify a different launch template ID or name than what was used to create the node group. Make sure that the launch template meets the requirements in ``launchTemplateSpecification`` . Also refer to `Customizing managed nodes with launch templates <https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html>`_ in the *Amazon EKS User Guide* .
9574
9576
  :param nodegroup_name: The unique name to give your node group.
9575
9577
  :param node_repair_config: The node auto repair configuration for the node group.
9576
9578
  :param release_version: The AMI version of the Amazon EKS optimized AMI to use with your node group (for example, ``1.14.7- *YYYYMMDD*`` ). By default, the latest available AMI version for the node group's current Kubernetes version is used. For more information, see `Amazon EKS optimized Linux AMI Versions <https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html>`_ in the *Amazon EKS User Guide* . .. epigraph:: Changing this value triggers an update of the node group if one is available. You can't update other properties at the same time as updating ``Release Version`` .
@@ -9994,9 +9996,9 @@ class CfnNodegroup(
9994
9996
 
9995
9997
  You must specify either the launch template ID or the launch template name in the request, but not both.
9996
9998
 
9997
- :param id: The ID of the launch template. You must specify either the launch template ID or the launch template name in the request, but not both.
9998
- :param name: The name of the launch template. You must specify either the launch template name or the launch template ID in the request, but not both.
9999
- :param version: The version number of the launch template to use. If no version is specified, then the template's default version is used.
9999
+ :param id: The ID of the launch template. You must specify either the launch template ID or the launch template name in the request, but not both. After node group creation, you cannot use a different ID.
10000
+ :param name: The name of the launch template. You must specify either the launch template name or the launch template ID in the request, but not both. After node group creation, you cannot use a different name.
10001
+ :param version: The version number of the launch template to use. If no version is specified, then the template's default version is used. You can use a different version for node group updates.
10000
10002
 
10001
10003
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-launchtemplatespecification.html
10002
10004
  :exampleMetadata: fixture=_generated
@@ -10030,7 +10032,7 @@ class CfnNodegroup(
10030
10032
  def id(self) -> typing.Optional[builtins.str]:
10031
10033
  '''The ID of the launch template.
10032
10034
 
10033
- You must specify either the launch template ID or the launch template name in the request, but not both.
10035
+ You must specify either the launch template ID or the launch template name in the request, but not both. After node group creation, you cannot use a different ID.
10034
10036
 
10035
10037
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-launchtemplatespecification.html#cfn-eks-nodegroup-launchtemplatespecification-id
10036
10038
  '''
@@ -10041,7 +10043,7 @@ class CfnNodegroup(
10041
10043
  def name(self) -> typing.Optional[builtins.str]:
10042
10044
  '''The name of the launch template.
10043
10045
 
10044
- You must specify either the launch template name or the launch template ID in the request, but not both.
10046
+ You must specify either the launch template name or the launch template ID in the request, but not both. After node group creation, you cannot use a different name.
10045
10047
 
10046
10048
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-launchtemplatespecification.html#cfn-eks-nodegroup-launchtemplatespecification-name
10047
10049
  '''
@@ -10052,7 +10054,7 @@ class CfnNodegroup(
10052
10054
  def version(self) -> typing.Optional[builtins.str]:
10053
10055
  '''The version number of the launch template to use.
10054
10056
 
10055
- If no version is specified, then the template's default version is used.
10057
+ If no version is specified, then the template's default version is used. You can use a different version for node group updates.
10056
10058
 
10057
10059
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-launchtemplatespecification.html#cfn-eks-nodegroup-launchtemplatespecification-version
10058
10060
  '''
@@ -10555,7 +10557,7 @@ class CfnNodegroupProps:
10555
10557
  :param force_update_enabled: Force the update if any ``Pod`` on the existing node group can't be drained due to a ``Pod`` disruption budget issue. If an update fails because all Pods can't be drained, you can force the update after it fails to terminate the old node whether or not any ``Pod`` is running on the node. Default: - false
10556
10558
  :param instance_types: Specify the instance types for a node group. If you specify a GPU instance type, make sure to also specify an applicable GPU AMI type with the ``amiType`` parameter. If you specify ``launchTemplate`` , then you can specify zero or one instance type in your launch template *or* you can specify 0-20 instance types for ``instanceTypes`` . If however, you specify an instance type in your launch template *and* specify any ``instanceTypes`` , the node group deployment will fail. If you don't specify an instance type in a launch template or for ``instanceTypes`` , then ``t3.medium`` is used, by default. If you specify ``Spot`` for ``capacityType`` , then we recommend specifying multiple values for ``instanceTypes`` . For more information, see `Managed node group capacity types <https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html#managed-node-group-capacity-types>`_ and `Customizing managed nodes with launch templates <https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html>`_ in the *Amazon EKS User Guide* .
10557
10559
  :param labels: The Kubernetes ``labels`` applied to the nodes in the node group. .. epigraph:: Only ``labels`` that are applied with the Amazon EKS API are shown here. There may be other Kubernetes ``labels`` applied to the nodes in this group.
10558
- :param launch_template: An object representing a node group's launch template specification. When using this object, don't directly specify ``instanceTypes`` , ``diskSize`` , or ``remoteAccess`` . Make sure that the launch template meets the requirements in ``launchTemplateSpecification`` . Also refer to `Customizing managed nodes with launch templates <https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html>`_ in the *Amazon EKS User Guide* .
10560
+ :param launch_template: An object representing a node group's launch template specification. When using this object, don't directly specify ``instanceTypes`` , ``diskSize`` , or ``remoteAccess`` . You cannot later specify a different launch template ID or name than what was used to create the node group. Make sure that the launch template meets the requirements in ``launchTemplateSpecification`` . Also refer to `Customizing managed nodes with launch templates <https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html>`_ in the *Amazon EKS User Guide* .
10559
10561
  :param nodegroup_name: The unique name to give your node group.
10560
10562
  :param node_repair_config: The node auto repair configuration for the node group.
10561
10563
  :param release_version: The AMI version of the Amazon EKS optimized AMI to use with your node group (for example, ``1.14.7- *YYYYMMDD*`` ). By default, the latest available AMI version for the node group's current Kubernetes version is used. For more information, see `Amazon EKS optimized Linux AMI Versions <https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html>`_ in the *Amazon EKS User Guide* . .. epigraph:: Changing this value triggers an update of the node group if one is available. You can't update other properties at the same time as updating ``Release Version`` .
@@ -10797,7 +10799,9 @@ class CfnNodegroupProps:
10797
10799
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnNodegroup.LaunchTemplateSpecificationProperty]]:
10798
10800
  '''An object representing a node group's launch template specification.
10799
10801
 
10800
- When using this object, don't directly specify ``instanceTypes`` , ``diskSize`` , or ``remoteAccess`` . Make sure that the launch template meets the requirements in ``launchTemplateSpecification`` . Also refer to `Customizing managed nodes with launch templates <https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html>`_ in the *Amazon EKS User Guide* .
10802
+ When using this object, don't directly specify ``instanceTypes`` , ``diskSize`` , or ``remoteAccess`` . You cannot later specify a different launch template ID or name than what was used to create the node group.
10803
+
10804
+ Make sure that the launch template meets the requirements in ``launchTemplateSpecification`` . Also refer to `Customizing managed nodes with launch templates <https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html>`_ in the *Amazon EKS User Guide* .
10801
10805
 
10802
10806
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-launchtemplate
10803
10807
  '''