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.
- aws_cdk/__init__.py +801 -356
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.115.0.jsii.tgz → aws-cdk-lib@2.116.1.jsii.tgz} +0 -0
- aws_cdk/aws_apigateway/__init__.py +3 -1
- aws_cdk/aws_apigatewayv2/__init__.py +595 -222
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +4 -5
- aws_cdk/aws_applicationautoscaling/__init__.py +51 -15
- aws_cdk/aws_appsync/__init__.py +14 -3
- aws_cdk/aws_autoscaling/__init__.py +6 -0
- aws_cdk/aws_b2bi/__init__.py +2445 -0
- aws_cdk/aws_cloud9/__init__.py +63 -63
- aws_cdk/aws_cloudfront/__init__.py +394 -0
- aws_cdk/aws_cloudfront/experimental/__init__.py +5 -2
- aws_cdk/aws_cloudtrail/__init__.py +90 -11
- aws_cdk/aws_cloudwatch/__init__.py +6 -6
- aws_cdk/aws_codedeploy/__init__.py +88 -15
- aws_cdk/aws_codepipeline/__init__.py +645 -0
- aws_cdk/aws_cognito/__init__.py +13 -26
- aws_cdk/aws_config/__init__.py +315 -1
- aws_cdk/aws_connect/__init__.py +532 -37
- aws_cdk/aws_controltower/__init__.py +4 -4
- aws_cdk/aws_datasync/__init__.py +6 -4
- aws_cdk/aws_dms/__init__.py +241 -131
- aws_cdk/aws_dynamodb/__init__.py +8 -0
- aws_cdk/aws_ec2/__init__.py +1030 -45
- aws_cdk/aws_ecr/__init__.py +78 -10
- aws_cdk/aws_ecs/__init__.py +210 -2
- aws_cdk/aws_ecs_patterns/__init__.py +77 -62
- aws_cdk/aws_eks/__init__.py +8 -1
- aws_cdk/aws_elasticache/__init__.py +136 -10
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +10 -13
- aws_cdk/aws_emr/__init__.py +234 -17
- aws_cdk/aws_eventschemas/__init__.py +15 -13
- aws_cdk/aws_fis/__init__.py +33 -13
- aws_cdk/aws_gamelift/__init__.py +47 -0
- aws_cdk/aws_imagebuilder/__init__.py +922 -84
- aws_cdk/aws_internetmonitor/__init__.py +12 -10
- aws_cdk/aws_iot/__init__.py +26 -46
- aws_cdk/aws_iottwinmaker/__init__.py +36 -34
- aws_cdk/aws_lambda/__init__.py +19 -15
- aws_cdk/aws_lambda_nodejs/__init__.py +5 -2
- aws_cdk/aws_logs/__init__.py +6 -6
- aws_cdk/aws_opensearchservice/__init__.py +5 -3
- aws_cdk/aws_organizations/__init__.py +3 -3
- aws_cdk/aws_osis/__init__.py +17 -13
- aws_cdk/aws_rds/__init__.py +6 -0
- aws_cdk/aws_s3/__init__.py +4 -2
- aws_cdk/aws_s3outposts/__init__.py +8 -8
- aws_cdk/aws_sagemaker/__init__.py +17 -94
- aws_cdk/aws_secretsmanager/__init__.py +9 -7
- aws_cdk/aws_securityhub/__init__.py +18 -0
- aws_cdk/aws_servicecatalogappregistry/__init__.py +31 -0
- aws_cdk/aws_ses/__init__.py +58 -11
- aws_cdk/aws_sns/__init__.py +309 -10
- aws_cdk/aws_ssm/__init__.py +3 -5
- aws_cdk/aws_stepfunctions/__init__.py +335 -19
- aws_cdk/aws_stepfunctions_tasks/__init__.py +388 -38
- aws_cdk/aws_transfer/__init__.py +37 -10
- aws_cdk/custom_resources/__init__.py +443 -1
- aws_cdk/triggers/__init__.py +5 -2
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/RECORD +66 -65
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.115.0.dist-info → aws_cdk_lib-2.116.1.dist-info}/top_level.txt +0 -0
aws_cdk/aws_cognito/__init__.py
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
'''
|
|
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:
|
|
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
|
-
'''
|
|
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:
|
|
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
|
-
'''
|
|
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
|
'''
|
aws_cdk/aws_config/__init__.py
CHANGED
|
@@ -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,
|
|
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
|