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

com.softlayer.api.service.network.lbaas.HealthMonitor Maven / Gradle / Ivy

There is a newer version: 0.3.4
Show newest version
package com.softlayer.api.service.network.lbaas;

import com.softlayer.api.ApiClient;
import com.softlayer.api.ResponseHandler;
import com.softlayer.api.annotation.ApiMethod;
import com.softlayer.api.annotation.ApiProperty;
import com.softlayer.api.annotation.ApiType;
import com.softlayer.api.service.Entity;
import com.softlayer.api.service.network.lbaas.LoadBalancer;
import com.softlayer.api.service.network.lbaas.LoadBalancerHealthMonitorConfiguration;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.concurrent.Future;

/**
 * The SoftLayer_Network_LBaaS_HealthMonitor type presents a structure containing attributes of a health monitor object associated with load balancer instance. Note that the relationship between backend (pool) and health monitor is N-to-1, especially that the pools object associated with a health monitor must have the same pair of protocol and port. Example: frontend FA: http, 80   - backend BA: tcp, 3456 - healthmonitor HM_tcp3456 frontend FB: https, 443 - backend BB: tcp, 3456 - healthmonitor HM_tcp3456 In above example both backends BA and BB share the same healthmonitor HM_tcp3456 
 *
 * @see SoftLayer_Network_LBaaS_HealthMonitor
 */
@ApiType("SoftLayer_Network_LBaaS_HealthMonitor")
public class HealthMonitor extends Entity {

    /**
     * Create date of the health monitor instance
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected GregorianCalendar createDate;

    public GregorianCalendar getCreateDate() {
        return createDate;
    }

    public void setCreateDate(GregorianCalendar createDate) {
        createDateSpecified = true;
        this.createDate = createDate;
    }

    protected boolean createDateSpecified;

    public boolean isCreateDateSpecified() {
        return createDateSpecified;
    }

    public void unsetCreateDate() {
        createDate = null;
        createDateSpecified = false;
    }

    /**
     * Health monitor's identifier
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long id;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        idSpecified = true;
        this.id = id;
    }

    protected boolean idSpecified;

    public boolean isIdSpecified() {
        return idSpecified;
    }

    public void unsetId() {
        id = null;
        idSpecified = false;
    }

    /**
     * Interval in seconds to perform health check
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long interval;

    public Long getInterval() {
        return interval;
    }

    public void setInterval(Long interval) {
        intervalSpecified = true;
        this.interval = interval;
    }

    protected boolean intervalSpecified;

    public boolean isIntervalSpecified() {
        return intervalSpecified;
    }

    public void unsetInterval() {
        interval = null;
        intervalSpecified = false;
    }

    /**
     * Maximum number of health check retries in case of failure
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long maxRetries;

    public Long getMaxRetries() {
        return maxRetries;
    }

    public void setMaxRetries(Long maxRetries) {
        maxRetriesSpecified = true;
        this.maxRetries = maxRetries;
    }

    protected boolean maxRetriesSpecified;

    public boolean isMaxRetriesSpecified() {
        return maxRetriesSpecified;
    }

    public void unsetMaxRetries() {
        maxRetries = null;
        maxRetriesSpecified = false;
    }

    /**
     * Modify date of the health monitor instance
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected GregorianCalendar modifyDate;

    public GregorianCalendar getModifyDate() {
        return modifyDate;
    }

    public void setModifyDate(GregorianCalendar modifyDate) {
        modifyDateSpecified = true;
        this.modifyDate = modifyDate;
    }

    protected boolean modifyDateSpecified;

    public boolean isModifyDateSpecified() {
        return modifyDateSpecified;
    }

    public void unsetModifyDate() {
        modifyDate = null;
        modifyDateSpecified = false;
    }

    /**
     * Type of health check, valid values are "TCP", "HTTP" and "HTTPS"
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String monitorType;

    public String getMonitorType() {
        return monitorType;
    }

    public void setMonitorType(String monitorType) {
        monitorTypeSpecified = true;
        this.monitorType = monitorType;
    }

    protected boolean monitorTypeSpecified;

    public boolean isMonitorTypeSpecified() {
        return monitorTypeSpecified;
    }

    public void unsetMonitorType() {
        monitorType = null;
        monitorTypeSpecified = false;
    }

    /**
     * Provisioning status of the health monitor, supported values are "CREATE_PENDING",
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String provisioningStatus;

    public String getProvisioningStatus() {
        return provisioningStatus;
    }

    public void setProvisioningStatus(String provisioningStatus) {
        provisioningStatusSpecified = true;
        this.provisioningStatus = provisioningStatus;
    }

    protected boolean provisioningStatusSpecified;

    public boolean isProvisioningStatusSpecified() {
        return provisioningStatusSpecified;
    }

    public void unsetProvisioningStatus() {
        provisioningStatus = null;
        provisioningStatusSpecified = false;
    }

    /**
     * Timeout in seconds to wait for health checks response
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long timeout;

    public Long getTimeout() {
        return timeout;
    }

    public void setTimeout(Long timeout) {
        timeoutSpecified = true;
        this.timeout = timeout;
    }

    protected boolean timeoutSpecified;

    public boolean isTimeoutSpecified() {
        return timeoutSpecified;
    }

    public void unsetTimeout() {
        timeout = null;
        timeoutSpecified = false;
    }

    /**
     * If monitorType is "HTTP" this specifies the whole URL path
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String urlPath;

    public String getUrlPath() {
        return urlPath;
    }

    public void setUrlPath(String urlPath) {
        urlPathSpecified = true;
        this.urlPath = urlPath;
    }

    protected boolean urlPathSpecified;

    public boolean isUrlPathSpecified() {
        return urlPathSpecified;
    }

    public void unsetUrlPath() {
        urlPath = null;
        urlPathSpecified = false;
    }

    /**
     * Health monitor's UUID
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String uuid;

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        uuidSpecified = true;
        this.uuid = uuid;
    }

    protected boolean uuidSpecified;

    public boolean isUuidSpecified() {
        return uuidSpecified;
    }

    public void unsetUuid() {
        uuid = null;
        uuidSpecified = false;
    }

    public Service asService(ApiClient client) {
        return service(client, id);
    }

    public static Service service(ApiClient client) {
        return client.createService(Service.class, null);
    }

    public static Service service(ApiClient client, Long id) {
        return client.createService(Service.class, id == null ? null : id.toString());
    }

    /**
     * @see SoftLayer_Network_LBaaS_HealthMonitor
     */
    @com.softlayer.api.annotation.ApiService("SoftLayer_Network_LBaaS_HealthMonitor")
    public static interface Service extends com.softlayer.api.Service {

        public ServiceAsync asAsync();
        public Mask withNewMask();
        public Mask withMask();
        public void setMask(Mask mask);

        /**
         * @see SoftLayer_Network_LBaaS_HealthMonitor::getObject
         */
        @ApiMethod(instanceRequired = true)
        public HealthMonitor getObject();

        /**
         * Update load balancers health monitor and return load balancer object with listeners (frontend), pools (backend), health monitor server instances (members) and datacenter populated 
         *
         * @see SoftLayer_Network_LBaaS_HealthMonitor::updateLoadBalancerHealthMonitors
         */
        @ApiMethod
        public LoadBalancer updateLoadBalancerHealthMonitors(String loadBalancerUuid, List healthMonitorConfigurations);

    }

    public static interface ServiceAsync extends com.softlayer.api.ServiceAsync {

        public Mask withNewMask();
        public Mask withMask();
        public void setMask(Mask mask);

        /**
         * Async version of {@link Service#getObject}
         */
        public Future getObject();

        public Future getObject(ResponseHandler callback);

        /**
         * Async version of {@link Service#updateLoadBalancerHealthMonitors}
         */
        public Future updateLoadBalancerHealthMonitors(String loadBalancerUuid, List healthMonitorConfigurations);

        public Future updateLoadBalancerHealthMonitors(String loadBalancerUuid, List healthMonitorConfigurations, ResponseHandler callback);

    }

    public static class Mask extends com.softlayer.api.service.Entity.Mask {

        public Mask createDate() {
            withLocalProperty("createDate");
            return this;
        }

        public Mask id() {
            withLocalProperty("id");
            return this;
        }

        public Mask interval() {
            withLocalProperty("interval");
            return this;
        }

        public Mask maxRetries() {
            withLocalProperty("maxRetries");
            return this;
        }

        public Mask modifyDate() {
            withLocalProperty("modifyDate");
            return this;
        }

        public Mask monitorType() {
            withLocalProperty("monitorType");
            return this;
        }

        public Mask provisioningStatus() {
            withLocalProperty("provisioningStatus");
            return this;
        }

        public Mask timeout() {
            withLocalProperty("timeout");
            return this;
        }

        public Mask urlPath() {
            withLocalProperty("urlPath");
            return this;
        }

        public Mask uuid() {
            withLocalProperty("uuid");
            return this;
        }

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy