com.amazonaws.services.ec2.model.CreateNetworkInterfaceRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-ec2 Show documentation
/*
* Copyright 2019-2024 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 javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.Request;
import com.amazonaws.services.ec2.model.transform.CreateNetworkInterfaceRequestMarshaller;
/**
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateNetworkInterfaceRequest extends AmazonWebServiceRequest implements Serializable, Cloneable,
DryRunSupportedRequest {
/**
*
* A description for the network interface.
*
*/
private String description;
/**
*
* The IDs of one or more security groups.
*
*/
private com.amazonaws.internal.SdkInternalList groups;
/**
*
* The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6
* addresses from the subnet range.
*
*
* You can't specify a count of IPv6 addresses using this parameter if you've specified one of the following:
* specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
*
*
* If your subnet has the AssignIpv6AddressOnCreation
attribute set, you can override that setting by
* specifying 0 as the IPv6 address count.
*
*/
private Integer ipv6AddressCount;
/**
*
* The IPv6 addresses from the IPv6 CIDR block range of your subnet.
*
*
* You can't specify IPv6 addresses using this parameter if you've specified one of the following: a count of IPv6
* addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
*
*/
private com.amazonaws.internal.SdkInternalList ipv6Addresses;
/**
*
* The primary private IPv4 address of the network interface. If you don't specify an IPv4 address, Amazon EC2
* selects one for you from the subnet's IPv4 CIDR 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).
*
*/
private String privateIpAddress;
/**
*
* The private IPv4 addresses.
*
*
* You can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4
* addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
*
*/
private com.amazonaws.internal.SdkInternalList privateIpAddresses;
/**
*
* The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of
* secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't
* specify this option and specify more than one private IP address using privateIpAddresses
.
*
*
* You can't specify a count of private IPv4 addresses if you've specified one of the following: specific private
* IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
*
*/
private Integer secondaryPrivateIpAddressCount;
/**
*
* The IPv4 prefixes assigned to the network interface.
*
*
* You can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific
* private IPv4 addresses, or a count of private IPv4 addresses.
*
*/
private com.amazonaws.internal.SdkInternalList ipv4Prefixes;
/**
*
* The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface.
*
*
* You can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4 prefixes,
* specific private IPv4 addresses, or a count of private IPv4 addresses.
*
*/
private Integer ipv4PrefixCount;
/**
*
* The IPv6 prefixes assigned to the network interface.
*
*
* You can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6
* addresses, or a count of IPv6 addresses.
*
*/
private com.amazonaws.internal.SdkInternalList ipv6Prefixes;
/**
*
* The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface.
*
*
* You can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes,
* specific IPv6 addresses, or a count of IPv6 addresses.
*
*/
private Integer ipv6PrefixCount;
/**
*
* The type of network interface. The default is interface
.
*
*
* The only supported values are interface
, efa
, and trunk
.
*
*/
private String interfaceType;
/**
*
* The ID of the subnet to associate with the network interface.
*
*/
private String subnetId;
/**
*
* The tags to apply to the new network interface.
*
*/
private com.amazonaws.internal.SdkInternalList tagSpecifications;
/**
*
* Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more
* information, see Ensuring
* idempotency.
*
*/
private String clientToken;
/**
*
* If you’re creating a network interface in a dual-stack or IPv6-only subnet, you have the option to assign a
* primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you have
* enabled to use a primary IPv6 address. Use this option if the instance that this ENI will be attached to relies
* on its IPv6 address not changing. Amazon Web Services will automatically assign an IPv6 address associated with
* the ENI attached to your instance to be the primary IPv6 address. Once you enable an IPv6 GUA address to be a
* primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA
* will be made the primary IPv6 address until the instance is terminated or the network interface is detached. If
* you have multiple IPv6 addresses associated with an ENI attached to your instance and you enable a primary IPv6
* address, the first IPv6 GUA address associated with the ENI becomes the primary IPv6 address.
*
*/
private Boolean enablePrimaryIpv6;
/**
*
* A connection tracking specification for the network interface.
*
*/
private ConnectionTrackingSpecificationRequest connectionTrackingSpecification;
/**
*
* 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.
*
*
* @return A description for the network interface.
*/
public String getDescription() {
return this.description;
}
/**
*
* A description for the network interface.
*
*
* @param description
* A description for the network interface.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withDescription(String description) {
setDescription(description);
return this;
}
/**
*
* The IDs of one or more security groups.
*
*
* @return The IDs of one or more security groups.
*/
public java.util.List getGroups() {
if (groups == null) {
groups = new com.amazonaws.internal.SdkInternalList();
}
return groups;
}
/**
*
* The IDs of one or more security groups.
*
*
* @param groups
* The IDs of one or more security groups.
*/
public void setGroups(java.util.Collection groups) {
if (groups == null) {
this.groups = null;
return;
}
this.groups = new com.amazonaws.internal.SdkInternalList(groups);
}
/**
*
* The IDs of one or more security groups.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setGroups(java.util.Collection)} or {@link #withGroups(java.util.Collection)} if you want to override the
* existing values.
*
*
* @param groups
* The IDs of one or more security groups.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withGroups(String... groups) {
if (this.groups == null) {
setGroups(new com.amazonaws.internal.SdkInternalList(groups.length));
}
for (String ele : groups) {
this.groups.add(ele);
}
return this;
}
/**
*
* The IDs of one or more security groups.
*
*
* @param groups
* The IDs of one or more security groups.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withGroups(java.util.Collection groups) {
setGroups(groups);
return this;
}
/**
*
* The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6
* addresses from the subnet range.
*
*
* You can't specify a count of IPv6 addresses using this parameter if you've specified one of the following:
* specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
*
*
* If your subnet has the AssignIpv6AddressOnCreation
attribute set, you can override that setting by
* specifying 0 as the IPv6 address count.
*
*
* @param ipv6AddressCount
* The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6
* addresses from the subnet range.
*
* You can't specify a count of IPv6 addresses using this parameter if you've specified one of the following:
* specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
*
*
* If your subnet has the AssignIpv6AddressOnCreation
attribute set, you can override that
* setting by specifying 0 as the IPv6 address count.
*/
public void setIpv6AddressCount(Integer ipv6AddressCount) {
this.ipv6AddressCount = ipv6AddressCount;
}
/**
*
* The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6
* addresses from the subnet range.
*
*
* You can't specify a count of IPv6 addresses using this parameter if you've specified one of the following:
* specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
*
*
* If your subnet has the AssignIpv6AddressOnCreation
attribute set, you can override that setting by
* specifying 0 as the IPv6 address count.
*
*
* @return The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6
* addresses from the subnet range.
*
* You can't specify a count of IPv6 addresses using this parameter if you've specified one of the
* following: specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
*
*
* If your subnet has the AssignIpv6AddressOnCreation
attribute set, you can override that
* setting by specifying 0 as the IPv6 address count.
*/
public Integer getIpv6AddressCount() {
return this.ipv6AddressCount;
}
/**
*
* The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6
* addresses from the subnet range.
*
*
* You can't specify a count of IPv6 addresses using this parameter if you've specified one of the following:
* specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
*
*
* If your subnet has the AssignIpv6AddressOnCreation
attribute set, you can override that setting by
* specifying 0 as the IPv6 address count.
*
*
* @param ipv6AddressCount
* The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6
* addresses from the subnet range.
*
* You can't specify a count of IPv6 addresses using this parameter if you've specified one of the following:
* specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
*
*
* If your subnet has the AssignIpv6AddressOnCreation
attribute set, you can override that
* setting by specifying 0 as the IPv6 address count.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withIpv6AddressCount(Integer ipv6AddressCount) {
setIpv6AddressCount(ipv6AddressCount);
return this;
}
/**
*
* The IPv6 addresses from the IPv6 CIDR block range of your subnet.
*
*
* You can't specify IPv6 addresses using this parameter if you've specified one of the following: a count of IPv6
* addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
*
*
* @return The IPv6 addresses from the IPv6 CIDR block range of your subnet.
*
* You can't specify IPv6 addresses using this parameter if you've specified one of the following: a count
* of IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
*/
public java.util.List getIpv6Addresses() {
if (ipv6Addresses == null) {
ipv6Addresses = new com.amazonaws.internal.SdkInternalList();
}
return ipv6Addresses;
}
/**
*
* The IPv6 addresses from the IPv6 CIDR block range of your subnet.
*
*
* You can't specify IPv6 addresses using this parameter if you've specified one of the following: a count of IPv6
* addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
*
*
* @param ipv6Addresses
* The IPv6 addresses from the IPv6 CIDR block range of your subnet.
*
* You can't specify IPv6 addresses using this parameter if you've specified one of the following: a count of
* IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
*/
public void setIpv6Addresses(java.util.Collection ipv6Addresses) {
if (ipv6Addresses == null) {
this.ipv6Addresses = null;
return;
}
this.ipv6Addresses = new com.amazonaws.internal.SdkInternalList(ipv6Addresses);
}
/**
*
* The IPv6 addresses from the IPv6 CIDR block range of your subnet.
*
*
* You can't specify IPv6 addresses using this parameter if you've specified one of the following: a count of IPv6
* addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setIpv6Addresses(java.util.Collection)} or {@link #withIpv6Addresses(java.util.Collection)} if you want
* to override the existing values.
*
*
* @param ipv6Addresses
* The IPv6 addresses from the IPv6 CIDR block range of your subnet.
*
* You can't specify IPv6 addresses using this parameter if you've specified one of the following: a count of
* IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withIpv6Addresses(InstanceIpv6Address... ipv6Addresses) {
if (this.ipv6Addresses == null) {
setIpv6Addresses(new com.amazonaws.internal.SdkInternalList(ipv6Addresses.length));
}
for (InstanceIpv6Address ele : ipv6Addresses) {
this.ipv6Addresses.add(ele);
}
return this;
}
/**
*
* The IPv6 addresses from the IPv6 CIDR block range of your subnet.
*
*
* You can't specify IPv6 addresses using this parameter if you've specified one of the following: a count of IPv6
* addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
*
*
* @param ipv6Addresses
* The IPv6 addresses from the IPv6 CIDR block range of your subnet.
*
* You can't specify IPv6 addresses using this parameter if you've specified one of the following: a count of
* IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withIpv6Addresses(java.util.Collection ipv6Addresses) {
setIpv6Addresses(ipv6Addresses);
return this;
}
/**
*
* The primary private IPv4 address of the network interface. If you don't specify an IPv4 address, Amazon EC2
* selects one for you from the subnet's IPv4 CIDR 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 IPv4 address of the network interface. If you don't specify an IPv4 address, Amazon
* EC2 selects one for you from the subnet's IPv4 CIDR 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 IPv4 address of the network interface. If you don't specify an IPv4 address, Amazon EC2
* selects one for you from the subnet's IPv4 CIDR 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 IPv4 address of the network interface. If you don't specify an IPv4 address, Amazon
* EC2 selects one for you from the subnet's IPv4 CIDR 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 this.privateIpAddress;
}
/**
*
* The primary private IPv4 address of the network interface. If you don't specify an IPv4 address, Amazon EC2
* selects one for you from the subnet's IPv4 CIDR 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 IPv4 address of the network interface. If you don't specify an IPv4 address, Amazon
* EC2 selects one for you from the subnet's IPv4 CIDR 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 Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withPrivateIpAddress(String privateIpAddress) {
setPrivateIpAddress(privateIpAddress);
return this;
}
/**
*
* The private IPv4 addresses.
*
*
* You can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4
* addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
*
*
* @return The private IPv4 addresses.
*
* You can't specify private IPv4 addresses if you've specified one of the following: a count of private
* IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
*/
public java.util.List getPrivateIpAddresses() {
if (privateIpAddresses == null) {
privateIpAddresses = new com.amazonaws.internal.SdkInternalList();
}
return privateIpAddresses;
}
/**
*
* The private IPv4 addresses.
*
*
* You can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4
* addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
*
*
* @param privateIpAddresses
* The private IPv4 addresses.
*
* You can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4
* addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
*/
public void setPrivateIpAddresses(java.util.Collection privateIpAddresses) {
if (privateIpAddresses == null) {
this.privateIpAddresses = null;
return;
}
this.privateIpAddresses = new com.amazonaws.internal.SdkInternalList(privateIpAddresses);
}
/**
*
* The private IPv4 addresses.
*
*
* You can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4
* addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setPrivateIpAddresses(java.util.Collection)} or {@link #withPrivateIpAddresses(java.util.Collection)} if
* you want to override the existing values.
*
*
* @param privateIpAddresses
* The private IPv4 addresses.
*
* You can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4
* addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withPrivateIpAddresses(PrivateIpAddressSpecification... privateIpAddresses) {
if (this.privateIpAddresses == null) {
setPrivateIpAddresses(new com.amazonaws.internal.SdkInternalList(privateIpAddresses.length));
}
for (PrivateIpAddressSpecification ele : privateIpAddresses) {
this.privateIpAddresses.add(ele);
}
return this;
}
/**
*
* The private IPv4 addresses.
*
*
* You can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4
* addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
*
*
* @param privateIpAddresses
* The private IPv4 addresses.
*
* You can't specify private IPv4 addresses if you've specified one of the following: a count of private IPv4
* addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withPrivateIpAddresses(java.util.Collection privateIpAddresses) {
setPrivateIpAddresses(privateIpAddresses);
return this;
}
/**
*
* The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of
* secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't
* specify this option and specify more than one private IP address using privateIpAddresses
.
*
*
* You can't specify a count of private IPv4 addresses if you've specified one of the following: specific private
* IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
*
*
* @param secondaryPrivateIpAddressCount
* The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number
* of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range.
* You can't specify this option and specify more than one private IP address using
* privateIpAddresses
.
*
* You can't specify a count of private IPv4 addresses if you've specified one of the following: specific
* private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
*/
public void setSecondaryPrivateIpAddressCount(Integer secondaryPrivateIpAddressCount) {
this.secondaryPrivateIpAddressCount = secondaryPrivateIpAddressCount;
}
/**
*
* The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of
* secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't
* specify this option and specify more than one private IP address using privateIpAddresses
.
*
*
* You can't specify a count of private IPv4 addresses if you've specified one of the following: specific private
* IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
*
*
* @return The number of secondary private IPv4 addresses to assign to a network interface. When you specify a
* number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR
* range. You can't specify this option and specify more than one private IP address using
* privateIpAddresses
.
*
* You can't specify a count of private IPv4 addresses if you've specified one of the following: specific
* private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
*/
public Integer getSecondaryPrivateIpAddressCount() {
return this.secondaryPrivateIpAddressCount;
}
/**
*
* The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of
* secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't
* specify this option and specify more than one private IP address using privateIpAddresses
.
*
*
* You can't specify a count of private IPv4 addresses if you've specified one of the following: specific private
* IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
*
*
* @param secondaryPrivateIpAddressCount
* The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number
* of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range.
* You can't specify this option and specify more than one private IP address using
* privateIpAddresses
.
*
* You can't specify a count of private IPv4 addresses if you've specified one of the following: specific
* private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withSecondaryPrivateIpAddressCount(Integer secondaryPrivateIpAddressCount) {
setSecondaryPrivateIpAddressCount(secondaryPrivateIpAddressCount);
return this;
}
/**
*
* The IPv4 prefixes assigned to the network interface.
*
*
* You can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific
* private IPv4 addresses, or a count of private IPv4 addresses.
*
*
* @return The IPv4 prefixes assigned to the network interface.
*
* You can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes,
* specific private IPv4 addresses, or a count of private IPv4 addresses.
*/
public java.util.List getIpv4Prefixes() {
if (ipv4Prefixes == null) {
ipv4Prefixes = new com.amazonaws.internal.SdkInternalList();
}
return ipv4Prefixes;
}
/**
*
* The IPv4 prefixes assigned to the network interface.
*
*
* You can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific
* private IPv4 addresses, or a count of private IPv4 addresses.
*
*
* @param ipv4Prefixes
* The IPv4 prefixes assigned to the network interface.
*
* You can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes,
* specific private IPv4 addresses, or a count of private IPv4 addresses.
*/
public void setIpv4Prefixes(java.util.Collection ipv4Prefixes) {
if (ipv4Prefixes == null) {
this.ipv4Prefixes = null;
return;
}
this.ipv4Prefixes = new com.amazonaws.internal.SdkInternalList(ipv4Prefixes);
}
/**
*
* The IPv4 prefixes assigned to the network interface.
*
*
* You can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific
* private IPv4 addresses, or a count of private IPv4 addresses.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setIpv4Prefixes(java.util.Collection)} or {@link #withIpv4Prefixes(java.util.Collection)} if you want to
* override the existing values.
*
*
* @param ipv4Prefixes
* The IPv4 prefixes assigned to the network interface.
*
* You can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes,
* specific private IPv4 addresses, or a count of private IPv4 addresses.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withIpv4Prefixes(Ipv4PrefixSpecificationRequest... ipv4Prefixes) {
if (this.ipv4Prefixes == null) {
setIpv4Prefixes(new com.amazonaws.internal.SdkInternalList(ipv4Prefixes.length));
}
for (Ipv4PrefixSpecificationRequest ele : ipv4Prefixes) {
this.ipv4Prefixes.add(ele);
}
return this;
}
/**
*
* The IPv4 prefixes assigned to the network interface.
*
*
* You can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes, specific
* private IPv4 addresses, or a count of private IPv4 addresses.
*
*
* @param ipv4Prefixes
* The IPv4 prefixes assigned to the network interface.
*
* You can't specify IPv4 prefixes if you've specified one of the following: a count of IPv4 prefixes,
* specific private IPv4 addresses, or a count of private IPv4 addresses.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withIpv4Prefixes(java.util.Collection ipv4Prefixes) {
setIpv4Prefixes(ipv4Prefixes);
return this;
}
/**
*
* The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface.
*
*
* You can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4 prefixes,
* specific private IPv4 addresses, or a count of private IPv4 addresses.
*
*
* @param ipv4PrefixCount
* The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface.
*
* You can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4
* prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.
*/
public void setIpv4PrefixCount(Integer ipv4PrefixCount) {
this.ipv4PrefixCount = ipv4PrefixCount;
}
/**
*
* The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface.
*
*
* You can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4 prefixes,
* specific private IPv4 addresses, or a count of private IPv4 addresses.
*
*
* @return The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface.
*
* You can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4
* prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.
*/
public Integer getIpv4PrefixCount() {
return this.ipv4PrefixCount;
}
/**
*
* The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface.
*
*
* You can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4 prefixes,
* specific private IPv4 addresses, or a count of private IPv4 addresses.
*
*
* @param ipv4PrefixCount
* The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface.
*
* You can't specify a count of IPv4 prefixes if you've specified one of the following: specific IPv4
* prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withIpv4PrefixCount(Integer ipv4PrefixCount) {
setIpv4PrefixCount(ipv4PrefixCount);
return this;
}
/**
*
* The IPv6 prefixes assigned to the network interface.
*
*
* You can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6
* addresses, or a count of IPv6 addresses.
*
*
* @return The IPv6 prefixes assigned to the network interface.
*
* You can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes,
* specific IPv6 addresses, or a count of IPv6 addresses.
*/
public java.util.List getIpv6Prefixes() {
if (ipv6Prefixes == null) {
ipv6Prefixes = new com.amazonaws.internal.SdkInternalList();
}
return ipv6Prefixes;
}
/**
*
* The IPv6 prefixes assigned to the network interface.
*
*
* You can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6
* addresses, or a count of IPv6 addresses.
*
*
* @param ipv6Prefixes
* The IPv6 prefixes assigned to the network interface.
*
* You can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes,
* specific IPv6 addresses, or a count of IPv6 addresses.
*/
public void setIpv6Prefixes(java.util.Collection ipv6Prefixes) {
if (ipv6Prefixes == null) {
this.ipv6Prefixes = null;
return;
}
this.ipv6Prefixes = new com.amazonaws.internal.SdkInternalList(ipv6Prefixes);
}
/**
*
* The IPv6 prefixes assigned to the network interface.
*
*
* You can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6
* addresses, or a count of IPv6 addresses.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setIpv6Prefixes(java.util.Collection)} or {@link #withIpv6Prefixes(java.util.Collection)} if you want to
* override the existing values.
*
*
* @param ipv6Prefixes
* The IPv6 prefixes assigned to the network interface.
*
* You can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes,
* specific IPv6 addresses, or a count of IPv6 addresses.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withIpv6Prefixes(Ipv6PrefixSpecificationRequest... ipv6Prefixes) {
if (this.ipv6Prefixes == null) {
setIpv6Prefixes(new com.amazonaws.internal.SdkInternalList(ipv6Prefixes.length));
}
for (Ipv6PrefixSpecificationRequest ele : ipv6Prefixes) {
this.ipv6Prefixes.add(ele);
}
return this;
}
/**
*
* The IPv6 prefixes assigned to the network interface.
*
*
* You can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes, specific IPv6
* addresses, or a count of IPv6 addresses.
*
*
* @param ipv6Prefixes
* The IPv6 prefixes assigned to the network interface.
*
* You can't specify IPv6 prefixes if you've specified one of the following: a count of IPv6 prefixes,
* specific IPv6 addresses, or a count of IPv6 addresses.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withIpv6Prefixes(java.util.Collection ipv6Prefixes) {
setIpv6Prefixes(ipv6Prefixes);
return this;
}
/**
*
* The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface.
*
*
* You can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes,
* specific IPv6 addresses, or a count of IPv6 addresses.
*
*
* @param ipv6PrefixCount
* The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface.
*
* You can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6
* prefixes, specific IPv6 addresses, or a count of IPv6 addresses.
*/
public void setIpv6PrefixCount(Integer ipv6PrefixCount) {
this.ipv6PrefixCount = ipv6PrefixCount;
}
/**
*
* The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface.
*
*
* You can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes,
* specific IPv6 addresses, or a count of IPv6 addresses.
*
*
* @return The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface.
*
* You can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6
* prefixes, specific IPv6 addresses, or a count of IPv6 addresses.
*/
public Integer getIpv6PrefixCount() {
return this.ipv6PrefixCount;
}
/**
*
* The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface.
*
*
* You can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6 prefixes,
* specific IPv6 addresses, or a count of IPv6 addresses.
*
*
* @param ipv6PrefixCount
* The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface.
*
* You can't specify a count of IPv6 prefixes if you've specified one of the following: specific IPv6
* prefixes, specific IPv6 addresses, or a count of IPv6 addresses.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withIpv6PrefixCount(Integer ipv6PrefixCount) {
setIpv6PrefixCount(ipv6PrefixCount);
return this;
}
/**
*
* The type of network interface. The default is interface
.
*
*
* The only supported values are interface
, efa
, and trunk
.
*
*
* @param interfaceType
* The type of network interface. The default is interface
.
*
* The only supported values are interface
, efa
, and trunk
.
* @see NetworkInterfaceCreationType
*/
public void setInterfaceType(String interfaceType) {
this.interfaceType = interfaceType;
}
/**
*
* The type of network interface. The default is interface
.
*
*
* The only supported values are interface
, efa
, and trunk
.
*
*
* @return The type of network interface. The default is interface
.
*
* The only supported values are interface
, efa
, and trunk
.
* @see NetworkInterfaceCreationType
*/
public String getInterfaceType() {
return this.interfaceType;
}
/**
*
* The type of network interface. The default is interface
.
*
*
* The only supported values are interface
, efa
, and trunk
.
*
*
* @param interfaceType
* The type of network interface. The default is interface
.
*
* The only supported values are interface
, efa
, and trunk
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see NetworkInterfaceCreationType
*/
public CreateNetworkInterfaceRequest withInterfaceType(String interfaceType) {
setInterfaceType(interfaceType);
return this;
}
/**
*
* The type of network interface. The default is interface
.
*
*
* The only supported values are interface
, efa
, and trunk
.
*
*
* @param interfaceType
* The type of network interface. The default is interface
.
*
* The only supported values are interface
, efa
, and trunk
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see NetworkInterfaceCreationType
*/
public CreateNetworkInterfaceRequest withInterfaceType(NetworkInterfaceCreationType interfaceType) {
this.interfaceType = interfaceType.toString();
return this;
}
/**
*
* 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.
*
*
* @return The ID of the subnet to associate with the network interface.
*/
public String getSubnetId() {
return this.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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withSubnetId(String subnetId) {
setSubnetId(subnetId);
return this;
}
/**
*
* The tags to apply to the new network interface.
*
*
* @return The tags to apply to the new network interface.
*/
public java.util.List getTagSpecifications() {
if (tagSpecifications == null) {
tagSpecifications = new com.amazonaws.internal.SdkInternalList();
}
return tagSpecifications;
}
/**
*
* The tags to apply to the new network interface.
*
*
* @param tagSpecifications
* The tags to apply to the new network interface.
*/
public void setTagSpecifications(java.util.Collection tagSpecifications) {
if (tagSpecifications == null) {
this.tagSpecifications = null;
return;
}
this.tagSpecifications = new com.amazonaws.internal.SdkInternalList(tagSpecifications);
}
/**
*
* The tags to apply to the new network interface.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setTagSpecifications(java.util.Collection)} or {@link #withTagSpecifications(java.util.Collection)} if
* you want to override the existing values.
*
*
* @param tagSpecifications
* The tags to apply to the new network interface.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withTagSpecifications(TagSpecification... tagSpecifications) {
if (this.tagSpecifications == null) {
setTagSpecifications(new com.amazonaws.internal.SdkInternalList(tagSpecifications.length));
}
for (TagSpecification ele : tagSpecifications) {
this.tagSpecifications.add(ele);
}
return this;
}
/**
*
* The tags to apply to the new network interface.
*
*
* @param tagSpecifications
* The tags to apply to the new network interface.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withTagSpecifications(java.util.Collection tagSpecifications) {
setTagSpecifications(tagSpecifications);
return this;
}
/**
*
* Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more
* information, see Ensuring
* idempotency.
*
*
* @param clientToken
* Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more
* information, see Ensuring idempotency.
*/
public void setClientToken(String clientToken) {
this.clientToken = clientToken;
}
/**
*
* Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more
* information, see Ensuring
* idempotency.
*
*
* @return Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more
* information, see Ensuring idempotency.
*/
public String getClientToken() {
return this.clientToken;
}
/**
*
* Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more
* information, see Ensuring
* idempotency.
*
*
* @param clientToken
* Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more
* information, see Ensuring idempotency.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withClientToken(String clientToken) {
setClientToken(clientToken);
return this;
}
/**
*
* If you’re creating a network interface in a dual-stack or IPv6-only subnet, you have the option to assign a
* primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you have
* enabled to use a primary IPv6 address. Use this option if the instance that this ENI will be attached to relies
* on its IPv6 address not changing. Amazon Web Services will automatically assign an IPv6 address associated with
* the ENI attached to your instance to be the primary IPv6 address. Once you enable an IPv6 GUA address to be a
* primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA
* will be made the primary IPv6 address until the instance is terminated or the network interface is detached. If
* you have multiple IPv6 addresses associated with an ENI attached to your instance and you enable a primary IPv6
* address, the first IPv6 GUA address associated with the ENI becomes the primary IPv6 address.
*
*
* @param enablePrimaryIpv6
* If you’re creating a network interface in a dual-stack or IPv6-only subnet, you have the option to assign
* a primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you
* have enabled to use a primary IPv6 address. Use this option if the instance that this ENI will be attached
* to relies on its IPv6 address not changing. Amazon Web Services will automatically assign an IPv6 address
* associated with the ENI attached to your instance to be the primary IPv6 address. Once you enable an IPv6
* GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a
* primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or
* the network interface is detached. If you have multiple IPv6 addresses associated with an ENI attached to
* your instance and you enable a primary IPv6 address, the first IPv6 GUA address associated with the ENI
* becomes the primary IPv6 address.
*/
public void setEnablePrimaryIpv6(Boolean enablePrimaryIpv6) {
this.enablePrimaryIpv6 = enablePrimaryIpv6;
}
/**
*
* If you’re creating a network interface in a dual-stack or IPv6-only subnet, you have the option to assign a
* primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you have
* enabled to use a primary IPv6 address. Use this option if the instance that this ENI will be attached to relies
* on its IPv6 address not changing. Amazon Web Services will automatically assign an IPv6 address associated with
* the ENI attached to your instance to be the primary IPv6 address. Once you enable an IPv6 GUA address to be a
* primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA
* will be made the primary IPv6 address until the instance is terminated or the network interface is detached. If
* you have multiple IPv6 addresses associated with an ENI attached to your instance and you enable a primary IPv6
* address, the first IPv6 GUA address associated with the ENI becomes the primary IPv6 address.
*
*
* @return If you’re creating a network interface in a dual-stack or IPv6-only subnet, you have the option to assign
* a primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you
* have enabled to use a primary IPv6 address. Use this option if the instance that this ENI will be
* attached to relies on its IPv6 address not changing. Amazon Web Services will automatically assign an
* IPv6 address associated with the ENI attached to your instance to be the primary IPv6 address. Once you
* enable an IPv6 GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6 GUA
* address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance
* is terminated or the network interface is detached. If you have multiple IPv6 addresses associated with
* an ENI attached to your instance and you enable a primary IPv6 address, the first IPv6 GUA address
* associated with the ENI becomes the primary IPv6 address.
*/
public Boolean getEnablePrimaryIpv6() {
return this.enablePrimaryIpv6;
}
/**
*
* If you’re creating a network interface in a dual-stack or IPv6-only subnet, you have the option to assign a
* primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you have
* enabled to use a primary IPv6 address. Use this option if the instance that this ENI will be attached to relies
* on its IPv6 address not changing. Amazon Web Services will automatically assign an IPv6 address associated with
* the ENI attached to your instance to be the primary IPv6 address. Once you enable an IPv6 GUA address to be a
* primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA
* will be made the primary IPv6 address until the instance is terminated or the network interface is detached. If
* you have multiple IPv6 addresses associated with an ENI attached to your instance and you enable a primary IPv6
* address, the first IPv6 GUA address associated with the ENI becomes the primary IPv6 address.
*
*
* @param enablePrimaryIpv6
* If you’re creating a network interface in a dual-stack or IPv6-only subnet, you have the option to assign
* a primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you
* have enabled to use a primary IPv6 address. Use this option if the instance that this ENI will be attached
* to relies on its IPv6 address not changing. Amazon Web Services will automatically assign an IPv6 address
* associated with the ENI attached to your instance to be the primary IPv6 address. Once you enable an IPv6
* GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a
* primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or
* the network interface is detached. If you have multiple IPv6 addresses associated with an ENI attached to
* your instance and you enable a primary IPv6 address, the first IPv6 GUA address associated with the ENI
* becomes the primary IPv6 address.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withEnablePrimaryIpv6(Boolean enablePrimaryIpv6) {
setEnablePrimaryIpv6(enablePrimaryIpv6);
return this;
}
/**
*
* If you’re creating a network interface in a dual-stack or IPv6-only subnet, you have the option to assign a
* primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you have
* enabled to use a primary IPv6 address. Use this option if the instance that this ENI will be attached to relies
* on its IPv6 address not changing. Amazon Web Services will automatically assign an IPv6 address associated with
* the ENI attached to your instance to be the primary IPv6 address. Once you enable an IPv6 GUA address to be a
* primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA
* will be made the primary IPv6 address until the instance is terminated or the network interface is detached. If
* you have multiple IPv6 addresses associated with an ENI attached to your instance and you enable a primary IPv6
* address, the first IPv6 GUA address associated with the ENI becomes the primary IPv6 address.
*
*
* @return If you’re creating a network interface in a dual-stack or IPv6-only subnet, you have the option to assign
* a primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA address associated with an ENI that you
* have enabled to use a primary IPv6 address. Use this option if the instance that this ENI will be
* attached to relies on its IPv6 address not changing. Amazon Web Services will automatically assign an
* IPv6 address associated with the ENI attached to your instance to be the primary IPv6 address. Once you
* enable an IPv6 GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6 GUA
* address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance
* is terminated or the network interface is detached. If you have multiple IPv6 addresses associated with
* an ENI attached to your instance and you enable a primary IPv6 address, the first IPv6 GUA address
* associated with the ENI becomes the primary IPv6 address.
*/
public Boolean isEnablePrimaryIpv6() {
return this.enablePrimaryIpv6;
}
/**
*
* A connection tracking specification for the network interface.
*
*
* @param connectionTrackingSpecification
* A connection tracking specification for the network interface.
*/
public void setConnectionTrackingSpecification(ConnectionTrackingSpecificationRequest connectionTrackingSpecification) {
this.connectionTrackingSpecification = connectionTrackingSpecification;
}
/**
*
* A connection tracking specification for the network interface.
*
*
* @return A connection tracking specification for the network interface.
*/
public ConnectionTrackingSpecificationRequest getConnectionTrackingSpecification() {
return this.connectionTrackingSpecification;
}
/**
*
* A connection tracking specification for the network interface.
*
*
* @param connectionTrackingSpecification
* A connection tracking specification for the network interface.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateNetworkInterfaceRequest withConnectionTrackingSpecification(ConnectionTrackingSpecificationRequest connectionTrackingSpecification) {
setConnectionTrackingSpecification(connectionTrackingSpecification);
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 CreateNetworkInterfaceRequestMarshaller().marshall(this);
request.addParameter("DryRun", Boolean.toString(true));
return request;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getDescription() != null)
sb.append("Description: ").append(getDescription()).append(",");
if (getGroups() != null)
sb.append("Groups: ").append(getGroups()).append(",");
if (getIpv6AddressCount() != null)
sb.append("Ipv6AddressCount: ").append(getIpv6AddressCount()).append(",");
if (getIpv6Addresses() != null)
sb.append("Ipv6Addresses: ").append(getIpv6Addresses()).append(",");
if (getPrivateIpAddress() != null)
sb.append("PrivateIpAddress: ").append(getPrivateIpAddress()).append(",");
if (getPrivateIpAddresses() != null)
sb.append("PrivateIpAddresses: ").append(getPrivateIpAddresses()).append(",");
if (getSecondaryPrivateIpAddressCount() != null)
sb.append("SecondaryPrivateIpAddressCount: ").append(getSecondaryPrivateIpAddressCount()).append(",");
if (getIpv4Prefixes() != null)
sb.append("Ipv4Prefixes: ").append(getIpv4Prefixes()).append(",");
if (getIpv4PrefixCount() != null)
sb.append("Ipv4PrefixCount: ").append(getIpv4PrefixCount()).append(",");
if (getIpv6Prefixes() != null)
sb.append("Ipv6Prefixes: ").append(getIpv6Prefixes()).append(",");
if (getIpv6PrefixCount() != null)
sb.append("Ipv6PrefixCount: ").append(getIpv6PrefixCount()).append(",");
if (getInterfaceType() != null)
sb.append("InterfaceType: ").append(getInterfaceType()).append(",");
if (getSubnetId() != null)
sb.append("SubnetId: ").append(getSubnetId()).append(",");
if (getTagSpecifications() != null)
sb.append("TagSpecifications: ").append(getTagSpecifications()).append(",");
if (getClientToken() != null)
sb.append("ClientToken: ").append(getClientToken()).append(",");
if (getEnablePrimaryIpv6() != null)
sb.append("EnablePrimaryIpv6: ").append(getEnablePrimaryIpv6()).append(",");
if (getConnectionTrackingSpecification() != null)
sb.append("ConnectionTrackingSpecification: ").append(getConnectionTrackingSpecification());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CreateNetworkInterfaceRequest == false)
return false;
CreateNetworkInterfaceRequest other = (CreateNetworkInterfaceRequest) obj;
if (other.getDescription() == null ^ this.getDescription() == null)
return false;
if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false)
return false;
if (other.getGroups() == null ^ this.getGroups() == null)
return false;
if (other.getGroups() != null && other.getGroups().equals(this.getGroups()) == false)
return false;
if (other.getIpv6AddressCount() == null ^ this.getIpv6AddressCount() == null)
return false;
if (other.getIpv6AddressCount() != null && other.getIpv6AddressCount().equals(this.getIpv6AddressCount()) == false)
return false;
if (other.getIpv6Addresses() == null ^ this.getIpv6Addresses() == null)
return false;
if (other.getIpv6Addresses() != null && other.getIpv6Addresses().equals(this.getIpv6Addresses()) == false)
return false;
if (other.getPrivateIpAddress() == null ^ this.getPrivateIpAddress() == null)
return false;
if (other.getPrivateIpAddress() != null && other.getPrivateIpAddress().equals(this.getPrivateIpAddress()) == false)
return false;
if (other.getPrivateIpAddresses() == null ^ this.getPrivateIpAddresses() == null)
return false;
if (other.getPrivateIpAddresses() != null && other.getPrivateIpAddresses().equals(this.getPrivateIpAddresses()) == false)
return false;
if (other.getSecondaryPrivateIpAddressCount() == null ^ this.getSecondaryPrivateIpAddressCount() == null)
return false;
if (other.getSecondaryPrivateIpAddressCount() != null
&& other.getSecondaryPrivateIpAddressCount().equals(this.getSecondaryPrivateIpAddressCount()) == false)
return false;
if (other.getIpv4Prefixes() == null ^ this.getIpv4Prefixes() == null)
return false;
if (other.getIpv4Prefixes() != null && other.getIpv4Prefixes().equals(this.getIpv4Prefixes()) == false)
return false;
if (other.getIpv4PrefixCount() == null ^ this.getIpv4PrefixCount() == null)
return false;
if (other.getIpv4PrefixCount() != null && other.getIpv4PrefixCount().equals(this.getIpv4PrefixCount()) == false)
return false;
if (other.getIpv6Prefixes() == null ^ this.getIpv6Prefixes() == null)
return false;
if (other.getIpv6Prefixes() != null && other.getIpv6Prefixes().equals(this.getIpv6Prefixes()) == false)
return false;
if (other.getIpv6PrefixCount() == null ^ this.getIpv6PrefixCount() == null)
return false;
if (other.getIpv6PrefixCount() != null && other.getIpv6PrefixCount().equals(this.getIpv6PrefixCount()) == false)
return false;
if (other.getInterfaceType() == null ^ this.getInterfaceType() == null)
return false;
if (other.getInterfaceType() != null && other.getInterfaceType().equals(this.getInterfaceType()) == false)
return false;
if (other.getSubnetId() == null ^ this.getSubnetId() == null)
return false;
if (other.getSubnetId() != null && other.getSubnetId().equals(this.getSubnetId()) == false)
return false;
if (other.getTagSpecifications() == null ^ this.getTagSpecifications() == null)
return false;
if (other.getTagSpecifications() != null && other.getTagSpecifications().equals(this.getTagSpecifications()) == false)
return false;
if (other.getClientToken() == null ^ this.getClientToken() == null)
return false;
if (other.getClientToken() != null && other.getClientToken().equals(this.getClientToken()) == false)
return false;
if (other.getEnablePrimaryIpv6() == null ^ this.getEnablePrimaryIpv6() == null)
return false;
if (other.getEnablePrimaryIpv6() != null && other.getEnablePrimaryIpv6().equals(this.getEnablePrimaryIpv6()) == false)
return false;
if (other.getConnectionTrackingSpecification() == null ^ this.getConnectionTrackingSpecification() == null)
return false;
if (other.getConnectionTrackingSpecification() != null
&& other.getConnectionTrackingSpecification().equals(this.getConnectionTrackingSpecification()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode());
hashCode = prime * hashCode + ((getGroups() == null) ? 0 : getGroups().hashCode());
hashCode = prime * hashCode + ((getIpv6AddressCount() == null) ? 0 : getIpv6AddressCount().hashCode());
hashCode = prime * hashCode + ((getIpv6Addresses() == null) ? 0 : getIpv6Addresses().hashCode());
hashCode = prime * hashCode + ((getPrivateIpAddress() == null) ? 0 : getPrivateIpAddress().hashCode());
hashCode = prime * hashCode + ((getPrivateIpAddresses() == null) ? 0 : getPrivateIpAddresses().hashCode());
hashCode = prime * hashCode + ((getSecondaryPrivateIpAddressCount() == null) ? 0 : getSecondaryPrivateIpAddressCount().hashCode());
hashCode = prime * hashCode + ((getIpv4Prefixes() == null) ? 0 : getIpv4Prefixes().hashCode());
hashCode = prime * hashCode + ((getIpv4PrefixCount() == null) ? 0 : getIpv4PrefixCount().hashCode());
hashCode = prime * hashCode + ((getIpv6Prefixes() == null) ? 0 : getIpv6Prefixes().hashCode());
hashCode = prime * hashCode + ((getIpv6PrefixCount() == null) ? 0 : getIpv6PrefixCount().hashCode());
hashCode = prime * hashCode + ((getInterfaceType() == null) ? 0 : getInterfaceType().hashCode());
hashCode = prime * hashCode + ((getSubnetId() == null) ? 0 : getSubnetId().hashCode());
hashCode = prime * hashCode + ((getTagSpecifications() == null) ? 0 : getTagSpecifications().hashCode());
hashCode = prime * hashCode + ((getClientToken() == null) ? 0 : getClientToken().hashCode());
hashCode = prime * hashCode + ((getEnablePrimaryIpv6() == null) ? 0 : getEnablePrimaryIpv6().hashCode());
hashCode = prime * hashCode + ((getConnectionTrackingSpecification() == null) ? 0 : getConnectionTrackingSpecification().hashCode());
return hashCode;
}
@Override
public CreateNetworkInterfaceRequest clone() {
return (CreateNetworkInterfaceRequest) super.clone();
}
}