package com.schisandra.oss.application.dto;

import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 网易数帆对象存储配置表 dto
 *
 * @author landaiqing
 * @since 2024-06-02 22:31:37
 */
@Data
public class SchisandraOssWangyiDTO implements Serializable {

    /**
     * 
     */
    private Long id;

    /**
     * 
     */
    private Long userId;

    /**
     * 
     */
    private String accessKey;

    /**
     * 
     */
    private String secretKey;

    /**
     * 
     */
    private String endpoint;

    /**
     * 
     */
    private String bucketName;

    /**
     * 
     */
    private String basePath;

    /**
     * 连接超时时间
     */
    private Integer connectionTimeout;

    /**
     * 最大连接池大小。
     */
    private Integer maxConnections;

    /**
     * 最大失败重试次数
     */
    private Integer maxErrorRetry;

    /**
     * 是否使用子域名
     */
    private String isSubDomain;

    /**
     * 连接OSS所采用的协议（HTTP或HTTPS），默认为HTTP。
     */
    private String protocol;

    /**
     * 代理服务器的域，该域可以执行NTLM认证
     */
    private String proxyDomain;

    /**
     * 代理服务器主机地址
     */
    private String proxyHost;

    /**
     * 代理服务器验证的密码
     */
    private String proxyPassword;

    /**
     * 代理服务器端口
     */
    private Integer proxyPort;

    /**
     * 代理服务器验证的用户名
     */
    private String proxyUsername;

    /**
     * 代理主机的NTLM身份验证服务器
     */
    private String proxyWorkstation;

    /**
     * Socket层传输数据的超时时间（单位：毫秒）。默认为50000毫秒。
     */
    private Integer socketTimeout;

    /**
     * 用户代理，指HTTP的User-Agent头
     */
    private String userAgent;

    /**
     * Socket接收缓冲区的大小提示(以字节为单位)。
     */
    private Integer socketReceiveBufferSizeHint;

    /**
     * Socket发送缓冲区的大小提示(以字节为单位)。
     */
    private Integer socketSendBufferSizeHint;

    /**
     * 分片大小,默认5MB
     */
    private Integer partSize;

    /**
     * 并发线程数,默认等于CPU的核数
     */
    private Integer taskNum;

    /**
     * 状态
     */
    private String status;

    /**
     * 是否开启高级设置
     */
    private String openAdvancedSetup;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 创建时间
     */
    private Date createdTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 更新人
     */
    private String updateBy;

    /**
     * 是否删除 0 未删除 1已删除
     */
    private Integer isDeleted;

    /**
     * 额外字段
     */
    private String extraJson;

    /**
     * 当桶不存在，是否创建
     */
    private String createBucket;

    /**
     * 启动检测桶，是否存在
     */
    private String checkBucket;

}

