/* * 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 wafv2-2019-07-29.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.WAFV2.Model { /// /// Container for the parameters to the GetRateBasedStatementManagedKeys operation. /// Retrieves the IP addresses that are currently blocked by a rate-based rule instance. /// This is only available for rate-based rules that aggregate solely on the IP address /// or on the forwarded IP address. /// /// /// /// The maximum number of addresses that can be blocked for a single rate-based rule instance /// is 10,000. If more than 10,000 addresses exceed the rate limit, those with the highest /// rates are blocked. /// /// /// /// For a rate-based rule that you've defined inside a rule group, provide the name of /// the rule group reference statement in your request, in addition to the rate-based /// rule name and the web ACL name. /// /// /// /// WAF monitors web requests and manages keys independently for each unique combination /// of web ACL, optional rule group, and rate-based rule. For example, if you define a /// rate-based rule inside a rule group, and then use the rule group in a web ACL, WAF /// monitors web requests and manages keys for that web ACL, rule group reference statement, /// and rate-based rule instance. If you use the same rule group in a second web ACL, /// WAF monitors web requests and manages keys for this second usage completely independent /// of your first. /// /// public partial class GetRateBasedStatementManagedKeysRequest : AmazonWAFV2Request { private string _ruleGroupRuleName; private string _ruleName; private Scope _scope; private string _webACLId; private string _webACLName; /// /// Gets and sets the property RuleGroupRuleName. /// /// The name of the rule group reference statement in your web ACL. This is required only /// when you have the rate-based rule nested inside a rule group. /// /// [AWSProperty(Min=1, Max=128)] public string RuleGroupRuleName { get { return this._ruleGroupRuleName; } set { this._ruleGroupRuleName = value; } } // Check to see if RuleGroupRuleName property is set internal bool IsSetRuleGroupRuleName() { return this._ruleGroupRuleName != null; } /// /// Gets and sets the property RuleName. /// /// The name of the rate-based rule to get the keys for. If you have the rule defined /// inside a rule group that you're using in your web ACL, also provide the name of the /// rule group reference statement in the request parameter RuleGroupRuleName. /// /// [AWSProperty(Required=true, Min=1, Max=128)] public string RuleName { get { return this._ruleName; } set { this._ruleName = value; } } // Check to see if RuleName property is set internal bool IsSetRuleName() { return this._ruleName != null; } /// /// Gets and sets the property Scope. /// /// Specifies whether this is for an Amazon CloudFront distribution or for a regional /// application. A regional application can be an Application Load Balancer (ALB), an /// Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, /// an App Runner service, or an Amazon Web Services Verified Access instance. /// /// /// /// To work with CloudFront, you must also specify the Region US East (N. Virginia) as /// follows: /// /// /// [AWSProperty(Required=true)] public Scope Scope { get { return this._scope; } set { this._scope = value; } } // Check to see if Scope property is set internal bool IsSetScope() { return this._scope != null; } /// /// Gets and sets the property WebACLId. /// /// The unique identifier for the web ACL. This ID is returned in the responses to create /// and list commands. You provide it to operations like update and delete. /// /// [AWSProperty(Required=true, Min=1, Max=36)] public string WebACLId { get { return this._webACLId; } set { this._webACLId = value; } } // Check to see if WebACLId property is set internal bool IsSetWebACLId() { return this._webACLId != null; } /// /// Gets and sets the property WebACLName. /// /// The name of the web ACL. You cannot change the name of a web ACL after you create /// it. /// /// [AWSProperty(Required=true, Min=1, Max=128)] public string WebACLName { get { return this._webACLName; } set { this._webACLName = value; } } // Check to see if WebACLName property is set internal bool IsSetWebACLName() { return this._webACLName != null; } } }