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

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;
import com.bocloud.ims.entity.resource.Subnet;
import lombok.Data;

import java.util.List;

/**
 * @Company: 博云 www.bocloud.com
 * @ClassName: StorageAccount
 * @Description:
 * @author: zhenpingLi/李振平
 * @date: 2020/7/24 16:12
 */
@Table("storage_account")
@Data
public class StorageAccount extends GenericEntity {
    @PK(value = PKStrategy.AUTO)
    private Long id; // ID
    @Column("uuid")
    private String uuid;
    @Column("vendor_id")
    private Long vendorId; // 平台id
    @Column("tenant_id")
    private Long tenantId;
    @Column("project_id")
    private Long projectId;
    @Column("type")
    private String type;
    @Column("region_id")
    private String regionId;
    @Column("sku")
    private String sku;
    @Column("resource_group_id")
    private Long resourceGroupId;
    @Column("primary_key")
    private String primaryKey;
    @Column("secondary_key")
    private String secondaryKey;
    @Column("primary_end_point")
    private String primaryEndPoint;
    @Column("secondary_end_point")
    private String secondaryEndPoint;
    @Column("user_id")
    private Long userId;
    @IgnoreAll
    private String resourceGroupName;
    @IgnoreAll
    private String regionName;
    @IgnoreAll
    private String tenantName;
    @IgnoreAll
    private String projectName;
    @Column("kind")
    private String kind;
    @Column("access_tier")
    private String accessTier;//Cool Hot
    @Column("file_end_point_primary")
    private String fileEndPointPrimary;//文件存储服务
    @Column("queue_end_point_primary")
    private String queueEndPointPrimary;//队列服务
    @Column("table_end_point_primary")
    private String tableEndPointPrimary;//表服务
    @Column("custom_domain")
    private String customDomain;
    @Column("minimum_tls_version")
    private String minimumTlsVersion;
    @Column("is_access_all_networks")
    private Boolean isAccessAllNetworks;
    @Column("tags")
    private String tags;
    @IgnoreAll
    private String regenerateKey; //key1,key2
    @IgnoreAll
    private Long subnetId;
    @IgnoreAll
    private List<Subnet> subnets;
    @IgnoreAll
    private List<StorageAccountFirewall> firewalls;
    @IgnoreAll
    private String skuTier;

}