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

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

The 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 java.util.GregorianCalendar;
import java.util.List;
import java.util.concurrent.Future;

/**
 * The SoftLayer_Network_LBaaS_L7Member represents the backend member for a L7 pool. It can be either a virtual server or a bare metal machine. 
 *
 * @see SoftLayer_Network_LBaaS_L7Member
 */
@ApiType("SoftLayer_Network_LBaaS_L7Member")
public class L7Member extends Entity {

    /**
     * The IP address of a L7 pool member.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected String address;

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        addressSpecified = true;
        this.address = address;
    }

    protected boolean addressSpecified;

    public boolean isAddressSpecified() {
        return addressSpecified;
    }

    public void unsetAddress() {
        address = null;
        addressSpecified = false;
    }

    /**
     * <<< EOT Specifies when a L7 pool member
     */
    @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;
    }

    /**
     * The ID of a L7 pool member.
     */
    @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;
    }

    /**
     * <<< EOT Specifies when a 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;
    }

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

    public Long getPort() {
        return port;
    }

    public void setPort(Long port) {
        portSpecified = true;
        this.port = port;
    }

    protected boolean portSpecified;

    public boolean isPortSpecified() {
        return portSpecified;
    }

    public void unsetPort() {
        port = null;
        portSpecified = false;
    }

    /**
     * <<< EOT The provisioning status of a L7 pool member.
     */
    @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;
    }

    /**
     * The UUID of a L7 pool member.
     */
    @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;
    }

    /**
     * The weight of a L7 pool member.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long weight;

    public Long getWeight() {
        return weight;
    }

    public void setWeight(Long weight) {
        weightSpecified = true;
        this.weight = weight;
    }

    protected boolean weightSpecified;

    public boolean isWeightSpecified() {
        return weightSpecified;
    }

    public void unsetWeight() {
        weight = null;
        weightSpecified = 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());
    }

    /**
     * The SoftLayer_Network_LBaaS_L7Member service allows consumers to manage (backend) members for L7 pools. A load balancer may have one or more L7 backend pools. A member can be added to one or more L7 backend pools. Deleting a backend member from one L7 pool will not remove it from other L7 pools to which it is associated. Weight of the backend member is a value between 1 and 256 but only applicable when the load balancing method configured is "Weighted Round Robin". 
     *
     * @see SoftLayer_Network_LBaaS_L7Member
     */
    @com.softlayer.api.annotation.ApiService("SoftLayer_Network_LBaaS_L7Member")
    public static interface Service extends com.softlayer.api.Service {

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

        /**
         * Add server instances as members to a L7pool and return the LoadBalancer Object with listeners, pools and members populated 
         *
         * @see SoftLayer_Network_LBaaS_L7Member::addL7PoolMembers
         */
        @ApiMethod
        public LoadBalancer addL7PoolMembers(String l7PoolUuid, List memberInstances);

        /**
         * Delete given members from load balancer and return load balancer object with listeners, pools and members populated 
         *
         * @see SoftLayer_Network_LBaaS_L7Member::deleteL7PoolMembers
         */
        @ApiMethod
        public LoadBalancer deleteL7PoolMembers(String l7PoolUuid, List memberUuids);

        /**
         * @see SoftLayer_Network_LBaaS_L7Member::getObject
         */
        @ApiMethod(instanceRequired = true)
        public L7Member getObject();

        /**
         * Update L7 members weight and port. 
         *
         * @see SoftLayer_Network_LBaaS_L7Member::updateL7PoolMembers
         */
        @ApiMethod
        public LoadBalancer updateL7PoolMembers(String l7PoolUuid, List members);

    }

    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#addL7PoolMembers}
         */
        public Future addL7PoolMembers(String l7PoolUuid, List memberInstances);

        public Future addL7PoolMembers(String l7PoolUuid, List memberInstances, ResponseHandler callback);

        /**
         * Async version of {@link Service#deleteL7PoolMembers}
         */
        public Future deleteL7PoolMembers(String l7PoolUuid, List memberUuids);

        public Future deleteL7PoolMembers(String l7PoolUuid, List memberUuids, ResponseHandler callback);

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

        public Future getObject(ResponseHandler callback);

        /**
         * Async version of {@link Service#updateL7PoolMembers}
         */
        public Future updateL7PoolMembers(String l7PoolUuid, List members);

        public Future updateL7PoolMembers(String l7PoolUuid, List members, ResponseHandler callback);

    }

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

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

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

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

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

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

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

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

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

    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy