CfnConfigurationRecorder

class aws_cdk.aws_config.CfnConfigurationRecorder(scope, id, *, role_arn, name=None, recording_group=None, recording_mode=None)

Bases: CfnResource

The AWS::Config::ConfigurationRecorder resource type describes the AWS resource types that AWS Config records for configuration changes.

The configuration recorder stores the configuration changes of the specified resources in your account as configuration items. .. epigraph:

To enable AWS Config , you must create a configuration recorder and a delivery channel.

AWS Config uses the delivery channel to deliver the configuration changes to your Amazon S3 bucket or Amazon SNS topic. For more information, see `AWS::Config::DeliveryChannel <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html>`_ .

AWS CloudFormation starts the recorder as soon as the delivery channel is available.

To stop the recorder and delete it, delete the configuration recorder from your stack. To stop the recorder without deleting it, call the StopConfigurationRecorder action of the AWS Config API directly.

For more information, see Configuration Recorder in the AWS Config Developer Guide.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html

CloudformationResource:

AWS::Config::ConfigurationRecorder

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_config as config

cfn_configuration_recorder = config.CfnConfigurationRecorder(self, "MyCfnConfigurationRecorder",
    role_arn="roleArn",

    # the properties below are optional
    name="name",
    recording_group=config.CfnConfigurationRecorder.RecordingGroupProperty(
        all_supported=False,
        exclusion_by_resource_types=config.CfnConfigurationRecorder.ExclusionByResourceTypesProperty(
            resource_types=["resourceTypes"]
        ),
        include_global_resource_types=False,
        recording_strategy=config.CfnConfigurationRecorder.RecordingStrategyProperty(
            use_only="useOnly"
        ),
        resource_types=["resourceTypes"]
    ),
    recording_mode=config.CfnConfigurationRecorder.RecordingModeProperty(
        recording_frequency="recordingFrequency",

        # the properties below are optional
        recording_mode_overrides=[config.CfnConfigurationRecorder.RecordingModeOverrideProperty(
            recording_frequency="recordingFrequency",
            resource_types=["resourceTypes"],

            # the properties below are optional
            description="description"
        )]
    )
)
Parameters:
  • scope (Construct) – Scope in which this resource is defined.

  • id (str) – Construct identifier for this resource (unique in its scope).

  • role_arn (str) – 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 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* in the AWS Config Developer Guide .

  • name (Optional[str]) – 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.

  • recording_group (Union[IResolvable, RecordingGroupProperty, Dict[str, Any], None]) – 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.

  • recording_mode (Union[IResolvable, RecordingModeProperty, Dict[str, Any], None]) – 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.

Methods

add_deletion_override(path)

Syntactic sugar for addOverride(path, undefined).

Parameters:

path (str) – The path of the value to delete.

Return type:

None

add_dependency(target)

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.

Parameters:

target (CfnResource) –

Return type:

None

add_depends_on(target)

(deprecated) Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

Parameters:

target (CfnResource) –

Deprecated:

use addDependency

Stability:

deprecated

Return type:

None

add_metadata(key, value)

Add a value to the CloudFormation Resource Metadata.

Parameters:
  • key (str) –

  • value (Any) –

See:

Return type:

None

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.

add_override(path, value)

Adds an override to the synthesized CloudFormation resource.

To add a property override, either use addPropertyOverride or prefix path with “Properties.” (i.e. Properties.TopicName).

If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.

To include a literal . in the property name, prefix with a \. In most programming languages you will need to write this as "\\." because the \ itself will need to be escaped.

For example:

cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"])
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")

would add the overrides Example:

"Properties": {
  "GlobalSecondaryIndexes": [
    {
      "Projection": {
        "NonKeyAttributes": [ "myattribute" ]
        ...
      }
      ...
    },
    {
      "ProjectionType": "INCLUDE"
      ...
    },
  ]
  ...
}

The value argument to addOverride will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.

Parameters:
  • path (str) –

    • The path of the property, you can use dot notation to override values in complex types. Any intermediate keys will be created as needed.

  • value (Any) –

    • The value. Could be primitive or complex.

Return type:

None

add_property_deletion_override(property_path)

Adds an override that deletes the value of a property from the resource definition.

Parameters:

property_path (str) – The path to the property.

Return type:

None

add_property_override(property_path, value)

Adds an override to a resource property.

Syntactic sugar for addOverride("Properties.<...>", value).

Parameters:
  • property_path (str) – The path of the property.

  • value (Any) – The value.

Return type:

None

apply_removal_policy(policy=None, *, apply_to_update_replace_policy=None, default=None)

Sets the deletion policy of the resource based on the removal policy specified.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN). In some cases, a snapshot can be taken of the resource prior to deletion (RemovalPolicy.SNAPSHOT). A list of resources that support this policy can be found in the following link:

Parameters:
  • policy (Optional[RemovalPolicy]) –

  • apply_to_update_replace_policy (Optional[bool]) – Apply the same deletion policy to the resource’s “UpdateReplacePolicy”. Default: true

  • default (Optional[RemovalPolicy]) – The default policy to apply in case the removal policy is not defined. Default: - Default value is resource specific. To determine the default value for a resource, please consult that specific resource’s documentation.

See:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options

Return type:

None

get_att(attribute_name, type_hint=None)

Returns a token for an runtime attribute of this resource.

Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility in case there is no generated attribute.

Parameters:
  • attribute_name (str) – The name of the attribute.

  • type_hint (Optional[ResolutionTypeHint]) –

Return type:

Reference

get_metadata(key)

Retrieve a value value from the CloudFormation Resource Metadata.

Parameters:

key (str) –

See:

Return type:

Any

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.

inspect(inspector)

Examines the CloudFormation resource and discloses attributes.

Parameters:

inspector (TreeInspector) – tree inspector to collect and process attributes.

Return type:

None

obtain_dependencies()

Retrieves an array of resources this resource depends on.

This assembles dependencies on resources across stacks (including nested stacks) automatically.

Return type:

List[Union[Stack, CfnResource]]

obtain_resource_dependencies()

Get a shallow copy of dependencies between this resource and other resources in the same stack.

Return type:

List[CfnResource]

override_logical_id(new_logical_id)

Overrides the auto-generated logical ID with a specific ID.

Parameters:

new_logical_id (str) – The new logical ID to use for this stack element.

Return type:

None

remove_dependency(target)

Indicates that this resource no longer depends on another resource.

This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.

Parameters:

target (CfnResource) –

Return type:

None

replace_dependency(target, new_target)

Replaces one dependency with another.

Parameters:
Return type:

None

to_string()

Returns a string representation of this construct.

Return type:

str

Returns:

a string representation of this resource

Attributes

CFN_RESOURCE_TYPE_NAME = 'AWS::Config::ConfigurationRecorder'
attr_id

Id

Type:

cloudformationAttribute

cfn_options

Options for this resource, such as condition, update policy etc.

cfn_resource_type

AWS resource type.

creation_stack

return:

the stack trace of the point where this Resource was created from, sourced from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most node +internal+ entries filtered.

logical_id

The logical ID for this CloudFormation stack element.

The logical ID of the element is calculated from the path of the resource node in the construct tree.

To override this value, use overrideLogicalId(newLogicalId).

Returns:

the logical ID as a stringified token. This value will only get resolved during synthesis.

name

The name of the configuration recorder.

AWS Config automatically assigns the name of “default” when creating the configuration recorder.

node

The tree node.

recording_group

Specifies which resource types AWS Config records for configuration changes.

recording_mode

Specifies the default recording frequency that AWS Config uses to record configuration changes.

ref

Return a string that will be resolved to a CloudFormation { Ref } for this element.

If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).

role_arn

Amazon Resource Name (ARN) of the IAM role assumed by AWS Config and used by the configuration recorder.

stack

The stack in which this element is defined.

CfnElements must be defined within a stack scope (directly or indirectly).

Static Methods

classmethod is_cfn_element(x)

Returns true if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of instanceof to allow stack elements from different versions of this library to be included in the same stack.

Parameters:

x (Any) –

Return type:

bool

Returns:

The construct as a stack element or undefined if it is not a stack element.

classmethod is_cfn_resource(x)

Check whether the given object is a CfnResource.

Parameters:

x (Any) –

Return type:

bool

classmethod is_construct(x)

Checks if x is a construct.

Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

Parameters:

x (Any) – Any object.

Return type:

bool

Returns:

true if x is an object created from a class which extends Construct.

ExclusionByResourceTypesProperty

class CfnConfigurationRecorder.ExclusionByResourceTypesProperty(*, resource_types)

Bases: object

Specifies whether the configuration recorder excludes certain resource types from being recorded.

Use the ResourceTypes field to enter a comma-separated list of resource types you want to exclude from recording.

By default, when AWS Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, AWS Config starts recording resources of that type automatically. .. epigraph:

*How to use the exclusion recording strategy*

To use this option, you must set the ``useOnly`` field of `RecordingStrategy <https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html>`_ to ``EXCLUSION_BY_RESOURCE_TYPES`` .

AWS Config will then record configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded.

*Global resource types and the exclusion recording strategy*

Unless specifically listed as exclusions, ``AWS::RDS::GlobalCluster`` will be recorded automatically in all supported AWS Config Regions were the configuration recorder is enabled.

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

- Asia Pacific (Hyderabad)
- Asia Pacific (Melbourne)
- Canada West (Calgary)
- Europe (Spain)
- Europe (Zurich)
- Israel (Tel Aviv)
- Middle East (UAE)
Parameters:

resource_types (Sequence[str]) – A comma-separated list of resource types to exclude from recording by the configuration recorder.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-exclusionbyresourcetypes.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_config as config

exclusion_by_resource_types_property = config.CfnConfigurationRecorder.ExclusionByResourceTypesProperty(
    resource_types=["resourceTypes"]
)

Attributes

resource_types

A comma-separated list of resource types to exclude from recording by the configuration recorder.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-exclusionbyresourcetypes.html#cfn-config-configurationrecorder-exclusionbyresourcetypes-resourcetypes

RecordingGroupProperty

class CfnConfigurationRecorder.RecordingGroupProperty(*, all_supported=None, exclusion_by_resource_types=None, include_global_resource_types=None, recording_strategy=None, resource_types=None)

Bases: object

Specifies which resource types AWS Config records for configuration changes.

By default, AWS Config records configuration changes for all current and future supported resource types in the AWS Region where you have enabled AWS Config , excluding the global IAM resource types: IAM users, groups, roles, and customer managed policies.

In the recording group, you specify whether you want to record all supported current and future supported resource types or to include or exclude specific resources types. For a list of supported resource types, see Supported Resource Types in the AWS Config developer guide .

If you don’t want AWS Config to record all current and future supported resource types (excluding the global IAM resource types), use one of the following recording strategies:

  • Record all current and future resource types with exclusions ( EXCLUSION_BY_RESOURCE_TYPES ), or

  • Record specific resource types ( INCLUSION_BY_RESOURCE_TYPES ).

If you use the recording strategy to Record all current and future resource types ( ALL_SUPPORTED_RESOURCE_TYPES ), you can use the flag IncludeGlobalResourceTypes to include the global IAM resource types in your recording. .. epigraph:

*Aurora global clusters are recorded in all enabled Regions*

The ``AWS::RDS::GlobalCluster`` resource type will be recorded in all supported AWS Config Regions where the configuration recorder is enabled.

If you do not want to record ``AWS::RDS::GlobalCluster`` in all enabled Regions, use the ``EXCLUSION_BY_RESOURCE_TYPES`` or ``INCLUSION_BY_RESOURCE_TYPES`` recording strategy.
Parameters:
  • all_supported (Union[bool, IResolvable, None]) – Specifies whether AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types. If you set this field to true , when AWS Config adds support for a new resource type, AWS Config starts recording resources of that type automatically. If you set this field to true , you cannot enumerate specific resource types to record in the resourceTypes field of RecordingGroup , or to exclude in the resourceTypes field of ExclusionByResourceTypes . .. epigraph:: Region availability Check Resource Coverage by Region Availability to see if a resource type is supported in the AWS Region where you set up AWS Config .

  • exclusion_by_resource_types (Union[IResolvable, ExclusionByResourceTypesProperty, Dict[str, Any], None]) – An object that specifies how AWS Config excludes resource types from being recorded by the configuration recorder. To use this option, you must set the useOnly field of AWS::Config::ConfigurationRecorder RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES .

  • include_global_resource_types (Union[bool, IResolvable, None]) –

    This option is a bundle which only applies to the global IAM resource types: IAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded by AWS Config in Regions where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions: - Asia Pacific (Hyderabad) - Asia Pacific (Melbourne) - Canada West (Calgary) - Europe (Spain) - Europe (Zurich) - Israel (Tel Aviv) - Middle East (UAE) .. epigraph:: Aurora global clusters are recorded in all enabled Regions The AWS::RDS::GlobalCluster resource type will be recorded in all supported AWS Config Regions where the configuration recorder is enabled, even if IncludeGlobalResourceTypes is set to false . The IncludeGlobalResourceTypes option is a bundle which only applies to IAM users, groups, roles, and customer managed policies. If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use one of the following recording strategies: - Record all current and future resource types with exclusions ( EXCLUSION_BY_RESOURCE_TYPES ), or - Record specific resource types ( INCLUSION_BY_RESOURCE_TYPES ). For more information, see Selecting Which Resources are Recorded in the AWS Config developer guide . > IncludeGlobalResourceTypes and the exclusion recording strategy The IncludeGlobalResourceTypes field has no impact on the EXCLUSION_BY_RESOURCE_TYPES recording strategy. This means that the global IAM resource types ( IAM users, groups, roles, and customer managed policies) will not be automatically added as exclusions for ExclusionByResourceTypes when IncludeGlobalResourceTypes is set to false . The IncludeGlobalResourceTypes field should only be used to modify the AllSupported field, as the default for the AllSupported field is to record configuration changes for all supported resource types excluding the global IAM resource types. To include the global IAM resource types when AllSupported is set to true , make sure to set IncludeGlobalResourceTypes to true . To exclude the global IAM resource types for the EXCLUSION_BY_RESOURCE_TYPES recording strategy, you need to manually add them to the ResourceTypes field of ExclusionByResourceTypes . > Required and optional fields Before you set this field to true , set the AllSupported field of RecordingGroup to true . Optionally, you can set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES . > Overriding fields If you set this field to false but list global IAM resource types in the ResourceTypes field of RecordingGroup , AWS Config will still record configuration changes for those specified resource types regardless of if you set the IncludeGlobalResourceTypes field to false. If you do not want to record configuration changes to the global IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the ResourceTypes field in addition to setting the IncludeGlobalResourceTypes field to false.

  • recording_strategy (Union[IResolvable, RecordingStrategyProperty, Dict[str, Any], None]) –

    An object that specifies the recording strategy for the configuration recorder. - If you set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES , AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the AllSupported field of RecordingGroup to true . When AWS Config adds support for a new resource type, AWS Config automatically starts recording resources of that type. - If you set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES , AWS Config records configuration changes for only the resource types you specify in the ResourceTypes field of RecordingGroup . - If you set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES , AWS Config records configuration changes for all supported resource types except the resource types that you specify to exclude from being recorded in the ResourceTypes field of ExclusionByResourceTypes . .. epigraph:: Required and optional fields The recordingStrategy field is optional when you set the AllSupported field of RecordingGroup to true . The recordingStrategy field is optional when you list resource types in the ResourceTypes field of RecordingGroup . The recordingStrategy field is required if you list resource types to exclude from recording in the ResourceTypes field of ExclusionByResourceTypes . > Overriding fields If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the ExclusionByResourceTypes field will override other properties in the request. For example, even if you set IncludeGlobalResourceTypes to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the ResourceTypes field of ExclusionByResourceTypes . > Global resources types and the resource exclusion recording strategy By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when AWS Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, AWS Config starts recording resources of that type automatically. Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported AWS Config Regions were the configuration recorder is enabled. IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions: - Asia Pacific (Hyderabad) - Asia Pacific (Melbourne) - Canada West (Calgary) - Europe (Spain) - Europe (Zurich) - Israel (Tel Aviv) - Middle East (UAE)

  • resource_types (Optional[Sequence[str]]) –

    A comma-separated list that specifies which resource types AWS Config records. For a list of valid ResourceTypes values, see the Resource Type Value column in Supported AWS resource Types in the AWS Config developer guide . .. epigraph:: Required and optional fields Optionally, you can set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES . To record all configuration changes, set the AllSupported field of RecordingGroup to true , and either omit this field or don’t specify any resource types in this field. If you set the AllSupported field to false and specify values for ResourceTypes , when AWS Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group. > Region availability Before specifying a resource type for AWS Config to track, check Resource Coverage by Region Availability to see if the resource type is supported in the AWS Region where you set up AWS Config . If a resource type is supported by AWS Config in at least one Region, you can enable the recording of that resource type in all Regions supported by AWS Config , even if the specified resource type is not supported in the AWS Region where you set up AWS Config .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_config as config

recording_group_property = config.CfnConfigurationRecorder.RecordingGroupProperty(
    all_supported=False,
    exclusion_by_resource_types=config.CfnConfigurationRecorder.ExclusionByResourceTypesProperty(
        resource_types=["resourceTypes"]
    ),
    include_global_resource_types=False,
    recording_strategy=config.CfnConfigurationRecorder.RecordingStrategyProperty(
        use_only="useOnly"
    ),
    resource_types=["resourceTypes"]
)

Attributes

all_supported

Specifies whether AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types.

If you set this field to true , when AWS Config adds support for a new resource type, AWS Config starts recording resources of that type automatically.

If you set this field to true , you cannot enumerate specific resource types to record in the resourceTypes field of RecordingGroup , or to exclude in the resourceTypes field of ExclusionByResourceTypes . .. epigraph:

*Region availability*

Check `Resource Coverage by Region Availability <https://docs.aws.amazon.com/config/latest/developerguide/what-is-resource-config-coverage.html>`_ to see if a resource type is supported in the AWS Region where you set up AWS Config .
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html#cfn-config-configurationrecorder-recordinggroup-allsupported

exclusion_by_resource_types

An object that specifies how AWS Config excludes resource types from being recorded by the configuration recorder.

To use this option, you must set the useOnly field of AWS::Config::ConfigurationRecorder RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html#cfn-config-configurationrecorder-recordinggroup-exclusionbyresourcetypes

include_global_resource_types

IAM users, groups, roles, and customer managed policies.

These global IAM resource types can only be recorded by AWS Config in Regions where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

  • Asia Pacific (Hyderabad)

  • Asia Pacific (Melbourne)

  • Canada West (Calgary)

  • Europe (Spain)

  • Europe (Zurich)

  • Israel (Tel Aviv)

  • Middle East (UAE)

Aurora global clusters are recorded in all enabled Regions

The AWS::RDS::GlobalCluster resource type will be recorded in all supported AWS Config Regions where the configuration recorder is enabled, even if IncludeGlobalResourceTypes is set to false . The IncludeGlobalResourceTypes option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.

If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use one of the following recording strategies:

  • Record all current and future resource types with exclusions ( EXCLUSION_BY_RESOURCE_TYPES ), or

  • Record specific resource types ( INCLUSION_BY_RESOURCE_TYPES ).

For more information, see Selecting Which Resources are Recorded in the AWS Config developer guide . > IncludeGlobalResourceTypes and the exclusion recording strategy

The IncludeGlobalResourceTypes field has no impact on the EXCLUSION_BY_RESOURCE_TYPES recording strategy. This means that the global IAM resource types ( IAM users, groups, roles, and customer managed policies) will not be automatically added as exclusions for ExclusionByResourceTypes when IncludeGlobalResourceTypes is set to false .

The IncludeGlobalResourceTypes field should only be used to modify the AllSupported field, as the default for the AllSupported field is to record configuration changes for all supported resource types excluding the global IAM resource types. To include the global IAM resource types when AllSupported is set to true , make sure to set IncludeGlobalResourceTypes to true .

To exclude the global IAM resource types for the EXCLUSION_BY_RESOURCE_TYPES recording strategy, you need to manually add them to the ResourceTypes field of ExclusionByResourceTypes . > Required and optional fields

Before you set this field to true , set the AllSupported field of RecordingGroup to true . Optionally, you can set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES . > Overriding fields

If you set this field to false but list global IAM resource types in the ResourceTypes field of RecordingGroup , AWS Config will still record configuration changes for those specified resource types regardless of if you set the IncludeGlobalResourceTypes field to false.

If you do not want to record configuration changes to the global IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the ResourceTypes field in addition to setting the IncludeGlobalResourceTypes field to false.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html#cfn-config-configurationrecorder-recordinggroup-includeglobalresourcetypes

Type:

This option is a bundle which only applies to the global IAM resource types

recording_strategy

An object that specifies the recording strategy for the configuration recorder.

  • If you set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES , AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the AllSupported field of RecordingGroup to true . When AWS Config adds support for a new resource type, AWS Config automatically starts recording resources of that type.

  • If you set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES , AWS Config records configuration changes for only the resource types you specify in the ResourceTypes field of RecordingGroup .

  • If you set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES , AWS Config records configuration changes for all supported resource types except the resource types that you specify to exclude from being recorded in the ResourceTypes field of ExclusionByResourceTypes .

Required and optional fields

The recordingStrategy field is optional when you set the AllSupported field of RecordingGroup to true .

The recordingStrategy field is optional when you list resource types in the ResourceTypes field of RecordingGroup .

The recordingStrategy field is required if you list resource types to exclude from recording in the ResourceTypes field of ExclusionByResourceTypes . > Overriding fields

If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the ExclusionByResourceTypes field will override other properties in the request.

For example, even if you set IncludeGlobalResourceTypes to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the ResourceTypes field of ExclusionByResourceTypes . > Global resources types and the resource exclusion recording strategy

By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when AWS Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, AWS Config starts recording resources of that type automatically.

Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported AWS Config Regions were the configuration recorder is enabled.

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

  • Asia Pacific (Hyderabad)

  • Asia Pacific (Melbourne)

  • Canada West (Calgary)

  • Europe (Spain)

  • Europe (Zurich)

  • Israel (Tel Aviv)

  • Middle East (UAE)

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html#cfn-config-configurationrecorder-recordinggroup-recordingstrategy

resource_types

A comma-separated list that specifies which resource types AWS Config records.

For a list of valid ResourceTypes values, see the Resource Type Value column in Supported AWS resource Types in the AWS Config developer guide . .. epigraph:

*Required and optional fields*

Optionally, you can set the ``useOnly`` field of `RecordingStrategy <https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html>`_ to ``INCLUSION_BY_RESOURCE_TYPES`` .

To record all configuration changes, set the ``AllSupported`` field of `RecordingGroup <https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html>`_ to ``true`` , and either omit this field or don't specify any resource types in this field. If you set the ``AllSupported`` field to ``false`` and specify values for ``ResourceTypes`` , when AWS Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group. > *Region availability*

Before specifying a resource type for AWS Config to track, check `Resource Coverage by Region Availability <https://docs.aws.amazon.com/config/latest/developerguide/what-is-resource-config-coverage.html>`_ to see if the resource type is supported in the AWS Region where you set up AWS Config . If a resource type is supported by AWS Config in at least one Region, you can enable the recording of that resource type in all Regions supported by AWS Config , even if the specified resource type is not supported in the AWS Region where you set up AWS Config .
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html#cfn-config-configurationrecorder-recordinggroup-resourcetypes

RecordingModeOverrideProperty

class CfnConfigurationRecorder.RecordingModeOverrideProperty(*, recording_frequency, resource_types, description=None)

Bases: object

An object for you to specify your overrides for the recording mode.

Parameters:
  • recording_frequency (str) – 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.

  • resource_types (Sequence[str]) – 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

  • description (Optional[str]) – A description that you provide for the override.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingmodeoverride.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_config as config

recording_mode_override_property = config.CfnConfigurationRecorder.RecordingModeOverrideProperty(
    recording_frequency="recordingFrequency",
    resource_types=["resourceTypes"],

    # the properties below are optional
    description="description"
)

Attributes

description

A description that you provide for the override.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingmodeoverride.html#cfn-config-configurationrecorder-recordingmodeoverride-description

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.

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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingmodeoverride.html#cfn-config-configurationrecorder-recordingmodeoverride-recordingfrequency

resource_types

A comma-separated list that specifies which resource types AWS Config includes in the override.

Daily recording is not supported for the following resource types:

  • AWS::Config::ResourceCompliance

  • AWS::Config::ConformancePackCompliance

  • AWS::Config::ConfigurationRecorder

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingmodeoverride.html#cfn-config-configurationrecorder-recordingmodeoverride-resourcetypes

RecordingModeProperty

class CfnConfigurationRecorder.RecordingModeProperty(*, recording_frequency, recording_mode_overrides=None)

Bases: object

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.

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.

Parameters:
  • recording_frequency (str) – 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.

  • recording_mode_overrides (Union[IResolvable, Sequence[Union[IResolvable, RecordingModeOverrideProperty, Dict[str, Any]]], None]) – 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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingmode.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_config as config

recording_mode_property = config.CfnConfigurationRecorder.RecordingModeProperty(
    recording_frequency="recordingFrequency",

    # the properties below are optional
    recording_mode_overrides=[config.CfnConfigurationRecorder.RecordingModeOverrideProperty(
        recording_frequency="recordingFrequency",
        resource_types=["resourceTypes"],

        # the properties below are optional
        description="description"
    )]
)

Attributes

recording_frequency

The default recording frequency that AWS Config uses to record configuration changes.

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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingmode.html#cfn-config-configurationrecorder-recordingmode-recordingfrequency

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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingmode.html#cfn-config-configurationrecorder-recordingmode-recordingmodeoverrides

RecordingStrategyProperty

class CfnConfigurationRecorder.RecordingStrategyProperty(*, use_only)

Bases: object

Specifies the recording strategy of the configuration recorder.

Valid values include: ALL_SUPPORTED_RESOURCE_TYPES , INCLUSION_BY_RESOURCE_TYPES , and EXCLUSION_BY_RESOURCE_TYPES .

Parameters:

use_only (str) –

The recording strategy for the configuration recorder. - If you set this option to ALL_SUPPORTED_RESOURCE_TYPES , AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the AllSupported field of RecordingGroup to true . When AWS Config adds support for a new resource type, AWS Config automatically starts recording resources of that type. For a list of supported resource types, see Supported Resource Types in the AWS Config developer guide . - If you set this option to INCLUSION_BY_RESOURCE_TYPES , AWS Config records configuration changes for only the resource types that you specify in the ResourceTypes field of RecordingGroup . - If you set this option to EXCLUSION_BY_RESOURCE_TYPES , AWS Config records configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded in the ResourceTypes field of ExclusionByResourceTypes . .. epigraph:: Required and optional fields The recordingStrategy field is optional when you set the AllSupported field of RecordingGroup to true . The recordingStrategy field is optional when you list resource types in the ResourceTypes field of RecordingGroup . The recordingStrategy field is required if you list resource types to exclude from recording in the ResourceTypes field of ExclusionByResourceTypes . > Overriding fields If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the ExclusionByResourceTypes field will override other properties in the request. For example, even if you set IncludeGlobalResourceTypes to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the ResourceTypes field of ExclusionByResourceTypes . > Global resource types and the exclusion recording strategy By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when AWS Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, AWS Config starts recording resources of that type automatically. Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported AWS Config Regions were the configuration recorder is enabled. IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions: - Asia Pacific (Hyderabad) - Asia Pacific (Melbourne) - Canada West (Calgary) - Europe (Spain) - Europe (Zurich) - Israel (Tel Aviv) - Middle East (UAE)

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingstrategy.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_config as config

recording_strategy_property = config.CfnConfigurationRecorder.RecordingStrategyProperty(
    use_only="useOnly"
)

Attributes

use_only

The recording strategy for the configuration recorder.

  • If you set this option to ALL_SUPPORTED_RESOURCE_TYPES , AWS Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the AllSupported field of RecordingGroup to true . When AWS Config adds support for a new resource type, AWS Config automatically starts recording resources of that type. For a list of supported resource types, see Supported Resource Types in the AWS Config developer guide .

  • If you set this option to INCLUSION_BY_RESOURCE_TYPES , AWS Config records configuration changes for only the resource types that you specify in the ResourceTypes field of RecordingGroup .

  • If you set this option to EXCLUSION_BY_RESOURCE_TYPES , AWS Config records configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded in the ResourceTypes field of ExclusionByResourceTypes .

Required and optional fields

The recordingStrategy field is optional when you set the AllSupported field of RecordingGroup to true .

The recordingStrategy field is optional when you list resource types in the ResourceTypes field of RecordingGroup .

The recordingStrategy field is required if you list resource types to exclude from recording in the ResourceTypes field of ExclusionByResourceTypes . > Overriding fields

If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the ExclusionByResourceTypes field will override other properties in the request.

For example, even if you set IncludeGlobalResourceTypes to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the ResourceTypes field of ExclusionByResourceTypes . > Global resource types and the exclusion recording strategy

By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when AWS Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, AWS Config starts recording resources of that type automatically.

Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported AWS Config Regions were the configuration recorder is enabled.

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where AWS Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by AWS Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

  • Asia Pacific (Hyderabad)

  • Asia Pacific (Melbourne)

  • Canada West (Calgary)

  • Europe (Spain)

  • Europe (Zurich)

  • Israel (Tel Aviv)

  • Middle East (UAE)

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordingstrategy.html#cfn-config-configurationrecorder-recordingstrategy-useonly