/*
* 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
{
///
/// Details for your use of the account takeover prevention managed rule group, AWSManagedRulesATPRuleSet
.
/// This configuration is used in ManagedRuleGroupConfig
.
///
public partial class AWSManagedRulesATPRuleSet
{
private bool? _enableRegexInPath;
private string _loginPath;
private RequestInspection _requestInspection;
private ResponseInspection _responseInspection;
///
/// Gets and sets the property EnableRegexInPath.
///
/// Allow the use of regular expressions in the login page path.
///
///
public bool EnableRegexInPath
{
get { return this._enableRegexInPath.GetValueOrDefault(); }
set { this._enableRegexInPath = value; }
}
// Check to see if EnableRegexInPath property is set
internal bool IsSetEnableRegexInPath()
{
return this._enableRegexInPath.HasValue;
}
///
/// Gets and sets the property LoginPath.
///
/// The path of the login endpoint for your application. For example, for the URL https://example.com/web/login
,
/// you would provide the path /web/login
.
///
///
///
/// The rule group inspects only HTTP POST
requests to your specified login
/// endpoint.
///
///
[AWSProperty(Required=true)]
public string LoginPath
{
get { return this._loginPath; }
set { this._loginPath = value; }
}
// Check to see if LoginPath property is set
internal bool IsSetLoginPath()
{
return this._loginPath != null;
}
///
/// Gets and sets the property RequestInspection.
///
/// The criteria for inspecting login requests, used by the ATP rule group to validate
/// credentials usage.
///
///
public RequestInspection RequestInspection
{
get { return this._requestInspection; }
set { this._requestInspection = value; }
}
// Check to see if RequestInspection property is set
internal bool IsSetRequestInspection()
{
return this._requestInspection != null;
}
///
/// Gets and sets the property ResponseInspection.
///
/// The criteria for inspecting responses to login requests, used by the ATP rule group
/// to track login failure rates.
///
///
///
/// Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.
///
///
///
/// The ATP rule group evaluates the responses that your protected resources send back
/// to client login attempts, keeping count of successful and failed attempts for each
/// IP address and client session. Using this information, the rule group labels and mitigates
/// requests from client sessions and IP addresses that have had too many failed login
/// attempts in a short amount of time.
///
///
public ResponseInspection ResponseInspection
{
get { return this._responseInspection; }
set { this._responseInspection = value; }
}
// Check to see if ResponseInspection property is set
internal bool IsSetResponseInspection()
{
return this._responseInspection != null;
}
}
}