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

com.amazonaws.services.ec2.model.IpPermission 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 a security group rule. *

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

* The IP protocol name (for tcp, udp, and * icmp) or number (see Protocol Numbers). *

*

* [EC2-VPC only] When you authorize or revoke security group rules, you can * use -1 to specify all. *

*/ private String ipProtocol; /** *

* The start of port range for the TCP and UDP protocols, or an ICMP type * number. A value of -1 indicates all ICMP types. *

*/ private Integer fromPort; /** *

* The end of port range for the TCP and UDP protocols, or an ICMP code. A * value of -1 indicates all ICMP codes for the specified ICMP * type. *

*/ private Integer toPort; /** *

* One or more security group and AWS account ID pairs. *

*/ private com.amazonaws.internal.SdkInternalList userIdGroupPairs; /** *

* One or more IP ranges. *

*/ private com.amazonaws.internal.SdkInternalList ipRanges; /** *

* (Valid for AuthorizeSecurityGroupEgress, * RevokeSecurityGroupEgress and DescribeSecurityGroups only) * One or more prefix list IDs for an AWS service. In an * AuthorizeSecurityGroupEgress request, this is the AWS service that * you want to access through a VPC endpoint from instances associated with * the security group. *

*/ private com.amazonaws.internal.SdkInternalList prefixListIds; /** *

* The IP protocol name (for tcp, udp, and * icmp) or number (see Protocol Numbers). *

*

* [EC2-VPC only] When you authorize or revoke security group rules, you can * use -1 to specify all. *

* * @param ipProtocol * The IP protocol name (for tcp, udp, and * icmp) or number (see Protocol Numbers).

*

* [EC2-VPC only] When you authorize or revoke security group rules, * you can use -1 to specify all. */ public void setIpProtocol(String ipProtocol) { this.ipProtocol = ipProtocol; } /** *

* The IP protocol name (for tcp, udp, and * icmp) or number (see Protocol Numbers). *

*

* [EC2-VPC only] When you authorize or revoke security group rules, you can * use -1 to specify all. *

* * @return The IP protocol name (for tcp, udp, and * icmp) or number (see Protocol Numbers).

*

* [EC2-VPC only] When you authorize or revoke security group rules, * you can use -1 to specify all. */ public String getIpProtocol() { return this.ipProtocol; } /** *

* The IP protocol name (for tcp, udp, and * icmp) or number (see Protocol Numbers). *

*

* [EC2-VPC only] When you authorize or revoke security group rules, you can * use -1 to specify all. *

* * @param ipProtocol * The IP protocol name (for tcp, udp, and * icmp) or number (see Protocol Numbers).

*

* [EC2-VPC only] When you authorize or revoke security group rules, * you can use -1 to specify all. * @return Returns a reference to this object so that method calls can be * chained together. */ public IpPermission withIpProtocol(String ipProtocol) { setIpProtocol(ipProtocol); return this; } /** *

* The start of port range for the TCP and UDP protocols, or an ICMP type * number. A value of -1 indicates all ICMP types. *

* * @param fromPort * The start of port range for the TCP and UDP protocols, or an ICMP * type number. A value of -1 indicates all ICMP types. */ public void setFromPort(Integer fromPort) { this.fromPort = fromPort; } /** *

* The start of port range for the TCP and UDP protocols, or an ICMP type * number. A value of -1 indicates all ICMP types. *

* * @return The start of port range for the TCP and UDP protocols, or an ICMP * type number. A value of -1 indicates all ICMP types. */ public Integer getFromPort() { return this.fromPort; } /** *

* The start of port range for the TCP and UDP protocols, or an ICMP type * number. A value of -1 indicates all ICMP types. *

* * @param fromPort * The start of port range for the TCP and UDP protocols, or an ICMP * type number. A value of -1 indicates all ICMP types. * @return Returns a reference to this object so that method calls can be * chained together. */ public IpPermission withFromPort(Integer fromPort) { setFromPort(fromPort); return this; } /** *

* The end of port range for the TCP and UDP protocols, or an ICMP code. A * value of -1 indicates all ICMP codes for the specified ICMP * type. *

* * @param toPort * The end of port range for the TCP and UDP protocols, or an ICMP * code. A value of -1 indicates all ICMP codes for the * specified ICMP type. */ public void setToPort(Integer toPort) { this.toPort = toPort; } /** *

* The end of port range for the TCP and UDP protocols, or an ICMP code. A * value of -1 indicates all ICMP codes for the specified ICMP * type. *

* * @return The end of port range for the TCP and UDP protocols, or an ICMP * code. A value of -1 indicates all ICMP codes for the * specified ICMP type. */ public Integer getToPort() { return this.toPort; } /** *

* The end of port range for the TCP and UDP protocols, or an ICMP code. A * value of -1 indicates all ICMP codes for the specified ICMP * type. *

* * @param toPort * The end of port range for the TCP and UDP protocols, or an ICMP * code. A value of -1 indicates all ICMP codes for the * specified ICMP type. * @return Returns a reference to this object so that method calls can be * chained together. */ public IpPermission withToPort(Integer toPort) { setToPort(toPort); return this; } /** *

* One or more security group and AWS account ID pairs. *

* * @return One or more security group and AWS account ID pairs. */ public java.util.List getUserIdGroupPairs() { if (userIdGroupPairs == null) { userIdGroupPairs = new com.amazonaws.internal.SdkInternalList(); } return userIdGroupPairs; } /** *

* One or more security group and AWS account ID pairs. *

* * @param userIdGroupPairs * One or more security group and AWS account ID pairs. */ public void setUserIdGroupPairs( java.util.Collection userIdGroupPairs) { if (userIdGroupPairs == null) { this.userIdGroupPairs = null; return; } this.userIdGroupPairs = new com.amazonaws.internal.SdkInternalList( userIdGroupPairs); } /** *

* One or more security group and AWS account ID pairs. *

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setUserIdGroupPairs(java.util.Collection)} or * {@link #withUserIdGroupPairs(java.util.Collection)} if you want to * override the existing values. *

* * @param userIdGroupPairs * One or more security group and AWS account ID pairs. * @return Returns a reference to this object so that method calls can be * chained together. */ public IpPermission withUserIdGroupPairs( UserIdGroupPair... userIdGroupPairs) { if (this.userIdGroupPairs == null) { setUserIdGroupPairs(new com.amazonaws.internal.SdkInternalList( userIdGroupPairs.length)); } for (UserIdGroupPair ele : userIdGroupPairs) { this.userIdGroupPairs.add(ele); } return this; } /** *

* One or more security group and AWS account ID pairs. *

* * @param userIdGroupPairs * One or more security group and AWS account ID pairs. * @return Returns a reference to this object so that method calls can be * chained together. */ public IpPermission withUserIdGroupPairs( java.util.Collection userIdGroupPairs) { setUserIdGroupPairs(userIdGroupPairs); return this; } /** *

* One or more IP ranges. *

* * @return One or more IP ranges. */ public java.util.List getIpRanges() { if (ipRanges == null) { ipRanges = new com.amazonaws.internal.SdkInternalList(); } return ipRanges; } /** *

* One or more IP ranges. *

* * @param ipRanges * One or more IP ranges. */ public void setIpRanges(java.util.Collection ipRanges) { if (ipRanges == null) { this.ipRanges = null; return; } this.ipRanges = new com.amazonaws.internal.SdkInternalList( ipRanges); } /** *

* One or more IP ranges. *

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setIpRanges(java.util.Collection)} or * {@link #withIpRanges(java.util.Collection)} if you want to override the * existing values. *

* * @param ipRanges * One or more IP ranges. * @return Returns a reference to this object so that method calls can be * chained together. */ public IpPermission withIpRanges(String... ipRanges) { if (this.ipRanges == null) { setIpRanges(new com.amazonaws.internal.SdkInternalList( ipRanges.length)); } for (String ele : ipRanges) { this.ipRanges.add(ele); } return this; } /** *

* One or more IP ranges. *

* * @param ipRanges * One or more IP ranges. * @return Returns a reference to this object so that method calls can be * chained together. */ public IpPermission withIpRanges(java.util.Collection ipRanges) { setIpRanges(ipRanges); return this; } /** *

* (Valid for AuthorizeSecurityGroupEgress, * RevokeSecurityGroupEgress and DescribeSecurityGroups only) * One or more prefix list IDs for an AWS service. In an * AuthorizeSecurityGroupEgress request, this is the AWS service that * you want to access through a VPC endpoint from instances associated with * the security group. *

* * @return (Valid for AuthorizeSecurityGroupEgress, * RevokeSecurityGroupEgress and * DescribeSecurityGroups only) One or more prefix list IDs * for an AWS service. In an AuthorizeSecurityGroupEgress * request, this is the AWS service that you want to access through * a VPC endpoint from instances associated with the security group. */ public java.util.List getPrefixListIds() { if (prefixListIds == null) { prefixListIds = new com.amazonaws.internal.SdkInternalList(); } return prefixListIds; } /** *

* (Valid for AuthorizeSecurityGroupEgress, * RevokeSecurityGroupEgress and DescribeSecurityGroups only) * One or more prefix list IDs for an AWS service. In an * AuthorizeSecurityGroupEgress request, this is the AWS service that * you want to access through a VPC endpoint from instances associated with * the security group. *

* * @param prefixListIds * (Valid for AuthorizeSecurityGroupEgress, * RevokeSecurityGroupEgress and DescribeSecurityGroups * only) One or more prefix list IDs for an AWS service. In an * AuthorizeSecurityGroupEgress request, this is the AWS * service that you want to access through a VPC endpoint from * instances associated with the security group. */ public void setPrefixListIds( java.util.Collection prefixListIds) { if (prefixListIds == null) { this.prefixListIds = null; return; } this.prefixListIds = new com.amazonaws.internal.SdkInternalList( prefixListIds); } /** *

* (Valid for AuthorizeSecurityGroupEgress, * RevokeSecurityGroupEgress and DescribeSecurityGroups only) * One or more prefix list IDs for an AWS service. In an * AuthorizeSecurityGroupEgress request, this is the AWS service that * you want to access through a VPC endpoint from instances associated with * the security group. *

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setPrefixListIds(java.util.Collection)} or * {@link #withPrefixListIds(java.util.Collection)} if you want to override * the existing values. *

* * @param prefixListIds * (Valid for AuthorizeSecurityGroupEgress, * RevokeSecurityGroupEgress and DescribeSecurityGroups * only) One or more prefix list IDs for an AWS service. In an * AuthorizeSecurityGroupEgress request, this is the AWS * service that you want to access through a VPC endpoint from * instances associated with the security group. * @return Returns a reference to this object so that method calls can be * chained together. */ public IpPermission withPrefixListIds(PrefixListId... prefixListIds) { if (this.prefixListIds == null) { setPrefixListIds(new com.amazonaws.internal.SdkInternalList( prefixListIds.length)); } for (PrefixListId ele : prefixListIds) { this.prefixListIds.add(ele); } return this; } /** *

* (Valid for AuthorizeSecurityGroupEgress, * RevokeSecurityGroupEgress and DescribeSecurityGroups only) * One or more prefix list IDs for an AWS service. In an * AuthorizeSecurityGroupEgress request, this is the AWS service that * you want to access through a VPC endpoint from instances associated with * the security group. *

* * @param prefixListIds * (Valid for AuthorizeSecurityGroupEgress, * RevokeSecurityGroupEgress and DescribeSecurityGroups * only) One or more prefix list IDs for an AWS service. In an * AuthorizeSecurityGroupEgress request, this is the AWS * service that you want to access through a VPC endpoint from * instances associated with the security group. * @return Returns a reference to this object so that method calls can be * chained together. */ public IpPermission withPrefixListIds( java.util.Collection prefixListIds) { setPrefixListIds(prefixListIds); 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 (getIpProtocol() != null) sb.append("IpProtocol: " + getIpProtocol() + ","); if (getFromPort() != null) sb.append("FromPort: " + getFromPort() + ","); if (getToPort() != null) sb.append("ToPort: " + getToPort() + ","); if (getUserIdGroupPairs() != null) sb.append("UserIdGroupPairs: " + getUserIdGroupPairs() + ","); if (getIpRanges() != null) sb.append("IpRanges: " + getIpRanges() + ","); if (getPrefixListIds() != null) sb.append("PrefixListIds: " + getPrefixListIds()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof IpPermission == false) return false; IpPermission other = (IpPermission) obj; if (other.getIpProtocol() == null ^ this.getIpProtocol() == null) return false; if (other.getIpProtocol() != null && other.getIpProtocol().equals(this.getIpProtocol()) == false) return false; if (other.getFromPort() == null ^ this.getFromPort() == null) return false; if (other.getFromPort() != null && other.getFromPort().equals(this.getFromPort()) == false) return false; if (other.getToPort() == null ^ this.getToPort() == null) return false; if (other.getToPort() != null && other.getToPort().equals(this.getToPort()) == false) return false; if (other.getUserIdGroupPairs() == null ^ this.getUserIdGroupPairs() == null) return false; if (other.getUserIdGroupPairs() != null && other.getUserIdGroupPairs().equals( this.getUserIdGroupPairs()) == false) return false; if (other.getIpRanges() == null ^ this.getIpRanges() == null) return false; if (other.getIpRanges() != null && other.getIpRanges().equals(this.getIpRanges()) == false) return false; if (other.getPrefixListIds() == null ^ this.getPrefixListIds() == null) return false; if (other.getPrefixListIds() != null && other.getPrefixListIds().equals(this.getPrefixListIds()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getIpProtocol() == null) ? 0 : getIpProtocol().hashCode()); hashCode = prime * hashCode + ((getFromPort() == null) ? 0 : getFromPort().hashCode()); hashCode = prime * hashCode + ((getToPort() == null) ? 0 : getToPort().hashCode()); hashCode = prime * hashCode + ((getUserIdGroupPairs() == null) ? 0 : getUserIdGroupPairs() .hashCode()); hashCode = prime * hashCode + ((getIpRanges() == null) ? 0 : getIpRanges().hashCode()); hashCode = prime * hashCode + ((getPrefixListIds() == null) ? 0 : getPrefixListIds() .hashCode()); return hashCode; } @Override public IpPermission clone() { try { return (IpPermission) 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