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

com.amazonaws.services.ec2.model.AuthorizeSecurityGroupIngressRequest 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.AuthorizeSecurityGroupIngressRequestMarshaller;

/**
 * 

* Contains the parameters for AuthorizeSecurityGroupIngress. *

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

* [EC2-Classic, default VPC] The name of the security group. *

*/ private String groupName; /** *

* The ID of the security group. Required for a nondefault VPC. *

*/ private String groupId; /** *

* [EC2-Classic, default VPC] The name of the source security group. You * can't specify this parameter in combination with the following * parameters: the CIDR IP address range, the start of the port range, the * IP protocol, and the end of the port range. Creates rules that grant full * ICMP, UDP, and TCP access. To create a rule with a specific IP protocol * and port range, use a set of IP permissions instead. For EC2-VPC, the * source security group must be in the same VPC. *

*/ private String sourceSecurityGroupName; /** *

* [EC2-Classic] The AWS account number for the source security group, if * the source security group is in a different account. You can't specify * this parameter in combination with the following parameters: the CIDR IP * address range, the IP protocol, the start of the port range, and the end * of the port range. Creates rules that grant full ICMP, UDP, and TCP * access. To create a rule with a specific IP protocol and port range, use * a set of IP permissions instead. *

*/ private String sourceSecurityGroupOwnerId; /** *

* The IP protocol name (tcp, udp, * icmp) or number (see Protocol Numbers). (VPC only) Use -1 to specify all. *

*/ private String ipProtocol; /** *

* The start of port range for the TCP and UDP protocols, or an ICMP type * number. For the ICMP type number, use -1 to specify all ICMP * types. *

*/ private Integer fromPort; /** *

* The end of port range for the TCP and UDP protocols, or an ICMP code * number. For the ICMP code number, use -1 to specify all ICMP * codes for the ICMP type. *

*/ private Integer toPort; /** *

* The CIDR IP address range. You can't specify this parameter when * specifying a source security group. *

*/ private String cidrIp; /** *

* A set of IP permissions. Can be used to specify multiple rules in a * single command. *

*/ private com.amazonaws.internal.SdkInternalList ipPermissions; /** * Default constructor for AuthorizeSecurityGroupIngressRequest object. * Callers should use the setter or fluent setter (with...) methods to * initialize the object after creating it. */ public AuthorizeSecurityGroupIngressRequest() { } /** * Constructs a new AuthorizeSecurityGroupIngressRequest object. Callers * should use the setter or fluent setter (with...) methods to initialize * any additional object members. * * @param groupName * [EC2-Classic, default VPC] The name of the security group. * @param ipPermissions * A set of IP permissions. Can be used to specify multiple rules in * a single command. */ public AuthorizeSecurityGroupIngressRequest(String groupName, java.util.List ipPermissions) { setGroupName(groupName); setIpPermissions(ipPermissions); } /** *

* [EC2-Classic, default VPC] The name of the security group. *

* * @param groupName * [EC2-Classic, default VPC] The name of the security group. */ public void setGroupName(String groupName) { this.groupName = groupName; } /** *

* [EC2-Classic, default VPC] The name of the security group. *

* * @return [EC2-Classic, default VPC] The name of the security group. */ public String getGroupName() { return this.groupName; } /** *

* [EC2-Classic, default VPC] The name of the security group. *

* * @param groupName * [EC2-Classic, default VPC] The name of the security group. * @return Returns a reference to this object so that method calls can be * chained together. */ public AuthorizeSecurityGroupIngressRequest withGroupName(String groupName) { setGroupName(groupName); return this; } /** *

* The ID of the security group. Required for a nondefault VPC. *

* * @param groupId * The ID of the security group. Required for a nondefault VPC. */ public void setGroupId(String groupId) { this.groupId = groupId; } /** *

* The ID of the security group. Required for a nondefault VPC. *

* * @return The ID of the security group. Required for a nondefault VPC. */ public String getGroupId() { return this.groupId; } /** *

* The ID of the security group. Required for a nondefault VPC. *

* * @param groupId * The ID of the security group. Required for a nondefault VPC. * @return Returns a reference to this object so that method calls can be * chained together. */ public AuthorizeSecurityGroupIngressRequest withGroupId(String groupId) { setGroupId(groupId); return this; } /** *

* [EC2-Classic, default VPC] The name of the source security group. You * can't specify this parameter in combination with the following * parameters: the CIDR IP address range, the start of the port range, the * IP protocol, and the end of the port range. Creates rules that grant full * ICMP, UDP, and TCP access. To create a rule with a specific IP protocol * and port range, use a set of IP permissions instead. For EC2-VPC, the * source security group must be in the same VPC. *

* * @param sourceSecurityGroupName * [EC2-Classic, default VPC] The name of the source security group. * You can't specify this parameter in combination with the following * parameters: the CIDR IP address range, the start of the port * range, the IP protocol, and the end of the port range. Creates * rules that grant full ICMP, UDP, and TCP access. To create a rule * with a specific IP protocol and port range, use a set of IP * permissions instead. For EC2-VPC, the source security group must * be in the same VPC. */ public void setSourceSecurityGroupName(String sourceSecurityGroupName) { this.sourceSecurityGroupName = sourceSecurityGroupName; } /** *

* [EC2-Classic, default VPC] The name of the source security group. You * can't specify this parameter in combination with the following * parameters: the CIDR IP address range, the start of the port range, the * IP protocol, and the end of the port range. Creates rules that grant full * ICMP, UDP, and TCP access. To create a rule with a specific IP protocol * and port range, use a set of IP permissions instead. For EC2-VPC, the * source security group must be in the same VPC. *

* * @return [EC2-Classic, default VPC] The name of the source security group. * You can't specify this parameter in combination with the * following parameters: the CIDR IP address range, the start of the * port range, the IP protocol, and the end of the port range. * Creates rules that grant full ICMP, UDP, and TCP access. To * create a rule with a specific IP protocol and port range, use a * set of IP permissions instead. For EC2-VPC, the source security * group must be in the same VPC. */ public String getSourceSecurityGroupName() { return this.sourceSecurityGroupName; } /** *

* [EC2-Classic, default VPC] The name of the source security group. You * can't specify this parameter in combination with the following * parameters: the CIDR IP address range, the start of the port range, the * IP protocol, and the end of the port range. Creates rules that grant full * ICMP, UDP, and TCP access. To create a rule with a specific IP protocol * and port range, use a set of IP permissions instead. For EC2-VPC, the * source security group must be in the same VPC. *

* * @param sourceSecurityGroupName * [EC2-Classic, default VPC] The name of the source security group. * You can't specify this parameter in combination with the following * parameters: the CIDR IP address range, the start of the port * range, the IP protocol, and the end of the port range. Creates * rules that grant full ICMP, UDP, and TCP access. To create a rule * with a specific IP protocol and port range, use a set of IP * permissions instead. For EC2-VPC, the source security group must * be in the same VPC. * @return Returns a reference to this object so that method calls can be * chained together. */ public AuthorizeSecurityGroupIngressRequest withSourceSecurityGroupName( String sourceSecurityGroupName) { setSourceSecurityGroupName(sourceSecurityGroupName); return this; } /** *

* [EC2-Classic] The AWS account number for the source security group, if * the source security group is in a different account. You can't specify * this parameter in combination with the following parameters: the CIDR IP * address range, the IP protocol, the start of the port range, and the end * of the port range. Creates rules that grant full ICMP, UDP, and TCP * access. To create a rule with a specific IP protocol and port range, use * a set of IP permissions instead. *

* * @param sourceSecurityGroupOwnerId * [EC2-Classic] The AWS account number for the source security * group, if the source security group is in a different account. You * can't specify this parameter in combination with the following * parameters: the CIDR IP address range, the IP protocol, the start * of the port range, and the end of the port range. Creates rules * that grant full ICMP, UDP, and TCP access. To create a rule with a * specific IP protocol and port range, use a set of IP permissions * instead. */ public void setSourceSecurityGroupOwnerId(String sourceSecurityGroupOwnerId) { this.sourceSecurityGroupOwnerId = sourceSecurityGroupOwnerId; } /** *

* [EC2-Classic] The AWS account number for the source security group, if * the source security group is in a different account. You can't specify * this parameter in combination with the following parameters: the CIDR IP * address range, the IP protocol, the start of the port range, and the end * of the port range. Creates rules that grant full ICMP, UDP, and TCP * access. To create a rule with a specific IP protocol and port range, use * a set of IP permissions instead. *

* * @return [EC2-Classic] The AWS account number for the source security * group, if the source security group is in a different account. * You can't specify this parameter in combination with the * following parameters: the CIDR IP address range, the IP protocol, * the start of the port range, and the end of the port range. * Creates rules that grant full ICMP, UDP, and TCP access. To * create a rule with a specific IP protocol and port range, use a * set of IP permissions instead. */ public String getSourceSecurityGroupOwnerId() { return this.sourceSecurityGroupOwnerId; } /** *

* [EC2-Classic] The AWS account number for the source security group, if * the source security group is in a different account. You can't specify * this parameter in combination with the following parameters: the CIDR IP * address range, the IP protocol, the start of the port range, and the end * of the port range. Creates rules that grant full ICMP, UDP, and TCP * access. To create a rule with a specific IP protocol and port range, use * a set of IP permissions instead. *

* * @param sourceSecurityGroupOwnerId * [EC2-Classic] The AWS account number for the source security * group, if the source security group is in a different account. You * can't specify this parameter in combination with the following * parameters: the CIDR IP address range, the IP protocol, the start * of the port range, and the end of the port range. Creates rules * that grant full ICMP, UDP, and TCP access. To create a rule with a * specific IP protocol and port range, use a set of IP permissions * instead. * @return Returns a reference to this object so that method calls can be * chained together. */ public AuthorizeSecurityGroupIngressRequest withSourceSecurityGroupOwnerId( String sourceSecurityGroupOwnerId) { setSourceSecurityGroupOwnerId(sourceSecurityGroupOwnerId); return this; } /** *

* The IP protocol name (tcp, udp, * icmp) or number (see Protocol Numbers). (VPC only) Use -1 to specify all. *

* * @param ipProtocol * The IP protocol name (tcp, udp, * icmp) or number (see Protocol Numbers). (VPC only) Use -1 to specify * all. */ public void setIpProtocol(String ipProtocol) { this.ipProtocol = ipProtocol; } /** *

* The IP protocol name (tcp, udp, * icmp) or number (see Protocol Numbers). (VPC only) Use -1 to specify all. *

* * @return The IP protocol name (tcp, udp, * icmp) or number (see Protocol Numbers). (VPC only) Use -1 to specify * all. */ public String getIpProtocol() { return this.ipProtocol; } /** *

* The IP protocol name (tcp, udp, * icmp) or number (see Protocol Numbers). (VPC only) Use -1 to specify all. *

* * @param ipProtocol * The IP protocol name (tcp, udp, * icmp) or number (see Protocol Numbers). (VPC only) Use -1 to specify * all. * @return Returns a reference to this object so that method calls can be * chained together. */ public AuthorizeSecurityGroupIngressRequest withIpProtocol(String ipProtocol) { setIpProtocol(ipProtocol); return this; } /** *

* The start of port range for the TCP and UDP protocols, or an ICMP type * number. For the ICMP type number, use -1 to specify all ICMP * types. *

* * @param fromPort * The start of port range for the TCP and UDP protocols, or an ICMP * type number. For the ICMP type number, use -1 to * specify 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. For the ICMP type number, use -1 to specify all ICMP * types. *

* * @return The start of port range for the TCP and UDP protocols, or an ICMP * type number. For the ICMP type number, use -1 to * specify 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. For the ICMP type number, use -1 to specify all ICMP * types. *

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

* The end of port range for the TCP and UDP protocols, or an ICMP code * number. For the ICMP code number, use -1 to specify all ICMP * codes for the ICMP type. *

* * @param toPort * The end of port range for the TCP and UDP protocols, or an ICMP * code number. For the ICMP code number, use -1 to * specify all ICMP codes for the 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 * number. For the ICMP code number, use -1 to specify all ICMP * codes for the ICMP type. *

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

* The end of port range for the TCP and UDP protocols, or an ICMP code * number. For the ICMP code number, use -1 to specify all ICMP * codes for the ICMP type. *

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

* The CIDR IP address range. You can't specify this parameter when * specifying a source security group. *

* * @param cidrIp * The CIDR IP address range. You can't specify this parameter when * specifying a source security group. */ public void setCidrIp(String cidrIp) { this.cidrIp = cidrIp; } /** *

* The CIDR IP address range. You can't specify this parameter when * specifying a source security group. *

* * @return The CIDR IP address range. You can't specify this parameter when * specifying a source security group. */ public String getCidrIp() { return this.cidrIp; } /** *

* The CIDR IP address range. You can't specify this parameter when * specifying a source security group. *

* * @param cidrIp * The CIDR IP address range. You can't specify this parameter when * specifying a source security group. * @return Returns a reference to this object so that method calls can be * chained together. */ public AuthorizeSecurityGroupIngressRequest withCidrIp(String cidrIp) { setCidrIp(cidrIp); return this; } /** *

* A set of IP permissions. Can be used to specify multiple rules in a * single command. *

* * @return A set of IP permissions. Can be used to specify multiple rules in * a single command. */ public java.util.List getIpPermissions() { if (ipPermissions == null) { ipPermissions = new com.amazonaws.internal.SdkInternalList(); } return ipPermissions; } /** *

* A set of IP permissions. Can be used to specify multiple rules in a * single command. *

* * @param ipPermissions * A set of IP permissions. Can be used to specify multiple rules in * a single command. */ public void setIpPermissions( java.util.Collection ipPermissions) { if (ipPermissions == null) { this.ipPermissions = null; return; } this.ipPermissions = new com.amazonaws.internal.SdkInternalList( ipPermissions); } /** *

* A set of IP permissions. Can be used to specify multiple rules in a * single command. *

*

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

* * @param ipPermissions * A set of IP permissions. Can be used to specify multiple rules in * a single command. * @return Returns a reference to this object so that method calls can be * chained together. */ public AuthorizeSecurityGroupIngressRequest withIpPermissions( IpPermission... ipPermissions) { if (this.ipPermissions == null) { setIpPermissions(new com.amazonaws.internal.SdkInternalList( ipPermissions.length)); } for (IpPermission ele : ipPermissions) { this.ipPermissions.add(ele); } return this; } /** *

* A set of IP permissions. Can be used to specify multiple rules in a * single command. *

* * @param ipPermissions * A set of IP permissions. Can be used to specify multiple rules in * a single command. * @return Returns a reference to this object so that method calls can be * chained together. */ public AuthorizeSecurityGroupIngressRequest withIpPermissions( java.util.Collection ipPermissions) { setIpPermissions(ipPermissions); 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 AuthorizeSecurityGroupIngressRequestMarshaller() .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 (getGroupName() != null) sb.append("GroupName: " + getGroupName() + ","); if (getGroupId() != null) sb.append("GroupId: " + getGroupId() + ","); if (getSourceSecurityGroupName() != null) sb.append("SourceSecurityGroupName: " + getSourceSecurityGroupName() + ","); if (getSourceSecurityGroupOwnerId() != null) sb.append("SourceSecurityGroupOwnerId: " + getSourceSecurityGroupOwnerId() + ","); if (getIpProtocol() != null) sb.append("IpProtocol: " + getIpProtocol() + ","); if (getFromPort() != null) sb.append("FromPort: " + getFromPort() + ","); if (getToPort() != null) sb.append("ToPort: " + getToPort() + ","); if (getCidrIp() != null) sb.append("CidrIp: " + getCidrIp() + ","); if (getIpPermissions() != null) sb.append("IpPermissions: " + getIpPermissions()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof AuthorizeSecurityGroupIngressRequest == false) return false; AuthorizeSecurityGroupIngressRequest other = (AuthorizeSecurityGroupIngressRequest) obj; if (other.getGroupName() == null ^ this.getGroupName() == null) return false; if (other.getGroupName() != null && other.getGroupName().equals(this.getGroupName()) == false) return false; if (other.getGroupId() == null ^ this.getGroupId() == null) return false; if (other.getGroupId() != null && other.getGroupId().equals(this.getGroupId()) == false) return false; if (other.getSourceSecurityGroupName() == null ^ this.getSourceSecurityGroupName() == null) return false; if (other.getSourceSecurityGroupName() != null && other.getSourceSecurityGroupName().equals( this.getSourceSecurityGroupName()) == false) return false; if (other.getSourceSecurityGroupOwnerId() == null ^ this.getSourceSecurityGroupOwnerId() == null) return false; if (other.getSourceSecurityGroupOwnerId() != null && other.getSourceSecurityGroupOwnerId().equals( this.getSourceSecurityGroupOwnerId()) == false) return false; 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.getCidrIp() == null ^ this.getCidrIp() == null) return false; if (other.getCidrIp() != null && other.getCidrIp().equals(this.getCidrIp()) == false) return false; if (other.getIpPermissions() == null ^ this.getIpPermissions() == null) return false; if (other.getIpPermissions() != null && other.getIpPermissions().equals(this.getIpPermissions()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getGroupName() == null) ? 0 : getGroupName().hashCode()); hashCode = prime * hashCode + ((getGroupId() == null) ? 0 : getGroupId().hashCode()); hashCode = prime * hashCode + ((getSourceSecurityGroupName() == null) ? 0 : getSourceSecurityGroupName().hashCode()); hashCode = prime * hashCode + ((getSourceSecurityGroupOwnerId() == null) ? 0 : getSourceSecurityGroupOwnerId().hashCode()); 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 + ((getCidrIp() == null) ? 0 : getCidrIp().hashCode()); hashCode = prime * hashCode + ((getIpPermissions() == null) ? 0 : getIpPermissions() .hashCode()); return hashCode; } @Override public AuthorizeSecurityGroupIngressRequest clone() { return (AuthorizeSecurityGroupIngressRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy