com.amazonaws.services.ec2.model.ProvisionByoipCidrRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-ec2 Show documentation
/*
* 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;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.Request;
import com.amazonaws.services.ec2.model.transform.ProvisionByoipCidrRequestMarshaller;
/**
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class ProvisionByoipCidrRequest extends AmazonWebServiceRequest implements Serializable, Cloneable, DryRunSupportedRequest {
/**
*
* The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can specify is
* /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address
* range that you've brought to this or another Region.
*
*/
private String cidr;
/**
*
* A signed document that proves that you are authorized to bring the specified IP address range to Amazon using
* BYOIP.
*
*/
private CidrAuthorizationContext cidrAuthorizationContext;
/**
*
* (IPv6 only) Indicate whether the address range will be publicly advertised to the internet.
*
*
* Default: true
*
*/
private Boolean publiclyAdvertisable;
/**
*
* A description for the address range and the address pool.
*
*/
private String description;
/**
*
* The tags to apply to the address pool.
*
*/
private com.amazonaws.internal.SdkInternalList poolTagSpecifications;
/**
*
* Reserved.
*
*/
private Boolean multiRegion;
/**
*
* The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can specify is
* /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address
* range that you've brought to this or another Region.
*
*
* @param cidr
* The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can
* specify is /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap
* with another address range that you've brought to this or another Region.
*/
public void setCidr(String cidr) {
this.cidr = cidr;
}
/**
*
* The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can specify is
* /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address
* range that you've brought to this or another Region.
*
*
* @return The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can
* specify is /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap
* with another address range that you've brought to this or another Region.
*/
public String getCidr() {
return this.cidr;
}
/**
*
* The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can specify is
* /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address
* range that you've brought to this or another Region.
*
*
* @param cidr
* The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can
* specify is /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap
* with another address range that you've brought to this or another Region.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ProvisionByoipCidrRequest withCidr(String cidr) {
setCidr(cidr);
return this;
}
/**
*
* A signed document that proves that you are authorized to bring the specified IP address range to Amazon using
* BYOIP.
*
*
* @param cidrAuthorizationContext
* A signed document that proves that you are authorized to bring the specified IP address range to Amazon
* using BYOIP.
*/
public void setCidrAuthorizationContext(CidrAuthorizationContext cidrAuthorizationContext) {
this.cidrAuthorizationContext = cidrAuthorizationContext;
}
/**
*
* A signed document that proves that you are authorized to bring the specified IP address range to Amazon using
* BYOIP.
*
*
* @return A signed document that proves that you are authorized to bring the specified IP address range to Amazon
* using BYOIP.
*/
public CidrAuthorizationContext getCidrAuthorizationContext() {
return this.cidrAuthorizationContext;
}
/**
*
* A signed document that proves that you are authorized to bring the specified IP address range to Amazon using
* BYOIP.
*
*
* @param cidrAuthorizationContext
* A signed document that proves that you are authorized to bring the specified IP address range to Amazon
* using BYOIP.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ProvisionByoipCidrRequest withCidrAuthorizationContext(CidrAuthorizationContext cidrAuthorizationContext) {
setCidrAuthorizationContext(cidrAuthorizationContext);
return this;
}
/**
*
* (IPv6 only) Indicate whether the address range will be publicly advertised to the internet.
*
*
* Default: true
*
*
* @param publiclyAdvertisable
* (IPv6 only) Indicate whether the address range will be publicly advertised to the internet.
*
* Default: true
*/
public void setPubliclyAdvertisable(Boolean publiclyAdvertisable) {
this.publiclyAdvertisable = publiclyAdvertisable;
}
/**
*
* (IPv6 only) Indicate whether the address range will be publicly advertised to the internet.
*
*
* Default: true
*
*
* @return (IPv6 only) Indicate whether the address range will be publicly advertised to the internet.
*
* Default: true
*/
public Boolean getPubliclyAdvertisable() {
return this.publiclyAdvertisable;
}
/**
*
* (IPv6 only) Indicate whether the address range will be publicly advertised to the internet.
*
*
* Default: true
*
*
* @param publiclyAdvertisable
* (IPv6 only) Indicate whether the address range will be publicly advertised to the internet.
*
* Default: true
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ProvisionByoipCidrRequest withPubliclyAdvertisable(Boolean publiclyAdvertisable) {
setPubliclyAdvertisable(publiclyAdvertisable);
return this;
}
/**
*
* (IPv6 only) Indicate whether the address range will be publicly advertised to the internet.
*
*
* Default: true
*
*
* @return (IPv6 only) Indicate whether the address range will be publicly advertised to the internet.
*
* Default: true
*/
public Boolean isPubliclyAdvertisable() {
return this.publiclyAdvertisable;
}
/**
*
* A description for the address range and the address pool.
*
*
* @param description
* A description for the address range and the address pool.
*/
public void setDescription(String description) {
this.description = description;
}
/**
*
* A description for the address range and the address pool.
*
*
* @return A description for the address range and the address pool.
*/
public String getDescription() {
return this.description;
}
/**
*
* A description for the address range and the address pool.
*
*
* @param description
* A description for the address range and the address pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ProvisionByoipCidrRequest withDescription(String description) {
setDescription(description);
return this;
}
/**
*
* The tags to apply to the address pool.
*
*
* @return The tags to apply to the address pool.
*/
public java.util.List getPoolTagSpecifications() {
if (poolTagSpecifications == null) {
poolTagSpecifications = new com.amazonaws.internal.SdkInternalList();
}
return poolTagSpecifications;
}
/**
*
* The tags to apply to the address pool.
*
*
* @param poolTagSpecifications
* The tags to apply to the address pool.
*/
public void setPoolTagSpecifications(java.util.Collection poolTagSpecifications) {
if (poolTagSpecifications == null) {
this.poolTagSpecifications = null;
return;
}
this.poolTagSpecifications = new com.amazonaws.internal.SdkInternalList(poolTagSpecifications);
}
/**
*
* The tags to apply to the address pool.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setPoolTagSpecifications(java.util.Collection)} or
* {@link #withPoolTagSpecifications(java.util.Collection)} if you want to override the existing values.
*
*
* @param poolTagSpecifications
* The tags to apply to the address pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ProvisionByoipCidrRequest withPoolTagSpecifications(TagSpecification... poolTagSpecifications) {
if (this.poolTagSpecifications == null) {
setPoolTagSpecifications(new com.amazonaws.internal.SdkInternalList(poolTagSpecifications.length));
}
for (TagSpecification ele : poolTagSpecifications) {
this.poolTagSpecifications.add(ele);
}
return this;
}
/**
*
* The tags to apply to the address pool.
*
*
* @param poolTagSpecifications
* The tags to apply to the address pool.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ProvisionByoipCidrRequest withPoolTagSpecifications(java.util.Collection poolTagSpecifications) {
setPoolTagSpecifications(poolTagSpecifications);
return this;
}
/**
*
* Reserved.
*
*
* @param multiRegion
* Reserved.
*/
public void setMultiRegion(Boolean multiRegion) {
this.multiRegion = multiRegion;
}
/**
*
* Reserved.
*
*
* @return Reserved.
*/
public Boolean getMultiRegion() {
return this.multiRegion;
}
/**
*
* Reserved.
*
*
* @param multiRegion
* Reserved.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ProvisionByoipCidrRequest withMultiRegion(Boolean multiRegion) {
setMultiRegion(multiRegion);
return this;
}
/**
*
* Reserved.
*
*
* @return Reserved.
*/
public Boolean isMultiRegion() {
return this.multiRegion;
}
/**
* 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 ProvisionByoipCidrRequestMarshaller().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 (getCidr() != null)
sb.append("Cidr: ").append(getCidr()).append(",");
if (getCidrAuthorizationContext() != null)
sb.append("CidrAuthorizationContext: ").append(getCidrAuthorizationContext()).append(",");
if (getPubliclyAdvertisable() != null)
sb.append("PubliclyAdvertisable: ").append(getPubliclyAdvertisable()).append(",");
if (getDescription() != null)
sb.append("Description: ").append(getDescription()).append(",");
if (getPoolTagSpecifications() != null)
sb.append("PoolTagSpecifications: ").append(getPoolTagSpecifications()).append(",");
if (getMultiRegion() != null)
sb.append("MultiRegion: ").append(getMultiRegion());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof ProvisionByoipCidrRequest == false)
return false;
ProvisionByoipCidrRequest other = (ProvisionByoipCidrRequest) obj;
if (other.getCidr() == null ^ this.getCidr() == null)
return false;
if (other.getCidr() != null && other.getCidr().equals(this.getCidr()) == false)
return false;
if (other.getCidrAuthorizationContext() == null ^ this.getCidrAuthorizationContext() == null)
return false;
if (other.getCidrAuthorizationContext() != null && other.getCidrAuthorizationContext().equals(this.getCidrAuthorizationContext()) == false)
return false;
if (other.getPubliclyAdvertisable() == null ^ this.getPubliclyAdvertisable() == null)
return false;
if (other.getPubliclyAdvertisable() != null && other.getPubliclyAdvertisable().equals(this.getPubliclyAdvertisable()) == 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.getPoolTagSpecifications() == null ^ this.getPoolTagSpecifications() == null)
return false;
if (other.getPoolTagSpecifications() != null && other.getPoolTagSpecifications().equals(this.getPoolTagSpecifications()) == false)
return false;
if (other.getMultiRegion() == null ^ this.getMultiRegion() == null)
return false;
if (other.getMultiRegion() != null && other.getMultiRegion().equals(this.getMultiRegion()) == 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 + ((getCidrAuthorizationContext() == null) ? 0 : getCidrAuthorizationContext().hashCode());
hashCode = prime * hashCode + ((getPubliclyAdvertisable() == null) ? 0 : getPubliclyAdvertisable().hashCode());
hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode());
hashCode = prime * hashCode + ((getPoolTagSpecifications() == null) ? 0 : getPoolTagSpecifications().hashCode());
hashCode = prime * hashCode + ((getMultiRegion() == null) ? 0 : getMultiRegion().hashCode());
return hashCode;
}
@Override
public ProvisionByoipCidrRequest clone() {
return (ProvisionByoipCidrRequest) super.clone();
}
}