/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ConfigService { namespace Model { /** *

Specifies which resource types Config records for configuration changes. In * the recording group, you specify whether you want to record all supported * resource types or to include or exclude specific types of resources.

By * default, Config records configuration changes for all supported types of * Regional resources that Config discovers in the Amazon Web Services * 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 Amazon EC2 * instances and Amazon EBS volumes.

You can also have Config record * supported types of global resources. Global resources are not tied to a * specific Region and can be used in all Regions. The global resource types that * Config supports include IAM users, groups, roles, and customer managed * policies.

Global resource types onboarded to Config recording * after February 2022 will be recorded only in the service's home Region for the * commercial partition and Amazon Web Services GovCloud (US-West) for the Amazon * Web Services GovCloud (US) partition. You can view the Configuration Items for * these new global resource types only in their home Region and Amazon Web * Services GovCloud (US-West).

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

For a list of supported * resource types, see Supported * Resource Types in the Config developer guide.

For more * information and a table of the Home Regions for Global Resource Types Onboarded * after February 2022, see Selecting * Which Resources Config Records in the Config developer * guide.

See Also:

AWS * API Reference

*/ class RecordingGroup { public: AWS_CONFIGSERVICE_API RecordingGroup(); AWS_CONFIGSERVICE_API RecordingGroup(Aws::Utils::Json::JsonView jsonValue); AWS_CONFIGSERVICE_API RecordingGroup& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CONFIGSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Specifies whether Config records configuration changes for all supported * regional resource types.

If you set this field to true, when * Config adds support for a new type of regional resource, 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.

*/ inline bool GetAllSupported() const{ return m_allSupported; } /** *

Specifies whether Config records configuration changes for all supported * regional resource types.

If you set this field to true, when * Config adds support for a new type of regional resource, 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.

*/ inline bool AllSupportedHasBeenSet() const { return m_allSupportedHasBeenSet; } /** *

Specifies whether Config records configuration changes for all supported * regional resource types.

If you set this field to true, when * Config adds support for a new type of regional resource, 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.

*/ inline void SetAllSupported(bool value) { m_allSupportedHasBeenSet = true; m_allSupported = value; } /** *

Specifies whether Config records configuration changes for all supported * regional resource types.

If you set this field to true, when * Config adds support for a new type of regional resource, 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.

*/ inline RecordingGroup& WithAllSupported(bool value) { SetAllSupported(value); return *this;} /** *

Specifies whether Config records configuration changes for all supported * global resources.

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.

If you set this field to * true, when Config adds support for a new type of global resource in * the Region where you set up the configuration recorder, Config starts recording * resources of that type automatically.

If you set this field to * false but list global resource types in the * resourceTypes field of RecordingGroup, * 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 global resource types, make sure to not * list them in the resourceTypes field in addition to setting the * includeGlobalResourceTypes field to false.

*/ inline bool GetIncludeGlobalResourceTypes() const{ return m_includeGlobalResourceTypes; } /** *

Specifies whether Config records configuration changes for all supported * global resources.

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.

If you set this field to * true, when Config adds support for a new type of global resource in * the Region where you set up the configuration recorder, Config starts recording * resources of that type automatically.

If you set this field to * false but list global resource types in the * resourceTypes field of RecordingGroup, * 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 global resource types, make sure to not * list them in the resourceTypes field in addition to setting the * includeGlobalResourceTypes field to false.

*/ inline bool IncludeGlobalResourceTypesHasBeenSet() const { return m_includeGlobalResourceTypesHasBeenSet; } /** *

Specifies whether Config records configuration changes for all supported * global resources.

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.

If you set this field to * true, when Config adds support for a new type of global resource in * the Region where you set up the configuration recorder, Config starts recording * resources of that type automatically.

If you set this field to * false but list global resource types in the * resourceTypes field of RecordingGroup, * 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 global resource types, make sure to not * list them in the resourceTypes field in addition to setting the * includeGlobalResourceTypes field to false.

*/ inline void SetIncludeGlobalResourceTypes(bool value) { m_includeGlobalResourceTypesHasBeenSet = true; m_includeGlobalResourceTypes = value; } /** *

Specifies whether Config records configuration changes for all supported * global resources.

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.

If you set this field to * true, when Config adds support for a new type of global resource in * the Region where you set up the configuration recorder, Config starts recording * resources of that type automatically.

If you set this field to * false but list global resource types in the * resourceTypes field of RecordingGroup, * 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 global resource types, make sure to not * list them in the resourceTypes field in addition to setting the * includeGlobalResourceTypes field to false.

*/ inline RecordingGroup& WithIncludeGlobalResourceTypes(bool value) { SetIncludeGlobalResourceTypes(value); return *this;} /** *

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

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 * 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 Resource Type * Value column in Supported * Amazon Web Services resource Types in the Config developer guide.

*

Region Availability

Before specifying a resource type * for Config to track, check Resource * Coverage by Region Availability to see if the resource type is supported in * the Amazon Web Services Region where you set up Config. If a resource type is * supported by Config in at least one Region, you can enable the recording of that * resource type in all Regions supported by Config, even if the specified resource * type is not supported in the Amazon Web Services Region where you set up * Config.

*/ inline const Aws::Vector& GetResourceTypes() const{ return m_resourceTypes; } /** *

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

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 * 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 Resource Type * Value column in Supported * Amazon Web Services resource Types in the Config developer guide.

*

Region Availability

Before specifying a resource type * for Config to track, check Resource * Coverage by Region Availability to see if the resource type is supported in * the Amazon Web Services Region where you set up Config. If a resource type is * supported by Config in at least one Region, you can enable the recording of that * resource type in all Regions supported by Config, even if the specified resource * type is not supported in the Amazon Web Services Region where you set up * Config.

*/ inline bool ResourceTypesHasBeenSet() const { return m_resourceTypesHasBeenSet; } /** *

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

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 * 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 Resource Type * Value column in Supported * Amazon Web Services resource Types in the Config developer guide.

*

Region Availability

Before specifying a resource type * for Config to track, check Resource * Coverage by Region Availability to see if the resource type is supported in * the Amazon Web Services Region where you set up Config. If a resource type is * supported by Config in at least one Region, you can enable the recording of that * resource type in all Regions supported by Config, even if the specified resource * type is not supported in the Amazon Web Services Region where you set up * Config.

*/ inline void SetResourceTypes(const Aws::Vector& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes = value; } /** *

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

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 * 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 Resource Type * Value column in Supported * Amazon Web Services resource Types in the Config developer guide.

*

Region Availability

Before specifying a resource type * for Config to track, check Resource * Coverage by Region Availability to see if the resource type is supported in * the Amazon Web Services Region where you set up Config. If a resource type is * supported by Config in at least one Region, you can enable the recording of that * resource type in all Regions supported by Config, even if the specified resource * type is not supported in the Amazon Web Services Region where you set up * Config.

*/ inline void SetResourceTypes(Aws::Vector&& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes = std::move(value); } /** *

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

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 * 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 Resource Type * Value column in Supported * Amazon Web Services resource Types in the Config developer guide.

*

Region Availability

Before specifying a resource type * for Config to track, check Resource * Coverage by Region Availability to see if the resource type is supported in * the Amazon Web Services Region where you set up Config. If a resource type is * supported by Config in at least one Region, you can enable the recording of that * resource type in all Regions supported by Config, even if the specified resource * type is not supported in the Amazon Web Services Region where you set up * Config.

*/ inline RecordingGroup& WithResourceTypes(const Aws::Vector& value) { SetResourceTypes(value); return *this;} /** *

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

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 * 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 Resource Type * Value column in Supported * Amazon Web Services resource Types in the Config developer guide.

*

Region Availability

Before specifying a resource type * for Config to track, check Resource * Coverage by Region Availability to see if the resource type is supported in * the Amazon Web Services Region where you set up Config. If a resource type is * supported by Config in at least one Region, you can enable the recording of that * resource type in all Regions supported by Config, even if the specified resource * type is not supported in the Amazon Web Services Region where you set up * Config.

*/ inline RecordingGroup& WithResourceTypes(Aws::Vector&& value) { SetResourceTypes(std::move(value)); return *this;} /** *

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

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 * 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 Resource Type * Value column in Supported * Amazon Web Services resource Types in the Config developer guide.

*

Region Availability

Before specifying a resource type * for Config to track, check Resource * Coverage by Region Availability to see if the resource type is supported in * the Amazon Web Services Region where you set up Config. If a resource type is * supported by Config in at least one Region, you can enable the recording of that * resource type in all Regions supported by Config, even if the specified resource * type is not supported in the Amazon Web Services Region where you set up * Config.

*/ inline RecordingGroup& AddResourceTypes(const ResourceType& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(value); return *this; } /** *

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

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 * 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 Resource Type * Value column in Supported * Amazon Web Services resource Types in the Config developer guide.

*

Region Availability

Before specifying a resource type * for Config to track, check Resource * Coverage by Region Availability to see if the resource type is supported in * the Amazon Web Services Region where you set up Config. If a resource type is * supported by Config in at least one Region, you can enable the recording of that * resource type in all Regions supported by Config, even if the specified resource * type is not supported in the Amazon Web Services Region where you set up * Config.

*/ inline RecordingGroup& AddResourceTypes(ResourceType&& value) { m_resourceTypesHasBeenSet = true; m_resourceTypes.push_back(std::move(value)); return *this; } /** *

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

To use this option, you must set * the useOnly field of RecordingStrategy * to EXCLUSION_BY_RESOURCE_TYPES.

*/ inline const ExclusionByResourceTypes& GetExclusionByResourceTypes() const{ return m_exclusionByResourceTypes; } /** *

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

To use this option, you must set * the useOnly field of RecordingStrategy * to EXCLUSION_BY_RESOURCE_TYPES.

*/ inline bool ExclusionByResourceTypesHasBeenSet() const { return m_exclusionByResourceTypesHasBeenSet; } /** *

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

To use this option, you must set * the useOnly field of RecordingStrategy * to EXCLUSION_BY_RESOURCE_TYPES.

*/ inline void SetExclusionByResourceTypes(const ExclusionByResourceTypes& value) { m_exclusionByResourceTypesHasBeenSet = true; m_exclusionByResourceTypes = value; } /** *

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

To use this option, you must set * the useOnly field of RecordingStrategy * to EXCLUSION_BY_RESOURCE_TYPES.

*/ inline void SetExclusionByResourceTypes(ExclusionByResourceTypes&& value) { m_exclusionByResourceTypesHasBeenSet = true; m_exclusionByResourceTypes = std::move(value); } /** *

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

To use this option, you must set * the useOnly field of RecordingStrategy * to EXCLUSION_BY_RESOURCE_TYPES.

*/ inline RecordingGroup& WithExclusionByResourceTypes(const ExclusionByResourceTypes& value) { SetExclusionByResourceTypes(value); return *this;} /** *

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

To use this option, you must set * the useOnly field of RecordingStrategy * to EXCLUSION_BY_RESOURCE_TYPES.

*/ inline RecordingGroup& WithExclusionByResourceTypes(ExclusionByResourceTypes&& value) { SetExclusionByResourceTypes(std::move(value)); return *this;} /** *

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

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

    *
  • If you set the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES, 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, Config records configuration * changes for all supported resource types except the resource types that you * specify as exemptions to exclude from being recorded in the * resourceTypes field of ExclusionByResourceTypes.

    *

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.

*

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 resource types will * still be automatically recorded in this option unless those resource types are * specifically listed as exemptions in the resourceTypes field of * exclusionByResourceTypes.

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

*/ inline const RecordingStrategy& GetRecordingStrategy() const{ return m_recordingStrategy; } /** *

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

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

    *
  • If you set the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES, 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, Config records configuration * changes for all supported resource types except the resource types that you * specify as exemptions to exclude from being recorded in the * resourceTypes field of ExclusionByResourceTypes.

    *

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.

*

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 resource types will * still be automatically recorded in this option unless those resource types are * specifically listed as exemptions in the resourceTypes field of * exclusionByResourceTypes.

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

*/ inline bool RecordingStrategyHasBeenSet() const { return m_recordingStrategyHasBeenSet; } /** *

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

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

    *
  • If you set the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES, 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, Config records configuration * changes for all supported resource types except the resource types that you * specify as exemptions to exclude from being recorded in the * resourceTypes field of ExclusionByResourceTypes.

    *

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.

*

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 resource types will * still be automatically recorded in this option unless those resource types are * specifically listed as exemptions in the resourceTypes field of * exclusionByResourceTypes.

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

*/ inline void SetRecordingStrategy(const RecordingStrategy& value) { m_recordingStrategyHasBeenSet = true; m_recordingStrategy = value; } /** *

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

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

    *
  • If you set the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES, 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, Config records configuration * changes for all supported resource types except the resource types that you * specify as exemptions to exclude from being recorded in the * resourceTypes field of ExclusionByResourceTypes.

    *

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.

*

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 resource types will * still be automatically recorded in this option unless those resource types are * specifically listed as exemptions in the resourceTypes field of * exclusionByResourceTypes.

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

*/ inline void SetRecordingStrategy(RecordingStrategy&& value) { m_recordingStrategyHasBeenSet = true; m_recordingStrategy = std::move(value); } /** *

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

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

    *
  • If you set the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES, 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, Config records configuration * changes for all supported resource types except the resource types that you * specify as exemptions to exclude from being recorded in the * resourceTypes field of ExclusionByResourceTypes.

    *

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.

*

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 resource types will * still be automatically recorded in this option unless those resource types are * specifically listed as exemptions in the resourceTypes field of * exclusionByResourceTypes.

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

*/ inline RecordingGroup& WithRecordingStrategy(const RecordingStrategy& value) { SetRecordingStrategy(value); return *this;} /** *

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

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

    *
  • If you set the useOnly field of RecordingStrategy * to INCLUSION_BY_RESOURCE_TYPES, 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, Config records configuration * changes for all supported resource types except the resource types that you * specify as exemptions to exclude from being recorded in the * resourceTypes field of ExclusionByResourceTypes.

    *

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.

*

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 resource types will * still be automatically recorded in this option unless those resource types are * specifically listed as exemptions in the resourceTypes field of * exclusionByResourceTypes.

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

*/ inline RecordingGroup& WithRecordingStrategy(RecordingStrategy&& value) { SetRecordingStrategy(std::move(value)); return *this;} private: bool m_allSupported; bool m_allSupportedHasBeenSet = false; bool m_includeGlobalResourceTypes; bool m_includeGlobalResourceTypesHasBeenSet = false; Aws::Vector m_resourceTypes; bool m_resourceTypesHasBeenSet = false; ExclusionByResourceTypes m_exclusionByResourceTypes; bool m_exclusionByResourceTypesHasBeenSet = false; RecordingStrategy m_recordingStrategy; bool m_recordingStrategyHasBeenSet = false; }; } // namespace Model } // namespace ConfigService } // namespace Aws