/* * 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 securityhub-2018-10-26.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.SecurityHub.Model { /// /// contains details about a rate-based rule for Regional resources. A rate-based rule /// provides settings to indicate when to allow, block, or count a request. Rate-based /// rules include the number of requests that arrive over a specified period of time. /// public partial class AwsWafRegionalRateBasedRuleDetails { private List _matchPredicates = new List(); private string _metricName; private string _name; private string _rateKey; private long? _rateLimit; private string _ruleId; /// /// Gets and sets the property MatchPredicates. /// /// The predicates to include in the rate-based rule. /// /// public List MatchPredicates { get { return this._matchPredicates; } set { this._matchPredicates = value; } } // Check to see if MatchPredicates property is set internal bool IsSetMatchPredicates() { return this._matchPredicates != null && this._matchPredicates.Count > 0; } /// /// Gets and sets the property MetricName. /// /// The name of the metrics for the rate-based rule. /// /// public string MetricName { get { return this._metricName; } set { this._metricName = value; } } // Check to see if MetricName property is set internal bool IsSetMetricName() { return this._metricName != null; } /// /// Gets and sets the property Name. /// /// The name of the rate-based rule. /// /// public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property RateKey. /// /// The field that WAF uses to determine whether requests are likely arriving from single /// source and are subject to rate monitoring. /// /// public string RateKey { get { return this._rateKey; } set { this._rateKey = value; } } // Check to see if RateKey property is set internal bool IsSetRateKey() { return this._rateKey != null; } /// /// Gets and sets the property RateLimit. /// /// The maximum number of requests that have an identical value for the field specified /// in RateKey that are allowed within a five-minute period. If the number /// of requests exceeds RateLimit and the other predicates specified in the /// rule are met, WAF triggers the action for the rule. /// /// public long RateLimit { get { return this._rateLimit.GetValueOrDefault(); } set { this._rateLimit = value; } } // Check to see if RateLimit property is set internal bool IsSetRateLimit() { return this._rateLimit.HasValue; } /// /// Gets and sets the property RuleId. /// /// The unique identifier for the rate-based rule. /// /// public string RuleId { get { return this._ruleId; } set { this._ruleId = value; } } // Check to see if RuleId property is set internal bool IsSetRuleId() { return this._ruleId != null; } } }