package com.bocloud.cmp.provider.security;

import com.bocloud.cmp.model.FirewallModel;
import com.bocloud.cmp.model.FirewallPolicyModel;
import com.bocloud.cmp.model.FirewallRuleModel;
import com.bocloud.cmp.provider.SuperProvider;
import com.bocloud.common.model.BocloudResult;

public interface FirewallProvider extends SuperProvider {
    public BocloudResult list();

    public BocloudResult create(FirewallModel firewall);

    public BocloudResult remove(String firewallId);

    public BocloudResult detail(String firewallId);

    public BocloudResult update(FirewallModel firewall);

    public BocloudResult relevanceRouter(FirewallModel firewall);

    public BocloudResult listPolicy();

    public BocloudResult createPolicy(FirewallPolicyModel policyModel);

    public BocloudResult insertRule(String policyId, String ruleId, String type, String referRuleId);

    public BocloudResult removePolicy(String policyId);

    public BocloudResult removeRule(String policyId, String ruleId);

    public BocloudResult updatePolicy(FirewallPolicyModel policyModel);

    public BocloudResult detailPolicy(String policyId);

    public BocloudResult listRule();

    public BocloudResult createRule(FirewallRuleModel ruleModel);

    public BocloudResult removeRule(String ruleId);

    public BocloudResult updateRule(FirewallRuleModel ruleModel);

    public BocloudResult detailRule(String ruleId);
}
