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

com.tencentcloudapi.dayu.v20180709.models.CreateL7CCRuleRequest 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.dayu.v20180709.models;

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

public class CreateL7CCRuleRequest extends AbstractModel{

    /**
    * 大禹子产品代号(bgpip表示高防IP;net表示高防IP专业版)
    */
    @SerializedName("Business")
    @Expose
    private String Business;

    /**
    * 资源ID
    */
    @SerializedName("Id")
    @Expose
    private String Id;

    /**
    * 操作码,取值[query(表示查询),add(表示添加),del(表示删除)]
    */
    @SerializedName("Method")
    @Expose
    private String Method;

    /**
    * 7层转发规则ID,例如:rule-0000001
    */
    @SerializedName("RuleId")
    @Expose
    private String RuleId;

    /**
    * 7层CC自定义规则参数,当操作码为query时,可以不用填写;当操作码为add或del时,必须填写,且数组长度只能为1;
    */
    @SerializedName("RuleConfig")
    @Expose
    private CCRuleConfig [] RuleConfig;

    /**
     * Get 大禹子产品代号(bgpip表示高防IP;net表示高防IP专业版) 
     * @return Business 大禹子产品代号(bgpip表示高防IP;net表示高防IP专业版)
     */
    public String getBusiness() {
        return this.Business;
    }

    /**
     * Set 大禹子产品代号(bgpip表示高防IP;net表示高防IP专业版)
     * @param Business 大禹子产品代号(bgpip表示高防IP;net表示高防IP专业版)
     */
    public void setBusiness(String Business) {
        this.Business = Business;
    }

    /**
     * Get 资源ID 
     * @return Id 资源ID
     */
    public String getId() {
        return this.Id;
    }

    /**
     * Set 资源ID
     * @param Id 资源ID
     */
    public void setId(String Id) {
        this.Id = Id;
    }

    /**
     * Get 操作码,取值[query(表示查询),add(表示添加),del(表示删除)] 
     * @return Method 操作码,取值[query(表示查询),add(表示添加),del(表示删除)]
     */
    public String getMethod() {
        return this.Method;
    }

    /**
     * Set 操作码,取值[query(表示查询),add(表示添加),del(表示删除)]
     * @param Method 操作码,取值[query(表示查询),add(表示添加),del(表示删除)]
     */
    public void setMethod(String Method) {
        this.Method = Method;
    }

    /**
     * Get 7层转发规则ID,例如:rule-0000001 
     * @return RuleId 7层转发规则ID,例如:rule-0000001
     */
    public String getRuleId() {
        return this.RuleId;
    }

    /**
     * Set 7层转发规则ID,例如:rule-0000001
     * @param RuleId 7层转发规则ID,例如:rule-0000001
     */
    public void setRuleId(String RuleId) {
        this.RuleId = RuleId;
    }

    /**
     * Get 7层CC自定义规则参数,当操作码为query时,可以不用填写;当操作码为add或del时,必须填写,且数组长度只能为1; 
     * @return RuleConfig 7层CC自定义规则参数,当操作码为query时,可以不用填写;当操作码为add或del时,必须填写,且数组长度只能为1;
     */
    public CCRuleConfig [] getRuleConfig() {
        return this.RuleConfig;
    }

    /**
     * Set 7层CC自定义规则参数,当操作码为query时,可以不用填写;当操作码为add或del时,必须填写,且数组长度只能为1;
     * @param RuleConfig 7层CC自定义规则参数,当操作码为query时,可以不用填写;当操作码为add或del时,必须填写,且数组长度只能为1;
     */
    public void setRuleConfig(CCRuleConfig [] RuleConfig) {
        this.RuleConfig = RuleConfig;
    }

    public CreateL7CCRuleRequest() {
    }

    /**
     * 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 CreateL7CCRuleRequest(CreateL7CCRuleRequest source) {
        if (source.Business != null) {
            this.Business = new String(source.Business);
        }
        if (source.Id != null) {
            this.Id = new String(source.Id);
        }
        if (source.Method != null) {
            this.Method = new String(source.Method);
        }
        if (source.RuleId != null) {
            this.RuleId = new String(source.RuleId);
        }
        if (source.RuleConfig != null) {
            this.RuleConfig = new CCRuleConfig[source.RuleConfig.length];
            for (int i = 0; i < source.RuleConfig.length; i++) {
                this.RuleConfig[i] = new CCRuleConfig(source.RuleConfig[i]);
            }
        }
    }


    /**
     * Internal implementation, normal users should not use it.
     */
    public void toMap(HashMap map, String prefix) {
        this.setParamSimple(map, prefix + "Business", this.Business);
        this.setParamSimple(map, prefix + "Id", this.Id);
        this.setParamSimple(map, prefix + "Method", this.Method);
        this.setParamSimple(map, prefix + "RuleId", this.RuleId);
        this.setParamArrayObj(map, prefix + "RuleConfig.", this.RuleConfig);

    }
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy