package com.bocloud.cmp.model.azure.db;

import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @Company: 博云 www.bocloud.com
 * @ClassName: AzureForDatabaseModel
 * @Description:
 * @author: zhenpingLi/李振平
 * @date: 2020/12/18 13:39
 */
@Data
public class AzureDatabaseServerModel {

    private String databaseServerUuid;
    private String name;
    private String regionId;
    private String resourceGroupName;

    private String fullyQualifiedDomain;//域名
    private String type;
    private String administratorName;//服务器管理员登录名
    private String administratorPassword;//服务器管理员登录密码
    private String publicNetworkAccess; //是否允许访问此服务器的公共网络。 "Enabled" 或 "Disabled"
    private String sslEnforcement; //在连接到服务器时启用 ssl 强制。 "Enabled" 或 "Disabled"
    private String minimalTlsVersion;//TLS1_0、TLS1_1、TLS1_2
    private String version;//服务器版本。5.6 5.7 8.0
    private String infrastructureEncryption;//显示服务器是否启用了基础结构加密的状态。"Enabled" 或 "Disabled"

    /**
     * storageProfile 参数
     *
     * @return
     */
    private Integer backupRetentionDays; //服务器的备份保留天数。
    private Integer storageMb;//服务器允许的最大存储空间。
    private String geoRedundantBackup; //为服务器备份启用异地冗余。 "Enabled" 或 "Disabled"
    private String storageAutogrow;//启用存储自动增长 "Enabled" 或 "Disabled"
    private String status; //运行状态

    private String masterServerUuid;//副本数据库的主服务器
    private String createMode;//创建方式Default、Replica
    private List<String> replicaUuids;//副本服务器集合
    private Date restorePointInTime;

    /**
     * sku 参数
     *
     * @return
     */
    private ServiceLevelObjectiveModel sloModel;
    //服务器防火墙规则
    private List<DbFirewallRuleModel> dbFirewallRuleModels;
    //服务器数据库
    private List<AzureDatabaseModel> azureDatabaseModels;
    //服务器日志文件
    private List<AzureDatabaseServerLogModel> azureDatabaseServerLogModels;
    //服务器参数
    private List<DbConfigurationModel> dbConfigurationModels;
    //VNET规则
    private List<DbVnetRuleModel> dbVnetRuleModels;

}