/* * 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.elasticloadbalancing.model; import java.io.Serializable; import javax.annotation.Generated; /** *
* Information about the state of an EC2 instance. *
* * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class InstanceState implements Serializable, Cloneable { /** ** The ID of the instance. *
*/ private String instanceId; /** ** The current state of the instance. *
*
     * Valid values: InService | OutOfService | Unknown
     * 
     * Information about the cause of OutOfService instances. Specifically, whether the cause is Elastic
     * Load Balancing or the instance.
     * 
     * Valid values: ELB | Instance | N/A
     * 
* A description of the instance state. This string can contain one or more of the following messages. *
*
     * N/A
     * 
     * A transient error occurred. Please try again later.
     * 
     * Instance has failed at least the UnhealthyThreshold number of health checks consecutively.
     * 
     * Instance has not passed the configured HealthyThreshold number of health checks consecutively.
     * 
     * Instance registration is still in progress.
     * 
     * Instance is in the EC2 Availability Zone for which LoadBalancer is not configured to route traffic to.
     * 
     * Instance is not currently registered with the LoadBalancer.
     * 
     * Instance deregistration currently in progress.
     * 
     * Disable Availability Zone is currently in progress.
     * 
     * Instance is in pending state.
     * 
     * Instance is in stopped state.
     * 
     * Instance is in terminated state.
     * 
* The ID of the instance. *
* * @param instanceId * The ID of the instance. */ public void setInstanceId(String instanceId) { this.instanceId = instanceId; } /** ** The ID of the instance. *
* * @return The ID of the instance. */ public String getInstanceId() { return this.instanceId; } /** ** The ID of the instance. *
* * @param instanceId * The ID of the instance. * @return Returns a reference to this object so that method calls can be chained together. */ public InstanceState withInstanceId(String instanceId) { setInstanceId(instanceId); return this; } /** ** The current state of the instance. *
*
     * Valid values: InService | OutOfService | Unknown
     * 
     *        Valid values: InService | OutOfService | Unknown
     */
    public void setState(String state) {
        this.state = state;
    }
    /**
     * 
* The current state of the instance. *
*
     * Valid values: InService | OutOfService | Unknown
     * 
     *         Valid values: InService | OutOfService | Unknown
     */
    public String getState() {
        return this.state;
    }
    /**
     * 
* The current state of the instance. *
*
     * Valid values: InService | OutOfService | Unknown
     * 
     *        Valid values: InService | OutOfService | Unknown
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public InstanceState withState(String state) {
        setState(state);
        return this;
    }
    /**
     * 
     * Information about the cause of OutOfService instances. Specifically, whether the cause is Elastic
     * Load Balancing or the instance.
     * 
     * Valid values: ELB | Instance | N/A
     * 
OutOfService instances. Specifically, whether the cause is
     *        Elastic Load Balancing or the instance.
     *        
     *        Valid values: ELB | Instance | N/A
     */
    public void setReasonCode(String reasonCode) {
        this.reasonCode = reasonCode;
    }
    /**
     * 
     * Information about the cause of OutOfService instances. Specifically, whether the cause is Elastic
     * Load Balancing or the instance.
     * 
     * Valid values: ELB | Instance | N/A
     * 
OutOfService instances. Specifically, whether the cause is
     *         Elastic Load Balancing or the instance.
     *         
     *         Valid values: ELB | Instance | N/A
     */
    public String getReasonCode() {
        return this.reasonCode;
    }
    /**
     * 
     * Information about the cause of OutOfService instances. Specifically, whether the cause is Elastic
     * Load Balancing or the instance.
     * 
     * Valid values: ELB | Instance | N/A
     * 
OutOfService instances. Specifically, whether the cause is
     *        Elastic Load Balancing or the instance.
     *        
     *        Valid values: ELB | Instance | N/A
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public InstanceState withReasonCode(String reasonCode) {
        setReasonCode(reasonCode);
        return this;
    }
    /**
     * 
* A description of the instance state. This string can contain one or more of the following messages. *
*
     * N/A
     * 
     * A transient error occurred. Please try again later.
     * 
     * Instance has failed at least the UnhealthyThreshold number of health checks consecutively.
     * 
     * Instance has not passed the configured HealthyThreshold number of health checks consecutively.
     * 
     * Instance registration is still in progress.
     * 
     * Instance is in the EC2 Availability Zone for which LoadBalancer is not configured to route traffic to.
     * 
     * Instance is not currently registered with the LoadBalancer.
     * 
     * Instance deregistration currently in progress.
     * 
     * Disable Availability Zone is currently in progress.
     * 
     * Instance is in pending state.
     * 
     * Instance is in stopped state.
     * 
     * Instance is in terminated state.
     * 
     *        N/A
     *        
     *        A transient error occurred. Please try again later.
     *        
     *        Instance has failed at least the UnhealthyThreshold number of health checks consecutively.
     *        
     *        Instance has not passed the configured HealthyThreshold number of health checks consecutively.
     *        
     *        Instance registration is still in progress.
     *        
     *        Instance is in the EC2 Availability Zone for which LoadBalancer is not configured to route traffic to.
     *        
     *        Instance is not currently registered with the LoadBalancer.
     *        
     *        Instance deregistration currently in progress.
     *        
     *        Disable Availability Zone is currently in progress.
     *        
     *        Instance is in pending state.
     *        
     *        Instance is in stopped state.
     *        
     *        Instance is in terminated state.
     *        
* A description of the instance state. This string can contain one or more of the following messages. *
*
     * N/A
     * 
     * A transient error occurred. Please try again later.
     * 
     * Instance has failed at least the UnhealthyThreshold number of health checks consecutively.
     * 
     * Instance has not passed the configured HealthyThreshold number of health checks consecutively.
     * 
     * Instance registration is still in progress.
     * 
     * Instance is in the EC2 Availability Zone for which LoadBalancer is not configured to route traffic to.
     * 
     * Instance is not currently registered with the LoadBalancer.
     * 
     * Instance deregistration currently in progress.
     * 
     * Disable Availability Zone is currently in progress.
     * 
     * Instance is in pending state.
     * 
     * Instance is in stopped state.
     * 
     * Instance is in terminated state.
     * 
     *         N/A
     *         
     *         A transient error occurred. Please try again later.
     *         
     *         Instance has failed at least the UnhealthyThreshold number of health checks consecutively.
     *         
     *         Instance has not passed the configured HealthyThreshold number of health checks consecutively.
     *         
     *         Instance registration is still in progress.
     *         
     *         Instance is in the EC2 Availability Zone for which LoadBalancer is not configured to route traffic to.
     *         
     *         Instance is not currently registered with the LoadBalancer.
     *         
     *         Instance deregistration currently in progress.
     *         
     *         Disable Availability Zone is currently in progress.
     *         
     *         Instance is in pending state.
     *         
     *         Instance is in stopped state.
     *         
     *         Instance is in terminated state.
     *         
* A description of the instance state. This string can contain one or more of the following messages. *
*
     * N/A
     * 
     * A transient error occurred. Please try again later.
     * 
     * Instance has failed at least the UnhealthyThreshold number of health checks consecutively.
     * 
     * Instance has not passed the configured HealthyThreshold number of health checks consecutively.
     * 
     * Instance registration is still in progress.
     * 
     * Instance is in the EC2 Availability Zone for which LoadBalancer is not configured to route traffic to.
     * 
     * Instance is not currently registered with the LoadBalancer.
     * 
     * Instance deregistration currently in progress.
     * 
     * Disable Availability Zone is currently in progress.
     * 
     * Instance is in pending state.
     * 
     * Instance is in stopped state.
     * 
     * Instance is in terminated state.
     * 
     *        N/A
     *        
     *        A transient error occurred. Please try again later.
     *        
     *        Instance has failed at least the UnhealthyThreshold number of health checks consecutively.
     *        
     *        Instance has not passed the configured HealthyThreshold number of health checks consecutively.
     *        
     *        Instance registration is still in progress.
     *        
     *        Instance is in the EC2 Availability Zone for which LoadBalancer is not configured to route traffic to.
     *        
     *        Instance is not currently registered with the LoadBalancer.
     *        
     *        Instance deregistration currently in progress.
     *        
     *        Disable Availability Zone is currently in progress.
     *        
     *        Instance is in pending state.
     *        
     *        Instance is in stopped state.
     *        
     *        Instance is in terminated state.
     *