package com.bocloud.ims.entity.resource.azure.network;

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;

/**
 * @ClassName: PublicIPAddress
 * @Description:公共ip地址
 * @author: zhenpingLi/李振平
 * @date: 2020/10/16 10:02
 */
@Table("public_ip_address")
public class PublicIPAddress extends GenericEntity {

    @PK(value = PKStrategy.AUTO)
    private Long id; // ID
    @Column("uuid")
    private String uuid;
    @Column("region_id")
    private String regionId;
    @Column("resource_group_id")
    private Long resourceGroupId;
    @Column("idle_timeout_in_minutes")
    private Integer IdleTimeoutInMinutes;
    @Column("sku")
    private String sku;
    @Column("version")
    private String version;// ipv4/ipv6
    @Column("ip_allocation_method")
    private String ipAllocationMethod;// 动态/静态
    @Column("ip_address")
    private String ipAddress;
    @Column("vendor_id")
    private Long vendorId;
    @Column("tenant_id")
    private Long tenantId;
    @Column("project_id")
    private Long projectId;// 项目ID
    @Column("user_id")
    private Long userId;
    @Column("locked")
    private Boolean locked;
    @IgnoreAll
    private String regionName;
    @IgnoreAll
    private String resourceGroupName;
    @IgnoreAll
    private String tenantName;
    @IgnoreAll
    private String projectName;

    //eip使用者，是网络接口还是负载之类的
    @IgnoreAll
    private String resourceUserType;
    @IgnoreAll
    private String resourceUserName;
    @IgnoreAll
    private Long resourceUserId;

    public String getResourceUserType() {
        return resourceUserType;
    }

    public void setResourceUserType(String resourceUserType) {
        this.resourceUserType = resourceUserType;
    }

    public String getResourceUserName() {
        return resourceUserName;
    }

    public void setResourceUserName(String resourceUserName) {
        this.resourceUserName = resourceUserName;
    }

    public Long getResourceUserId() {
        return resourceUserId;
    }

    public void setResourceUserId(Long resourceUserId) {
        this.resourceUserId = resourceUserId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getTenantName() {
        return tenantName;
    }

    public void setTenantName(String tenantName) {
        this.tenantName = tenantName;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getResourceGroupName() {
        return resourceGroupName;
    }

    public void setResourceGroupName(String resourceGroupName) {
        this.resourceGroupName = resourceGroupName;
    }

    public Long getId() {
        return id;
    }

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

    public String getUuid() {
        return uuid;
    }

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

    public String getRegionId() {
        return regionId;
    }

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

    public Long getResourceGroupId() {
        return resourceGroupId;
    }

    public void setResourceGroupId(Long resourceGroupId) {
        this.resourceGroupId = resourceGroupId;
    }

    public Integer getIdleTimeoutInMinutes() {
        return IdleTimeoutInMinutes;
    }

    public void setIdleTimeoutInMinutes(Integer idleTimeoutInMinutes) {
        IdleTimeoutInMinutes = idleTimeoutInMinutes;
    }

    public String getSku() {
        return sku;
    }

    public void setSku(String sku) {
        this.sku = sku;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getIpAllocationMethod() {
        return ipAllocationMethod;
    }

    public void setIpAllocationMethod(String ipAllocationMethod) {
        this.ipAllocationMethod = ipAllocationMethod;
    }

    public String getIpAddress() {
        return ipAddress;
    }

    public void setIpAddress(String ipAddress) {
        this.ipAddress = ipAddress;
    }

    public Long getVendorId() {
        return vendorId;
    }

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

    public String getRegionName() {
        return regionName;
    }

    public void setRegionName(String regionName) {
        this.regionName = regionName;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    public Long getProjectId() {
        return projectId;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public Boolean getLocked() {
        return locked;
    }

    public void setLocked(Boolean locked) {
        this.locked = locked;
    }
}