/* * Copyright 2010-2018 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.ReplaceNetworkAclEntryRequestMarshaller; /** * Container for the parameters to the {@link com.amazonaws.services.ec2.AmazonEC2#replaceNetworkAclEntry(ReplaceNetworkAclEntryRequest) ReplaceNetworkAclEntry operation}. *
* Replaces an entry (rule) in a network ACL. For more information about * network ACLs, see * Network ACLs * in the Amazon Virtual Private Cloud User Guide . *
* * @see com.amazonaws.services.ec2.AmazonEC2#replaceNetworkAclEntry(ReplaceNetworkAclEntryRequest) */ public class ReplaceNetworkAclEntryRequest extends AmazonWebServiceRequest implements Serializable, DryRunSupportedRequestall
or -1
* to mean all protocols.
*/
private String protocol;
/**
* Indicates whether to allow or deny the traffic that matches the rule.
*
* Constraints:
* Allowed Values: allow, deny
*/
private String ruleAction;
/**
* Indicates whether to replace the egress rule.
Default: If no value * is specified, we replace the ingress rule. */ private Boolean egress; /** * The network range to allow or deny, in CIDR notation. */ private String cidrBlock; /** * ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) * for the protocol. */ private IcmpTypeCode icmpTypeCode; /** * TCP or UDP protocols: The range of ports the rule applies to. Required * if specifying 6 (TCP) or 17 (UDP) for the protocol. */ private PortRange portRange; /** * The ID of the ACL. * * @return The ID of the ACL. */ public String getNetworkAclId() { return networkAclId; } /** * The ID of the ACL. * * @param networkAclId The ID of the ACL. */ public void setNetworkAclId(String networkAclId) { this.networkAclId = networkAclId; } /** * The ID of the ACL. *
* Returns a reference to this object so that method calls can be chained together. * * @param networkAclId The ID of the ACL. * * @return A reference to this updated object so that method calls can be chained * together. */ public ReplaceNetworkAclEntryRequest withNetworkAclId(String networkAclId) { this.networkAclId = networkAclId; return this; } /** * The rule number of the entry to replace. * * @return The rule number of the entry to replace. */ public Integer getRuleNumber() { return ruleNumber; } /** * The rule number of the entry to replace. * * @param ruleNumber The rule number of the entry to replace. */ public void setRuleNumber(Integer ruleNumber) { this.ruleNumber = ruleNumber; } /** * The rule number of the entry to replace. *
* Returns a reference to this object so that method calls can be chained together.
*
* @param ruleNumber The rule number of the entry to replace.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public ReplaceNetworkAclEntryRequest withRuleNumber(Integer ruleNumber) {
this.ruleNumber = ruleNumber;
return this;
}
/**
* The IP protocol. You can specify all
or -1
* to mean all protocols.
*
* @return The IP protocol. You can specify all
or -1
* to mean all protocols.
*/
public String getProtocol() {
return protocol;
}
/**
* The IP protocol. You can specify all
or -1
* to mean all protocols.
*
* @param protocol The IP protocol. You can specify all
or -1
* to mean all protocols.
*/
public void setProtocol(String protocol) {
this.protocol = protocol;
}
/**
* The IP protocol. You can specify all
or -1
* to mean all protocols.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param protocol The IP protocol. You can specify all
or -1
* to mean all protocols.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public ReplaceNetworkAclEntryRequest withProtocol(String protocol) {
this.protocol = protocol;
return this;
}
/**
* Indicates whether to allow or deny the traffic that matches the rule.
*
* Constraints:
* Allowed Values: allow, deny
*
* @return Indicates whether to allow or deny the traffic that matches the rule.
*
* @see RuleAction
*/
public String getRuleAction() {
return ruleAction;
}
/**
* Indicates whether to allow or deny the traffic that matches the rule.
*
* Constraints:
* Allowed Values: allow, deny
*
* @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.
*
* Returns a reference to this object so that method calls can be chained together. *
* Constraints:
* Allowed Values: allow, deny
*
* @param ruleAction Indicates whether to allow or deny the traffic that matches the rule.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*
* @see RuleAction
*/
public ReplaceNetworkAclEntryRequest withRuleAction(String ruleAction) {
this.ruleAction = ruleAction;
return this;
}
/**
* Indicates whether to allow or deny the traffic that matches the rule.
*
* Constraints:
* Allowed Values: allow, deny
*
* @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.
*
* Returns a reference to this object so that method calls can be chained together. *
* Constraints:
* Allowed Values: allow, deny
*
* @param ruleAction Indicates whether to allow or deny the traffic that matches the rule.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*
* @see RuleAction
*/
public ReplaceNetworkAclEntryRequest withRuleAction(RuleAction ruleAction) {
this.ruleAction = ruleAction.toString();
return this;
}
/**
* Indicates whether to replace the egress rule.
Default: If no value * is specified, we replace the ingress rule. * * @return Indicates whether to replace the egress rule.
Default: If no value * is specified, we replace the ingress rule. */ public Boolean isEgress() { return egress; } /** * Indicates whether to replace the egress rule.
Default: If no value * is specified, we replace the ingress rule. * * @param egress Indicates whether to replace the egress rule.
Default: If no value * is specified, we replace the ingress rule. */ public void setEgress(Boolean egress) { this.egress = egress; } /** * Indicates whether to replace the egress rule.
Default: If no value * is specified, we replace the ingress rule. *
* Returns a reference to this object so that method calls can be chained together. * * @param egress Indicates whether to replace the egress rule.
Default: If no value * is specified, we replace the ingress rule. * * @return A reference to this updated object so that method calls can be chained * together. */ public ReplaceNetworkAclEntryRequest withEgress(Boolean egress) { this.egress = egress; return this; } /** * Indicates whether to replace the egress rule.
Default: If no value * is specified, we replace the ingress rule. * * @return Indicates whether to replace the egress rule.
Default: If no value * is specified, we replace the ingress rule. */ public Boolean getEgress() { return egress; } /** * 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 cidrBlock; } /** * 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. *
* Returns a reference to this object so that method calls can be chained together. * * @param cidrBlock The network range to allow or deny, in CIDR notation. * * @return A reference to this updated object so that method calls can be chained * together. */ public ReplaceNetworkAclEntryRequest withCidrBlock(String cidrBlock) { this.cidrBlock = cidrBlock; return this; } /** * ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) * for the protocol. * * @return ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) * for the protocol. */ public IcmpTypeCode getIcmpTypeCode() { return icmpTypeCode; } /** * ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) * for the protocol. * * @param icmpTypeCode ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) * for the protocol. */ public void setIcmpTypeCode(IcmpTypeCode icmpTypeCode) { this.icmpTypeCode = icmpTypeCode; } /** * ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) * for the protocol. *
* Returns a reference to this object so that method calls can be chained together. * * @param icmpTypeCode ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) * for the protocol. * * @return A reference to this updated object so that method calls can be chained * together. */ public ReplaceNetworkAclEntryRequest withIcmpTypeCode(IcmpTypeCode icmpTypeCode) { this.icmpTypeCode = icmpTypeCode; return this; } /** * TCP or UDP protocols: The range of ports the rule applies to. Required * if specifying 6 (TCP) or 17 (UDP) for the protocol. * * @return TCP or UDP protocols: The range of ports the rule applies to. Required * if specifying 6 (TCP) or 17 (UDP) for the protocol. */ public PortRange getPortRange() { return portRange; } /** * TCP or UDP protocols: The range of ports the rule applies to. Required * if specifying 6 (TCP) or 17 (UDP) for the protocol. * * @param portRange TCP or UDP protocols: The range of ports the rule applies to. Required * if specifying 6 (TCP) or 17 (UDP) for the protocol. */ public void setPortRange(PortRange portRange) { this.portRange = portRange; } /** * TCP or UDP protocols: The range of ports the rule applies to. Required * if specifying 6 (TCP) or 17 (UDP) for the protocol. *
* Returns a reference to this object so that method calls can be chained together.
*
* @param portRange TCP or UDP protocols: The range of ports the rule applies to. Required
* if specifying 6 (TCP) or 17 (UDP) for the protocol.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public ReplaceNetworkAclEntryRequest withPortRange(PortRange portRange) {
this.portRange = 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