/* * 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 network-firewall-2020-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.NetworkFirewall.Model { /// /// The high-level properties of a rule group. This, along with the RuleGroup, /// define the rule group. You can retrieve all objects for a rule group by calling DescribeRuleGroup. /// public partial class RuleGroupResponse { private int? _capacity; private int? _consumedCapacity; private string _description; private EncryptionConfiguration _encryptionConfiguration; private DateTime? _lastModifiedTime; private int? _numberOfAssociations; private string _ruleGroupArn; private string _ruleGroupId; private string _ruleGroupName; private ResourceStatus _ruleGroupStatus; private string _snsTopic; private SourceMetadata _sourceMetadata; private List _tags = new List(); private RuleGroupType _type; /// /// Gets and sets the property Capacity. /// /// The maximum operating resources that this rule group can use. Rule group capacity /// is fixed at creation. When you update a rule group, you are limited to this capacity. /// When you reference a rule group from a firewall policy, Network Firewall reserves /// this capacity for the rule group. /// /// /// /// You can retrieve the capacity that would be required for a rule group before you create /// the rule group by calling CreateRuleGroup with DryRun set to TRUE. /// /// /// public int Capacity { get { return this._capacity.GetValueOrDefault(); } set { this._capacity = value; } } // Check to see if Capacity property is set internal bool IsSetCapacity() { return this._capacity.HasValue; } /// /// Gets and sets the property ConsumedCapacity. /// /// The number of capacity units currently consumed by the rule group rules. /// /// public int ConsumedCapacity { get { return this._consumedCapacity.GetValueOrDefault(); } set { this._consumedCapacity = value; } } // Check to see if ConsumedCapacity property is set internal bool IsSetConsumedCapacity() { return this._consumedCapacity.HasValue; } /// /// Gets and sets the property Description. /// /// A description of the rule group. /// /// [AWSProperty(Max=512)] public string Description { get { return this._description; } set { this._description = value; } } // Check to see if Description property is set internal bool IsSetDescription() { return this._description != null; } /// /// Gets and sets the property EncryptionConfiguration. /// /// A complex type that contains the Amazon Web Services KMS encryption configuration /// settings for your rule group. /// /// public EncryptionConfiguration EncryptionConfiguration { get { return this._encryptionConfiguration; } set { this._encryptionConfiguration = value; } } // Check to see if EncryptionConfiguration property is set internal bool IsSetEncryptionConfiguration() { return this._encryptionConfiguration != null; } /// /// Gets and sets the property LastModifiedTime. /// /// The last time that the rule group was changed. /// /// public DateTime LastModifiedTime { get { return this._lastModifiedTime.GetValueOrDefault(); } set { this._lastModifiedTime = value; } } // Check to see if LastModifiedTime property is set internal bool IsSetLastModifiedTime() { return this._lastModifiedTime.HasValue; } /// /// Gets and sets the property NumberOfAssociations. /// /// The number of firewall policies that use this rule group. /// /// public int NumberOfAssociations { get { return this._numberOfAssociations.GetValueOrDefault(); } set { this._numberOfAssociations = value; } } // Check to see if NumberOfAssociations property is set internal bool IsSetNumberOfAssociations() { return this._numberOfAssociations.HasValue; } /// /// Gets and sets the property RuleGroupArn. /// /// The Amazon Resource Name (ARN) of the rule group. /// /// /// /// If this response is for a create request that had DryRun set to TRUE, /// then this ARN is a placeholder that isn't attached to a valid resource. /// /// /// [AWSProperty(Required=true, Min=1, Max=256)] public string RuleGroupArn { get { return this._ruleGroupArn; } set { this._ruleGroupArn = value; } } // Check to see if RuleGroupArn property is set internal bool IsSetRuleGroupArn() { return this._ruleGroupArn != null; } /// /// Gets and sets the property RuleGroupId. /// /// The unique identifier for the rule group. /// /// [AWSProperty(Required=true, Min=36, Max=36)] public string RuleGroupId { get { return this._ruleGroupId; } set { this._ruleGroupId = value; } } // Check to see if RuleGroupId property is set internal bool IsSetRuleGroupId() { return this._ruleGroupId != null; } /// /// Gets and sets the property RuleGroupName. /// /// The descriptive name of the rule group. You can't change the name of a rule group /// after you create it. /// /// [AWSProperty(Required=true, Min=1, Max=128)] public string RuleGroupName { get { return this._ruleGroupName; } set { this._ruleGroupName = value; } } // Check to see if RuleGroupName property is set internal bool IsSetRuleGroupName() { return this._ruleGroupName != null; } /// /// Gets and sets the property RuleGroupStatus. /// /// Detailed information about the current status of a rule group. /// /// public ResourceStatus RuleGroupStatus { get { return this._ruleGroupStatus; } set { this._ruleGroupStatus = value; } } // Check to see if RuleGroupStatus property is set internal bool IsSetRuleGroupStatus() { return this._ruleGroupStatus != null; } /// /// Gets and sets the property SnsTopic. /// /// The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS topic /// that's used to record changes to the managed rule group. You can subscribe to the /// SNS topic to receive notifications when the managed rule group is modified, such as /// for new versions and for version expiration. For more information, see the Amazon /// Simple Notification Service Developer Guide.. /// /// [AWSProperty(Min=1, Max=256)] public string SnsTopic { get { return this._snsTopic; } set { this._snsTopic = value; } } // Check to see if SnsTopic property is set internal bool IsSetSnsTopic() { return this._snsTopic != null; } /// /// Gets and sets the property SourceMetadata. /// /// A complex type that contains metadata about the rule group that your own rule group /// is copied from. You can use the metadata to track the version updates made to the /// originating rule group. /// /// public SourceMetadata SourceMetadata { get { return this._sourceMetadata; } set { this._sourceMetadata = value; } } // Check to see if SourceMetadata property is set internal bool IsSetSourceMetadata() { return this._sourceMetadata != null; } /// /// Gets and sets the property Tags. /// /// The key:value pairs to associate with the resource. /// /// [AWSProperty(Min=1, Max=200)] public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property Type. /// /// Indicates whether the rule group is stateless or stateful. If the rule group is stateless, /// it contains stateless rules. If it is stateful, it contains stateful rules. /// /// public RuleGroupType Type { get { return this._type; } set { this._type = value; } } // Check to see if Type property is set internal bool IsSetType() { return this._type != null; } } }