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

Specifies the recording strategy of the configuration recorder.

See * Also:

AWS * API Reference

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

The recording strategy for the configuration recorder.

  • If * you set this option 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. For a * list of supported resource types, see Supported * Resource Types in the Config developer guide.

  • If * you set this option to INCLUSION_BY_RESOURCE_TYPES, 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, 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 RecordingStrategyType& GetUseOnly() const{ return m_useOnly; } /** *

The recording strategy for the configuration recorder.

  • If * you set this option 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. For a * list of supported resource types, see Supported * Resource Types in the Config developer guide.

  • If * you set this option to INCLUSION_BY_RESOURCE_TYPES, 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, 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 UseOnlyHasBeenSet() const { return m_useOnlyHasBeenSet; } /** *

The recording strategy for the configuration recorder.

  • If * you set this option 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. For a * list of supported resource types, see Supported * Resource Types in the Config developer guide.

  • If * you set this option to INCLUSION_BY_RESOURCE_TYPES, 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, 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 SetUseOnly(const RecordingStrategyType& value) { m_useOnlyHasBeenSet = true; m_useOnly = value; } /** *

The recording strategy for the configuration recorder.

  • If * you set this option 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. For a * list of supported resource types, see Supported * Resource Types in the Config developer guide.

  • If * you set this option to INCLUSION_BY_RESOURCE_TYPES, 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, 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 SetUseOnly(RecordingStrategyType&& value) { m_useOnlyHasBeenSet = true; m_useOnly = std::move(value); } /** *

The recording strategy for the configuration recorder.

  • If * you set this option 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. For a * list of supported resource types, see Supported * Resource Types in the Config developer guide.

  • If * you set this option to INCLUSION_BY_RESOURCE_TYPES, 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, 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 RecordingStrategy& WithUseOnly(const RecordingStrategyType& value) { SetUseOnly(value); return *this;} /** *

The recording strategy for the configuration recorder.

  • If * you set this option 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. For a * list of supported resource types, see Supported * Resource Types in the Config developer guide.

  • If * you set this option to INCLUSION_BY_RESOURCE_TYPES, 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, 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 RecordingStrategy& WithUseOnly(RecordingStrategyType&& value) { SetUseOnly(std::move(value)); return *this;} private: RecordingStrategyType m_useOnly; bool m_useOnlyHasBeenSet = false; }; } // namespace Model } // namespace ConfigService } // namespace Aws