aws-cdk-lib 2.115.0__py3-none-any.whl → 2.116.1__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (66) hide show
  1. aws_cdk/__init__.py +801 -356
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.115.0.jsii.tgz → aws-cdk-lib@2.116.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +3 -1
  5. aws_cdk/aws_apigatewayv2/__init__.py +595 -222
  6. aws_cdk/aws_apigatewayv2_integrations/__init__.py +4 -5
  7. aws_cdk/aws_applicationautoscaling/__init__.py +51 -15
  8. aws_cdk/aws_appsync/__init__.py +14 -3
  9. aws_cdk/aws_autoscaling/__init__.py +6 -0
  10. aws_cdk/aws_b2bi/__init__.py +2445 -0
  11. aws_cdk/aws_cloud9/__init__.py +63 -63
  12. aws_cdk/aws_cloudfront/__init__.py +394 -0
  13. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -2
  14. aws_cdk/aws_cloudtrail/__init__.py +90 -11
  15. aws_cdk/aws_cloudwatch/__init__.py +6 -6
  16. aws_cdk/aws_codedeploy/__init__.py +88 -15
  17. aws_cdk/aws_codepipeline/__init__.py +645 -0
  18. aws_cdk/aws_cognito/__init__.py +13 -26
  19. aws_cdk/aws_config/__init__.py +315 -1
  20. aws_cdk/aws_connect/__init__.py +532 -37
  21. aws_cdk/aws_controltower/__init__.py +4 -4
  22. aws_cdk/aws_datasync/__init__.py +6 -4
  23. aws_cdk/aws_dms/__init__.py +241 -131
  24. aws_cdk/aws_dynamodb/__init__.py +8 -0
  25. aws_cdk/aws_ec2/__init__.py +1030 -45
  26. aws_cdk/aws_ecr/__init__.py +78 -10
  27. aws_cdk/aws_ecs/__init__.py +210 -2
  28. aws_cdk/aws_ecs_patterns/__init__.py +77 -62
  29. aws_cdk/aws_eks/__init__.py +8 -1
  30. aws_cdk/aws_elasticache/__init__.py +136 -10
  31. aws_cdk/aws_elasticloadbalancingv2/__init__.py +10 -13
  32. aws_cdk/aws_emr/__init__.py +234 -17
  33. aws_cdk/aws_eventschemas/__init__.py +15 -13
  34. aws_cdk/aws_fis/__init__.py +33 -13
  35. aws_cdk/aws_gamelift/__init__.py +47 -0
  36. aws_cdk/aws_imagebuilder/__init__.py +922 -84
  37. aws_cdk/aws_internetmonitor/__init__.py +12 -10
  38. aws_cdk/aws_iot/__init__.py +26 -46
  39. aws_cdk/aws_iottwinmaker/__init__.py +36 -34
  40. aws_cdk/aws_lambda/__init__.py +19 -15
  41. aws_cdk/aws_lambda_nodejs/__init__.py +5 -2
  42. aws_cdk/aws_logs/__init__.py +6 -6
  43. aws_cdk/aws_opensearchservice/__init__.py +5 -3
  44. aws_cdk/aws_organizations/__init__.py +3 -3
  45. aws_cdk/aws_osis/__init__.py +17 -13
  46. aws_cdk/aws_rds/__init__.py +6 -0
  47. aws_cdk/aws_s3/__init__.py +4 -2
  48. aws_cdk/aws_s3outposts/__init__.py +8 -8
  49. aws_cdk/aws_sagemaker/__init__.py +17 -94
  50. aws_cdk/aws_secretsmanager/__init__.py +9 -7
  51. aws_cdk/aws_securityhub/__init__.py +18 -0
  52. aws_cdk/aws_servicecatalogappregistry/__init__.py +31 -0
  53. aws_cdk/aws_ses/__init__.py +58 -11
  54. aws_cdk/aws_sns/__init__.py +309 -10
  55. aws_cdk/aws_ssm/__init__.py +3 -5
  56. aws_cdk/aws_stepfunctions/__init__.py +335 -19
  57. aws_cdk/aws_stepfunctions_tasks/__init__.py +388 -38
  58. aws_cdk/aws_transfer/__init__.py +37 -10
  59. aws_cdk/custom_resources/__init__.py +443 -1
  60. aws_cdk/triggers/__init__.py +5 -2
  61. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/METADATA +1 -1
  62. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/RECORD +66 -65
  63. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/LICENSE +0 -0
  64. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/NOTICE +0 -0
  65. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/WHEEL +0 -0
  66. {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/top_level.txt +0 -0
@@ -3863,7 +3863,8 @@ class CfnUserPool(
3863
3863
  @builtins.property
3864
3864
  @jsii.member(jsii_name="attrUserPoolId")
3865
3865
  def attr_user_pool_id(self) -> builtins.str:
3866
- '''
3866
+ '''The ID of the user pool.
3867
+
3867
3868
  :cloudformationAttribute: UserPoolId
3868
3869
  '''
3869
3870
  return typing.cast(builtins.str, jsii.get(self, "attrUserPoolId"))
@@ -6339,7 +6340,7 @@ class CfnUserPoolClient(
6339
6340
  :param id: Construct identifier for this resource (unique in its scope).
6340
6341
  :param user_pool_id: The user pool ID for the user pool where you want to create a user pool client.
6341
6342
  :param access_token_validity: The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for ``AccessTokenValidity`` as ``seconds`` , ``minutes`` , ``hours`` , or ``days`` , set a ``TokenValidityUnits`` value in your API request. For example, when you set ``AccessTokenValidity`` to ``10`` and ``TokenValidityUnits`` to ``hours`` , your user can authorize access with their access token for 10 hours. The default time unit for ``AccessTokenValidity`` in an API request is hours.
6342
- :param allowed_o_auth_flows: The allowed OAuth flows. - **code** - Use a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the ``/oauth2/token`` endpoint. - **implicit** - Issue the access token (and, optionally, ID token, based on scopes) directly to your user. - **client_credentials** - Issue the access token from the ``/oauth2/token`` endpoint directly to a non-person user using a combination of the client ID and client secret.
6343
+ :param allowed_o_auth_flows: The OAuth grant types that you want your app client to generate. To create an app client that generates client credentials grants, you must add ``client_credentials`` as the only allowed OAuth flow. - **code** - Use a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the ``/oauth2/token`` endpoint. - **implicit** - Issue the access token (and, optionally, ID token, based on scopes) directly to your user. - **client_credentials** - Issue the access token from the ``/oauth2/token`` endpoint directly to a non-person user using a combination of the client ID and client secret.
6343
6344
  :param allowed_o_auth_flows_user_pool_client: Set to ``true`` to use OAuth 2.0 features in your user pool app client. ``AllowedOAuthFlowsUserPoolClient`` must be ``true`` before you can configure the following features in your app client. - ``CallBackURLs`` : Callback URLs. - ``LogoutURLs`` : Sign-out redirect URLs. - ``AllowedOAuthScopes`` : OAuth 2.0 scopes. - ``AllowedOAuthFlows`` : Support for authorization code, implicit, and client credentials OAuth 2.0 grants. To use OAuth 2.0 features, configure one of these features in the Amazon Cognito console or set ``AllowedOAuthFlowsUserPoolClient`` to ``true`` in a ``CreateUserPoolClient`` or ``UpdateUserPoolClient`` API request. If you don't set a value for ``AllowedOAuthFlowsUserPoolClient`` in a request with the AWS CLI or SDKs, it defaults to ``false`` .
6344
6345
  :param allowed_o_auth_scopes: The allowed OAuth scopes. Possible values provided by OAuth are ``phone`` , ``email`` , ``openid`` , and ``profile`` . Possible values provided by AWS are ``aws.cognito.signin.user.admin`` . Custom scopes created in Resource Servers are also supported.
6345
6346
  :param analytics_configuration: The user pool analytics configuration for collecting metrics and sending them to your Amazon Pinpoint campaign. .. epigraph:: In AWS Regions where Amazon Pinpoint isn't available, user pools only support sending events to Amazon Pinpoint projects in AWS Region us-east-1. In Regions where Amazon Pinpoint is available, user pools support sending events to Amazon Pinpoint projects within that same Region.
@@ -6479,7 +6480,7 @@ class CfnUserPoolClient(
6479
6480
  @builtins.property
6480
6481
  @jsii.member(jsii_name="allowedOAuthFlows")
6481
6482
  def allowed_o_auth_flows(self) -> typing.Optional[typing.List[builtins.str]]:
6482
- '''The allowed OAuth flows.'''
6483
+ '''The OAuth grant types that you want your app client to generate.'''
6483
6484
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "allowedOAuthFlows"))
6484
6485
 
6485
6486
  @allowed_o_auth_flows.setter
@@ -7081,7 +7082,7 @@ class CfnUserPoolClientProps:
7081
7082
 
7082
7083
  :param user_pool_id: The user pool ID for the user pool where you want to create a user pool client.
7083
7084
  :param access_token_validity: The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for ``AccessTokenValidity`` as ``seconds`` , ``minutes`` , ``hours`` , or ``days`` , set a ``TokenValidityUnits`` value in your API request. For example, when you set ``AccessTokenValidity`` to ``10`` and ``TokenValidityUnits`` to ``hours`` , your user can authorize access with their access token for 10 hours. The default time unit for ``AccessTokenValidity`` in an API request is hours.
7084
- :param allowed_o_auth_flows: The allowed OAuth flows. - **code** - Use a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the ``/oauth2/token`` endpoint. - **implicit** - Issue the access token (and, optionally, ID token, based on scopes) directly to your user. - **client_credentials** - Issue the access token from the ``/oauth2/token`` endpoint directly to a non-person user using a combination of the client ID and client secret.
7085
+ :param allowed_o_auth_flows: The OAuth grant types that you want your app client to generate. To create an app client that generates client credentials grants, you must add ``client_credentials`` as the only allowed OAuth flow. - **code** - Use a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the ``/oauth2/token`` endpoint. - **implicit** - Issue the access token (and, optionally, ID token, based on scopes) directly to your user. - **client_credentials** - Issue the access token from the ``/oauth2/token`` endpoint directly to a non-person user using a combination of the client ID and client secret.
7085
7086
  :param allowed_o_auth_flows_user_pool_client: Set to ``true`` to use OAuth 2.0 features in your user pool app client. ``AllowedOAuthFlowsUserPoolClient`` must be ``true`` before you can configure the following features in your app client. - ``CallBackURLs`` : Callback URLs. - ``LogoutURLs`` : Sign-out redirect URLs. - ``AllowedOAuthScopes`` : OAuth 2.0 scopes. - ``AllowedOAuthFlows`` : Support for authorization code, implicit, and client credentials OAuth 2.0 grants. To use OAuth 2.0 features, configure one of these features in the Amazon Cognito console or set ``AllowedOAuthFlowsUserPoolClient`` to ``true`` in a ``CreateUserPoolClient`` or ``UpdateUserPoolClient`` API request. If you don't set a value for ``AllowedOAuthFlowsUserPoolClient`` in a request with the AWS CLI or SDKs, it defaults to ``false`` .
7086
7087
  :param allowed_o_auth_scopes: The allowed OAuth scopes. Possible values provided by OAuth are ``phone`` , ``email`` , ``openid`` , and ``profile`` . Possible values provided by AWS are ``aws.cognito.signin.user.admin`` . Custom scopes created in Resource Servers are also supported.
7087
7088
  :param analytics_configuration: The user pool analytics configuration for collecting metrics and sending them to your Amazon Pinpoint campaign. .. epigraph:: In AWS Regions where Amazon Pinpoint isn't available, user pools only support sending events to Amazon Pinpoint projects in AWS Region us-east-1. In Regions where Amazon Pinpoint is available, user pools support sending events to Amazon Pinpoint projects within that same Region.
@@ -7245,7 +7246,9 @@ class CfnUserPoolClientProps:
7245
7246
 
7246
7247
  @builtins.property
7247
7248
  def allowed_o_auth_flows(self) -> typing.Optional[typing.List[builtins.str]]:
7248
- '''The allowed OAuth flows.
7249
+ '''The OAuth grant types that you want your app client to generate.
7250
+
7251
+ To create an app client that generates client credentials grants, you must add ``client_credentials`` as the only allowed OAuth flow.
7249
7252
 
7250
7253
  - **code** - Use a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the ``/oauth2/token`` endpoint.
7251
7254
  - **implicit** - Issue the access token (and, optionally, ID token, based on scopes) directly to your user.
@@ -7862,12 +7865,7 @@ class CfnUserPoolGroup(
7862
7865
  metaclass=jsii.JSIIMeta,
7863
7866
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPoolGroup",
7864
7867
  ):
7865
- '''Specifies a new group in the identified user pool.
7866
-
7867
- Calling this action requires developer credentials.
7868
- .. epigraph::
7869
-
7870
- If you don't specify a value for a parameter, Amazon Cognito sets it to a default value.
7868
+ '''A user pool group that you can add a user to.
7871
7869
 
7872
7870
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html
7873
7871
  :cloudformationResource: AWS::Cognito::UserPoolGroup
@@ -10984,7 +10982,7 @@ class CfnUserPoolUser(
10984
10982
  :param desired_delivery_mediums: Specify ``"EMAIL"`` if email will be used to send the welcome message. Specify ``"SMS"`` if the phone number will be used. The default value is ``"SMS"`` . You can specify more than one value.
10985
10983
  :param force_alias_creation: This parameter is used only if the ``phone_number_verified`` or ``email_verified`` attribute is set to ``True`` . Otherwise, it is ignored. If this parameter is set to ``True`` and the phone number or email address specified in the UserAttributes parameter already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user. The previous user will no longer be able to log in using that alias. If this parameter is set to ``False`` , the API throws an ``AliasExistsException`` error if the alias already exists. The default value is ``False`` .
10986
10984
  :param message_action: Set to ``RESEND`` to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to ``SUPPRESS`` to suppress sending the message. You can specify only one value.
10987
- :param user_attributes: The user attributes and attribute values to be set for the user to be created. These are name-value pairs You can create a user without specifying any attributes other than ``Username`` . However, any attributes that you specify as required (in ` <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html>`_ or in the *Attributes* tab of the console) must be supplied either by you (in your call to ``AdminCreateUser`` ) or by the user (when they sign up in response to your welcome message). For custom attributes, you must prepend the ``custom:`` prefix to the attribute name. To send a message inviting the user to sign up, you must specify the user's email address or phone number. This can be done in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. In your call to ``AdminCreateUser`` , you can set the ``email_verified`` attribute to ``True`` , and you can set the ``phone_number_verified`` attribute to ``True`` . (You can also do this by calling ` <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html>`_ .) - *email* : The email address of the user to whom the message that contains the code and user name will be sent. Required if the ``email_verified`` attribute is set to ``True`` , or if ``"EMAIL"`` is specified in the ``DesiredDeliveryMediums`` parameter. - *phone_number* : The phone number of the user to whom the message that contains the code and user name will be sent. Required if the ``phone_number_verified`` attribute is set to ``True`` , or if ``"SMS"`` is specified in the ``DesiredDeliveryMediums`` parameter.
10985
+ :param user_attributes: An array of name-value pairs that contain user attributes and attribute values.
10988
10986
  :param username: The value that you want to set as the username sign-in attribute. The following conditions apply to the username parameter. - The username can't be a duplicate of another username in the same user pool. - You can't change the value of a username after you create it. - You can only provide a value if usernames are a valid sign-in attribute for your user pool. If your user pool only supports phone numbers or email addresses as sign-in attributes, Amazon Cognito automatically generates a username value. For more information, see `Customizing sign-in attributes <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases>`_ .
10989
10987
  :param validation_data: Temporary user attributes that contribute to the outcomes of your pre sign-up Lambda trigger. This set of key-value pairs are for custom validation of information that you collect from your users but don't need to retain. Your Lambda function can analyze this additional data and act on it. Your function might perform external API operations like logging user attributes and validation data to Amazon CloudWatch Logs. Validation data might also affect the response that your function returns to Amazon Cognito, like automatically confirming the user if they sign up from within your network. For more information about the pre sign-up Lambda trigger, see `Pre sign-up Lambda trigger <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html>`_ .
10990
10988
  '''
@@ -11123,7 +11121,7 @@ class CfnUserPoolUser(
11123
11121
  def user_attributes(
11124
11122
  self,
11125
11123
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnUserPoolUser.AttributeTypeProperty"]]]]:
11126
- '''The user attributes and attribute values to be set for the user to be created.'''
11124
+ '''An array of name-value pairs that contain user attributes and attribute values.'''
11127
11125
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnUserPoolUser.AttributeTypeProperty"]]]], jsii.get(self, "userAttributes"))
11128
11126
 
11129
11127
  @user_attributes.setter
@@ -11272,7 +11270,7 @@ class CfnUserPoolUserProps:
11272
11270
  :param desired_delivery_mediums: Specify ``"EMAIL"`` if email will be used to send the welcome message. Specify ``"SMS"`` if the phone number will be used. The default value is ``"SMS"`` . You can specify more than one value.
11273
11271
  :param force_alias_creation: This parameter is used only if the ``phone_number_verified`` or ``email_verified`` attribute is set to ``True`` . Otherwise, it is ignored. If this parameter is set to ``True`` and the phone number or email address specified in the UserAttributes parameter already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user. The previous user will no longer be able to log in using that alias. If this parameter is set to ``False`` , the API throws an ``AliasExistsException`` error if the alias already exists. The default value is ``False`` .
11274
11272
  :param message_action: Set to ``RESEND`` to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to ``SUPPRESS`` to suppress sending the message. You can specify only one value.
11275
- :param user_attributes: The user attributes and attribute values to be set for the user to be created. These are name-value pairs You can create a user without specifying any attributes other than ``Username`` . However, any attributes that you specify as required (in ` <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html>`_ or in the *Attributes* tab of the console) must be supplied either by you (in your call to ``AdminCreateUser`` ) or by the user (when they sign up in response to your welcome message). For custom attributes, you must prepend the ``custom:`` prefix to the attribute name. To send a message inviting the user to sign up, you must specify the user's email address or phone number. This can be done in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. In your call to ``AdminCreateUser`` , you can set the ``email_verified`` attribute to ``True`` , and you can set the ``phone_number_verified`` attribute to ``True`` . (You can also do this by calling ` <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html>`_ .) - *email* : The email address of the user to whom the message that contains the code and user name will be sent. Required if the ``email_verified`` attribute is set to ``True`` , or if ``"EMAIL"`` is specified in the ``DesiredDeliveryMediums`` parameter. - *phone_number* : The phone number of the user to whom the message that contains the code and user name will be sent. Required if the ``phone_number_verified`` attribute is set to ``True`` , or if ``"SMS"`` is specified in the ``DesiredDeliveryMediums`` parameter.
11273
+ :param user_attributes: An array of name-value pairs that contain user attributes and attribute values.
11276
11274
  :param username: The value that you want to set as the username sign-in attribute. The following conditions apply to the username parameter. - The username can't be a duplicate of another username in the same user pool. - You can't change the value of a username after you create it. - You can only provide a value if usernames are a valid sign-in attribute for your user pool. If your user pool only supports phone numbers or email addresses as sign-in attributes, Amazon Cognito automatically generates a username value. For more information, see `Customizing sign-in attributes <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases>`_ .
11277
11275
  :param validation_data: Temporary user attributes that contribute to the outcomes of your pre sign-up Lambda trigger. This set of key-value pairs are for custom validation of information that you collect from your users but don't need to retain. Your Lambda function can analyze this additional data and act on it. Your function might perform external API operations like logging user attributes and validation data to Amazon CloudWatch Logs. Validation data might also affect the response that your function returns to Amazon Cognito, like automatically confirming the user if they sign up from within your network. For more information about the pre sign-up Lambda trigger, see `Pre sign-up Lambda trigger <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html>`_ .
11278
11276
 
@@ -11409,18 +11407,7 @@ class CfnUserPoolUserProps:
11409
11407
  def user_attributes(
11410
11408
  self,
11411
11409
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnUserPoolUser.AttributeTypeProperty]]]]:
11412
- '''The user attributes and attribute values to be set for the user to be created.
11413
-
11414
- These are name-value pairs You can create a user without specifying any attributes other than ``Username`` . However, any attributes that you specify as required (in ` <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html>`_ or in the *Attributes* tab of the console) must be supplied either by you (in your call to ``AdminCreateUser`` ) or by the user (when they sign up in response to your welcome message).
11415
-
11416
- For custom attributes, you must prepend the ``custom:`` prefix to the attribute name.
11417
-
11418
- To send a message inviting the user to sign up, you must specify the user's email address or phone number. This can be done in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools.
11419
-
11420
- In your call to ``AdminCreateUser`` , you can set the ``email_verified`` attribute to ``True`` , and you can set the ``phone_number_verified`` attribute to ``True`` . (You can also do this by calling ` <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html>`_ .)
11421
-
11422
- - *email* : The email address of the user to whom the message that contains the code and user name will be sent. Required if the ``email_verified`` attribute is set to ``True`` , or if ``"EMAIL"`` is specified in the ``DesiredDeliveryMediums`` parameter.
11423
- - *phone_number* : The phone number of the user to whom the message that contains the code and user name will be sent. Required if the ``phone_number_verified`` attribute is set to ``True`` , or if ``"SMS"`` is specified in the ``DesiredDeliveryMediums`` parameter.
11410
+ '''An array of name-value pairs that contain user attributes and attribute values.
11424
11411
 
11425
11412
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-userattributes
11426
11413
  '''
@@ -2203,6 +2203,18 @@ class CfnConfigurationRecorder(
2203
2203
  use_only="useOnly"
2204
2204
  ),
2205
2205
  resource_types=["resourceTypes"]
2206
+ ),
2207
+ recording_mode=config.CfnConfigurationRecorder.RecordingModeProperty(
2208
+ recording_frequency="recordingFrequency",
2209
+
2210
+ # the properties below are optional
2211
+ recording_mode_overrides=[config.CfnConfigurationRecorder.RecordingModeOverrideProperty(
2212
+ recording_frequency="recordingFrequency",
2213
+ resource_types=["resourceTypes"],
2214
+
2215
+ # the properties below are optional
2216
+ description="description"
2217
+ )]
2206
2218
  )
2207
2219
  )
2208
2220
  '''
@@ -2215,6 +2227,7 @@ class CfnConfigurationRecorder(
2215
2227
  role_arn: builtins.str,
2216
2228
  name: typing.Optional[builtins.str] = None,
2217
2229
  recording_group: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationRecorder.RecordingGroupProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2230
+ recording_mode: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationRecorder.RecordingModeProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2218
2231
  ) -> None:
2219
2232
  '''
2220
2233
  :param scope: Scope in which this resource is defined.
@@ -2222,13 +2235,17 @@ class CfnConfigurationRecorder(
2222
2235
  :param role_arn: Amazon Resource Name (ARN) of the IAM role assumed by AWS Config and used by the configuration recorder. For more information, see `Permissions for the IAM Role Assigned <https://docs.aws.amazon.com/config/latest/developerguide/iamrole-permissions.html>`_ to AWS Config in the AWS Config Developer Guide. .. epigraph:: *Pre-existing AWS Config role* If you have used an AWS service that uses AWS Config , such as AWS Security Hub or AWS Control Tower , and an AWS Config role has already been created, make sure that the IAM role that you use when setting up AWS Config keeps the same minimum permissions as the already created AWS Config role. You must do this so that the other AWS service continues to run as expected. For example, if AWS Control Tower has an IAM role that allows AWS Config to read Amazon Simple Storage Service ( Amazon S3 ) objects, make sure that the same permissions are granted within the IAM role you use when setting up AWS Config . Otherwise, it may interfere with how AWS Control Tower operates. For more information about IAM roles for AWS Config , see `*Identity and Access Management for AWS Config* <https://docs.aws.amazon.com/config/latest/developerguide/security-iam.html>`_ in the *AWS Config Developer Guide* .
2223
2236
  :param name: The name of the configuration recorder. AWS Config automatically assigns the name of "default" when creating the configuration recorder. You cannot change the name of the configuration recorder after it has been created. To change the configuration recorder name, you must delete it and create a new configuration recorder with a new name.
2224
2237
  :param recording_group: Specifies which resource types AWS Config records for configuration changes. .. epigraph:: *High Number of AWS Config Evaluations* You may notice increased activity in your account during your initial month recording with AWS Config when compared to subsequent months. During the initial bootstrapping process, AWS Config runs evaluations on all the resources in your account that you have selected for AWS Config to record. If you are running ephemeral workloads, you may see increased activity from AWS Config as it records configuration changes associated with creating and deleting these temporary resources. An *ephemeral workload* is a temporary use of computing resources that are loaded and run when needed. Examples include Amazon Elastic Compute Cloud ( Amazon EC2 ) Spot Instances, Amazon EMR jobs, and AWS Auto Scaling . If you want to avoid the increased activity from running ephemeral workloads, you can run these types of workloads in a separate account with AWS Config turned off to avoid increased configuration recording and rule evaluations.
2238
+ :param recording_mode: Specifies the default recording frequency that AWS Config uses to record configuration changes. AWS Config supports *Continuous recording* and *Daily recording* . - Continuous recording allows you to record configuration changes continuously whenever a change occurs. - Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it’s different from the previous CI recorded. .. epigraph:: AWS Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous. You can also override the recording frequency for specific resource types.
2225
2239
  '''
2226
2240
  if __debug__:
2227
2241
  type_hints = typing.get_type_hints(_typecheckingstub__8cc1fca38c04598953e44108edff915ed0a33e7e99e047d1bffcbd31ac2e3b03)
2228
2242
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2229
2243
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2230
2244
  props = CfnConfigurationRecorderProps(
2231
- role_arn=role_arn, name=name, recording_group=recording_group
2245
+ role_arn=role_arn,
2246
+ name=name,
2247
+ recording_group=recording_group,
2248
+ recording_mode=recording_mode,
2232
2249
  )
2233
2250
 
2234
2251
  jsii.create(self.__class__, self, [scope, id, props])
@@ -2323,6 +2340,24 @@ class CfnConfigurationRecorder(
2323
2340
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2324
2341
  jsii.set(self, "recordingGroup", value)
2325
2342
 
2343
+ @builtins.property
2344
+ @jsii.member(jsii_name="recordingMode")
2345
+ def recording_mode(
2346
+ self,
2347
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConfigurationRecorder.RecordingModeProperty"]]:
2348
+ '''Specifies the default recording frequency that AWS Config uses to record configuration changes.'''
2349
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConfigurationRecorder.RecordingModeProperty"]], jsii.get(self, "recordingMode"))
2350
+
2351
+ @recording_mode.setter
2352
+ def recording_mode(
2353
+ self,
2354
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConfigurationRecorder.RecordingModeProperty"]],
2355
+ ) -> None:
2356
+ if __debug__:
2357
+ type_hints = typing.get_type_hints(_typecheckingstub__79c601a52da19c88133151b63852ca6a6ba71894cd962c2e118e75d604e83fe5)
2358
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2359
+ jsii.set(self, "recordingMode", value)
2360
+
2326
2361
  @jsii.data_type(
2327
2362
  jsii_type="aws-cdk-lib.aws_config.CfnConfigurationRecorder.ExclusionByResourceTypesProperty",
2328
2363
  jsii_struct_bases=[],
@@ -2629,6 +2664,220 @@ class CfnConfigurationRecorder(
2629
2664
  k + "=" + repr(v) for k, v in self._values.items()
2630
2665
  )
2631
2666
 
2667
+ @jsii.data_type(
2668
+ jsii_type="aws-cdk-lib.aws_config.CfnConfigurationRecorder.RecordingModeOverrideProperty",
2669
+ jsii_struct_bases=[],
2670
+ name_mapping={
2671
+ "recording_frequency": "recordingFrequency",
2672
+ "resource_types": "resourceTypes",
2673
+ "description": "description",
2674
+ },
2675
+ )
2676
+ class RecordingModeOverrideProperty:
2677
+ def __init__(
2678
+ self,
2679
+ *,
2680
+ recording_frequency: builtins.str,
2681
+ resource_types: typing.Sequence[builtins.str],
2682
+ description: typing.Optional[builtins.str] = None,
2683
+ ) -> None:
2684
+ '''An object for you to specify your overrides for the recording mode.
2685
+
2686
+ :param recording_frequency: The recording frequency that will be applied to all the resource types specified in the override. - Continuous recording allows you to record configuration changes continuously whenever a change occurs. - Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it’s different from the previous CI recorded. .. epigraph:: AWS Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.
2687
+ :param resource_types: A comma-separated list that specifies which resource types AWS Config includes in the override. .. epigraph:: Daily recording is not supported for the following resource types: - ``AWS::Config::ResourceCompliance`` - ``AWS::Config::ConformancePackCompliance`` - ``AWS::Config::ConfigurationRecorder``
2688
+ :param description: A description that you provide for the override.
2689
+
2690
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingmodeoverride.html
2691
+ :exampleMetadata: fixture=_generated
2692
+
2693
+ Example::
2694
+
2695
+ # The code below shows an example of how to instantiate this type.
2696
+ # The values are placeholders you should change.
2697
+ from aws_cdk import aws_config as config
2698
+
2699
+ recording_mode_override_property = config.CfnConfigurationRecorder.RecordingModeOverrideProperty(
2700
+ recording_frequency="recordingFrequency",
2701
+ resource_types=["resourceTypes"],
2702
+
2703
+ # the properties below are optional
2704
+ description="description"
2705
+ )
2706
+ '''
2707
+ if __debug__:
2708
+ type_hints = typing.get_type_hints(_typecheckingstub__301d91ec25370b3d9c2f7b2aef5e6913cf2370b1c4e1ffda877aafd174d11165)
2709
+ check_type(argname="argument recording_frequency", value=recording_frequency, expected_type=type_hints["recording_frequency"])
2710
+ check_type(argname="argument resource_types", value=resource_types, expected_type=type_hints["resource_types"])
2711
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
2712
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2713
+ "recording_frequency": recording_frequency,
2714
+ "resource_types": resource_types,
2715
+ }
2716
+ if description is not None:
2717
+ self._values["description"] = description
2718
+
2719
+ @builtins.property
2720
+ def recording_frequency(self) -> builtins.str:
2721
+ '''The recording frequency that will be applied to all the resource types specified in the override.
2722
+
2723
+ - Continuous recording allows you to record configuration changes continuously whenever a change occurs.
2724
+ - Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it’s different from the previous CI recorded.
2725
+
2726
+ .. epigraph::
2727
+
2728
+ AWS Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.
2729
+
2730
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingmodeoverride.html#cfn-config-configurationrecorder-recordingmodeoverride-recordingfrequency
2731
+ '''
2732
+ result = self._values.get("recording_frequency")
2733
+ assert result is not None, "Required property 'recording_frequency' is missing"
2734
+ return typing.cast(builtins.str, result)
2735
+
2736
+ @builtins.property
2737
+ def resource_types(self) -> typing.List[builtins.str]:
2738
+ '''A comma-separated list that specifies which resource types AWS Config includes in the override.
2739
+
2740
+ .. epigraph::
2741
+
2742
+ Daily recording is not supported for the following resource types:
2743
+
2744
+ - ``AWS::Config::ResourceCompliance``
2745
+ - ``AWS::Config::ConformancePackCompliance``
2746
+ - ``AWS::Config::ConfigurationRecorder``
2747
+
2748
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingmodeoverride.html#cfn-config-configurationrecorder-recordingmodeoverride-resourcetypes
2749
+ '''
2750
+ result = self._values.get("resource_types")
2751
+ assert result is not None, "Required property 'resource_types' is missing"
2752
+ return typing.cast(typing.List[builtins.str], result)
2753
+
2754
+ @builtins.property
2755
+ def description(self) -> typing.Optional[builtins.str]:
2756
+ '''A description that you provide for the override.
2757
+
2758
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingmodeoverride.html#cfn-config-configurationrecorder-recordingmodeoverride-description
2759
+ '''
2760
+ result = self._values.get("description")
2761
+ return typing.cast(typing.Optional[builtins.str], result)
2762
+
2763
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2764
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2765
+
2766
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2767
+ return not (rhs == self)
2768
+
2769
+ def __repr__(self) -> str:
2770
+ return "RecordingModeOverrideProperty(%s)" % ", ".join(
2771
+ k + "=" + repr(v) for k, v in self._values.items()
2772
+ )
2773
+
2774
+ @jsii.data_type(
2775
+ jsii_type="aws-cdk-lib.aws_config.CfnConfigurationRecorder.RecordingModeProperty",
2776
+ jsii_struct_bases=[],
2777
+ name_mapping={
2778
+ "recording_frequency": "recordingFrequency",
2779
+ "recording_mode_overrides": "recordingModeOverrides",
2780
+ },
2781
+ )
2782
+ class RecordingModeProperty:
2783
+ def __init__(
2784
+ self,
2785
+ *,
2786
+ recording_frequency: builtins.str,
2787
+ recording_mode_overrides: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConfigurationRecorder.RecordingModeOverrideProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
2788
+ ) -> None:
2789
+ '''Specifies the default recording frequency that AWS Config uses to record configuration changes.
2790
+
2791
+ AWS Config supports *Continuous recording* and *Daily recording* .
2792
+
2793
+ - Continuous recording allows you to record configuration changes continuously whenever a change occurs.
2794
+ - Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it’s different from the previous CI recorded.
2795
+
2796
+ .. epigraph::
2797
+
2798
+ AWS Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.
2799
+
2800
+ You can also override the recording frequency for specific resource types.
2801
+
2802
+ :param recording_frequency: The default recording frequency that AWS Config uses to record configuration changes. .. epigraph:: Daily recording is not supported for the following resource types: - ``AWS::Config::ResourceCompliance`` - ``AWS::Config::ConformancePackCompliance`` - ``AWS::Config::ConfigurationRecorder`` For the *allSupported* ( ``ALL_SUPPORTED_RESOURCE_TYPES`` ) recording strategy, these resource types will be set to Continuous recording.
2803
+ :param recording_mode_overrides: An array of ``recordingModeOverride`` objects for you to specify your overrides for the recording mode. The ``recordingModeOverride`` object in the ``recordingModeOverrides`` array consists of three fields: a ``description`` , the new ``recordingFrequency`` , and an array of ``resourceTypes`` to override.
2804
+
2805
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingmode.html
2806
+ :exampleMetadata: fixture=_generated
2807
+
2808
+ Example::
2809
+
2810
+ # The code below shows an example of how to instantiate this type.
2811
+ # The values are placeholders you should change.
2812
+ from aws_cdk import aws_config as config
2813
+
2814
+ recording_mode_property = config.CfnConfigurationRecorder.RecordingModeProperty(
2815
+ recording_frequency="recordingFrequency",
2816
+
2817
+ # the properties below are optional
2818
+ recording_mode_overrides=[config.CfnConfigurationRecorder.RecordingModeOverrideProperty(
2819
+ recording_frequency="recordingFrequency",
2820
+ resource_types=["resourceTypes"],
2821
+
2822
+ # the properties below are optional
2823
+ description="description"
2824
+ )]
2825
+ )
2826
+ '''
2827
+ if __debug__:
2828
+ type_hints = typing.get_type_hints(_typecheckingstub__2db8a0d318e287d3329642f2526ea9c788965e7dbe0f581278bef988ee908d63)
2829
+ check_type(argname="argument recording_frequency", value=recording_frequency, expected_type=type_hints["recording_frequency"])
2830
+ check_type(argname="argument recording_mode_overrides", value=recording_mode_overrides, expected_type=type_hints["recording_mode_overrides"])
2831
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2832
+ "recording_frequency": recording_frequency,
2833
+ }
2834
+ if recording_mode_overrides is not None:
2835
+ self._values["recording_mode_overrides"] = recording_mode_overrides
2836
+
2837
+ @builtins.property
2838
+ def recording_frequency(self) -> builtins.str:
2839
+ '''The default recording frequency that AWS Config uses to record configuration changes.
2840
+
2841
+ .. epigraph::
2842
+
2843
+ Daily recording is not supported for the following resource types:
2844
+
2845
+ - ``AWS::Config::ResourceCompliance``
2846
+ - ``AWS::Config::ConformancePackCompliance``
2847
+ - ``AWS::Config::ConfigurationRecorder``
2848
+
2849
+ For the *allSupported* ( ``ALL_SUPPORTED_RESOURCE_TYPES`` ) recording strategy, these resource types will be set to Continuous recording.
2850
+
2851
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingmode.html#cfn-config-configurationrecorder-recordingmode-recordingfrequency
2852
+ '''
2853
+ result = self._values.get("recording_frequency")
2854
+ assert result is not None, "Required property 'recording_frequency' is missing"
2855
+ return typing.cast(builtins.str, result)
2856
+
2857
+ @builtins.property
2858
+ def recording_mode_overrides(
2859
+ self,
2860
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnConfigurationRecorder.RecordingModeOverrideProperty"]]]]:
2861
+ '''An array of ``recordingModeOverride`` objects for you to specify your overrides for the recording mode.
2862
+
2863
+ The ``recordingModeOverride`` object in the ``recordingModeOverrides`` array consists of three fields: a ``description`` , the new ``recordingFrequency`` , and an array of ``resourceTypes`` to override.
2864
+
2865
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingmode.html#cfn-config-configurationrecorder-recordingmode-recordingmodeoverrides
2866
+ '''
2867
+ result = self._values.get("recording_mode_overrides")
2868
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnConfigurationRecorder.RecordingModeOverrideProperty"]]]], result)
2869
+
2870
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2871
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2872
+
2873
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2874
+ return not (rhs == self)
2875
+
2876
+ def __repr__(self) -> str:
2877
+ return "RecordingModeProperty(%s)" % ", ".join(
2878
+ k + "=" + repr(v) for k, v in self._values.items()
2879
+ )
2880
+
2632
2881
  @jsii.data_type(
2633
2882
  jsii_type="aws-cdk-lib.aws_config.CfnConfigurationRecorder.RecordingStrategyProperty",
2634
2883
  jsii_struct_bases=[],
@@ -2722,6 +2971,7 @@ class CfnConfigurationRecorder(
2722
2971
  "role_arn": "roleArn",
2723
2972
  "name": "name",
2724
2973
  "recording_group": "recordingGroup",
2974
+ "recording_mode": "recordingMode",
2725
2975
  },
2726
2976
  )
2727
2977
  class CfnConfigurationRecorderProps:
@@ -2731,12 +2981,14 @@ class CfnConfigurationRecorderProps:
2731
2981
  role_arn: builtins.str,
2732
2982
  name: typing.Optional[builtins.str] = None,
2733
2983
  recording_group: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationRecorder.RecordingGroupProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2984
+ recording_mode: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationRecorder.RecordingModeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2734
2985
  ) -> None:
2735
2986
  '''Properties for defining a ``CfnConfigurationRecorder``.
2736
2987
 
2737
2988
  :param role_arn: Amazon Resource Name (ARN) of the IAM role assumed by AWS Config and used by the configuration recorder. For more information, see `Permissions for the IAM Role Assigned <https://docs.aws.amazon.com/config/latest/developerguide/iamrole-permissions.html>`_ to AWS Config in the AWS Config Developer Guide. .. epigraph:: *Pre-existing AWS Config role* If you have used an AWS service that uses AWS Config , such as AWS Security Hub or AWS Control Tower , and an AWS Config role has already been created, make sure that the IAM role that you use when setting up AWS Config keeps the same minimum permissions as the already created AWS Config role. You must do this so that the other AWS service continues to run as expected. For example, if AWS Control Tower has an IAM role that allows AWS Config to read Amazon Simple Storage Service ( Amazon S3 ) objects, make sure that the same permissions are granted within the IAM role you use when setting up AWS Config . Otherwise, it may interfere with how AWS Control Tower operates. For more information about IAM roles for AWS Config , see `*Identity and Access Management for AWS Config* <https://docs.aws.amazon.com/config/latest/developerguide/security-iam.html>`_ in the *AWS Config Developer Guide* .
2738
2989
  :param name: The name of the configuration recorder. AWS Config automatically assigns the name of "default" when creating the configuration recorder. You cannot change the name of the configuration recorder after it has been created. To change the configuration recorder name, you must delete it and create a new configuration recorder with a new name.
2739
2990
  :param recording_group: Specifies which resource types AWS Config records for configuration changes. .. epigraph:: *High Number of AWS Config Evaluations* You may notice increased activity in your account during your initial month recording with AWS Config when compared to subsequent months. During the initial bootstrapping process, AWS Config runs evaluations on all the resources in your account that you have selected for AWS Config to record. If you are running ephemeral workloads, you may see increased activity from AWS Config as it records configuration changes associated with creating and deleting these temporary resources. An *ephemeral workload* is a temporary use of computing resources that are loaded and run when needed. Examples include Amazon Elastic Compute Cloud ( Amazon EC2 ) Spot Instances, Amazon EMR jobs, and AWS Auto Scaling . If you want to avoid the increased activity from running ephemeral workloads, you can run these types of workloads in a separate account with AWS Config turned off to avoid increased configuration recording and rule evaluations.
2991
+ :param recording_mode: Specifies the default recording frequency that AWS Config uses to record configuration changes. AWS Config supports *Continuous recording* and *Daily recording* . - Continuous recording allows you to record configuration changes continuously whenever a change occurs. - Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it’s different from the previous CI recorded. .. epigraph:: AWS Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous. You can also override the recording frequency for specific resource types.
2740
2992
 
2741
2993
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html
2742
2994
  :exampleMetadata: fixture=_generated
@@ -2762,6 +3014,18 @@ class CfnConfigurationRecorderProps:
2762
3014
  use_only="useOnly"
2763
3015
  ),
2764
3016
  resource_types=["resourceTypes"]
3017
+ ),
3018
+ recording_mode=config.CfnConfigurationRecorder.RecordingModeProperty(
3019
+ recording_frequency="recordingFrequency",
3020
+
3021
+ # the properties below are optional
3022
+ recording_mode_overrides=[config.CfnConfigurationRecorder.RecordingModeOverrideProperty(
3023
+ recording_frequency="recordingFrequency",
3024
+ resource_types=["resourceTypes"],
3025
+
3026
+ # the properties below are optional
3027
+ description="description"
3028
+ )]
2765
3029
  )
2766
3030
  )
2767
3031
  '''
@@ -2770,6 +3034,7 @@ class CfnConfigurationRecorderProps:
2770
3034
  check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
2771
3035
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2772
3036
  check_type(argname="argument recording_group", value=recording_group, expected_type=type_hints["recording_group"])
3037
+ check_type(argname="argument recording_mode", value=recording_mode, expected_type=type_hints["recording_mode"])
2773
3038
  self._values: typing.Dict[builtins.str, typing.Any] = {
2774
3039
  "role_arn": role_arn,
2775
3040
  }
@@ -2777,6 +3042,8 @@ class CfnConfigurationRecorderProps:
2777
3042
  self._values["name"] = name
2778
3043
  if recording_group is not None:
2779
3044
  self._values["recording_group"] = recording_group
3045
+ if recording_mode is not None:
3046
+ self._values["recording_mode"] = recording_mode
2780
3047
 
2781
3048
  @builtins.property
2782
3049
  def role_arn(self) -> builtins.str:
@@ -2827,6 +3094,28 @@ class CfnConfigurationRecorderProps:
2827
3094
  result = self._values.get("recording_group")
2828
3095
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnConfigurationRecorder.RecordingGroupProperty]], result)
2829
3096
 
3097
+ @builtins.property
3098
+ def recording_mode(
3099
+ self,
3100
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnConfigurationRecorder.RecordingModeProperty]]:
3101
+ '''Specifies the default recording frequency that AWS Config uses to record configuration changes.
3102
+
3103
+ AWS Config supports *Continuous recording* and *Daily recording* .
3104
+
3105
+ - Continuous recording allows you to record configuration changes continuously whenever a change occurs.
3106
+ - Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it’s different from the previous CI recorded.
3107
+
3108
+ .. epigraph::
3109
+
3110
+ AWS Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.
3111
+
3112
+ You can also override the recording frequency for specific resource types.
3113
+
3114
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html#cfn-config-configurationrecorder-recordingmode
3115
+ '''
3116
+ result = self._values.get("recording_mode")
3117
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnConfigurationRecorder.RecordingModeProperty]], result)
3118
+
2830
3119
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
2831
3120
  return isinstance(rhs, self.__class__) and rhs._values == self._values
2832
3121
 
@@ -13243,6 +13532,7 @@ def _typecheckingstub__8cc1fca38c04598953e44108edff915ed0a33e7e99e047d1bffcbd31a
13243
13532
  role_arn: builtins.str,
13244
13533
  name: typing.Optional[builtins.str] = None,
13245
13534
  recording_group: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationRecorder.RecordingGroupProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13535
+ recording_mode: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationRecorder.RecordingModeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13246
13536
  ) -> None:
13247
13537
  """Type checking stubs"""
13248
13538
  pass
@@ -13277,6 +13567,12 @@ def _typecheckingstub__0e1878a10e77a1aa31c809535803af7748be10257943ccb0147e9c083
13277
13567
  """Type checking stubs"""
13278
13568
  pass
13279
13569
 
13570
+ def _typecheckingstub__79c601a52da19c88133151b63852ca6a6ba71894cd962c2e118e75d604e83fe5(
13571
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnConfigurationRecorder.RecordingModeProperty]],
13572
+ ) -> None:
13573
+ """Type checking stubs"""
13574
+ pass
13575
+
13280
13576
  def _typecheckingstub__1bfeeb41a82e166dbe5ee3f6a4cb224863af8ea802ed4106641b03f2b048f32a(
13281
13577
  *,
13282
13578
  resource_types: typing.Sequence[builtins.str],
@@ -13295,6 +13591,23 @@ def _typecheckingstub__574b2463724d6487e33926405844644e49df72910787a048a5ca19855
13295
13591
  """Type checking stubs"""
13296
13592
  pass
13297
13593
 
13594
+ def _typecheckingstub__301d91ec25370b3d9c2f7b2aef5e6913cf2370b1c4e1ffda877aafd174d11165(
13595
+ *,
13596
+ recording_frequency: builtins.str,
13597
+ resource_types: typing.Sequence[builtins.str],
13598
+ description: typing.Optional[builtins.str] = None,
13599
+ ) -> None:
13600
+ """Type checking stubs"""
13601
+ pass
13602
+
13603
+ def _typecheckingstub__2db8a0d318e287d3329642f2526ea9c788965e7dbe0f581278bef988ee908d63(
13604
+ *,
13605
+ recording_frequency: builtins.str,
13606
+ recording_mode_overrides: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationRecorder.RecordingModeOverrideProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
13607
+ ) -> None:
13608
+ """Type checking stubs"""
13609
+ pass
13610
+
13298
13611
  def _typecheckingstub__cdc0c3a0d4a9aa5083c337e0372ddbd0be93f7adadc83df65d33ce75c0b906bb(
13299
13612
  *,
13300
13613
  use_only: builtins.str,
@@ -13307,6 +13620,7 @@ def _typecheckingstub__68cc2049b8c095672250d1c12a5af6fc05b3421a6c23124f87e5e31e2
13307
13620
  role_arn: builtins.str,
13308
13621
  name: typing.Optional[builtins.str] = None,
13309
13622
  recording_group: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationRecorder.RecordingGroupProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13623
+ recording_mode: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConfigurationRecorder.RecordingModeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
13310
13624
  ) -> None:
13311
13625
  """Type checking stubs"""
13312
13626
  pass