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

com.amazonaws.services.ec2.model.CreateNetworkAclEntryRequest 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;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.Request;
import com.amazonaws.services.ec2.model.transform.CreateNetworkAclEntryRequestMarshaller;

/**
 * 

* Contains the parameters for CreateNetworkAclEntry. *

*/ public class CreateNetworkAclEntryRequest extends AmazonWebServiceRequest implements Serializable, Cloneable, DryRunSupportedRequest { /** *

* The ID of the network ACL. *

*/ private String networkAclId; /** *

* The rule number for the entry (for example, 100). ACL entries are * processed in ascending order by rule number. *

*

* Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 * is reserved for internal use. *

*/ 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 this is an egress rule (rule is applied to traffic * leaving the subnet). *

*/ private Boolean egress; /** *

* The network range to allow or deny, in CIDR notation (for example * 172.16.0.0/24). *

*/ private String cidrBlock; /** *

* ICMP protocol: The ICMP type and code. Required if specifying ICMP for * the protocol. *

*/ private IcmpTypeCode icmpTypeCode; /** *

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

*/ private PortRange portRange; /** *

* The ID of the network ACL. *

* * @param networkAclId * The ID of the network ACL. */ public void setNetworkAclId(String networkAclId) { this.networkAclId = networkAclId; } /** *

* The ID of the network ACL. *

* * @return The ID of the network ACL. */ public String getNetworkAclId() { return this.networkAclId; } /** *

* The ID of the network ACL. *

* * @param networkAclId * The ID of the network ACL. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateNetworkAclEntryRequest withNetworkAclId(String networkAclId) { setNetworkAclId(networkAclId); return this; } /** *

* The rule number for the entry (for example, 100). ACL entries are * processed in ascending order by rule number. *

*

* Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 * is reserved for internal use. *

* * @param ruleNumber * The rule number for the entry (for example, 100). ACL entries are * processed in ascending order by rule number.

*

* Constraints: Positive integer from 1 to 32766. The range 32767 to * 65535 is reserved for internal use. */ public void setRuleNumber(Integer ruleNumber) { this.ruleNumber = ruleNumber; } /** *

* The rule number for the entry (for example, 100). ACL entries are * processed in ascending order by rule number. *

*

* Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 * is reserved for internal use. *

* * @return The rule number for the entry (for example, 100). ACL entries are * processed in ascending order by rule number.

*

* Constraints: Positive integer from 1 to 32766. The range 32767 to * 65535 is reserved for internal use. */ public Integer getRuleNumber() { return this.ruleNumber; } /** *

* The rule number for the entry (for example, 100). ACL entries are * processed in ascending order by rule number. *

*

* Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 * is reserved for internal use. *

* * @param ruleNumber * The rule number for the entry (for example, 100). ACL entries are * processed in ascending order by rule number.

*

* Constraints: Positive integer from 1 to 32766. The range 32767 to * 65535 is reserved for internal use. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateNetworkAclEntryRequest 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 CreateNetworkAclEntryRequest 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 CreateNetworkAclEntryRequest 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 CreateNetworkAclEntryRequest withRuleAction(RuleAction ruleAction) { setRuleAction(ruleAction); return this; } /** *

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

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

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

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

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

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

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

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

* The network range to allow or deny, in CIDR notation (for example * 172.16.0.0/24). *

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

* The network range to allow or deny, in CIDR notation (for example * 172.16.0.0/24). *

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

* The network range to allow or deny, in CIDR notation (for example * 172.16.0.0/24). *

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

* ICMP protocol: The ICMP type and code. Required if specifying ICMP for * the protocol. *

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

* ICMP protocol: The ICMP type and code. Required if specifying ICMP for * the protocol. *

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

* ICMP protocol: The ICMP type and code. Required if specifying ICMP for * the protocol. *

* * @param icmpTypeCode * ICMP protocol: The ICMP type and code. Required if specifying ICMP * for the protocol. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateNetworkAclEntryRequest 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 CreateNetworkAclEntryRequest withPortRange(PortRange portRange) { setPortRange(portRange); return this; } /** * This method is intended for internal use only. Returns the marshaled * request configured with additional parameters to enable operation * dry-run. */ @Override public Request getDryRunRequest() { Request request = new CreateNetworkAclEntryRequestMarshaller() .marshall(this); request.addParameter("DryRun", Boolean.toString(true)); return request; } /** * 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 (getNetworkAclId() != null) sb.append("NetworkAclId: " + getNetworkAclId() + ","); 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 CreateNetworkAclEntryRequest == false) return false; CreateNetworkAclEntryRequest other = (CreateNetworkAclEntryRequest) obj; if (other.getNetworkAclId() == null ^ this.getNetworkAclId() == null) return false; if (other.getNetworkAclId() != null && other.getNetworkAclId().equals(this.getNetworkAclId()) == false) return false; 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 + ((getNetworkAclId() == null) ? 0 : getNetworkAclId() .hashCode()); 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 CreateNetworkAclEntryRequest clone() { return (CreateNetworkAclEntryRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy