class Aws::ConfigService::Types::RecordingGroup

Specifies the types of Amazon Web Services resource for which Config records configuration changes.

In the recording group, you specify whether all supported types or specific types of resources are recorded.

By default, Config records configuration changes for all supported types of regional resources that Config discovers in the region in which it is running. Regional resources are tied to a region and can be used only in that region. Examples of regional resources are EC2 instances and EBS volumes.

You can also have Config record configuration changes for supported types of global resources (for example, IAM resources). Global resources are not tied to an individual region and can be used in all regions.

The configuration details for any global resource are the same in all regions. If you customize Config in multiple regions to record global resources, it will create multiple configuration items each time a global resource changes: one configuration item for each region. These configuration items will contain identical data. To prevent duplicate configuration items, you should consider customizing Config in only one region to record global resources, unless you want the configuration items to be available in multiple regions.

If you don't want Config to record all resources, you can specify which types of resources it will record with the `resourceTypes` parameter.

For a list of supported resource types, see [Supported Resource Types].

For more information, see [Selecting Which Resources Config Records].

[1]: docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources [2]: docs.aws.amazon.com/config/latest/developerguide/select-resources.html

@note When making an API call, you may pass RecordingGroup

data as a hash:

    {
      all_supported: false,
      include_global_resource_types: false,
      resource_types: ["AWS::EC2::CustomerGateway"], # accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::EC2::RegisteredHAInstance, AWS::EC2::NatGateway, AWS::EC2::EgressOnlyInternetGateway, AWS::EC2::VPCEndpoint, AWS::EC2::VPCEndpointService, AWS::EC2::FlowLog, AWS::EC2::VPCPeeringConnection, AWS::Elasticsearch::Domain, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::DBCluster, AWS::RDS::DBClusterSnapshot, AWS::RDS::EventSubscription, AWS::S3::Bucket, AWS::S3::AccountPublicAccessBlock, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription, AWS::SSM::ManagedInstanceInventory, AWS::CloudWatch::Alarm, AWS::CloudFormation::Stack, AWS::ElasticLoadBalancing::LoadBalancer, AWS::AutoScaling::AutoScalingGroup, AWS::AutoScaling::LaunchConfiguration, AWS::AutoScaling::ScalingPolicy, AWS::AutoScaling::ScheduledAction, AWS::DynamoDB::Table, AWS::CodeBuild::Project, AWS::WAF::RateBasedRule, AWS::WAF::Rule, AWS::WAF::RuleGroup, AWS::WAF::WebACL, AWS::WAFRegional::RateBasedRule, AWS::WAFRegional::Rule, AWS::WAFRegional::RuleGroup, AWS::WAFRegional::WebACL, AWS::CloudFront::Distribution, AWS::CloudFront::StreamingDistribution, AWS::Lambda::Function, AWS::NetworkFirewall::Firewall, AWS::NetworkFirewall::FirewallPolicy, AWS::NetworkFirewall::RuleGroup, AWS::ElasticBeanstalk::Application, AWS::ElasticBeanstalk::ApplicationVersion, AWS::ElasticBeanstalk::Environment, AWS::WAFv2::WebACL, AWS::WAFv2::RuleGroup, AWS::WAFv2::IPSet, AWS::WAFv2::RegexPatternSet, AWS::WAFv2::ManagedRuleSet, AWS::XRay::EncryptionConfig, AWS::SSM::AssociationCompliance, AWS::SSM::PatchCompliance, AWS::Shield::Protection, AWS::ShieldRegional::Protection, AWS::Config::ConformancePackCompliance, AWS::Config::ResourceCompliance, AWS::ApiGateway::Stage, AWS::ApiGateway::RestApi, AWS::ApiGatewayV2::Stage, AWS::ApiGatewayV2::Api, AWS::CodePipeline::Pipeline, AWS::ServiceCatalog::CloudFormationProvisionedProduct, AWS::ServiceCatalog::CloudFormationProduct, AWS::ServiceCatalog::Portfolio, AWS::SQS::Queue, AWS::KMS::Key, AWS::QLDB::Ledger, AWS::SecretsManager::Secret, AWS::SNS::Topic, AWS::SSM::FileData, AWS::Backup::BackupPlan, AWS::Backup::BackupSelection, AWS::Backup::BackupVault, AWS::Backup::RecoveryPoint, AWS::ECR::Repository, AWS::ECS::Cluster, AWS::ECS::Service, AWS::ECS::TaskDefinition, AWS::EFS::AccessPoint, AWS::EFS::FileSystem, AWS::EKS::Cluster
    }

@!attribute [rw] all_supported

Specifies whether Config records configuration changes for every
supported type of regional resource.

If you set this option to `true`, when Config adds support for a new
type of regional resource, it starts recording resources of that
type automatically.

If you set this option to `true`, you cannot enumerate a list of
`resourceTypes`.
@return [Boolean]

@!attribute [rw] include_global_resource_types

Specifies whether Config includes all supported types of global
resources (for example, IAM resources) with the resources that it
records.

Before you can set this option to `true`, you must set the
`allSupported` option to `true`.

If you set this option to `true`, when Config adds support for a new
type of global resource, it starts recording resources of that type
automatically.

The configuration details for any global resource are the same in
all regions. To prevent duplicate configuration items, you should
consider customizing Config in only one region to record global
resources.
@return [Boolean]

@!attribute [rw] resource_types

A comma-separated list that specifies the types of Amazon Web
Services resources for which Config records configuration changes
(for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`).

To record all configuration changes, you must set the `allSupported`
option to `true`.

If you set this option to `false`, when 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.

For a list of valid `resourceTypes` values, see the **resourceType
Value** column in [Supported Amazon Web Services resource Types][1].

[1]: https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources
@return [Array<String>]

@see docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/RecordingGroup AWS API Documentation

Constants

SENSITIVE