/* * 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.elasticloadbalancingv2.model; import java.io.Serializable; import javax.annotation.Generated; /** *
* Information about the current health of a target. *
* * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class TargetHealth implements Serializable, Cloneable { /** ** The state of the target. *
*/ private String state; /** ** The reason code. *
*
* If the target state is healthy
, a reason code is not provided.
*
* If the target state is initial
, the reason code can be one of the following values:
*
* Elb.RegistrationInProgress
- The target is in the process of being registered with the load
* balancer.
*
* Elb.InitialHealthChecking
- The load balancer is still sending the target the minimum number of
* health checks required to determine its health status.
*
* If the target state is unhealthy
, the reason code can be one of the following values:
*
* Target.ResponseCodeMismatch
- The health checks did not return an expected HTTP code. Applies only
* to Application Load Balancers and Gateway Load Balancers.
*
* Target.Timeout
- The health check requests timed out. Applies only to Application Load Balancers and
* Gateway Load Balancers.
*
* Target.FailedHealthChecks
- The load balancer received an error while establishing a connection to
* the target or the target response was malformed.
*
* Elb.InternalError
- The health checks failed due to an internal error. Applies only to Application
* Load Balancers.
*
* If the target state is unused
, the reason code can be one of the following values:
*
* Target.NotRegistered
- The target is not registered with the target group.
*
* Target.NotInUse
- The target group is not used by any load balancer or the target is in an
* Availability Zone that is not enabled for its load balancer.
*
* Target.InvalidState
- The target is in the stopped or terminated state.
*
* Target.IpUnusable
- The target IP address is reserved for use by a load balancer.
*
* If the target state is draining
, the reason code can be the following value:
*
* Target.DeregistrationInProgress
- The target is in the process of being deregistered and the
* deregistration delay period has not expired.
*
* If the target state is unavailable
, the reason code can be the following value:
*
* Target.HealthCheckDisabled
- Health checks are disabled for the target group. Applies only to
* Application Load Balancers.
*
* Elb.InternalError
- Target health is unavailable due to an internal error. Applies only to Network
* Load Balancers.
*
* A description of the target health that provides additional details. If the state is healthy
, a
* description is not provided.
*
* The state of the target. *
* * @param state * The state of the target. * @see TargetHealthStateEnum */ public void setState(String state) { this.state = state; } /** ** The state of the target. *
* * @return The state of the target. * @see TargetHealthStateEnum */ public String getState() { return this.state; } /** ** The state of the target. *
* * @param state * The state of the target. * @return Returns a reference to this object so that method calls can be chained together. * @see TargetHealthStateEnum */ public TargetHealth withState(String state) { setState(state); return this; } /** ** The state of the target. *
* * @param state * The state of the target. * @see TargetHealthStateEnum */ public void setState(TargetHealthStateEnum state) { withState(state); } /** ** The state of the target. *
* * @param state * The state of the target. * @return Returns a reference to this object so that method calls can be chained together. * @see TargetHealthStateEnum */ public TargetHealth withState(TargetHealthStateEnum state) { this.state = state.toString(); return this; } /** ** The reason code. *
*
* If the target state is healthy
, a reason code is not provided.
*
* If the target state is initial
, the reason code can be one of the following values:
*
* Elb.RegistrationInProgress
- The target is in the process of being registered with the load
* balancer.
*
* Elb.InitialHealthChecking
- The load balancer is still sending the target the minimum number of
* health checks required to determine its health status.
*
* If the target state is unhealthy
, the reason code can be one of the following values:
*
* Target.ResponseCodeMismatch
- The health checks did not return an expected HTTP code. Applies only
* to Application Load Balancers and Gateway Load Balancers.
*
* Target.Timeout
- The health check requests timed out. Applies only to Application Load Balancers and
* Gateway Load Balancers.
*
* Target.FailedHealthChecks
- The load balancer received an error while establishing a connection to
* the target or the target response was malformed.
*
* Elb.InternalError
- The health checks failed due to an internal error. Applies only to Application
* Load Balancers.
*
* If the target state is unused
, the reason code can be one of the following values:
*
* Target.NotRegistered
- The target is not registered with the target group.
*
* Target.NotInUse
- The target group is not used by any load balancer or the target is in an
* Availability Zone that is not enabled for its load balancer.
*
* Target.InvalidState
- The target is in the stopped or terminated state.
*
* Target.IpUnusable
- The target IP address is reserved for use by a load balancer.
*
* If the target state is draining
, the reason code can be the following value:
*
* Target.DeregistrationInProgress
- The target is in the process of being deregistered and the
* deregistration delay period has not expired.
*
* If the target state is unavailable
, the reason code can be the following value:
*
* Target.HealthCheckDisabled
- Health checks are disabled for the target group. Applies only to
* Application Load Balancers.
*
* Elb.InternalError
- Target health is unavailable due to an internal error. Applies only to Network
* Load Balancers.
*
* If the target state is healthy
, a reason code is not provided.
*
* If the target state is initial
, the reason code can be one of the following values:
*
* Elb.RegistrationInProgress
- The target is in the process of being registered with the load
* balancer.
*
* Elb.InitialHealthChecking
- The load balancer is still sending the target the minimum number
* of health checks required to determine its health status.
*
* If the target state is unhealthy
, the reason code can be one of the following values:
*
* Target.ResponseCodeMismatch
- The health checks did not return an expected HTTP code. Applies
* only to Application Load Balancers and Gateway Load Balancers.
*
* Target.Timeout
- The health check requests timed out. Applies only to Application Load
* Balancers and Gateway Load Balancers.
*
* Target.FailedHealthChecks
- The load balancer received an error while establishing a
* connection to the target or the target response was malformed.
*
* Elb.InternalError
- The health checks failed due to an internal error. Applies only to
* Application Load Balancers.
*
* If the target state is unused
, the reason code can be one of the following values:
*
* Target.NotRegistered
- The target is not registered with the target group.
*
* Target.NotInUse
- The target group is not used by any load balancer or the target is in an
* Availability Zone that is not enabled for its load balancer.
*
* Target.InvalidState
- The target is in the stopped or terminated state.
*
* Target.IpUnusable
- The target IP address is reserved for use by a load balancer.
*
* If the target state is draining
, the reason code can be the following value:
*
* Target.DeregistrationInProgress
- The target is in the process of being deregistered and the
* deregistration delay period has not expired.
*
* If the target state is unavailable
, the reason code can be the following value:
*
* Target.HealthCheckDisabled
- Health checks are disabled for the target group. Applies only to
* Application Load Balancers.
*
* Elb.InternalError
- Target health is unavailable due to an internal error. Applies only to
* Network Load Balancers.
*
* The reason code. *
*
* If the target state is healthy
, a reason code is not provided.
*
* If the target state is initial
, the reason code can be one of the following values:
*
* Elb.RegistrationInProgress
- The target is in the process of being registered with the load
* balancer.
*
* Elb.InitialHealthChecking
- The load balancer is still sending the target the minimum number of
* health checks required to determine its health status.
*
* If the target state is unhealthy
, the reason code can be one of the following values:
*
* Target.ResponseCodeMismatch
- The health checks did not return an expected HTTP code. Applies only
* to Application Load Balancers and Gateway Load Balancers.
*
* Target.Timeout
- The health check requests timed out. Applies only to Application Load Balancers and
* Gateway Load Balancers.
*
* Target.FailedHealthChecks
- The load balancer received an error while establishing a connection to
* the target or the target response was malformed.
*
* Elb.InternalError
- The health checks failed due to an internal error. Applies only to Application
* Load Balancers.
*
* If the target state is unused
, the reason code can be one of the following values:
*
* Target.NotRegistered
- The target is not registered with the target group.
*
* Target.NotInUse
- The target group is not used by any load balancer or the target is in an
* Availability Zone that is not enabled for its load balancer.
*
* Target.InvalidState
- The target is in the stopped or terminated state.
*
* Target.IpUnusable
- The target IP address is reserved for use by a load balancer.
*
* If the target state is draining
, the reason code can be the following value:
*
* Target.DeregistrationInProgress
- The target is in the process of being deregistered and the
* deregistration delay period has not expired.
*
* If the target state is unavailable
, the reason code can be the following value:
*
* Target.HealthCheckDisabled
- Health checks are disabled for the target group. Applies only to
* Application Load Balancers.
*
* Elb.InternalError
- Target health is unavailable due to an internal error. Applies only to Network
* Load Balancers.
*
* If the target state is healthy
, a reason code is not provided.
*
* If the target state is initial
, the reason code can be one of the following values:
*
* Elb.RegistrationInProgress
- The target is in the process of being registered with the load
* balancer.
*
* Elb.InitialHealthChecking
- The load balancer is still sending the target the minimum number
* of health checks required to determine its health status.
*
* If the target state is unhealthy
, the reason code can be one of the following values:
*
* Target.ResponseCodeMismatch
- The health checks did not return an expected HTTP code.
* Applies only to Application Load Balancers and Gateway Load Balancers.
*
* Target.Timeout
- The health check requests timed out. Applies only to Application Load
* Balancers and Gateway Load Balancers.
*
* Target.FailedHealthChecks
- The load balancer received an error while establishing a
* connection to the target or the target response was malformed.
*
* Elb.InternalError
- The health checks failed due to an internal error. Applies only to
* Application Load Balancers.
*
* If the target state is unused
, the reason code can be one of the following values:
*
* Target.NotRegistered
- The target is not registered with the target group.
*
* Target.NotInUse
- The target group is not used by any load balancer or the target is in an
* Availability Zone that is not enabled for its load balancer.
*
* Target.InvalidState
- The target is in the stopped or terminated state.
*
* Target.IpUnusable
- The target IP address is reserved for use by a load balancer.
*
* If the target state is draining
, the reason code can be the following value:
*
* Target.DeregistrationInProgress
- The target is in the process of being deregistered and the
* deregistration delay period has not expired.
*
* If the target state is unavailable
, the reason code can be the following value:
*
* Target.HealthCheckDisabled
- Health checks are disabled for the target group. Applies only
* to Application Load Balancers.
*
* Elb.InternalError
- Target health is unavailable due to an internal error. Applies only to
* Network Load Balancers.
*
* The reason code. *
*
* If the target state is healthy
, a reason code is not provided.
*
* If the target state is initial
, the reason code can be one of the following values:
*
* Elb.RegistrationInProgress
- The target is in the process of being registered with the load
* balancer.
*
* Elb.InitialHealthChecking
- The load balancer is still sending the target the minimum number of
* health checks required to determine its health status.
*
* If the target state is unhealthy
, the reason code can be one of the following values:
*
* Target.ResponseCodeMismatch
- The health checks did not return an expected HTTP code. Applies only
* to Application Load Balancers and Gateway Load Balancers.
*
* Target.Timeout
- The health check requests timed out. Applies only to Application Load Balancers and
* Gateway Load Balancers.
*
* Target.FailedHealthChecks
- The load balancer received an error while establishing a connection to
* the target or the target response was malformed.
*
* Elb.InternalError
- The health checks failed due to an internal error. Applies only to Application
* Load Balancers.
*
* If the target state is unused
, the reason code can be one of the following values:
*
* Target.NotRegistered
- The target is not registered with the target group.
*
* Target.NotInUse
- The target group is not used by any load balancer or the target is in an
* Availability Zone that is not enabled for its load balancer.
*
* Target.InvalidState
- The target is in the stopped or terminated state.
*
* Target.IpUnusable
- The target IP address is reserved for use by a load balancer.
*
* If the target state is draining
, the reason code can be the following value:
*
* Target.DeregistrationInProgress
- The target is in the process of being deregistered and the
* deregistration delay period has not expired.
*
* If the target state is unavailable
, the reason code can be the following value:
*
* Target.HealthCheckDisabled
- Health checks are disabled for the target group. Applies only to
* Application Load Balancers.
*
* Elb.InternalError
- Target health is unavailable due to an internal error. Applies only to Network
* Load Balancers.
*
* If the target state is healthy
, a reason code is not provided.
*
* If the target state is initial
, the reason code can be one of the following values:
*
* Elb.RegistrationInProgress
- The target is in the process of being registered with the load
* balancer.
*
* Elb.InitialHealthChecking
- The load balancer is still sending the target the minimum number
* of health checks required to determine its health status.
*
* If the target state is unhealthy
, the reason code can be one of the following values:
*
* Target.ResponseCodeMismatch
- The health checks did not return an expected HTTP code. Applies
* only to Application Load Balancers and Gateway Load Balancers.
*
* Target.Timeout
- The health check requests timed out. Applies only to Application Load
* Balancers and Gateway Load Balancers.
*
* Target.FailedHealthChecks
- The load balancer received an error while establishing a
* connection to the target or the target response was malformed.
*
* Elb.InternalError
- The health checks failed due to an internal error. Applies only to
* Application Load Balancers.
*
* If the target state is unused
, the reason code can be one of the following values:
*
* Target.NotRegistered
- The target is not registered with the target group.
*
* Target.NotInUse
- The target group is not used by any load balancer or the target is in an
* Availability Zone that is not enabled for its load balancer.
*
* Target.InvalidState
- The target is in the stopped or terminated state.
*
* Target.IpUnusable
- The target IP address is reserved for use by a load balancer.
*
* If the target state is draining
, the reason code can be the following value:
*
* Target.DeregistrationInProgress
- The target is in the process of being deregistered and the
* deregistration delay period has not expired.
*
* If the target state is unavailable
, the reason code can be the following value:
*
* Target.HealthCheckDisabled
- Health checks are disabled for the target group. Applies only to
* Application Load Balancers.
*
* Elb.InternalError
- Target health is unavailable due to an internal error. Applies only to
* Network Load Balancers.
*
* The reason code. *
*
* If the target state is healthy
, a reason code is not provided.
*
* If the target state is initial
, the reason code can be one of the following values:
*
* Elb.RegistrationInProgress
- The target is in the process of being registered with the load
* balancer.
*
* Elb.InitialHealthChecking
- The load balancer is still sending the target the minimum number of
* health checks required to determine its health status.
*
* If the target state is unhealthy
, the reason code can be one of the following values:
*
* Target.ResponseCodeMismatch
- The health checks did not return an expected HTTP code. Applies only
* to Application Load Balancers and Gateway Load Balancers.
*
* Target.Timeout
- The health check requests timed out. Applies only to Application Load Balancers and
* Gateway Load Balancers.
*
* Target.FailedHealthChecks
- The load balancer received an error while establishing a connection to
* the target or the target response was malformed.
*
* Elb.InternalError
- The health checks failed due to an internal error. Applies only to Application
* Load Balancers.
*
* If the target state is unused
, the reason code can be one of the following values:
*
* Target.NotRegistered
- The target is not registered with the target group.
*
* Target.NotInUse
- The target group is not used by any load balancer or the target is in an
* Availability Zone that is not enabled for its load balancer.
*
* Target.InvalidState
- The target is in the stopped or terminated state.
*
* Target.IpUnusable
- The target IP address is reserved for use by a load balancer.
*
* If the target state is draining
, the reason code can be the following value:
*
* Target.DeregistrationInProgress
- The target is in the process of being deregistered and the
* deregistration delay period has not expired.
*
* If the target state is unavailable
, the reason code can be the following value:
*
* Target.HealthCheckDisabled
- Health checks are disabled for the target group. Applies only to
* Application Load Balancers.
*
* Elb.InternalError
- Target health is unavailable due to an internal error. Applies only to Network
* Load Balancers.
*
* If the target state is healthy
, a reason code is not provided.
*
* If the target state is initial
, the reason code can be one of the following values:
*
* Elb.RegistrationInProgress
- The target is in the process of being registered with the load
* balancer.
*
* Elb.InitialHealthChecking
- The load balancer is still sending the target the minimum number
* of health checks required to determine its health status.
*
* If the target state is unhealthy
, the reason code can be one of the following values:
*
* Target.ResponseCodeMismatch
- The health checks did not return an expected HTTP code. Applies
* only to Application Load Balancers and Gateway Load Balancers.
*
* Target.Timeout
- The health check requests timed out. Applies only to Application Load
* Balancers and Gateway Load Balancers.
*
* Target.FailedHealthChecks
- The load balancer received an error while establishing a
* connection to the target or the target response was malformed.
*
* Elb.InternalError
- The health checks failed due to an internal error. Applies only to
* Application Load Balancers.
*
* If the target state is unused
, the reason code can be one of the following values:
*
* Target.NotRegistered
- The target is not registered with the target group.
*
* Target.NotInUse
- The target group is not used by any load balancer or the target is in an
* Availability Zone that is not enabled for its load balancer.
*
* Target.InvalidState
- The target is in the stopped or terminated state.
*
* Target.IpUnusable
- The target IP address is reserved for use by a load balancer.
*
* If the target state is draining
, the reason code can be the following value:
*
* Target.DeregistrationInProgress
- The target is in the process of being deregistered and the
* deregistration delay period has not expired.
*
* If the target state is unavailable
, the reason code can be the following value:
*
* Target.HealthCheckDisabled
- Health checks are disabled for the target group. Applies only to
* Application Load Balancers.
*
* Elb.InternalError
- Target health is unavailable due to an internal error. Applies only to
* Network Load Balancers.
*
* The reason code. *
*
* If the target state is healthy
, a reason code is not provided.
*
* If the target state is initial
, the reason code can be one of the following values:
*
* Elb.RegistrationInProgress
- The target is in the process of being registered with the load
* balancer.
*
* Elb.InitialHealthChecking
- The load balancer is still sending the target the minimum number of
* health checks required to determine its health status.
*
* If the target state is unhealthy
, the reason code can be one of the following values:
*
* Target.ResponseCodeMismatch
- The health checks did not return an expected HTTP code. Applies only
* to Application Load Balancers and Gateway Load Balancers.
*
* Target.Timeout
- The health check requests timed out. Applies only to Application Load Balancers and
* Gateway Load Balancers.
*
* Target.FailedHealthChecks
- The load balancer received an error while establishing a connection to
* the target or the target response was malformed.
*
* Elb.InternalError
- The health checks failed due to an internal error. Applies only to Application
* Load Balancers.
*
* If the target state is unused
, the reason code can be one of the following values:
*
* Target.NotRegistered
- The target is not registered with the target group.
*
* Target.NotInUse
- The target group is not used by any load balancer or the target is in an
* Availability Zone that is not enabled for its load balancer.
*
* Target.InvalidState
- The target is in the stopped or terminated state.
*
* Target.IpUnusable
- The target IP address is reserved for use by a load balancer.
*
* If the target state is draining
, the reason code can be the following value:
*
* Target.DeregistrationInProgress
- The target is in the process of being deregistered and the
* deregistration delay period has not expired.
*
* If the target state is unavailable
, the reason code can be the following value:
*
* Target.HealthCheckDisabled
- Health checks are disabled for the target group. Applies only to
* Application Load Balancers.
*
* Elb.InternalError
- Target health is unavailable due to an internal error. Applies only to Network
* Load Balancers.
*
* If the target state is healthy
, a reason code is not provided.
*
* If the target state is initial
, the reason code can be one of the following values:
*
* Elb.RegistrationInProgress
- The target is in the process of being registered with the load
* balancer.
*
* Elb.InitialHealthChecking
- The load balancer is still sending the target the minimum number
* of health checks required to determine its health status.
*
* If the target state is unhealthy
, the reason code can be one of the following values:
*
* Target.ResponseCodeMismatch
- The health checks did not return an expected HTTP code. Applies
* only to Application Load Balancers and Gateway Load Balancers.
*
* Target.Timeout
- The health check requests timed out. Applies only to Application Load
* Balancers and Gateway Load Balancers.
*
* Target.FailedHealthChecks
- The load balancer received an error while establishing a
* connection to the target or the target response was malformed.
*
* Elb.InternalError
- The health checks failed due to an internal error. Applies only to
* Application Load Balancers.
*
* If the target state is unused
, the reason code can be one of the following values:
*
* Target.NotRegistered
- The target is not registered with the target group.
*
* Target.NotInUse
- The target group is not used by any load balancer or the target is in an
* Availability Zone that is not enabled for its load balancer.
*
* Target.InvalidState
- The target is in the stopped or terminated state.
*
* Target.IpUnusable
- The target IP address is reserved for use by a load balancer.
*
* If the target state is draining
, the reason code can be the following value:
*
* Target.DeregistrationInProgress
- The target is in the process of being deregistered and the
* deregistration delay period has not expired.
*
* If the target state is unavailable
, the reason code can be the following value:
*
* Target.HealthCheckDisabled
- Health checks are disabled for the target group. Applies only to
* Application Load Balancers.
*
* Elb.InternalError
- Target health is unavailable due to an internal error. Applies only to
* Network Load Balancers.
*
* A description of the target health that provides additional details. If the state is healthy
, a
* description is not provided.
*
healthy
,
* a description is not provided.
*/
public void setDescription(String description) {
this.description = description;
}
/**
*
* A description of the target health that provides additional details. If the state is healthy
, a
* description is not provided.
*
healthy
* , a description is not provided.
*/
public String getDescription() {
return this.description;
}
/**
*
* A description of the target health that provides additional details. If the state is healthy
, a
* description is not provided.
*
healthy
,
* a description is not provided.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public TargetHealth withDescription(String description) {
setDescription(description);
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 (getState() != null)
sb.append("State: ").append(getState()).append(",");
if (getReason() != null)
sb.append("Reason: ").append(getReason()).append(",");
if (getDescription() != null)
sb.append("Description: ").append(getDescription());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof TargetHealth == false)
return false;
TargetHealth other = (TargetHealth) obj;
if (other.getState() == null ^ this.getState() == null)
return false;
if (other.getState() != null && other.getState().equals(this.getState()) == false)
return false;
if (other.getReason() == null ^ this.getReason() == null)
return false;
if (other.getReason() != null && other.getReason().equals(this.getReason()) == false)
return false;
if (other.getDescription() == null ^ this.getDescription() == null)
return false;
if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getState() == null) ? 0 : getState().hashCode());
hashCode = prime * hashCode + ((getReason() == null) ? 0 : getReason().hashCode());
hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode());
return hashCode;
}
@Override
public TargetHealth clone() {
try {
return (TargetHealth) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
}