package com.bocloud.cmp.model.f5;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Map;

/**
 * Profile
 *
 * @author liuyuanyuan
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ProfileModel implements Cloneable {
    // 名称
    private String name;
    // 来源文件
    private String defaultsFrom;
    // 代理模式
    private String proxyType;
    // 全称路径
    private String fullPath;
    private String kind;
    private Long dnsResolverId;
    private Map<String, Object> explicitProxy;// 前端不需要关注的字段
    private String insertXforwardedFor;
    private String method; // insert/passive/rewrite/hash
    private String cookieName;
    private String alwaysSend; // enabled/disabled
    private String expiration; // 选中为0/1:0:0:0
    private String cookieEncryption; // preferred/required/disabled
    private String cookieEncryptionPassphrase;
    private String overrideConnectionLimit;// enabled/disabled
    private Long hashOffset;
    private Long hashLength;
    private String matchAcrossServices;// enabled/disabled
    private String matchAcrossVirtuals;// enabled/disabled
    private String matchAcrossPools;// enabled/disabled
    private String hashAlgorithm; // 值：carp/default
    private String mask; // none/255.255.255.255
    private String timeout; // indefinite/11
    private String hashStartPattern;
    private String hashEndPattern;
    private String hashBufferLimit;
    private String rule;// 前端不需要关注字段
    private Long ruleId;
    private String hasSessionDir;// yes/no
    private String sipInfo; // Call-ID/To/From/SIP-ETag/Subject/11
    private String mapProxies;// enabled/disabled
    private String context;
    private String prefixLength;
    private String prefixLengthType;
    private String prefixLengthValue;
    //分区
    private String partition;
    private String subPath;

    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}
