/*
* 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 waf-2015-08-24.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.WAF.Model
{
///
/// Container for the parameters to the UpdateIPSet operation.
///
///
/// This is AWS WAF Classic documentation. For more information, see AWS
/// WAF Classic in the developer guide.
///
///
///
/// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS
/// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints
/// for regional and global use.
///
///
///
/// Inserts or deletes IPSetDescriptor objects in an IPSet
. For each
/// IPSetDescriptor
object, you specify the following values:
///
/// -
///
/// Whether to insert or delete the object from the array. If you want to change an
IPSetDescriptor
/// object, you delete the existing object and add a new one.
///
/// -
///
/// The IP address version,
IPv4
or IPv6
.
///
/// -
///
/// The IP address in CIDR notation, for example,
192.0.2.0/24
(for the range
/// of IP addresses from 192.0.2.0
to 192.0.2.255
) or 192.0.2.44/32
/// (for the individual IP address 192.0.2.44
).
///
///
///
/// AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS
/// WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128. For more information
/// about CIDR notation, see the Wikipedia entry Classless
/// Inter-Domain Routing.
///
///
///
/// IPv6 addresses can be represented using any of the following formats:
///
/// -
///
/// 1111:0000:0000:0000:0000:0000:0000:0111/128
///
///
-
///
/// 1111:0:0:0:0:0:0:0111/128
///
///
-
///
/// 1111::0111/128
///
///
-
///
/// 1111::111/128
///
///
///
/// You use an IPSet
to specify which web requests you want to allow or block
/// based on the IP addresses that the requests originated from. For example, if you're
/// receiving a lot of requests from one or a small number of IP addresses and you want
/// to block the requests, you can create an IPSet
that specifies those IP
/// addresses, and then configure AWS WAF to block the requests.
///
///
///
/// To create and configure an IPSet
, perform the following steps:
///
/// -
///
/// Submit a CreateIPSet request.
///
///
-
///
/// Use GetChangeToken to get the change token that you provide in the
ChangeToken
/// parameter of an UpdateIPSet request.
///
/// -
///
/// Submit an
UpdateIPSet
request to specify the IP addresses that you want
/// AWS WAF to watch for.
///
///
///
/// When you update an IPSet
, you specify the IP addresses that you want
/// to add and/or the IP addresses that you want to delete. If you want to change an IP
/// address, you delete the existing IP address and add the new one.
///
///
///
/// You can insert a maximum of 1000 addresses in a single request.
///
///
///
/// For more information about how to use the AWS WAF API to allow or block HTTP requests,
/// see the AWS WAF Developer
/// Guide.
///
///
public partial class UpdateIPSetRequest : AmazonWAFRequest
{
private string _changeToken;
private string _ipSetId;
private List _updates = new List();
///
/// Gets and sets the property ChangeToken.
///
/// The value returned by the most recent call to GetChangeToken.
///
///
[AWSProperty(Required=true, Min=1, Max=128)]
public string ChangeToken
{
get { return this._changeToken; }
set { this._changeToken = value; }
}
// Check to see if ChangeToken property is set
internal bool IsSetChangeToken()
{
return this._changeToken != null;
}
///
/// Gets and sets the property IPSetId.
///
/// The IPSetId
of the IPSet that you want to update. IPSetId
/// is returned by CreateIPSet and by ListIPSets.
///
///
[AWSProperty(Required=true, Min=1, Max=128)]
public string IPSetId
{
get { return this._ipSetId; }
set { this._ipSetId = value; }
}
// Check to see if IPSetId property is set
internal bool IsSetIPSetId()
{
return this._ipSetId != null;
}
///
/// Gets and sets the property Updates.
///
/// An array of IPSetUpdate
objects that you want to insert into or delete
/// from an IPSet. For more information, see the applicable data types:
///
///
///
/// You can insert a maximum of 1000 addresses in a single request.
///
///
[AWSProperty(Required=true, Min=1)]
public List Updates
{
get { return this._updates; }
set { this._updates = value; }
}
// Check to see if Updates property is set
internal bool IsSetUpdates()
{
return this._updates != null && this._updates.Count > 0;
}
}
}