package com.bocloud.cmp.model;

import java.util.List;

/**
 * 防火墙规则业务类
 *
 * @author wangyu
 * @version 1.0
 * @since 2017年8月29日
 */
public class FirewallRuleModel {
    private String ruleUuid;// 规则ID
    private String name;// 规则名称
    private String tenantUuid;// 租户ID
    private String remark;// 描述
    private String policyUuid;// 绑定的策略uuid
    private Boolean shared;// 是否共享
    private String protocol;// 协议
    private String ipVersion;// IP版本
    private String sourceIp;// 源IP或子网(CIDR)
    private String destIp;// 目的IP或子网(CIDR)
    private String sourcePort;// 源端口/端口范围(范围用":"分隔)
    private String destPort;// 目的端口/端口范围(范围用":"分隔)
    private Integer position;// 该规则在与防火墙策略关联时,position为在策略中的位置，值从1开始,如果没有绑定任何策略,则值为null
    private String action;// 是否执行规则(ALLOW允许/DENY不允许/UNRECOGNIZED无法识别)
    private Boolean enabled;// 规则是否激活
    private String type; // 是否前置 或 后置
    private String referRuleId; // 参照ruleId
    private List<String> sourceIpAddresses;
    private List<String> destinationIpAddresses;
    private String sourcePorts;
    private String destinationPorts;

    /**
     * @return the ruleUuid
     */
    public String getRuleUuid() {
        return ruleUuid;
    }

    /**
     * @param ruleUuid the ruleUuid to set
     */
    public void setRuleUuid(String ruleUuid) {
        this.ruleUuid = ruleUuid;
    }

    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * @return the tenantUuid
     */
    public String getTenantUuid() {
        return tenantUuid;
    }

    /**
     * @param tenantUuid the tenantUuid to set
     */
    public void setTenantUuid(String tenantUuid) {
        this.tenantUuid = tenantUuid;
    }

    /**
     * @return the remark
     */
    public String getRemark() {
        return remark;
    }

    /**
     * @param remark the remark to set
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * @return the policyUuid
     */
    public String getPolicyUuid() {
        return policyUuid;
    }

    /**
     * @param policyUuid the policyUuid to set
     */
    public void setPolicyUuid(String policyUuid) {
        this.policyUuid = policyUuid;
    }

    /**
     * @return the shared
     */
    public Boolean getShared() {
        return shared;
    }

    /**
     * @param shared the shared to set
     */
    public void setShared(Boolean shared) {
        this.shared = shared;
    }

    /**
     * @return the protocol
     */
    public String getProtocol() {
        return protocol;
    }

    /**
     * @param protocol the protocol to set
     */
    public void setProtocol(String protocol) {
        this.protocol = protocol;
    }

    /**
     * @return the ipVersion
     */
    public String getIpVersion() {
        return ipVersion;
    }

    /**
     * @param ipVersion the ipVersion to set
     */
    public void setIpVersion(String ipVersion) {
        this.ipVersion = ipVersion;
    }

    /**
     * @return the sourceIp
     */
    public String getSourceIp() {
        return sourceIp;
    }

    /**
     * @param sourceIp the sourceIp to set
     */
    public void setSourceIp(String sourceIp) {
        this.sourceIp = sourceIp;
    }

    /**
     * @return the destIp
     */
    public String getDestIp() {
        return destIp;
    }

    /**
     * @param destIp the destIp to set
     */
    public void setDestIp(String destIp) {
        this.destIp = destIp;
    }

    /**
     * @return the sourcePort
     */
    public String getSourcePort() {
        return sourcePort;
    }

    /**
     * @param sourcePort the sourcePort to set
     */
    public void setSourcePort(String sourcePort) {
        this.sourcePort = sourcePort;
    }

    /**
     * @return the destPort
     */
    public String getDestPort() {
        return destPort;
    }

    /**
     * @param destPort the destPort to set
     */
    public void setDestPort(String destPort) {
        this.destPort = destPort;
    }

    /**
     * @return the position
     */
    public Integer getPosition() {
        return position;
    }

    /**
     * @param position the position to set
     */
    public void setPosition(Integer position) {
        this.position = position;
    }

    /**
     * @return the action
     */
    public String getAction() {
        return action;
    }

    /**
     * @param action the action to set
     */
    public void setAction(String action) {
        this.action = action;
    }

    /**
     * @return the enabled
     */
    public Boolean getEnabled() {
        return enabled;
    }

    /**
     * @param enabled the enabled to set
     */
    public void setEnabled(Boolean enabled) {
        this.enabled = enabled;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getReferRuleId() {
        return referRuleId;
    }

    public void setReferRuleId(String referRuleId) {
        this.referRuleId = referRuleId;
    }

    public String getSourcePorts() {
        return sourcePorts;
    }

    public void setSourcePorts(String sourcePorts) {
        this.sourcePorts = sourcePorts;
    }

    public String getDestinationPorts() {
        return destinationPorts;
    }

    public void setDestinationPorts(String destinationPorts) {
        this.destinationPorts = destinationPorts;
    }

    public List<String> getSourceIpAddresses() {
        return sourceIpAddresses;
    }

    public void setSourceIpAddresses(List<String> sourceIpAddresses) {
        this.sourceIpAddresses = sourceIpAddresses;
    }

    public List<String> getDestinationIpAddresses() {
        return destinationIpAddresses;
    }

    public void setDestinationIpAddresses(List<String> destinationIpAddresses) {
        this.destinationIpAddresses = destinationIpAddresses;
    }
}
