/* * 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 { /// /// Provides the CustomPolicyDetails, the rule owner (Amazon Web Services /// for managed rules, CUSTOM_POLICY for Custom Policy rules, and CUSTOM_LAMBDA /// for Custom Lambda rules), the rule identifier, and the events that cause the evaluation /// of your Amazon Web Services resources. /// public partial class Source { private CustomPolicyDetails _customPolicyDetails; private Owner _owner; private List _sourceDetails = new List(); private string _sourceIdentifier; /// /// Gets and sets the property CustomPolicyDetails. /// /// Provides the runtime system, policy definition, and whether debug logging is enabled. /// Required when owner is set to CUSTOM_POLICY. /// /// public CustomPolicyDetails CustomPolicyDetails { get { return this._customPolicyDetails; } set { this._customPolicyDetails = value; } } // Check to see if CustomPolicyDetails property is set internal bool IsSetCustomPolicyDetails() { return this._customPolicyDetails != null; } /// /// Gets and sets the property Owner. /// /// Indicates whether Amazon Web Services or the customer owns and manages the Config /// rule. /// /// /// /// Config Managed Rules are predefined rules owned by Amazon Web Services. For more information, /// see Config /// Managed Rules in the Config developer guide. /// /// /// /// Config Custom Rules are rules that you can develop either with Guard (CUSTOM_POLICY) /// or Lambda (CUSTOM_LAMBDA). For more information, see Config /// Custom Rules in the Config developer guide. /// /// [AWSProperty(Required=true)] public Owner Owner { get { return this._owner; } set { this._owner = value; } } // Check to see if Owner property is set internal bool IsSetOwner() { return this._owner != null; } /// /// Gets and sets the property SourceDetails. /// /// Provides the source and the message types that cause Config to evaluate your Amazon /// Web Services resources against a rule. It also provides the frequency with which you /// want Config to run evaluations for the rule if the trigger type is periodic. /// /// /// /// If the owner is set to CUSTOM_POLICY, the only acceptable values for /// the Config rule trigger message type are ConfigurationItemChangeNotification /// and OversizedConfigurationItemChangeNotification. /// /// [AWSProperty(Min=0, Max=25)] public List SourceDetails { get { return this._sourceDetails; } set { this._sourceDetails = value; } } // Check to see if SourceDetails property is set internal bool IsSetSourceDetails() { return this._sourceDetails != null && this._sourceDetails.Count > 0; } /// /// Gets and sets the property SourceIdentifier. /// /// For Config Managed rules, a predefined identifier from a list. For example, IAM_PASSWORD_POLICY /// is a managed rule. To reference a managed rule, see List /// of Config Managed Rules. /// /// /// /// For Config Custom Lambda rules, the identifier is the Amazon Resource Name (ARN) of /// the rule's Lambda function, such as arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name. /// /// /// /// For Config Custom Policy rules, this field will be ignored. /// /// [AWSProperty(Min=1, Max=256)] public string SourceIdentifier { get { return this._sourceIdentifier; } set { this._sourceIdentifier = value; } } // Check to see if SourceIdentifier property is set internal bool IsSetSourceIdentifier() { return this._sourceIdentifier != null; } } }