com.amazonaws.services.ec2.model.ByoipCidr 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;
/**
*
* Information about an address range that is provisioned for use with your Amazon Web Services resources through bring
* your own IP addresses (BYOIP).
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class ByoipCidr implements Serializable, Cloneable {
/**
*
* The address range, in CIDR notation.
*
*/
private String cidr;
/**
*
* The description of the address range.
*
*/
private String description;
/**
*
* The BYOIP CIDR associations with ASNs.
*
*/
private com.amazonaws.internal.SdkInternalList asnAssociations;
/**
*
* Upon success, contains the ID of the address pool. Otherwise, contains an error message.
*
*/
private String statusMessage;
/**
*
* The state of the address range.
*
*
* -
*
* advertised
: The address range is being advertised to the internet by Amazon Web Services.
*
*
* -
*
* deprovisioned
: The address range is deprovisioned.
*
*
* -
*
* failed-deprovision
: The request to deprovision the address range was unsuccessful. Ensure that all
* EIPs from the range have been deallocated and try again.
*
*
* -
*
* failed-provision
: The request to provision the address range was unsuccessful.
*
*
* -
*
* pending-deprovision
: You’ve submitted a request to deprovision an address range and it's pending.
*
*
* -
*
* pending-provision
: You’ve submitted a request to provision an address range and it's pending.
*
*
* -
*
* provisioned
: The address range is provisioned and can be advertised. The range is not currently
* advertised.
*
*
* -
*
* provisioned-not-publicly-advertisable
: The address range is provisioned and cannot be advertised.
*
*
*
*/
private String state;
/**
*
* If you have Local Zones
* enabled, you can choose a network border group for Local Zones when you provision and advertise a BYOIPv4 CIDR.
* Choose the network border group carefully as the EIP and the Amazon Web Services resource it is associated with
* must reside in the same network border group.
*
*
* You can provision BYOIP address ranges to and advertise them in the following Local Zone network border groups:
*
*
* -
*
* us-east-1-dfw-2
*
*
* -
*
* us-west-2-lax-1
*
*
* -
*
* us-west-2-phx-2
*
*
*
*
*
* You cannot provision or advertise BYOIPv6 address ranges in Local Zones at this time.
*
*
*/
private String networkBorderGroup;
/**
*
* The address range, in CIDR notation.
*
*
* @param cidr
* The address range, in CIDR notation.
*/
public void setCidr(String cidr) {
this.cidr = cidr;
}
/**
*
* The address range, in CIDR notation.
*
*
* @return The address range, in CIDR notation.
*/
public String getCidr() {
return this.cidr;
}
/**
*
* The address range, in CIDR notation.
*
*
* @param cidr
* The address range, in CIDR notation.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ByoipCidr withCidr(String cidr) {
setCidr(cidr);
return this;
}
/**
*
* The description of the address range.
*
*
* @param description
* The description of the address range.
*/
public void setDescription(String description) {
this.description = description;
}
/**
*
* The description of the address range.
*
*
* @return The description of the address range.
*/
public String getDescription() {
return this.description;
}
/**
*
* The description of the address range.
*
*
* @param description
* The description of the address range.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ByoipCidr withDescription(String description) {
setDescription(description);
return this;
}
/**
*
* The BYOIP CIDR associations with ASNs.
*
*
* @return The BYOIP CIDR associations with ASNs.
*/
public java.util.List getAsnAssociations() {
if (asnAssociations == null) {
asnAssociations = new com.amazonaws.internal.SdkInternalList();
}
return asnAssociations;
}
/**
*
* The BYOIP CIDR associations with ASNs.
*
*
* @param asnAssociations
* The BYOIP CIDR associations with ASNs.
*/
public void setAsnAssociations(java.util.Collection asnAssociations) {
if (asnAssociations == null) {
this.asnAssociations = null;
return;
}
this.asnAssociations = new com.amazonaws.internal.SdkInternalList(asnAssociations);
}
/**
*
* The BYOIP CIDR associations with ASNs.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setAsnAssociations(java.util.Collection)} or {@link #withAsnAssociations(java.util.Collection)} if you
* want to override the existing values.
*
*
* @param asnAssociations
* The BYOIP CIDR associations with ASNs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ByoipCidr withAsnAssociations(AsnAssociation... asnAssociations) {
if (this.asnAssociations == null) {
setAsnAssociations(new com.amazonaws.internal.SdkInternalList(asnAssociations.length));
}
for (AsnAssociation ele : asnAssociations) {
this.asnAssociations.add(ele);
}
return this;
}
/**
*
* The BYOIP CIDR associations with ASNs.
*
*
* @param asnAssociations
* The BYOIP CIDR associations with ASNs.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ByoipCidr withAsnAssociations(java.util.Collection asnAssociations) {
setAsnAssociations(asnAssociations);
return this;
}
/**
*
* Upon success, contains the ID of the address pool. Otherwise, contains an error message.
*
*
* @param statusMessage
* Upon success, contains the ID of the address pool. Otherwise, contains an error message.
*/
public void setStatusMessage(String statusMessage) {
this.statusMessage = statusMessage;
}
/**
*
* Upon success, contains the ID of the address pool. Otherwise, contains an error message.
*
*
* @return Upon success, contains the ID of the address pool. Otherwise, contains an error message.
*/
public String getStatusMessage() {
return this.statusMessage;
}
/**
*
* Upon success, contains the ID of the address pool. Otherwise, contains an error message.
*
*
* @param statusMessage
* Upon success, contains the ID of the address pool. Otherwise, contains an error message.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ByoipCidr withStatusMessage(String statusMessage) {
setStatusMessage(statusMessage);
return this;
}
/**
*
* The state of the address range.
*
*
* -
*
* advertised
: The address range is being advertised to the internet by Amazon Web Services.
*
*
* -
*
* deprovisioned
: The address range is deprovisioned.
*
*
* -
*
* failed-deprovision
: The request to deprovision the address range was unsuccessful. Ensure that all
* EIPs from the range have been deallocated and try again.
*
*
* -
*
* failed-provision
: The request to provision the address range was unsuccessful.
*
*
* -
*
* pending-deprovision
: You’ve submitted a request to deprovision an address range and it's pending.
*
*
* -
*
* pending-provision
: You’ve submitted a request to provision an address range and it's pending.
*
*
* -
*
* provisioned
: The address range is provisioned and can be advertised. The range is not currently
* advertised.
*
*
* -
*
* provisioned-not-publicly-advertisable
: The address range is provisioned and cannot be advertised.
*
*
*
*
* @param state
* The state of the address range.
*
* -
*
* advertised
: The address range is being advertised to the internet by Amazon Web Services.
*
*
* -
*
* deprovisioned
: The address range is deprovisioned.
*
*
* -
*
* failed-deprovision
: The request to deprovision the address range was unsuccessful. Ensure
* that all EIPs from the range have been deallocated and try again.
*
*
* -
*
* failed-provision
: The request to provision the address range was unsuccessful.
*
*
* -
*
* pending-deprovision
: You’ve submitted a request to deprovision an address range and it's
* pending.
*
*
* -
*
* pending-provision
: You’ve submitted a request to provision an address range and it's pending.
*
*
* -
*
* provisioned
: The address range is provisioned and can be advertised. The range is not
* currently advertised.
*
*
* -
*
* provisioned-not-publicly-advertisable
: The address range is provisioned and cannot be
* advertised.
*
*
* @see ByoipCidrState
*/
public void setState(String state) {
this.state = state;
}
/**
*
* The state of the address range.
*
*
* -
*
* advertised
: The address range is being advertised to the internet by Amazon Web Services.
*
*
* -
*
* deprovisioned
: The address range is deprovisioned.
*
*
* -
*
* failed-deprovision
: The request to deprovision the address range was unsuccessful. Ensure that all
* EIPs from the range have been deallocated and try again.
*
*
* -
*
* failed-provision
: The request to provision the address range was unsuccessful.
*
*
* -
*
* pending-deprovision
: You’ve submitted a request to deprovision an address range and it's pending.
*
*
* -
*
* pending-provision
: You’ve submitted a request to provision an address range and it's pending.
*
*
* -
*
* provisioned
: The address range is provisioned and can be advertised. The range is not currently
* advertised.
*
*
* -
*
* provisioned-not-publicly-advertisable
: The address range is provisioned and cannot be advertised.
*
*
*
*
* @return The state of the address range.
*
* -
*
* advertised
: The address range is being advertised to the internet by Amazon Web Services.
*
*
* -
*
* deprovisioned
: The address range is deprovisioned.
*
*
* -
*
* failed-deprovision
: The request to deprovision the address range was unsuccessful. Ensure
* that all EIPs from the range have been deallocated and try again.
*
*
* -
*
* failed-provision
: The request to provision the address range was unsuccessful.
*
*
* -
*
* pending-deprovision
: You’ve submitted a request to deprovision an address range and it's
* pending.
*
*
* -
*
* pending-provision
: You’ve submitted a request to provision an address range and it's
* pending.
*
*
* -
*
* provisioned
: The address range is provisioned and can be advertised. The range is not
* currently advertised.
*
*
* -
*
* provisioned-not-publicly-advertisable
: The address range is provisioned and cannot be
* advertised.
*
*
* @see ByoipCidrState
*/
public String getState() {
return this.state;
}
/**
*
* The state of the address range.
*
*
* -
*
* advertised
: The address range is being advertised to the internet by Amazon Web Services.
*
*
* -
*
* deprovisioned
: The address range is deprovisioned.
*
*
* -
*
* failed-deprovision
: The request to deprovision the address range was unsuccessful. Ensure that all
* EIPs from the range have been deallocated and try again.
*
*
* -
*
* failed-provision
: The request to provision the address range was unsuccessful.
*
*
* -
*
* pending-deprovision
: You’ve submitted a request to deprovision an address range and it's pending.
*
*
* -
*
* pending-provision
: You’ve submitted a request to provision an address range and it's pending.
*
*
* -
*
* provisioned
: The address range is provisioned and can be advertised. The range is not currently
* advertised.
*
*
* -
*
* provisioned-not-publicly-advertisable
: The address range is provisioned and cannot be advertised.
*
*
*
*
* @param state
* The state of the address range.
*
* -
*
* advertised
: The address range is being advertised to the internet by Amazon Web Services.
*
*
* -
*
* deprovisioned
: The address range is deprovisioned.
*
*
* -
*
* failed-deprovision
: The request to deprovision the address range was unsuccessful. Ensure
* that all EIPs from the range have been deallocated and try again.
*
*
* -
*
* failed-provision
: The request to provision the address range was unsuccessful.
*
*
* -
*
* pending-deprovision
: You’ve submitted a request to deprovision an address range and it's
* pending.
*
*
* -
*
* pending-provision
: You’ve submitted a request to provision an address range and it's pending.
*
*
* -
*
* provisioned
: The address range is provisioned and can be advertised. The range is not
* currently advertised.
*
*
* -
*
* provisioned-not-publicly-advertisable
: The address range is provisioned and cannot be
* advertised.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see ByoipCidrState
*/
public ByoipCidr withState(String state) {
setState(state);
return this;
}
/**
*
* The state of the address range.
*
*
* -
*
* advertised
: The address range is being advertised to the internet by Amazon Web Services.
*
*
* -
*
* deprovisioned
: The address range is deprovisioned.
*
*
* -
*
* failed-deprovision
: The request to deprovision the address range was unsuccessful. Ensure that all
* EIPs from the range have been deallocated and try again.
*
*
* -
*
* failed-provision
: The request to provision the address range was unsuccessful.
*
*
* -
*
* pending-deprovision
: You’ve submitted a request to deprovision an address range and it's pending.
*
*
* -
*
* pending-provision
: You’ve submitted a request to provision an address range and it's pending.
*
*
* -
*
* provisioned
: The address range is provisioned and can be advertised. The range is not currently
* advertised.
*
*
* -
*
* provisioned-not-publicly-advertisable
: The address range is provisioned and cannot be advertised.
*
*
*
*
* @param state
* The state of the address range.
*
* -
*
* advertised
: The address range is being advertised to the internet by Amazon Web Services.
*
*
* -
*
* deprovisioned
: The address range is deprovisioned.
*
*
* -
*
* failed-deprovision
: The request to deprovision the address range was unsuccessful. Ensure
* that all EIPs from the range have been deallocated and try again.
*
*
* -
*
* failed-provision
: The request to provision the address range was unsuccessful.
*
*
* -
*
* pending-deprovision
: You’ve submitted a request to deprovision an address range and it's
* pending.
*
*
* -
*
* pending-provision
: You’ve submitted a request to provision an address range and it's pending.
*
*
* -
*
* provisioned
: The address range is provisioned and can be advertised. The range is not
* currently advertised.
*
*
* -
*
* provisioned-not-publicly-advertisable
: The address range is provisioned and cannot be
* advertised.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see ByoipCidrState
*/
public ByoipCidr withState(ByoipCidrState state) {
this.state = state.toString();
return this;
}
/**
*
* If you have Local Zones
* enabled, you can choose a network border group for Local Zones when you provision and advertise a BYOIPv4 CIDR.
* Choose the network border group carefully as the EIP and the Amazon Web Services resource it is associated with
* must reside in the same network border group.
*
*
* You can provision BYOIP address ranges to and advertise them in the following Local Zone network border groups:
*
*
* -
*
* us-east-1-dfw-2
*
*
* -
*
* us-west-2-lax-1
*
*
* -
*
* us-west-2-phx-2
*
*
*
*
*
* You cannot provision or advertise BYOIPv6 address ranges in Local Zones at this time.
*
*
*
* @param networkBorderGroup
* If you have Local
* Zones enabled, you can choose a network border group for Local Zones when you provision and advertise
* a BYOIPv4 CIDR. Choose the network border group carefully as the EIP and the Amazon Web Services resource
* it is associated with must reside in the same network border group.
*
* You can provision BYOIP address ranges to and advertise them in the following Local Zone network border
* groups:
*
*
* -
*
* us-east-1-dfw-2
*
*
* -
*
* us-west-2-lax-1
*
*
* -
*
* us-west-2-phx-2
*
*
*
*
*
* You cannot provision or advertise BYOIPv6 address ranges in Local Zones at this time.
*
*/
public void setNetworkBorderGroup(String networkBorderGroup) {
this.networkBorderGroup = networkBorderGroup;
}
/**
*
* If you have Local Zones
* enabled, you can choose a network border group for Local Zones when you provision and advertise a BYOIPv4 CIDR.
* Choose the network border group carefully as the EIP and the Amazon Web Services resource it is associated with
* must reside in the same network border group.
*
*
* You can provision BYOIP address ranges to and advertise them in the following Local Zone network border groups:
*
*
* -
*
* us-east-1-dfw-2
*
*
* -
*
* us-west-2-lax-1
*
*
* -
*
* us-west-2-phx-2
*
*
*
*
*
* You cannot provision or advertise BYOIPv6 address ranges in Local Zones at this time.
*
*
*
* @return If you have Local
* Zones enabled, you can choose a network border group for Local Zones when you provision and advertise
* a BYOIPv4 CIDR. Choose the network border group carefully as the EIP and the Amazon Web Services resource
* it is associated with must reside in the same network border group.
*
* You can provision BYOIP address ranges to and advertise them in the following Local Zone network border
* groups:
*
*
* -
*
* us-east-1-dfw-2
*
*
* -
*
* us-west-2-lax-1
*
*
* -
*
* us-west-2-phx-2
*
*
*
*
*
* You cannot provision or advertise BYOIPv6 address ranges in Local Zones at this time.
*
*/
public String getNetworkBorderGroup() {
return this.networkBorderGroup;
}
/**
*
* If you have Local Zones
* enabled, you can choose a network border group for Local Zones when you provision and advertise a BYOIPv4 CIDR.
* Choose the network border group carefully as the EIP and the Amazon Web Services resource it is associated with
* must reside in the same network border group.
*
*
* You can provision BYOIP address ranges to and advertise them in the following Local Zone network border groups:
*
*
* -
*
* us-east-1-dfw-2
*
*
* -
*
* us-west-2-lax-1
*
*
* -
*
* us-west-2-phx-2
*
*
*
*
*
* You cannot provision or advertise BYOIPv6 address ranges in Local Zones at this time.
*
*
*
* @param networkBorderGroup
* If you have Local
* Zones enabled, you can choose a network border group for Local Zones when you provision and advertise
* a BYOIPv4 CIDR. Choose the network border group carefully as the EIP and the Amazon Web Services resource
* it is associated with must reside in the same network border group.
*
* You can provision BYOIP address ranges to and advertise them in the following Local Zone network border
* groups:
*
*
* -
*
* us-east-1-dfw-2
*
*
* -
*
* us-west-2-lax-1
*
*
* -
*
* us-west-2-phx-2
*
*
*
*
*
* You cannot provision or advertise BYOIPv6 address ranges in Local Zones at this time.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ByoipCidr withNetworkBorderGroup(String networkBorderGroup) {
setNetworkBorderGroup(networkBorderGroup);
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 (getCidr() != null)
sb.append("Cidr: ").append(getCidr()).append(",");
if (getDescription() != null)
sb.append("Description: ").append(getDescription()).append(",");
if (getAsnAssociations() != null)
sb.append("AsnAssociations: ").append(getAsnAssociations()).append(",");
if (getStatusMessage() != null)
sb.append("StatusMessage: ").append(getStatusMessage()).append(",");
if (getState() != null)
sb.append("State: ").append(getState()).append(",");
if (getNetworkBorderGroup() != null)
sb.append("NetworkBorderGroup: ").append(getNetworkBorderGroup());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof ByoipCidr == false)
return false;
ByoipCidr other = (ByoipCidr) obj;
if (other.getCidr() == null ^ this.getCidr() == null)
return false;
if (other.getCidr() != null && other.getCidr().equals(this.getCidr()) == false)
return false;
if (other.getDescription() == null ^ this.getDescription() == null)
return false;
if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false)
return false;
if (other.getAsnAssociations() == null ^ this.getAsnAssociations() == null)
return false;
if (other.getAsnAssociations() != null && other.getAsnAssociations().equals(this.getAsnAssociations()) == false)
return false;
if (other.getStatusMessage() == null ^ this.getStatusMessage() == null)
return false;
if (other.getStatusMessage() != null && other.getStatusMessage().equals(this.getStatusMessage()) == false)
return false;
if (other.getState() == null ^ this.getState() == null)
return false;
if (other.getState() != null && other.getState().equals(this.getState()) == false)
return false;
if (other.getNetworkBorderGroup() == null ^ this.getNetworkBorderGroup() == null)
return false;
if (other.getNetworkBorderGroup() != null && other.getNetworkBorderGroup().equals(this.getNetworkBorderGroup()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getCidr() == null) ? 0 : getCidr().hashCode());
hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode());
hashCode = prime * hashCode + ((getAsnAssociations() == null) ? 0 : getAsnAssociations().hashCode());
hashCode = prime * hashCode + ((getStatusMessage() == null) ? 0 : getStatusMessage().hashCode());
hashCode = prime * hashCode + ((getState() == null) ? 0 : getState().hashCode());
hashCode = prime * hashCode + ((getNetworkBorderGroup() == null) ? 0 : getNetworkBorderGroup().hashCode());
return hashCode;
}
@Override
public ByoipCidr clone() {
try {
return (ByoipCidr) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
}