/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the config-2014-11-12.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.ConfigService.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. /// /// public partial class RecordingGroup { private bool? _allSupported; private ExclusionByResourceTypes _exclusionByResourceTypes; private bool? _includeGlobalResourceTypes; private RecordingStrategy _recordingStrategy; private List _resourceTypes = new List(); /// /// Gets and sets the property 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. /// /// public bool AllSupported { get { return this._allSupported.GetValueOrDefault(); } set { this._allSupported = value; } } // Check to see if AllSupported property is set internal bool IsSetAllSupported() { return this._allSupported.HasValue; } /// /// Gets and sets the property 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. /// /// public ExclusionByResourceTypes ExclusionByResourceTypes { get { return this._exclusionByResourceTypes; } set { this._exclusionByResourceTypes = value; } } // Check to see if ExclusionByResourceTypes property is set internal bool IsSetExclusionByResourceTypes() { return this._exclusionByResourceTypes != null; } /// /// Gets and sets the property 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. /// /// /// public bool IncludeGlobalResourceTypes { get { return this._includeGlobalResourceTypes.GetValueOrDefault(); } set { this._includeGlobalResourceTypes = value; } } // Check to see if IncludeGlobalResourceTypes property is set internal bool IsSetIncludeGlobalResourceTypes() { return this._includeGlobalResourceTypes.HasValue; } /// /// Gets and sets the property 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. /// /// ///
public RecordingStrategy RecordingStrategy { get { return this._recordingStrategy; } set { this._recordingStrategy = value; } } // Check to see if RecordingStrategy property is set internal bool IsSetRecordingStrategy() { return this._recordingStrategy != null; } /// /// Gets and sets the property 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. /// /// /// public List ResourceTypes { get { return this._resourceTypes; } set { this._resourceTypes = value; } } // Check to see if ResourceTypes property is set internal bool IsSetResourceTypes() { return this._resourceTypes != null && this._resourceTypes.Count > 0; } } }