All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.autoscaling.model.LoadBalancerTargetGroupState Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Auto Scaling module holds the client classes that are used for communicating with Auto Scaling Service

There is a newer version: 1.11.7
Show newest version
/*
 * Copyright 2011-2016 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.autoscaling.model;

import java.io.Serializable;

/**
 * 

* Describes the state of a target group. *

*

* If you attach a target group to an existing Auto Scaling group, the initial * state is Adding. The state transitions to Added * after all Auto Scaling instances are registered with the target group. If ELB * health checks are enabled, the state transitions to InService * after at least one Auto Scaling instance passes the health check. If EC2 * health checks are enabled instead, the target group remains in the * Added state. *

*/ public class LoadBalancerTargetGroupState implements Serializable, Cloneable { /** *

* The Amazon Resource Name (ARN) of the target group. *

*/ private String loadBalancerTargetGroupARN; /** *

* The state of the target group. *

*
    *
  • *

    * Adding - The Auto Scaling instances are being registered * with the target group. *

    *
  • *
  • *

    * Added - All Auto Scaling instances are registered with the * target group. *

    *
  • *
  • *

    * InService - At least one Auto Scaling instance passed an ELB * health check. *

    *
  • *
  • *

    * Removing - The Auto Scaling instances are being deregistered * from the target group. If connection draining is enabled, Elastic Load * Balancing waits for in-flight requests to complete before deregistering * the instances. *

    *
  • *
  • *

    * Removed - All Auto Scaling instances are deregistered from * the target group. *

    *
  • *
*/ private String state; /** *

* The Amazon Resource Name (ARN) of the target group. *

* * @param loadBalancerTargetGroupARN * The Amazon Resource Name (ARN) of the target group. */ public void setLoadBalancerTargetGroupARN(String loadBalancerTargetGroupARN) { this.loadBalancerTargetGroupARN = loadBalancerTargetGroupARN; } /** *

* The Amazon Resource Name (ARN) of the target group. *

* * @return The Amazon Resource Name (ARN) of the target group. */ public String getLoadBalancerTargetGroupARN() { return this.loadBalancerTargetGroupARN; } /** *

* The Amazon Resource Name (ARN) of the target group. *

* * @param loadBalancerTargetGroupARN * The Amazon Resource Name (ARN) of the target group. * @return Returns a reference to this object so that method calls can be * chained together. */ public LoadBalancerTargetGroupState withLoadBalancerTargetGroupARN( String loadBalancerTargetGroupARN) { setLoadBalancerTargetGroupARN(loadBalancerTargetGroupARN); return this; } /** *

* The state of the target group. *

*
    *
  • *

    * Adding - The Auto Scaling instances are being registered * with the target group. *

    *
  • *
  • *

    * Added - All Auto Scaling instances are registered with the * target group. *

    *
  • *
  • *

    * InService - At least one Auto Scaling instance passed an ELB * health check. *

    *
  • *
  • *

    * Removing - The Auto Scaling instances are being deregistered * from the target group. If connection draining is enabled, Elastic Load * Balancing waits for in-flight requests to complete before deregistering * the instances. *

    *
  • *
  • *

    * Removed - All Auto Scaling instances are deregistered from * the target group. *

    *
  • *
* * @param state * The state of the target group.

*
    *
  • *

    * Adding - The Auto Scaling instances are being * registered with the target group. *

    *
  • *
  • *

    * Added - All Auto Scaling instances are registered * with the target group. *

    *
  • *
  • *

    * InService - At least one Auto Scaling instance passed * an ELB health check. *

    *
  • *
  • *

    * Removing - The Auto Scaling instances are being * deregistered from the target group. If connection draining is * enabled, Elastic Load Balancing waits for in-flight requests to * complete before deregistering the instances. *

    *
  • *
  • *

    * Removed - All Auto Scaling instances are deregistered * from the target group. *

    *
  • */ public void setState(String state) { this.state = state; } /** *

    * The state of the target group. *

    *
      *
    • *

      * Adding - The Auto Scaling instances are being registered * with the target group. *

      *
    • *
    • *

      * Added - All Auto Scaling instances are registered with the * target group. *

      *
    • *
    • *

      * InService - At least one Auto Scaling instance passed an ELB * health check. *

      *
    • *
    • *

      * Removing - The Auto Scaling instances are being deregistered * from the target group. If connection draining is enabled, Elastic Load * Balancing waits for in-flight requests to complete before deregistering * the instances. *

      *
    • *
    • *

      * Removed - All Auto Scaling instances are deregistered from * the target group. *

      *
    • *
    * * @return The state of the target group.

    *
      *
    • *

      * Adding - The Auto Scaling instances are being * registered with the target group. *

      *
    • *
    • *

      * Added - All Auto Scaling instances are registered * with the target group. *

      *
    • *
    • *

      * InService - At least one Auto Scaling instance * passed an ELB health check. *

      *
    • *
    • *

      * Removing - The Auto Scaling instances are being * deregistered from the target group. If connection draining is * enabled, Elastic Load Balancing waits for in-flight requests to * complete before deregistering the instances. *

      *
    • *
    • *

      * Removed - All Auto Scaling instances are * deregistered from the target group. *

      *
    • */ public String getState() { return this.state; } /** *

      * The state of the target group. *

      *
        *
      • *

        * Adding - The Auto Scaling instances are being registered * with the target group. *

        *
      • *
      • *

        * Added - All Auto Scaling instances are registered with the * target group. *

        *
      • *
      • *

        * InService - At least one Auto Scaling instance passed an ELB * health check. *

        *
      • *
      • *

        * Removing - The Auto Scaling instances are being deregistered * from the target group. If connection draining is enabled, Elastic Load * Balancing waits for in-flight requests to complete before deregistering * the instances. *

        *
      • *
      • *

        * Removed - All Auto Scaling instances are deregistered from * the target group. *

        *
      • *
      * * @param state * The state of the target group.

      *
        *
      • *

        * Adding - The Auto Scaling instances are being * registered with the target group. *

        *
      • *
      • *

        * Added - All Auto Scaling instances are registered * with the target group. *

        *
      • *
      • *

        * InService - At least one Auto Scaling instance passed * an ELB health check. *

        *
      • *
      • *

        * Removing - The Auto Scaling instances are being * deregistered from the target group. If connection draining is * enabled, Elastic Load Balancing waits for in-flight requests to * complete before deregistering the instances. *

        *
      • *
      • *

        * Removed - All Auto Scaling instances are deregistered * from the target group. *

        *
      • * @return Returns a reference to this object so that method calls can be * chained together. */ public LoadBalancerTargetGroupState withState(String state) { setState(state); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getLoadBalancerTargetGroupARN() != null) sb.append("LoadBalancerTargetGroupARN: " + getLoadBalancerTargetGroupARN() + ","); if (getState() != null) sb.append("State: " + getState()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof LoadBalancerTargetGroupState == false) return false; LoadBalancerTargetGroupState other = (LoadBalancerTargetGroupState) obj; if (other.getLoadBalancerTargetGroupARN() == null ^ this.getLoadBalancerTargetGroupARN() == null) return false; if (other.getLoadBalancerTargetGroupARN() != null && other.getLoadBalancerTargetGroupARN().equals( this.getLoadBalancerTargetGroupARN()) == false) return false; if (other.getState() == null ^ this.getState() == null) return false; if (other.getState() != null && other.getState().equals(this.getState()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getLoadBalancerTargetGroupARN() == null) ? 0 : getLoadBalancerTargetGroupARN().hashCode()); hashCode = prime * hashCode + ((getState() == null) ? 0 : getState().hashCode()); return hashCode; } @Override public LoadBalancerTargetGroupState clone() { try { return (LoadBalancerTargetGroupState) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException( "Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy