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

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 lombok.Data;

import java.util.Date;

/**
 * @Company: 博云 www.bocloud.com
 * @ClassName: AzureDatabase
 * @Description:
 * @author: zhenpingLi/李振平
 * @date: 2020/12/18 15:29
 */
@Table("azure_database_server")
@Data
public class AzureDatabaseServer extends GenericEntity {

    @PK(value = PKStrategy.AUTO)
    private Long id; // ID
    @Column("database_server_uuid")
    private String databaseServerUuid;
    @Column("vendor_id")
    private Long vendorId; // 平台id
    @Column("tenant_id")
    private Long tenantId;
    @Column("project_id")
    private Long projectId;
    @Column("user_id")
    private Long userId;
    @Column("type")
    private String type;
    @Column("region_id")
    private String regionId;
    @Column("resource_group_id")
    private Long resourceGroupId;
    @Column("administrator_name")
    private String administratorName;//服务器管理员登录名
    @Column("administrator_password")
    private String administratorPassword;//服务器管理员登录密码
    @Column("public_network_access")
    private String publicNetworkAccess; //是否允许访问此服务器的公共网络。 "Enabled" 或 "Disabled"
    @Column("ssl_enforcement")
    private String sslEnforcement; //在连接到服务器时启用 ssl 强制。 "Enabled" 或 "Disabled"
    @Column("minimal_tls_version")
    private String minimalTlsVersion;//TLS1_0、TLS1_1、TLS1_2
    @Column("version")
    private String version;//服务器版本。5.6 5.7 8.0
    @Column("infrastructure_encryption")
    private String infrastructureEncryption;//显示服务器是否启用了基础结构加密的状态。"Enabled" 或 "Disabled"

    /**
     * storageProfile 参数
     *
     * @return
     */
    @Column("backup_retention_days")
    private Integer backupRetentionDays; //服务器的备份保留天数。
    @Column("storage_mb")
    private Integer storageMb;//服务器允许的最大存储空间。
    @Column("geo_redundant_backup")
    private String geoRedundantBackup; //为服务器备份启用异地冗余。 "Enabled" 或 "Disabled"
    @Column("storage_autogrow")
    private String storageAutogrow;//启用存储自动增长 "Enabled" 或 "Disabled"
    @Column("slo_id")
    private Long sloId;//性能服务层id
    @Column("fully_qualified_domain")
    private String fullyQualifiedDomain;//域名
    @Column("locked")
    private Boolean locked;
    @Column("master_server_id")
    private Long masterServerId;
    @Column("is_master")
    private Boolean isMaster;
    @IgnoreAll
    private String regionName;
    @IgnoreAll
    private String resourceGroupName;
    @IgnoreAll
    private String tenantName;
    @IgnoreAll
    private String projectName;
    @IgnoreAll
    private ServiceLevelObjective serviceLevelObjective;
    @IgnoreAll
    private String createMode;//创建方式Default、Replica
    @IgnoreAll
    private Date restorePointInTime;

}