/* * Copyright 2018-2023 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; /** *
* Describes association information for an Elastic IP address (IPv4 only), or a Carrier IP address (for a network * interface which resides in a subnet in a Wavelength Zone). *
* * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class NetworkInterfaceAssociation implements Serializable, Cloneable { /** ** The allocation ID. *
*/ private String allocationId; /** ** The association ID. *
*/ private String associationId; /** ** The ID of the Elastic IP address owner. *
*/ private String ipOwnerId; /** ** The public DNS name. *
*/ private String publicDnsName; /** ** The address of the Elastic IP address bound to the network interface. *
*/ private String publicIp; /** ** The customer-owned IP address associated with the network interface. *
*/ private String customerOwnedIp; /** ** The carrier IP address associated with the network interface. *
** This option is only available when the network interface is in a subnet which is associated with a Wavelength * Zone. *
*/ private String carrierIp; /** ** The allocation ID. *
* * @param allocationId * The allocation ID. */ public void setAllocationId(String allocationId) { this.allocationId = allocationId; } /** ** The allocation ID. *
* * @return The allocation ID. */ public String getAllocationId() { return this.allocationId; } /** ** The allocation ID. *
* * @param allocationId * The allocation ID. * @return Returns a reference to this object so that method calls can be chained together. */ public NetworkInterfaceAssociation withAllocationId(String allocationId) { setAllocationId(allocationId); return this; } /** ** The association ID. *
* * @param associationId * The association ID. */ public void setAssociationId(String associationId) { this.associationId = associationId; } /** ** The association ID. *
* * @return The association ID. */ public String getAssociationId() { return this.associationId; } /** ** The association ID. *
* * @param associationId * The association ID. * @return Returns a reference to this object so that method calls can be chained together. */ public NetworkInterfaceAssociation withAssociationId(String associationId) { setAssociationId(associationId); return this; } /** ** The ID of the Elastic IP address owner. *
* * @param ipOwnerId * The ID of the Elastic IP address owner. */ public void setIpOwnerId(String ipOwnerId) { this.ipOwnerId = ipOwnerId; } /** ** The ID of the Elastic IP address owner. *
* * @return The ID of the Elastic IP address owner. */ public String getIpOwnerId() { return this.ipOwnerId; } /** ** The ID of the Elastic IP address owner. *
* * @param ipOwnerId * The ID of the Elastic IP address owner. * @return Returns a reference to this object so that method calls can be chained together. */ public NetworkInterfaceAssociation withIpOwnerId(String ipOwnerId) { setIpOwnerId(ipOwnerId); return this; } /** ** The public DNS name. *
* * @param publicDnsName * The public DNS name. */ public void setPublicDnsName(String publicDnsName) { this.publicDnsName = publicDnsName; } /** ** The public DNS name. *
* * @return The public DNS name. */ public String getPublicDnsName() { return this.publicDnsName; } /** ** The public DNS name. *
* * @param publicDnsName * The public DNS name. * @return Returns a reference to this object so that method calls can be chained together. */ public NetworkInterfaceAssociation withPublicDnsName(String publicDnsName) { setPublicDnsName(publicDnsName); return this; } /** ** The address of the Elastic IP address bound to the network interface. *
* * @param publicIp * The address of the Elastic IP address bound to the network interface. */ public void setPublicIp(String publicIp) { this.publicIp = publicIp; } /** ** The address of the Elastic IP address bound to the network interface. *
* * @return The address of the Elastic IP address bound to the network interface. */ public String getPublicIp() { return this.publicIp; } /** ** The address of the Elastic IP address bound to the network interface. *
* * @param publicIp * The address of the Elastic IP address bound to the network interface. * @return Returns a reference to this object so that method calls can be chained together. */ public NetworkInterfaceAssociation withPublicIp(String publicIp) { setPublicIp(publicIp); return this; } /** ** The customer-owned IP address associated with the network interface. *
* * @param customerOwnedIp * The customer-owned IP address associated with the network interface. */ public void setCustomerOwnedIp(String customerOwnedIp) { this.customerOwnedIp = customerOwnedIp; } /** ** The customer-owned IP address associated with the network interface. *
* * @return The customer-owned IP address associated with the network interface. */ public String getCustomerOwnedIp() { return this.customerOwnedIp; } /** ** The customer-owned IP address associated with the network interface. *
* * @param customerOwnedIp * The customer-owned IP address associated with the network interface. * @return Returns a reference to this object so that method calls can be chained together. */ public NetworkInterfaceAssociation withCustomerOwnedIp(String customerOwnedIp) { setCustomerOwnedIp(customerOwnedIp); return this; } /** ** The carrier IP address associated with the network interface. *
** This option is only available when the network interface is in a subnet which is associated with a Wavelength * Zone. *
* * @param carrierIp * The carrier IP address associated with the network interface. ** This option is only available when the network interface is in a subnet which is associated with a * Wavelength Zone. */ public void setCarrierIp(String carrierIp) { this.carrierIp = carrierIp; } /** *
* The carrier IP address associated with the network interface. *
** This option is only available when the network interface is in a subnet which is associated with a Wavelength * Zone. *
* * @return The carrier IP address associated with the network interface. ** This option is only available when the network interface is in a subnet which is associated with a * Wavelength Zone. */ public String getCarrierIp() { return this.carrierIp; } /** *
* The carrier IP address associated with the network interface. *
** This option is only available when the network interface is in a subnet which is associated with a Wavelength * Zone. *
* * @param carrierIp * The carrier IP address associated with the network interface. ** This option is only available when the network interface is in a subnet which is associated with a * Wavelength Zone. * @return Returns a reference to this object so that method calls can be chained together. */ public NetworkInterfaceAssociation withCarrierIp(String carrierIp) { setCarrierIp(carrierIp); return this; } /** * 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 (getAllocationId() != null) sb.append("AllocationId: ").append(getAllocationId()).append(","); if (getAssociationId() != null) sb.append("AssociationId: ").append(getAssociationId()).append(","); if (getIpOwnerId() != null) sb.append("IpOwnerId: ").append(getIpOwnerId()).append(","); if (getPublicDnsName() != null) sb.append("PublicDnsName: ").append(getPublicDnsName()).append(","); if (getPublicIp() != null) sb.append("PublicIp: ").append(getPublicIp()).append(","); if (getCustomerOwnedIp() != null) sb.append("CustomerOwnedIp: ").append(getCustomerOwnedIp()).append(","); if (getCarrierIp() != null) sb.append("CarrierIp: ").append(getCarrierIp()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof NetworkInterfaceAssociation == false) return false; NetworkInterfaceAssociation other = (NetworkInterfaceAssociation) obj; if (other.getAllocationId() == null ^ this.getAllocationId() == null) return false; if (other.getAllocationId() != null && other.getAllocationId().equals(this.getAllocationId()) == false) return false; if (other.getAssociationId() == null ^ this.getAssociationId() == null) return false; if (other.getAssociationId() != null && other.getAssociationId().equals(this.getAssociationId()) == false) return false; if (other.getIpOwnerId() == null ^ this.getIpOwnerId() == null) return false; if (other.getIpOwnerId() != null && other.getIpOwnerId().equals(this.getIpOwnerId()) == false) return false; if (other.getPublicDnsName() == null ^ this.getPublicDnsName() == null) return false; if (other.getPublicDnsName() != null && other.getPublicDnsName().equals(this.getPublicDnsName()) == false) return false; if (other.getPublicIp() == null ^ this.getPublicIp() == null) return false; if (other.getPublicIp() != null && other.getPublicIp().equals(this.getPublicIp()) == false) return false; if (other.getCustomerOwnedIp() == null ^ this.getCustomerOwnedIp() == null) return false; if (other.getCustomerOwnedIp() != null && other.getCustomerOwnedIp().equals(this.getCustomerOwnedIp()) == false) return false; if (other.getCarrierIp() == null ^ this.getCarrierIp() == null) return false; if (other.getCarrierIp() != null && other.getCarrierIp().equals(this.getCarrierIp()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAllocationId() == null) ? 0 : getAllocationId().hashCode()); hashCode = prime * hashCode + ((getAssociationId() == null) ? 0 : getAssociationId().hashCode()); hashCode = prime * hashCode + ((getIpOwnerId() == null) ? 0 : getIpOwnerId().hashCode()); hashCode = prime * hashCode + ((getPublicDnsName() == null) ? 0 : getPublicDnsName().hashCode()); hashCode = prime * hashCode + ((getPublicIp() == null) ? 0 : getPublicIp().hashCode()); hashCode = prime * hashCode + ((getCustomerOwnedIp() == null) ? 0 : getCustomerOwnedIp().hashCode()); hashCode = prime * hashCode + ((getCarrierIp() == null) ? 0 : getCarrierIp().hashCode()); return hashCode; } @Override public NetworkInterfaceAssociation clone() { try { return (NetworkInterfaceAssociation) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }