/*
* 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
{
///
/// The criteria for inspecting account creation requests, used by the ACFP rule group
/// to validate and track account creation attempts.
///
///
///
/// This is part of the AWSManagedRulesACFPRuleSet
configuration in ManagedRuleGroupConfig
.
///
///
///
/// In these settings, you specify how your application accepts account creation attempts
/// by providing the request payload type and the names of the fields within the request
/// body where the username, password, email, and primary address and phone number fields
/// are provided.
///
///
public partial class RequestInspectionACFP
{
private List _addressFields = new List();
private EmailField _emailField;
private PasswordField _passwordField;
private PayloadType _payloadType;
private List _phoneNumberFields = new List();
private UsernameField _usernameField;
///
/// Gets and sets the property AddressFields.
///
/// The names of the fields in the request payload that contain your customer's primary
/// physical address.
///
///
///
/// Order the address fields in the array exactly as they are ordered in the request payload.
///
///
///
///
/// How you specify the address fields depends on the request inspection payload type.
///
/// -
///
/// For JSON payloads, specify the field identifiers in JSON pointer syntax. For information
/// about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation
/// JavaScript Object Notation (JSON) Pointer.
///
///
///
///
/// For example, for the JSON payload
{ "form": { "primaryaddressline1": "THE_ADDRESS1",
/// "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }
,
/// the address field idenfiers are /form/primaryaddressline1
, /form/primaryaddressline2
,
/// and /form/primaryaddressline3
.
///
/// -
///
/// For form encoded payload types, use the HTML form names.
///
///
///
/// For example, for an HTML form with input elements named
primaryaddressline1
,
/// primaryaddressline2
, and primaryaddressline3
, the address
/// fields identifiers are primaryaddressline1
, primaryaddressline2
,
/// and primaryaddressline3
.
///
///
///
public List AddressFields
{
get { return this._addressFields; }
set { this._addressFields = value; }
}
// Check to see if AddressFields property is set
internal bool IsSetAddressFields()
{
return this._addressFields != null && this._addressFields.Count > 0;
}
///
/// Gets and sets the property EmailField.
///
/// The name of the field in the request payload that contains your customer's email.
///
///
///
///
/// How you specify this depends on the request inspection payload type.
///
/// -
///
/// For JSON payloads, specify the field name in JSON pointer syntax. For information
/// about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation
/// JavaScript Object Notation (JSON) Pointer.
///
///
///
///
/// For example, for the JSON payload
{ "form": { "email": "THE_EMAIL" } }
,
/// the email field specification is /form/email
.
///
/// -
///
/// For form encoded payload types, use the HTML form names.
///
///
///
/// For example, for an HTML form with the input element named
email1
, the
/// email field specification is email1
.
///
///
///
public EmailField EmailField
{
get { return this._emailField; }
set { this._emailField = value; }
}
// Check to see if EmailField property is set
internal bool IsSetEmailField()
{
return this._emailField != null;
}
///
/// Gets and sets the property PasswordField.
///
/// The name of the field in the request payload that contains your customer's password.
///
///
///
///
/// How you specify this depends on the request inspection payload type.
///
/// -
///
/// For JSON payloads, specify the field name in JSON pointer syntax. For information
/// about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation
/// JavaScript Object Notation (JSON) Pointer.
///
///
///
///
/// For example, for the JSON payload
{ "form": { "password": "THE_PASSWORD" } }
,
/// the password field specification is /form/password
.
///
/// -
///
/// For form encoded payload types, use the HTML form names.
///
///
///
/// For example, for an HTML form with the input element named
password1
,
/// the password field specification is password1
.
///
///
///
public PasswordField PasswordField
{
get { return this._passwordField; }
set { this._passwordField = value; }
}
// Check to see if PasswordField property is set
internal bool IsSetPasswordField()
{
return this._passwordField != null;
}
///
/// Gets and sets the property PayloadType.
///
/// The payload type for your account creation endpoint, either JSON or form encoded.
///
///
[AWSProperty(Required=true)]
public PayloadType PayloadType
{
get { return this._payloadType; }
set { this._payloadType = value; }
}
// Check to see if PayloadType property is set
internal bool IsSetPayloadType()
{
return this._payloadType != null;
}
///
/// Gets and sets the property PhoneNumberFields.
///
/// The names of the fields in the request payload that contain your customer's primary
/// phone number.
///
///
///
/// Order the phone number fields in the array exactly as they are ordered in the request
/// payload.
///
///
///
/// How you specify the phone number fields depends on the request inspection payload
/// type.
///
/// -
///
/// For JSON payloads, specify the field identifiers in JSON pointer syntax. For information
/// about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation
/// JavaScript Object Notation (JSON) Pointer.
///
///
///
///
/// For example, for the JSON payload
{ "form": { "primaryphoneline1": "THE_PHONE1",
/// "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }
, the
/// phone number field identifiers are /form/primaryphoneline1
, /form/primaryphoneline2
,
/// and /form/primaryphoneline3
.
///
/// -
///
/// For form encoded payload types, use the HTML form names.
///
///
///
/// For example, for an HTML form with input elements named
primaryphoneline1
,
/// primaryphoneline2
, and primaryphoneline3
, the phone number
/// field identifiers are primaryphoneline1
, primaryphoneline2
,
/// and primaryphoneline3
.
///
///
///
public List PhoneNumberFields
{
get { return this._phoneNumberFields; }
set { this._phoneNumberFields = value; }
}
// Check to see if PhoneNumberFields property is set
internal bool IsSetPhoneNumberFields()
{
return this._phoneNumberFields != null && this._phoneNumberFields.Count > 0;
}
///
/// Gets and sets the property UsernameField.
///
/// The name of the field in the request payload that contains your customer's username.
///
///
///
///
/// How you specify this depends on the request inspection payload type.
///
/// -
///
/// For JSON payloads, specify the field name in JSON pointer syntax. For information
/// about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation
/// JavaScript Object Notation (JSON) Pointer.
///
///
///
///
/// For example, for the JSON payload
{ "form": { "username": "THE_USERNAME" } }
,
/// the username field specification is /form/username
.
///
/// -
///
/// For form encoded payload types, use the HTML form names.
///
///
///
/// For example, for an HTML form with the input element named
username1
,
/// the username field specification is username1
///
///
///
public UsernameField UsernameField
{
get { return this._usernameField; }
set { this._usernameField = value; }
}
// Check to see if UsernameField property is set
internal bool IsSetUsernameField()
{
return this._usernameField != null;
}
}
}