/* * 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.CreateNetworkInterfaceRequestMarshaller; /** * Container for the parameters to the {@link com.amazonaws.services.ec2.AmazonEC2#createNetworkInterface(CreateNetworkInterfaceRequest) CreateNetworkInterface operation}. *
* Creates a network interface in the specified subnet. *
** For more information about network interfaces, see * Elastic Network Interfaces * in the Amazon Elastic Compute Cloud User Guide . *
* * @see com.amazonaws.services.ec2.AmazonEC2#createNetworkInterface(CreateNetworkInterfaceRequest) */ public class CreateNetworkInterfaceRequest extends AmazonWebServiceRequest implements Serializable, DryRunSupportedRequestprivateIpAddresses
as primary
* (only one IP address can be designated as primary).
*/
private String privateIpAddress;
/**
* The IDs of one or more security groups.
*/
private com.amazonaws.internal.ListWithAutoConstructFlagprivateIpAddresses
. The number of IP addresses you can * assign to a network interface varies by instance type. For more * information, see Private * IP Addresses Per ENI Per Instance Type in the Amazon Elastic * Compute Cloud User Guide. */ private Integer secondaryPrivateIpAddressCount; /** * The ID of the subnet to associate with the network interface. * * @return The ID of the subnet to associate with the network interface. */ public String getSubnetId() { return subnetId; } /** * The ID of the subnet to associate with the network interface. * * @param subnetId The ID of the subnet to associate with the network interface. */ public void setSubnetId(String subnetId) { this.subnetId = subnetId; } /** * The ID of the subnet to associate with the network interface. *
* Returns a reference to this object so that method calls can be chained together. * * @param subnetId The ID of the subnet to associate with the network interface. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateNetworkInterfaceRequest withSubnetId(String subnetId) { this.subnetId = subnetId; return this; } /** * A description for the network interface. * * @return A description for the network interface. */ public String getDescription() { return description; } /** * A description for the network interface. * * @param description A description for the network interface. */ public void setDescription(String description) { this.description = description; } /** * A description for the network interface. *
* Returns a reference to this object so that method calls can be chained together.
*
* @param description A description for the network interface.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public CreateNetworkInterfaceRequest withDescription(String description) {
this.description = description;
return this;
}
/**
* The primary private IP address of the network interface. If you don't
* specify an IP address, Amazon EC2 selects one for you from the subnet
* range. If you specify an IP address, you cannot indicate any IP
* addresses specified in privateIpAddresses
as primary
* (only one IP address can be designated as primary).
*
* @return The primary private IP address of the network interface. If you don't
* specify an IP address, Amazon EC2 selects one for you from the subnet
* range. If you specify an IP address, you cannot indicate any IP
* addresses specified in privateIpAddresses
as primary
* (only one IP address can be designated as primary).
*/
public String getPrivateIpAddress() {
return privateIpAddress;
}
/**
* The primary private IP address of the network interface. If you don't
* specify an IP address, Amazon EC2 selects one for you from the subnet
* range. If you specify an IP address, you cannot indicate any IP
* addresses specified in privateIpAddresses
as primary
* (only one IP address can be designated as primary).
*
* @param privateIpAddress The primary private IP address of the network interface. If you don't
* specify an IP address, Amazon EC2 selects one for you from the subnet
* range. If you specify an IP address, you cannot indicate any IP
* addresses specified in privateIpAddresses
as primary
* (only one IP address can be designated as primary).
*/
public void setPrivateIpAddress(String privateIpAddress) {
this.privateIpAddress = privateIpAddress;
}
/**
* The primary private IP address of the network interface. If you don't
* specify an IP address, Amazon EC2 selects one for you from the subnet
* range. If you specify an IP address, you cannot indicate any IP
* addresses specified in privateIpAddresses
as primary
* (only one IP address can be designated as primary).
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param privateIpAddress The primary private IP address of the network interface. If you don't
* specify an IP address, Amazon EC2 selects one for you from the subnet
* range. If you specify an IP address, you cannot indicate any IP
* addresses specified in
* Returns a reference to this object so that method calls can be chained together.
*
* @param groups The IDs of one or more security groups.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public CreateNetworkInterfaceRequest withGroups(String... groups) {
if (getGroups() == null) setGroups(new java.util.ArrayList
* Returns a reference to this object so that method calls can be chained together.
*
* @param groups The IDs of one or more security groups.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public CreateNetworkInterfaceRequest withGroups(java.util.Collection
* Returns a reference to this object so that method calls can be chained together.
*
* @param privateIpAddresses One or more private IP addresses.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public CreateNetworkInterfaceRequest withPrivateIpAddresses(PrivateIpAddressSpecification... privateIpAddresses) {
if (getPrivateIpAddresses() == null) setPrivateIpAddresses(new java.util.ArrayList
* Returns a reference to this object so that method calls can be chained together.
*
* @param privateIpAddresses One or more private IP addresses.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public CreateNetworkInterfaceRequest withPrivateIpAddresses(java.util.Collection The number of IP addresses you can
* assign to a network interface varies by instance type. For more
* information, see Private
* IP Addresses Per ENI Per Instance Type in the Amazon Elastic
* Compute Cloud User Guide.
*
* @return The number of secondary private IP addresses to assign to a network
* interface. When you specify a number of secondary IP addresses, Amazon
* EC2 selects these IP addresses within the subnet range. You can't
* specify this option and specify more than one private IP address using
* The number of IP addresses you can
* assign to a network interface varies by instance type. For more
* information, see Private
* IP Addresses Per ENI Per Instance Type in the Amazon Elastic
* Compute Cloud User Guide.
*/
public Integer getSecondaryPrivateIpAddressCount() {
return secondaryPrivateIpAddressCount;
}
/**
* The number of secondary private IP addresses to assign to a network
* interface. When you specify a number of secondary IP addresses, Amazon
* EC2 selects these IP addresses within the subnet range. You can't
* specify this option and specify more than one private IP address using
* The number of IP addresses you can
* assign to a network interface varies by instance type. For more
* information, see Private
* IP Addresses Per ENI Per Instance Type in the Amazon Elastic
* Compute Cloud User Guide.
*
* @param secondaryPrivateIpAddressCount The number of secondary private IP addresses to assign to a network
* interface. When you specify a number of secondary IP addresses, Amazon
* EC2 selects these IP addresses within the subnet range. You can't
* specify this option and specify more than one private IP address using
* The number of IP addresses you can
* assign to a network interface varies by instance type. For more
* information, see Private
* IP Addresses Per ENI Per Instance Type in the Amazon Elastic
* Compute Cloud User Guide.
*/
public void setSecondaryPrivateIpAddressCount(Integer secondaryPrivateIpAddressCount) {
this.secondaryPrivateIpAddressCount = secondaryPrivateIpAddressCount;
}
/**
* The number of secondary private IP addresses to assign to a network
* interface. When you specify a number of secondary IP addresses, Amazon
* EC2 selects these IP addresses within the subnet range. You can't
* specify this option and specify more than one private IP address using
* The number of IP addresses you can
* assign to a network interface varies by instance type. For more
* information, see Private
* IP Addresses Per ENI Per Instance Type in the Amazon Elastic
* Compute Cloud User Guide.
*
* Returns a reference to this object so that method calls can be chained together.
*
* @param secondaryPrivateIpAddressCount The number of secondary private IP addresses to assign to a network
* interface. When you specify a number of secondary IP addresses, Amazon
* EC2 selects these IP addresses within the subnet range. You can't
* specify this option and specify more than one private IP address using
* The number of IP addresses you can
* assign to a network interface varies by instance type. For more
* information, see Private
* IP Addresses Per ENI Per Instance Type in the Amazon Elastic
* Compute Cloud User Guide.
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public CreateNetworkInterfaceRequest withSecondaryPrivateIpAddressCount(Integer secondaryPrivateIpAddressCount) {
this.secondaryPrivateIpAddressCount = secondaryPrivateIpAddressCount;
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 RequestprivateIpAddresses
as primary
* (only one IP address can be designated as primary).
*
* @return A reference to this updated object so that method calls can be chained
* together.
*/
public CreateNetworkInterfaceRequest withPrivateIpAddress(String privateIpAddress) {
this.privateIpAddress = privateIpAddress;
return this;
}
/**
* The IDs of one or more security groups.
*
* @return The IDs of one or more security groups.
*/
public java.util.ListprivateIpAddresses
. privateIpAddresses
. privateIpAddresses
. privateIpAddresses
. privateIpAddresses
. privateIpAddresses
.