Package com.abiquo.hypervisor.model.provider

Source Code of com.abiquo.hypervisor.model.provider.HealthState

/**
* Copyright (C) 2008 - Abiquo Holdings S.L. All rights reserved.
*
* Please see /opt/abiquo/tomcat/webapps/legal/ on Abiquo server
* or contact contact@abiquo.com for licensing information.
*/
package com.abiquo.hypervisor.model.provider;

import static java.util.Objects.requireNonNull;

import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

import com.abiquo.hypervisor.model.VirtualMachineIdentifier;

/**
* Describes when virtual machine registered into a {@link LoadBalancer} is suitable to receive
* traffic as defined by its configured {@link HealthCheck}s
*/
@XmlRootElement
@XmlType(name = "healthState")
public class HealthState
{
    private VirtualMachineIdentifier virtualMachineIdentifier;

    private boolean outOfService;

    public HealthState()
    {
        super();
    }

    /**
     * VirtualMachine state in the LoadBalancer.
     *
     * @param virtualMachineIdentifier identify the virtual machine in the provider.
     * @param outOfService if not suitable, otherwise online.
     */
    public HealthState(final VirtualMachineIdentifier virtualMachineIdentifier,
        final boolean outOfService)
    {
        super();
        this.virtualMachineIdentifier =
            requireNonNull(virtualMachineIdentifier, "virtualMachineIdentifier");
        this.outOfService = outOfService;
    }

    /**
     * VirtualMachine state in the LoadBalancer.
     *
     * @param virtualMachineName identify the virtual machine in the provider.
     * @param outOfService if not suitable, otherwise online.
     */
    public HealthState(final String virtualMachineName, final boolean outOfService)
    {
        this(
            new VirtualMachineIdentifier(requireNonNull(virtualMachineName, "virtualMachineName")),
            outOfService);
    }

    /** Identify the virtual machine in the provider. */
    public VirtualMachineIdentifier getVirtualMachineIdentifier()
    {
        return virtualMachineIdentifier;
    }

    /** Not suitable, otherwise online. */
    public boolean isOutOfService()
    {
        return outOfService;
    }

    public void setVirtualMachineIdentifier(final VirtualMachineIdentifier virtualMachineIdentifier)
    {
        this.virtualMachineIdentifier = virtualMachineIdentifier;
    }

    public void setOutOfService(final boolean outOfService)
    {
        this.outOfService = outOfService;
    }
}
TOP

Related Classes of com.abiquo.hypervisor.model.provider.HealthState

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.