/* * 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 CreateIPSet operation. /// Creates an IPSet, which you use to identify web requests that originate from /// specific IP addresses or ranges of IP addresses. For example, if you're receiving /// a lot of requests from a ranges of IP addresses, you can configure WAF to block them /// using an IPSet that lists those IP addresses. /// public partial class CreateIPSetRequest : AmazonWAFV2Request { private List _addresses = new List(); private string _description; private IPAddressVersion _ipAddressVersion; private string _name; private Scope _scope; private List _tags = new List(); /// /// Gets and sets the property Addresses. /// /// Contains an array of strings that specifies zero or more IP addresses or blocks of /// IP addresses. All addresses must be specified using Classless Inter-Domain Routing /// (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0. /// /// /// /// /// Example address strings: /// ///
  • /// /// To configure WAF to allow, block, or count requests that originated from the IP address /// 192.0.2.44, specify 192.0.2.44/32. /// ///
  • /// /// To configure WAF to allow, block, or count requests that originated from IP addresses /// from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24. /// ///
  • /// /// To configure WAF to allow, block, or count requests that originated from the IP address /// 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128. /// ///
  • /// /// To configure WAF to allow, block, or count requests that originated from IP addresses /// 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, /// specify 1111:0000:0000:0000:0000:0000:0000:0000/64. /// ///
/// /// For more information about CIDR notation, see the Wikipedia entry Classless /// Inter-Domain Routing. /// /// /// /// Example JSON Addresses specifications: /// ///
  • /// /// Empty array: "Addresses": [] /// ///
  • /// /// Array with one address: "Addresses": ["192.0.2.44/32"] /// ///
  • /// /// Array with three addresses: "Addresses": ["192.0.2.44/32", "192.0.2.0/24", "192.0.0.0/16"] /// /// ///
  • /// /// INVALID specification: "Addresses": [""] INVALID /// ///
///
[AWSProperty(Required=true)] public List Addresses { get { return this._addresses; } set { this._addresses = value; } } // Check to see if Addresses property is set internal bool IsSetAddresses() { return this._addresses != null && this._addresses.Count > 0; } /// /// Gets and sets the property Description. /// /// A description of the IP set that helps with identification. /// /// [AWSProperty(Min=1, Max=256)] 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 IPAddressVersion. /// /// The version of the IP addresses, either IPV4 or IPV6. /// /// [AWSProperty(Required=true)] public IPAddressVersion IPAddressVersion { get { return this._ipAddressVersion; } set { this._ipAddressVersion = value; } } // Check to see if IPAddressVersion property is set internal bool IsSetIPAddressVersion() { return this._ipAddressVersion != null; } /// /// Gets and sets the property Name. /// /// The name of the IP set. You cannot change the name of an IPSet after /// you create it. /// /// [AWSProperty(Required=true, Min=1, Max=128)] 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 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: /// ///
  • /// /// CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT /// --region=us-east-1. /// ///
  • /// /// API and SDKs - For all calls, use the Region endpoint us-east-1. /// ///
///
[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 Tags. /// /// An array of key:value pairs to associate with the resource. /// /// [AWSProperty(Min=1)] 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; } } }