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

com.softlayer.api.service.network.lbaas.L7Pool 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.L7HealthMonitor;
import com.softlayer.api.service.network.lbaas.L7Member;
import com.softlayer.api.service.network.lbaas.L7Policy;
import com.softlayer.api.service.network.lbaas.L7PoolMembersHealth;
import com.softlayer.api.service.network.lbaas.L7SessionAffinity;
import com.softlayer.api.service.network.lbaas.LoadBalancer;
import java.util.ArrayList;
import java.util.GregorianCalendar;
import java.util.List;
import java.util.concurrent.Future;

/**
 * The SoftLayer_Network_LBaaS_L7Pool type presents a structure containing attributes of a load balancer's L7 pool such as the protocol, and the load balancing algorithm used. L7 pool is used for redirect_pool action of the L7 policy and is different from the default pool 
 *
 * @see SoftLayer_Network_LBaaS_L7Pool
 */
@ApiType("SoftLayer_Network_LBaaS_L7Pool")
public class L7Pool extends Entity {

    @ApiProperty
    protected L7HealthMonitor l7HealthMonitor;

    public L7HealthMonitor getL7HealthMonitor() {
        return l7HealthMonitor;
    }

    public void setL7HealthMonitor(L7HealthMonitor l7HealthMonitor) {
        this.l7HealthMonitor = l7HealthMonitor;
    }

    @ApiProperty
    protected List l7Members;

    public List getL7Members() {
        if (l7Members == null) {
            l7Members = new ArrayList();
        }
        return l7Members;
    }

    @ApiProperty
    protected List l7Policies;

    public List getL7Policies() {
        if (l7Policies == null) {
            l7Policies = new ArrayList();
        }
        return l7Policies;
    }

    @ApiProperty
    protected L7SessionAffinity l7SessionAffinity;

    public L7SessionAffinity getL7SessionAffinity() {
        return l7SessionAffinity;
    }

    public void setL7SessionAffinity(L7SessionAffinity l7SessionAffinity) {
        this.l7SessionAffinity = l7SessionAffinity;
    }

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

    @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;
    }

    /**
     * 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 L7 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;
    }

    /**
     * Name of the L7 pool.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        nameSpecified = true;
        this.name = name;
    }

    protected boolean nameSpecified;

    public boolean isNameSpecified() {
        return nameSpecified;
    }

    public void unsetName() {
        name = null;
        nameSpecified = false;
    }

    /**
     * Backends protocol, supported protocol is, "HTTP"
     */
    @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;
    }

    /**
     * Provisioning status of a load balancer's L7 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 L7 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 l7MemberCount;

    public Long getL7MemberCount() {
        return l7MemberCount;
    }

    public void setL7MemberCount(Long l7MemberCount) {
        this.l7MemberCount = l7MemberCount;
    }

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

    public Long getL7PolicyCount() {
        return l7PolicyCount;
    }

    public void setL7PolicyCount(Long l7PolicyCount) {
        this.l7PolicyCount = l7PolicyCount;
    }

    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_L7Pool
     */
    @com.softlayer.api.annotation.ApiService("SoftLayer_Network_LBaaS_L7Pool")
    public static interface Service extends com.softlayer.api.Service {

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

        /**
         * Create a backend to be used for L7 load balancing. This L7 pool has backend protocol, L7 members, L7 health monitor and session affinity. L7 pool is associated with L7 policies. 
         *
         * @see SoftLayer_Network_LBaaS_L7Pool::createL7Pool
         */
        @ApiMethod
        public LoadBalancer createL7Pool(String loadBalancerUuid, L7Pool l7Pool, List l7Members, L7HealthMonitor l7HealthMonitor, L7SessionAffinity l7SessionAffinity);

        /**
         * Deletes an existing L7 pool along with L7 members, L7 health monitor, and L7 session affinity. 
         *
         * @see SoftLayer_Network_LBaaS_L7Pool::deleteObject
         */
        @ApiMethod(instanceRequired = true)
        public LoadBalancer deleteObject();

        /**
         * Returns the health of all L7 pool's members which are created under load balancer. L7 members health status is available only after a L7 pool is associated with the L7 policy and that L7 policy has at least one L7 rule. 
         *
         * @see SoftLayer_Network_LBaaS_L7Pool::getL7PoolMemberHealth
         */
        @ApiMethod
        public List getL7PoolMemberHealth(String loadBalancerUuid);

        /**
         * @see SoftLayer_Network_LBaaS_L7Pool::getObject
         */
        @ApiMethod(instanceRequired = true)
        public L7Pool getObject();

        /**
         * Updates an existing L7 pool, L7 health monitor and L7 session affinity. 
         *
         * @see SoftLayer_Network_LBaaS_L7Pool::updateL7Pool
         */
        @ApiMethod
        public LoadBalancer updateL7Pool(String l7PoolUuid, L7Pool l7Pool, L7HealthMonitor l7HealthMonitor, L7SessionAffinity l7SessionAffinity);

        /**
         * @see SoftLayer_Network_LBaaS_L7Pool::getL7HealthMonitor
         */
        @ApiMethod(instanceRequired = true)
        public L7HealthMonitor getL7HealthMonitor();

        /**
         * @see SoftLayer_Network_LBaaS_L7Pool::getL7Members
         */
        @ApiMethod(instanceRequired = true)
        public List getL7Members();

        /**
         * @see SoftLayer_Network_LBaaS_L7Pool::getL7Policies
         */
        @ApiMethod(instanceRequired = true)
        public List getL7Policies();

        /**
         * @see SoftLayer_Network_LBaaS_L7Pool::getL7SessionAffinity
         */
        @ApiMethod(instanceRequired = true)
        public L7SessionAffinity getL7SessionAffinity();

    }

    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#createL7Pool}
         */
        public Future createL7Pool(String loadBalancerUuid, L7Pool l7Pool, List l7Members, L7HealthMonitor l7HealthMonitor, L7SessionAffinity l7SessionAffinity);

        public Future createL7Pool(String loadBalancerUuid, L7Pool l7Pool, List l7Members, L7HealthMonitor l7HealthMonitor, L7SessionAffinity l7SessionAffinity, ResponseHandler callback);

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

        public Future deleteObject(ResponseHandler callback);

        /**
         * Async version of {@link Service#getL7PoolMemberHealth}
         */
        public Future> getL7PoolMemberHealth(String loadBalancerUuid);

        public Future getL7PoolMemberHealth(String loadBalancerUuid, ResponseHandler> callback);

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

        public Future getObject(ResponseHandler callback);

        /**
         * Async version of {@link Service#updateL7Pool}
         */
        public Future updateL7Pool(String l7PoolUuid, L7Pool l7Pool, L7HealthMonitor l7HealthMonitor, L7SessionAffinity l7SessionAffinity);

        public Future updateL7Pool(String l7PoolUuid, L7Pool l7Pool, L7HealthMonitor l7HealthMonitor, L7SessionAffinity l7SessionAffinity, ResponseHandler callback);

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

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

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

        /**
         * Async callback version of {@link Service#getL7Members}
         */
        public Future getL7Members(ResponseHandler> callback);

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

        /**
         * Async callback version of {@link Service#getL7Policies}
         */
        public Future getL7Policies(ResponseHandler> callback);

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

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

    }

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

        public L7HealthMonitor.Mask l7HealthMonitor() {
            return withSubMask("l7HealthMonitor", L7HealthMonitor.Mask.class);
        }

        public L7Member.Mask l7Members() {
            return withSubMask("l7Members", L7Member.Mask.class);
        }

        public L7Policy.Mask l7Policies() {
            return withSubMask("l7Policies", L7Policy.Mask.class);
        }

        public L7SessionAffinity.Mask l7SessionAffinity() {
            return withSubMask("l7SessionAffinity", L7SessionAffinity.Mask.class);
        }

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

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

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

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

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

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

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

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

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

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

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy