/* * Copyright 2018-2023 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. */ package com.amazonaws.services.wafv2.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* Contains zero or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) * notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0. For information about CIDR notation, see the * Wikipedia entry Classless Inter-Domain * Routing. *

*

* WAF assigns an ARN to each IPSet that you create. To use an IP set in a rule, you provide the ARN to the * Rule statement IPSetReferenceStatement. *

* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class IPSet implements Serializable, Cloneable, StructuredPojo { /** *

* The name of the IP set. You cannot change the name of an IPSet after you create it. *

*/ private String name; /** *

* A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it * to operations like update and delete. *

*/ private String id; /** *

* The Amazon Resource Name (ARN) of the entity. *

*/ private String aRN; /** *

* A description of the IP set that helps with identification. *

*/ private String description; /** *

* The version of the IP addresses, either IPV4 or IPV6. *

*/ private String iPAddressVersion; /** *

* 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: *

* *

* For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing. *

*

* Example JSON Addresses specifications: *

* */ private java.util.List addresses; /** *

* The name of the IP set. You cannot change the name of an IPSet after you create it. *

* * @param name * The name of the IP set. You cannot change the name of an IPSet after you create it. */ public void setName(String name) { this.name = name; } /** *

* The name of the IP set. You cannot change the name of an IPSet after you create it. *

* * @return The name of the IP set. You cannot change the name of an IPSet after you create it. */ public String getName() { return this.name; } /** *

* The name of the IP set. You cannot change the name of an IPSet after you create it. *

* * @param name * The name of the IP set. You cannot change the name of an IPSet after you create it. * @return Returns a reference to this object so that method calls can be chained together. */ public IPSet withName(String name) { setName(name); return this; } /** *

* A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it * to operations like update and delete. *

* * @param id * A unique identifier for the set. This ID is returned in the responses to create and list commands. You * provide it to operations like update and delete. */ public void setId(String id) { this.id = id; } /** *

* A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it * to operations like update and delete. *

* * @return A unique identifier for the set. This ID is returned in the responses to create and list commands. You * provide it to operations like update and delete. */ public String getId() { return this.id; } /** *

* A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it * to operations like update and delete. *

* * @param id * A unique identifier for the set. This ID is returned in the responses to create and list commands. You * provide it to operations like update and delete. * @return Returns a reference to this object so that method calls can be chained together. */ public IPSet withId(String id) { setId(id); return this; } /** *

* The Amazon Resource Name (ARN) of the entity. *

* * @param aRN * The Amazon Resource Name (ARN) of the entity. */ public void setARN(String aRN) { this.aRN = aRN; } /** *

* The Amazon Resource Name (ARN) of the entity. *

* * @return The Amazon Resource Name (ARN) of the entity. */ public String getARN() { return this.aRN; } /** *

* The Amazon Resource Name (ARN) of the entity. *

* * @param aRN * The Amazon Resource Name (ARN) of the entity. * @return Returns a reference to this object so that method calls can be chained together. */ public IPSet withARN(String aRN) { setARN(aRN); return this; } /** *

* A description of the IP set that helps with identification. *

* * @param description * A description of the IP set that helps with identification. */ public void setDescription(String description) { this.description = description; } /** *

* A description of the IP set that helps with identification. *

* * @return A description of the IP set that helps with identification. */ public String getDescription() { return this.description; } /** *

* A description of the IP set that helps with identification. *

* * @param description * A description of the IP set that helps with identification. * @return Returns a reference to this object so that method calls can be chained together. */ public IPSet withDescription(String description) { setDescription(description); return this; } /** *

* The version of the IP addresses, either IPV4 or IPV6. *

* * @param iPAddressVersion * The version of the IP addresses, either IPV4 or IPV6. * @see IPAddressVersion */ public void setIPAddressVersion(String iPAddressVersion) { this.iPAddressVersion = iPAddressVersion; } /** *

* The version of the IP addresses, either IPV4 or IPV6. *

* * @return The version of the IP addresses, either IPV4 or IPV6. * @see IPAddressVersion */ public String getIPAddressVersion() { return this.iPAddressVersion; } /** *

* The version of the IP addresses, either IPV4 or IPV6. *

* * @param iPAddressVersion * The version of the IP addresses, either IPV4 or IPV6. * @return Returns a reference to this object so that method calls can be chained together. * @see IPAddressVersion */ public IPSet withIPAddressVersion(String iPAddressVersion) { setIPAddressVersion(iPAddressVersion); return this; } /** *

* The version of the IP addresses, either IPV4 or IPV6. *

* * @param iPAddressVersion * The version of the IP addresses, either IPV4 or IPV6. * @return Returns a reference to this object so that method calls can be chained together. * @see IPAddressVersion */ public IPSet withIPAddressVersion(IPAddressVersion iPAddressVersion) { this.iPAddressVersion = iPAddressVersion.toString(); return this; } /** *

* 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: *

* *

* For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing. *

*

* Example JSON Addresses specifications: *

* * * @return 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: *

* *

* For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing. *

*

* Example JSON Addresses specifications: *

*