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

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

The newest version!
package com.softlayer.api.service.network.lbaas;

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.HealthMonitor;
import com.softlayer.api.service.network.lbaas.Member;
import com.softlayer.api.service.network.lbaas.SessionAffinity;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;

/**
 * The SoftLayer_Network_LBaaS_Pool type presents a structure containing attributes of a load balancer pool such as the protocol, protocol port and the load balancing algorithm used. 
 *
 * @see SoftLayer_Network_LBaaS_Pool
 */
@ApiType("SoftLayer_Network_LBaaS_Pool")
public class Pool extends Entity {

    @ApiProperty
    protected HealthMonitor healthMonitor;

    public HealthMonitor getHealthMonitor() {
        return healthMonitor;
    }

    public void setHealthMonitor(HealthMonitor healthMonitor) {
        this.healthMonitor = healthMonitor;
    }

    @ApiProperty
    protected List members;

    public List getMembers() {
        if (members == null) {
            members = new ArrayList();
        }
        return members;
    }

    @ApiProperty
    protected SessionAffinity sessionAffinity;

    public SessionAffinity getSessionAffinity() {
        return sessionAffinity;
    }

    public void setSessionAffinity(SessionAffinity sessionAffinity) {
        this.sessionAffinity = sessionAffinity;
    }

    /**
     * Create date of the pool 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;
    }

    /**
     * Load balancing algorithm: "ROUNDROBIN", "WEIGHTED_RR", "LEASTCONNECTION"
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String loadBalancingAlgorithm;

    public String getLoadBalancingAlgorithm() {
        return loadBalancingAlgorithm;
    }

    public void setLoadBalancingAlgorithm(String loadBalancingAlgorithm) {
        loadBalancingAlgorithmSpecified = true;
        this.loadBalancingAlgorithm = loadBalancingAlgorithm;
    }

    protected boolean loadBalancingAlgorithmSpecified;

    public boolean isLoadBalancingAlgorithmSpecified() {
        return loadBalancingAlgorithmSpecified;
    }

    public void unsetLoadBalancingAlgorithm() {
        loadBalancingAlgorithm = null;
        loadBalancingAlgorithmSpecified = false;
    }

    /**
     * Last updated date of the pool
     */
    @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;
    }

    /**
     * Backends protocol, supported protocols are "TCP", "HTTP" and "HTTPS"
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String protocol;

    public String getProtocol() {
        return protocol;
    }

    public void setProtocol(String protocol) {
        protocolSpecified = true;
        this.protocol = protocol;
    }

    protected boolean protocolSpecified;

    public boolean isProtocolSpecified() {
        return protocolSpecified;
    }

    public void unsetProtocol() {
        protocol = null;
        protocolSpecified = false;
    }

    /**
     * Backends protocol port
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long protocolPort;

    public Long getProtocolPort() {
        return protocolPort;
    }

    public void setProtocolPort(Long protocolPort) {
        protocolPortSpecified = true;
        this.protocolPort = protocolPort;
    }

    protected boolean protocolPortSpecified;

    public boolean isProtocolPortSpecified() {
        return protocolPortSpecified;
    }

    public void unsetProtocolPort() {
        protocolPort = null;
        protocolPortSpecified = false;
    }

    /**
     * Provisioning status of a load balancer pool.
     */
    @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;
    }

    /**
     * Instance uuid of the pool
     */
    @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;
    }

    /**
     * A count of 
     */
    @ApiProperty
    protected Long memberCount;

    public Long getMemberCount() {
        return memberCount;
    }

    public void setMemberCount(Long memberCount) {
        this.memberCount = memberCount;
    }

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

        public HealthMonitor.Mask healthMonitor() {
            return withSubMask("healthMonitor", HealthMonitor.Mask.class);
        }

        public Member.Mask members() {
            return withSubMask("members", Member.Mask.class);
        }

        public SessionAffinity.Mask sessionAffinity() {
            return withSubMask("sessionAffinity", SessionAffinity.Mask.class);
        }

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

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

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

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

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

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

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

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

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy