Files
EdgeCommon/pkg/rpc/protos/service_http_firewall_policy.proto
2022-01-09 17:05:24 +08:00

175 lines
4.9 KiB
Protocol Buffer

syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_http_firewall_policy.proto";
import "models/model_ip_list.proto";
import "models/model_ip_item.proto";
import "models/model_region_country.proto";
import "models/model_region_province.proto";
import "models/rpc_messages.proto";
service HTTPFirewallPolicyService {
// 获取所有可用策略
rpc findAllEnabledHTTPFirewallPolicies (FindAllEnabledHTTPFirewallPoliciesRequest) returns (FindAllEnabledHTTPFirewallPoliciesResponse);
// 创建防火墙策略
rpc createHTTPFirewallPolicy (CreateHTTPFirewallPolicyRequest) returns (CreateHTTPFirewallPolicyResponse);
// 创建空防火墙策略
rpc createEmptyHTTPFirewallPolicy (CreateEmptyHTTPFirewallPolicyRequest) returns (CreateEmptyHTTPFirewallPolicyResponse);
// 修改防火墙策略
rpc updateHTTPFirewallPolicy (UpdateHTTPFirewallPolicyRequest) returns (RPCSuccess);
// 修改分组信息
rpc updateHTTPFirewallPolicyGroups (UpdateHTTPFirewallPolicyGroupsRequest) returns (RPCSuccess);
// 修改inbound信息
rpc updateHTTPFirewallInboundConfig (UpdateHTTPFirewallInboundConfigRequest) returns (RPCSuccess);
// 计算可用的防火墙策略数量
rpc countAllEnabledHTTPFirewallPolicies (CountAllEnabledHTTPFirewallPoliciesRequest) returns (RPCCountResponse);
// 列出单页的防火墙策略
rpc listEnabledHTTPFirewallPolicies (ListEnabledHTTPFirewallPoliciesRequest) returns (ListEnabledHTTPFirewallPoliciesResponse);
// 删除某个防火墙策略
rpc deleteHTTPFirewallPolicy (DeleteHTTPFirewallPolicyRequest) returns (RPCSuccess);
// 查找单个防火墙配置
rpc findEnabledHTTPFirewallPolicyConfig (FindEnabledHTTPFirewallPolicyConfigRequest) returns (FindEnabledHTTPFirewallPolicyConfigResponse);
// 获取防火墙的基本信息
rpc findEnabledHTTPFirewallPolicy (FindEnabledHTTPFirewallPolicyRequest) returns (FindEnabledHTTPFirewallPolicyResponse);
// 导入策略数据
rpc importHTTPFirewallPolicy (ImportHTTPFirewallPolicyRequest) returns (RPCSuccess);
// 检查IP状态
rpc checkHTTPFirewallPolicyIPStatus (CheckHTTPFirewallPolicyIPStatusRequest) returns (CheckHTTPFirewallPolicyIPStatusResponse);
}
// 获取所有可用策略
message FindAllEnabledHTTPFirewallPoliciesRequest {
}
message FindAllEnabledHTTPFirewallPoliciesResponse {
repeated HTTPFirewallPolicy firewallPolicies = 1;
}
// 创建防火墙策略
message CreateHTTPFirewallPolicyRequest {
bool isOn = 1;
string name = 2;
string description = 3;
repeated string httpFirewallGroupCodes = 4;
int64 serverId = 5;
int64 serverGroupId = 6;
}
message CreateHTTPFirewallPolicyResponse {
int64 httpFirewallPolicyId = 1;
}
// 创建空防火墙策略
message CreateEmptyHTTPFirewallPolicyRequest {
bool isOn = 1;
string name = 2;
string description = 3;
int64 serverId = 4;
int64 serverGroupId = 5;
}
message CreateEmptyHTTPFirewallPolicyResponse {
int64 httpFirewallPolicyId = 1;
}
// 修改防火墙策略
message UpdateHTTPFirewallPolicyRequest {
int64 httpFirewallPolicyId = 1;
bool isOn = 2;
string name = 3;
string description = 4;
repeated string firewallGroupCodes = 5;
bytes blockOptionsJSON = 6;
string mode = 7;
bool useLocalFirewall = 8;
}
// 修改分组信息
message UpdateHTTPFirewallPolicyGroupsRequest {
int64 httpFirewallPolicyId = 1;
bytes inboundJSON = 2;
bytes outboundJSON = 3;
}
// 修改inbound信息
message UpdateHTTPFirewallInboundConfigRequest {
int64 httpFirewallPolicyId = 1;
bytes inboundJSON = 2;
}
// 计算可用的防火墙策略数量
message CountAllEnabledHTTPFirewallPoliciesRequest {
string keyword = 1;
}
// 列出单页的防火墙策略
message ListEnabledHTTPFirewallPoliciesRequest {
int64 offset = 1;
int64 size = 2;
string keyword = 3;
}
message ListEnabledHTTPFirewallPoliciesResponse {
repeated HTTPFirewallPolicy httpFirewallPolicies = 1;
}
// 删除某个防火墙策略
message DeleteHTTPFirewallPolicyRequest {
int64 httpFirewallPolicyId = 1;
}
// 查找单个防火墙配置
message FindEnabledHTTPFirewallPolicyConfigRequest {
int64 httpFirewallPolicyId = 1;
}
message FindEnabledHTTPFirewallPolicyConfigResponse {
bytes httpFirewallPolicyJSON = 1;
}
// 获取防火墙的基本信息
message FindEnabledHTTPFirewallPolicyRequest {
int64 httpFirewallPolicyId = 1;
}
message FindEnabledHTTPFirewallPolicyResponse {
HTTPFirewallPolicy httpFirewallPolicy = 1;
}
// 导入策略数据
message ImportHTTPFirewallPolicyRequest {
int64 httpFirewallPolicyId = 1;
bytes httpFirewallPolicyJSON = 2;
}
// 检查IP状态
message CheckHTTPFirewallPolicyIPStatusRequest {
int64 httpFirewallPolicyId = 1;
string ip = 2;
}
message CheckHTTPFirewallPolicyIPStatusResponse {
bool isOk = 1; // 是否查询成功
string error = 2;
bool isFound = 3; // 是否找到
bool isAllowed = 4; // 是否允许
IPList ipList = 5; // 匹配的IPList
IPItem ipItem = 6; // 匹配的IPItem
RegionCountry regionCountry = 7; // 匹配到封禁的地区
RegionProvince regionProvince = 8; // 匹配到封禁的省份
}