package com.bocloud.ims.entity.resource;

import com.bocloud.entity.annotations.Column;
import com.bocloud.entity.annotations.IgnoreAll;
import com.bocloud.entity.annotations.PK;
import com.bocloud.entity.annotations.Table;
import com.bocloud.entity.bean.GenericEntity;
import com.bocloud.entity.meta.PKStrategy;

/**
 * 弹性伸缩
 * 
 * @author ymh
 * @时间 2019年11月25日
 */
@Table("auto_scaling")
public class AutoScaling extends GenericEntity {

    @PK(value = PKStrategy.AUTO)
    private Long id; // ID
    @Column("vendor_id")
    private Long vendorId; // 云供应商ID
    @Column("region_id")
    private String regionId;
    @Column("max_size")
    private Integer maxSize;
    @Column("min_size")
    private Integer minSize;
    @Column("cooldown")
    private Integer cooldown; // 冷却时间
    @Column("network_uuid")
    private String networkUuid;
    @Column("auto_scaling_config_id")
    private Long autoScalingConfigId;
    @Column("stack_id")
    private Long stackId;
    @Column("subnet_uuid")
    private String subnetUuid;
    @Column("lb_protocol")
    private String lbProtocol;
    @Column("lb_port")
    private Integer lbPort;
    @Column("lb_id")
    private Long lbId;
    @Column("use_lb")
    private Boolean useLb;
    @Column("lb_pool_id")
    private Long poolId;
    @Column("lb_listener_id")
    private Long lbListenerId;

    @Column("resources")
    private String resources;
    @Column("template")
    private String template;

    @IgnoreAll
    private String networkName;
    @IgnoreAll
    private String autoScalingConfigName;

    public Long getId() {
        return id;
    }

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

    public Long getVendorId() {
        return vendorId;
    }

    public void setVendorId(Long vendorId) {
        this.vendorId = vendorId;
    }

    public String getRegionId() {
        return regionId;
    }

    public void setRegionId(String regionId) {
        this.regionId = regionId;
    }

    public Integer getMaxSize() {
        return maxSize;
    }

    public void setMaxSize(Integer maxSize) {
        this.maxSize = maxSize;
    }

    public Integer getMinSize() {
        return minSize;
    }

    public void setMinSize(Integer minSize) {
        this.minSize = minSize;
    }

    public Integer getCooldown() {
        return cooldown;
    }

    public void setCooldown(Integer cooldown) {
        this.cooldown = cooldown;
    }

    public String getNetworkUuid() {
        return networkUuid;
    }

    public void setNetworkUuid(String networkUuid) {
        this.networkUuid = networkUuid;
    }

    public Long getStackId() {
        return stackId;
    }

    public void setStackId(Long stackId) {
        this.stackId = stackId;
    }

    public String getNetworkName() {
        return networkName;
    }

    public void setNetworkName(String networkName) {
        this.networkName = networkName;
    }

    public String getAutoScalingConfigName() {
        return autoScalingConfigName;
    }

    public void setAutoScalingConfigName(String autoScalingConfigName) {
        this.autoScalingConfigName = autoScalingConfigName;
    }

    public Long getAutoScalingConfigId() {
        return autoScalingConfigId;
    }

    public void setAutoScalingConfigId(Long autoScalingConfigId) {
        this.autoScalingConfigId = autoScalingConfigId;
    }

    public String getResources() {
        return resources;
    }

    public void setResources(String resources) {
        this.resources = resources;
    }

    public String getTemplate() {
        return template;
    }

    public void setTemplate(String template) {
        this.template = template;
    }

    public String getSubnetUuid() {
        return subnetUuid;
    }

    public void setSubnetUuid(String subnetUuid) {
        this.subnetUuid = subnetUuid;
    }

    public String getLbProtocol() {
        return lbProtocol;
    }

    public void setLbProtocol(String lbProtocol) {
        this.lbProtocol = lbProtocol;
    }

    public Integer getLbPort() {
        return lbPort;
    }

    public void setLbPort(Integer lbPort) {
        this.lbPort = lbPort;
    }

    public Boolean getUseLb() {
        return useLb;
    }

    public void setUseLb(Boolean useLb) {
        this.useLb = useLb;
    }

    public Long getLbId() {
        return lbId;
    }

    public void setLbId(Long lbId) {
        this.lbId = lbId;
    }

    public Long getPoolId() {
        return poolId;
    }

    public void setPoolId(Long poolId) {
        this.poolId = poolId;
    }

    public Long getLbListenerId() {
        return lbListenerId;
    }

    public void setLbListenerId(Long lbListenerId) {
        this.lbListenerId = lbListenerId;
    }

}
