All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.ec2.model.NetworkAclEntry Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 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.ec2.model;

import java.io.Serializable;

/**
 * 

* Describes an entry in a network ACL. *

*/ public class NetworkAclEntry implements Serializable, Cloneable { /** *

* The rule number for the entry. ACL entries are processed in ascending * order by rule number. *

*/ private Integer ruleNumber; /** *

* The protocol. A value of -1 means all protocols. *

*/ private String protocol; /** *

* Indicates whether to allow or deny the traffic that matches the rule. *

*/ private String ruleAction; /** *

* Indicates whether the rule is an egress rule (applied to traffic leaving * the subnet). *

*/ private Boolean egress; /** *

* The network range to allow or deny, in CIDR notation. *

*/ private String cidrBlock; /** *

* ICMP protocol: The ICMP type and code. *

*/ private IcmpTypeCode icmpTypeCode; /** *

* TCP or UDP protocols: The range of ports the rule applies to. *

*/ private PortRange portRange; /** *

* The rule number for the entry. ACL entries are processed in ascending * order by rule number. *

* * @param ruleNumber * The rule number for the entry. ACL entries are processed in * ascending order by rule number. */ public void setRuleNumber(Integer ruleNumber) { this.ruleNumber = ruleNumber; } /** *

* The rule number for the entry. ACL entries are processed in ascending * order by rule number. *

* * @return The rule number for the entry. ACL entries are processed in * ascending order by rule number. */ public Integer getRuleNumber() { return this.ruleNumber; } /** *

* The rule number for the entry. ACL entries are processed in ascending * order by rule number. *

* * @param ruleNumber * The rule number for the entry. ACL entries are processed in * ascending order by rule number. * @return Returns a reference to this object so that method calls can be * chained together. */ public NetworkAclEntry withRuleNumber(Integer ruleNumber) { setRuleNumber(ruleNumber); return this; } /** *

* The protocol. A value of -1 means all protocols. *

* * @param protocol * The protocol. A value of -1 means all protocols. */ public void setProtocol(String protocol) { this.protocol = protocol; } /** *

* The protocol. A value of -1 means all protocols. *

* * @return The protocol. A value of -1 means all protocols. */ public String getProtocol() { return this.protocol; } /** *

* The protocol. A value of -1 means all protocols. *

* * @param protocol * The protocol. A value of -1 means all protocols. * @return Returns a reference to this object so that method calls can be * chained together. */ public NetworkAclEntry withProtocol(String protocol) { setProtocol(protocol); return this; } /** *

* Indicates whether to allow or deny the traffic that matches the rule. *

* * @param ruleAction * Indicates whether to allow or deny the traffic that matches the * rule. * @see RuleAction */ public void setRuleAction(String ruleAction) { this.ruleAction = ruleAction; } /** *

* Indicates whether to allow or deny the traffic that matches the rule. *

* * @return Indicates whether to allow or deny the traffic that matches the * rule. * @see RuleAction */ public String getRuleAction() { return this.ruleAction; } /** *

* Indicates whether to allow or deny the traffic that matches the rule. *

* * @param ruleAction * Indicates whether to allow or deny the traffic that matches the * rule. * @return Returns a reference to this object so that method calls can be * chained together. * @see RuleAction */ public NetworkAclEntry withRuleAction(String ruleAction) { setRuleAction(ruleAction); return this; } /** *

* Indicates whether to allow or deny the traffic that matches the rule. *

* * @param ruleAction * Indicates whether to allow or deny the traffic that matches the * rule. * @see RuleAction */ public void setRuleAction(RuleAction ruleAction) { this.ruleAction = ruleAction.toString(); } /** *

* Indicates whether to allow or deny the traffic that matches the rule. *

* * @param ruleAction * Indicates whether to allow or deny the traffic that matches the * rule. * @return Returns a reference to this object so that method calls can be * chained together. * @see RuleAction */ public NetworkAclEntry withRuleAction(RuleAction ruleAction) { setRuleAction(ruleAction); return this; } /** *

* Indicates whether the rule is an egress rule (applied to traffic leaving * the subnet). *

* * @param egress * Indicates whether the rule is an egress rule (applied to traffic * leaving the subnet). */ public void setEgress(Boolean egress) { this.egress = egress; } /** *

* Indicates whether the rule is an egress rule (applied to traffic leaving * the subnet). *

* * @return Indicates whether the rule is an egress rule (applied to traffic * leaving the subnet). */ public Boolean getEgress() { return this.egress; } /** *

* Indicates whether the rule is an egress rule (applied to traffic leaving * the subnet). *

* * @param egress * Indicates whether the rule is an egress rule (applied to traffic * leaving the subnet). * @return Returns a reference to this object so that method calls can be * chained together. */ public NetworkAclEntry withEgress(Boolean egress) { setEgress(egress); return this; } /** *

* Indicates whether the rule is an egress rule (applied to traffic leaving * the subnet). *

* * @return Indicates whether the rule is an egress rule (applied to traffic * leaving the subnet). */ public Boolean isEgress() { return this.egress; } /** *

* The network range to allow or deny, in CIDR notation. *

* * @param cidrBlock * The network range to allow or deny, in CIDR notation. */ public void setCidrBlock(String cidrBlock) { this.cidrBlock = cidrBlock; } /** *

* The network range to allow or deny, in CIDR notation. *

* * @return The network range to allow or deny, in CIDR notation. */ public String getCidrBlock() { return this.cidrBlock; } /** *

* The network range to allow or deny, in CIDR notation. *

* * @param cidrBlock * The network range to allow or deny, in CIDR notation. * @return Returns a reference to this object so that method calls can be * chained together. */ public NetworkAclEntry withCidrBlock(String cidrBlock) { setCidrBlock(cidrBlock); return this; } /** *

* ICMP protocol: The ICMP type and code. *

* * @param icmpTypeCode * ICMP protocol: The ICMP type and code. */ public void setIcmpTypeCode(IcmpTypeCode icmpTypeCode) { this.icmpTypeCode = icmpTypeCode; } /** *

* ICMP protocol: The ICMP type and code. *

* * @return ICMP protocol: The ICMP type and code. */ public IcmpTypeCode getIcmpTypeCode() { return this.icmpTypeCode; } /** *

* ICMP protocol: The ICMP type and code. *

* * @param icmpTypeCode * ICMP protocol: The ICMP type and code. * @return Returns a reference to this object so that method calls can be * chained together. */ public NetworkAclEntry withIcmpTypeCode(IcmpTypeCode icmpTypeCode) { setIcmpTypeCode(icmpTypeCode); return this; } /** *

* TCP or UDP protocols: The range of ports the rule applies to. *

* * @param portRange * TCP or UDP protocols: The range of ports the rule applies to. */ public void setPortRange(PortRange portRange) { this.portRange = portRange; } /** *

* TCP or UDP protocols: The range of ports the rule applies to. *

* * @return TCP or UDP protocols: The range of ports the rule applies to. */ public PortRange getPortRange() { return this.portRange; } /** *

* TCP or UDP protocols: The range of ports the rule applies to. *

* * @param portRange * TCP or UDP protocols: The range of ports the rule applies to. * @return Returns a reference to this object so that method calls can be * chained together. */ public NetworkAclEntry withPortRange(PortRange portRange) { setPortRange(portRange); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getRuleNumber() != null) sb.append("RuleNumber: " + getRuleNumber() + ","); if (getProtocol() != null) sb.append("Protocol: " + getProtocol() + ","); if (getRuleAction() != null) sb.append("RuleAction: " + getRuleAction() + ","); if (getEgress() != null) sb.append("Egress: " + getEgress() + ","); if (getCidrBlock() != null) sb.append("CidrBlock: " + getCidrBlock() + ","); if (getIcmpTypeCode() != null) sb.append("IcmpTypeCode: " + getIcmpTypeCode() + ","); if (getPortRange() != null) sb.append("PortRange: " + getPortRange()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof NetworkAclEntry == false) return false; NetworkAclEntry other = (NetworkAclEntry) obj; if (other.getRuleNumber() == null ^ this.getRuleNumber() == null) return false; if (other.getRuleNumber() != null && other.getRuleNumber().equals(this.getRuleNumber()) == false) return false; if (other.getProtocol() == null ^ this.getProtocol() == null) return false; if (other.getProtocol() != null && other.getProtocol().equals(this.getProtocol()) == false) return false; if (other.getRuleAction() == null ^ this.getRuleAction() == null) return false; if (other.getRuleAction() != null && other.getRuleAction().equals(this.getRuleAction()) == false) return false; if (other.getEgress() == null ^ this.getEgress() == null) return false; if (other.getEgress() != null && other.getEgress().equals(this.getEgress()) == false) return false; if (other.getCidrBlock() == null ^ this.getCidrBlock() == null) return false; if (other.getCidrBlock() != null && other.getCidrBlock().equals(this.getCidrBlock()) == false) return false; if (other.getIcmpTypeCode() == null ^ this.getIcmpTypeCode() == null) return false; if (other.getIcmpTypeCode() != null && other.getIcmpTypeCode().equals(this.getIcmpTypeCode()) == false) return false; if (other.getPortRange() == null ^ this.getPortRange() == null) return false; if (other.getPortRange() != null && other.getPortRange().equals(this.getPortRange()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getRuleNumber() == null) ? 0 : getRuleNumber().hashCode()); hashCode = prime * hashCode + ((getProtocol() == null) ? 0 : getProtocol().hashCode()); hashCode = prime * hashCode + ((getRuleAction() == null) ? 0 : getRuleAction().hashCode()); hashCode = prime * hashCode + ((getEgress() == null) ? 0 : getEgress().hashCode()); hashCode = prime * hashCode + ((getCidrBlock() == null) ? 0 : getCidrBlock().hashCode()); hashCode = prime * hashCode + ((getIcmpTypeCode() == null) ? 0 : getIcmpTypeCode() .hashCode()); hashCode = prime * hashCode + ((getPortRange() == null) ? 0 : getPortRange().hashCode()); return hashCode; } @Override public NetworkAclEntry clone() { try { return (NetworkAclEntry) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException( "Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy