All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tencentcloudapi.cls.v20201016.models.ExtractRuleInfo Maven / Gradle / Ivy

/*
 * Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.tencentcloudapi.cls.v20201016.models;

import com.tencentcloudapi.common.AbstractModel;
import com.google.gson.annotations.SerializedName;
import com.google.gson.annotations.Expose;
import java.util.HashMap;

public class ExtractRuleInfo extends AbstractModel{

    /**
    * 时间字段的key名字,time_key和time_format必须成对出现
注意:此字段可能返回 null,表示取不到有效值。
    */
    @SerializedName("TimeKey")
    @Expose
    private String TimeKey;

    /**
    * 时间字段的格式,参考c语言的strftime函数对于时间的格式说明输出参数
注意:此字段可能返回 null,表示取不到有效值。
    */
    @SerializedName("TimeFormat")
    @Expose
    private String TimeFormat;

    /**
    * 分隔符类型日志的分隔符,只有log_type为delimiter_log时有效
注意:此字段可能返回 null,表示取不到有效值。
    */
    @SerializedName("Delimiter")
    @Expose
    private String Delimiter;

    /**
    * 整条日志匹配规则,只有log_type为fullregex_log时有效
注意:此字段可能返回 null,表示取不到有效值。
    */
    @SerializedName("LogRegex")
    @Expose
    private String LogRegex;

    /**
    * 行首匹配规则,只有log_type为multiline_log或fullregex_log时有效
注意:此字段可能返回 null,表示取不到有效值。
    */
    @SerializedName("BeginRegex")
    @Expose
    private String BeginRegex;

    /**
    * 取的每个字段的key名字,为空的key代表丢弃这个字段,只有log_type为delimiter_log时有效,json_log的日志使用json本身的key
注意:此字段可能返回 null,表示取不到有效值。
    */
    @SerializedName("Keys")
    @Expose
    private String [] Keys;

    /**
    * 需要过滤日志的key,及其对应的regex
注意:此字段可能返回 null,表示取不到有效值。
    */
    @SerializedName("FilterKeyRegex")
    @Expose
    private KeyRegexInfo [] FilterKeyRegex;

    /**
    * 解析失败日志是否上传,true表示上传,false表示不上传
注意:此字段可能返回 null,表示取不到有效值。
    */
    @SerializedName("UnMatchUpLoadSwitch")
    @Expose
    private Boolean UnMatchUpLoadSwitch;

    /**
    * 失败日志的key
注意:此字段可能返回 null,表示取不到有效值。
    */
    @SerializedName("UnMatchLogKey")
    @Expose
    private String UnMatchLogKey;

    /**
    * 增量采集模式下的回溯数据量,默认-1(全量采集)
注意:此字段可能返回 null,表示取不到有效值。
    */
    @SerializedName("Backtracking")
    @Expose
    private Long Backtracking;

    /**
     * Get 时间字段的key名字,time_key和time_format必须成对出现
注意:此字段可能返回 null,表示取不到有效值。 
     * @return TimeKey 时间字段的key名字,time_key和time_format必须成对出现
注意:此字段可能返回 null,表示取不到有效值。
     */
    public String getTimeKey() {
        return this.TimeKey;
    }

    /**
     * Set 时间字段的key名字,time_key和time_format必须成对出现
注意:此字段可能返回 null,表示取不到有效值。
     * @param TimeKey 时间字段的key名字,time_key和time_format必须成对出现
注意:此字段可能返回 null,表示取不到有效值。
     */
    public void setTimeKey(String TimeKey) {
        this.TimeKey = TimeKey;
    }

    /**
     * Get 时间字段的格式,参考c语言的strftime函数对于时间的格式说明输出参数
注意:此字段可能返回 null,表示取不到有效值。 
     * @return TimeFormat 时间字段的格式,参考c语言的strftime函数对于时间的格式说明输出参数
注意:此字段可能返回 null,表示取不到有效值。
     */
    public String getTimeFormat() {
        return this.TimeFormat;
    }

    /**
     * Set 时间字段的格式,参考c语言的strftime函数对于时间的格式说明输出参数
注意:此字段可能返回 null,表示取不到有效值。
     * @param TimeFormat 时间字段的格式,参考c语言的strftime函数对于时间的格式说明输出参数
注意:此字段可能返回 null,表示取不到有效值。
     */
    public void setTimeFormat(String TimeFormat) {
        this.TimeFormat = TimeFormat;
    }

    /**
     * Get 分隔符类型日志的分隔符,只有log_type为delimiter_log时有效
注意:此字段可能返回 null,表示取不到有效值。 
     * @return Delimiter 分隔符类型日志的分隔符,只有log_type为delimiter_log时有效
注意:此字段可能返回 null,表示取不到有效值。
     */
    public String getDelimiter() {
        return this.Delimiter;
    }

    /**
     * Set 分隔符类型日志的分隔符,只有log_type为delimiter_log时有效
注意:此字段可能返回 null,表示取不到有效值。
     * @param Delimiter 分隔符类型日志的分隔符,只有log_type为delimiter_log时有效
注意:此字段可能返回 null,表示取不到有效值。
     */
    public void setDelimiter(String Delimiter) {
        this.Delimiter = Delimiter;
    }

    /**
     * Get 整条日志匹配规则,只有log_type为fullregex_log时有效
注意:此字段可能返回 null,表示取不到有效值。 
     * @return LogRegex 整条日志匹配规则,只有log_type为fullregex_log时有效
注意:此字段可能返回 null,表示取不到有效值。
     */
    public String getLogRegex() {
        return this.LogRegex;
    }

    /**
     * Set 整条日志匹配规则,只有log_type为fullregex_log时有效
注意:此字段可能返回 null,表示取不到有效值。
     * @param LogRegex 整条日志匹配规则,只有log_type为fullregex_log时有效
注意:此字段可能返回 null,表示取不到有效值。
     */
    public void setLogRegex(String LogRegex) {
        this.LogRegex = LogRegex;
    }

    /**
     * Get 行首匹配规则,只有log_type为multiline_log或fullregex_log时有效
注意:此字段可能返回 null,表示取不到有效值。 
     * @return BeginRegex 行首匹配规则,只有log_type为multiline_log或fullregex_log时有效
注意:此字段可能返回 null,表示取不到有效值。
     */
    public String getBeginRegex() {
        return this.BeginRegex;
    }

    /**
     * Set 行首匹配规则,只有log_type为multiline_log或fullregex_log时有效
注意:此字段可能返回 null,表示取不到有效值。
     * @param BeginRegex 行首匹配规则,只有log_type为multiline_log或fullregex_log时有效
注意:此字段可能返回 null,表示取不到有效值。
     */
    public void setBeginRegex(String BeginRegex) {
        this.BeginRegex = BeginRegex;
    }

    /**
     * Get 取的每个字段的key名字,为空的key代表丢弃这个字段,只有log_type为delimiter_log时有效,json_log的日志使用json本身的key
注意:此字段可能返回 null,表示取不到有效值。 
     * @return Keys 取的每个字段的key名字,为空的key代表丢弃这个字段,只有log_type为delimiter_log时有效,json_log的日志使用json本身的key
注意:此字段可能返回 null,表示取不到有效值。
     */
    public String [] getKeys() {
        return this.Keys;
    }

    /**
     * Set 取的每个字段的key名字,为空的key代表丢弃这个字段,只有log_type为delimiter_log时有效,json_log的日志使用json本身的key
注意:此字段可能返回 null,表示取不到有效值。
     * @param Keys 取的每个字段的key名字,为空的key代表丢弃这个字段,只有log_type为delimiter_log时有效,json_log的日志使用json本身的key
注意:此字段可能返回 null,表示取不到有效值。
     */
    public void setKeys(String [] Keys) {
        this.Keys = Keys;
    }

    /**
     * Get 需要过滤日志的key,及其对应的regex
注意:此字段可能返回 null,表示取不到有效值。 
     * @return FilterKeyRegex 需要过滤日志的key,及其对应的regex
注意:此字段可能返回 null,表示取不到有效值。
     */
    public KeyRegexInfo [] getFilterKeyRegex() {
        return this.FilterKeyRegex;
    }

    /**
     * Set 需要过滤日志的key,及其对应的regex
注意:此字段可能返回 null,表示取不到有效值。
     * @param FilterKeyRegex 需要过滤日志的key,及其对应的regex
注意:此字段可能返回 null,表示取不到有效值。
     */
    public void setFilterKeyRegex(KeyRegexInfo [] FilterKeyRegex) {
        this.FilterKeyRegex = FilterKeyRegex;
    }

    /**
     * Get 解析失败日志是否上传,true表示上传,false表示不上传
注意:此字段可能返回 null,表示取不到有效值。 
     * @return UnMatchUpLoadSwitch 解析失败日志是否上传,true表示上传,false表示不上传
注意:此字段可能返回 null,表示取不到有效值。
     */
    public Boolean getUnMatchUpLoadSwitch() {
        return this.UnMatchUpLoadSwitch;
    }

    /**
     * Set 解析失败日志是否上传,true表示上传,false表示不上传
注意:此字段可能返回 null,表示取不到有效值。
     * @param UnMatchUpLoadSwitch 解析失败日志是否上传,true表示上传,false表示不上传
注意:此字段可能返回 null,表示取不到有效值。
     */
    public void setUnMatchUpLoadSwitch(Boolean UnMatchUpLoadSwitch) {
        this.UnMatchUpLoadSwitch = UnMatchUpLoadSwitch;
    }

    /**
     * Get 失败日志的key
注意:此字段可能返回 null,表示取不到有效值。 
     * @return UnMatchLogKey 失败日志的key
注意:此字段可能返回 null,表示取不到有效值。
     */
    public String getUnMatchLogKey() {
        return this.UnMatchLogKey;
    }

    /**
     * Set 失败日志的key
注意:此字段可能返回 null,表示取不到有效值。
     * @param UnMatchLogKey 失败日志的key
注意:此字段可能返回 null,表示取不到有效值。
     */
    public void setUnMatchLogKey(String UnMatchLogKey) {
        this.UnMatchLogKey = UnMatchLogKey;
    }

    /**
     * Get 增量采集模式下的回溯数据量,默认-1(全量采集)
注意:此字段可能返回 null,表示取不到有效值。 
     * @return Backtracking 增量采集模式下的回溯数据量,默认-1(全量采集)
注意:此字段可能返回 null,表示取不到有效值。
     */
    public Long getBacktracking() {
        return this.Backtracking;
    }

    /**
     * Set 增量采集模式下的回溯数据量,默认-1(全量采集)
注意:此字段可能返回 null,表示取不到有效值。
     * @param Backtracking 增量采集模式下的回溯数据量,默认-1(全量采集)
注意:此字段可能返回 null,表示取不到有效值。
     */
    public void setBacktracking(Long Backtracking) {
        this.Backtracking = Backtracking;
    }

    public ExtractRuleInfo() {
    }

    /**
     * NOTE: Any ambiguous key set via .set("AnyKey", "value") will be a shallow copy,
     *       and any explicit key, i.e Foo, set via .setFoo("value") will be a deep copy.
     */
    public ExtractRuleInfo(ExtractRuleInfo source) {
        if (source.TimeKey != null) {
            this.TimeKey = new String(source.TimeKey);
        }
        if (source.TimeFormat != null) {
            this.TimeFormat = new String(source.TimeFormat);
        }
        if (source.Delimiter != null) {
            this.Delimiter = new String(source.Delimiter);
        }
        if (source.LogRegex != null) {
            this.LogRegex = new String(source.LogRegex);
        }
        if (source.BeginRegex != null) {
            this.BeginRegex = new String(source.BeginRegex);
        }
        if (source.Keys != null) {
            this.Keys = new String[source.Keys.length];
            for (int i = 0; i < source.Keys.length; i++) {
                this.Keys[i] = new String(source.Keys[i]);
            }
        }
        if (source.FilterKeyRegex != null) {
            this.FilterKeyRegex = new KeyRegexInfo[source.FilterKeyRegex.length];
            for (int i = 0; i < source.FilterKeyRegex.length; i++) {
                this.FilterKeyRegex[i] = new KeyRegexInfo(source.FilterKeyRegex[i]);
            }
        }
        if (source.UnMatchUpLoadSwitch != null) {
            this.UnMatchUpLoadSwitch = new Boolean(source.UnMatchUpLoadSwitch);
        }
        if (source.UnMatchLogKey != null) {
            this.UnMatchLogKey = new String(source.UnMatchLogKey);
        }
        if (source.Backtracking != null) {
            this.Backtracking = new Long(source.Backtracking);
        }
    }


    /**
     * Internal implementation, normal users should not use it.
     */
    public void toMap(HashMap map, String prefix) {
        this.setParamSimple(map, prefix + "TimeKey", this.TimeKey);
        this.setParamSimple(map, prefix + "TimeFormat", this.TimeFormat);
        this.setParamSimple(map, prefix + "Delimiter", this.Delimiter);
        this.setParamSimple(map, prefix + "LogRegex", this.LogRegex);
        this.setParamSimple(map, prefix + "BeginRegex", this.BeginRegex);
        this.setParamArraySimple(map, prefix + "Keys.", this.Keys);
        this.setParamArrayObj(map, prefix + "FilterKeyRegex.", this.FilterKeyRegex);
        this.setParamSimple(map, prefix + "UnMatchUpLoadSwitch", this.UnMatchUpLoadSwitch);
        this.setParamSimple(map, prefix + "UnMatchLogKey", this.UnMatchLogKey);
        this.setParamSimple(map, prefix + "Backtracking", this.Backtracking);

    }
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy