diff --git a/pkg/nodeconfigs/node_config.go b/pkg/nodeconfigs/node_config.go index 384fb9b..fc91b1a 100644 --- a/pkg/nodeconfigs/node_config.go +++ b/pkg/nodeconfigs/node_config.go @@ -33,6 +33,8 @@ type NodeConfig struct { SystemServices map[string]maps.Map `yaml:"systemServices" json:"systemServices"` // 系统服务配置 type => params paddedId string + + firewallPolicies []*firewallconfigs.HTTPFirewallPolicy } // 取得当前节点配置单例 @@ -110,6 +112,17 @@ func (this *NodeConfig) Init() error { } } + // 查找FirewallPolicy + this.firewallPolicies = []*firewallconfigs.HTTPFirewallPolicy{} + if this.HTTPFirewallPolicy != nil && this.HTTPFirewallPolicy.IsOn { + this.firewallPolicies = append(this.firewallPolicies, this.HTTPFirewallPolicy) + } + for _, server := range this.Servers { + if server.Web != nil { + this.lookupWeb(server.Web) + } + } + return nil } @@ -138,6 +151,11 @@ func (this *NodeConfig) AvailableGroups() []*serverconfigs.ServerGroup { return result } +// 获取所有的防火墙策略 +func (this *NodeConfig) FindAllFirewallPolicies() []*firewallconfigs.HTTPFirewallPolicy { + return this.firewallPolicies +} + // 写入到文件 func (this *NodeConfig) Save() error { shared.Locker.Lock() @@ -155,3 +173,20 @@ func (this *NodeConfig) Save() error { func (this *NodeConfig) PaddedId() string { return this.paddedId } + +// 搜索WAF策略 +func (this *NodeConfig) lookupWeb(web *serverconfigs.HTTPWebConfig) { + if web == nil || !web.IsOn { + return + } + if web.FirewallPolicy != nil && web.FirewallPolicy.IsOn { + this.firewallPolicies = append(this.firewallPolicies, web.FirewallPolicy) + } + if len(web.Locations) > 0 { + for _, location := range web.Locations { + if location.Web != nil && location.Web.IsOn { + this.lookupWeb(location.Web) + } + } + } +} diff --git a/pkg/nodeconfigs/node_status.go b/pkg/nodeconfigs/node_status.go index 9307b59..90781f5 100644 --- a/pkg/nodeconfigs/node_status.go +++ b/pkg/nodeconfigs/node_status.go @@ -2,8 +2,9 @@ package nodeconfigs // 节点状态 type NodeStatus struct { - BuildVersion string `json:"buildVersion"` // 编译版本 - ConfigVersion int64 `json:"configVersion"` // 节点配置版本 + BuildVersion string `json:"buildVersion"` // 编译版本 + BuildVersionCode uint32 `json:"buildVersionCode"` // 版本数字 + ConfigVersion int64 `json:"configVersion"` // 节点配置版本 OS string `json:"os"` Arch string `json:"arch"` diff --git a/pkg/nodeconfigs/node_status_test.go b/pkg/nodeconfigs/node_status_test.go new file mode 100644 index 0000000..9740c72 --- /dev/null +++ b/pkg/nodeconfigs/node_status_test.go @@ -0,0 +1,45 @@ +package nodeconfigs + +import "testing" + +func TestNodeStatus_ComputerBuildVersionCode(t *testing.T) { + { + status := &NodeStatus{} + status.ComputerBuildVersionCode() + t.Log(status.BuildVersion, status.BuildVersionCode) + } + + { + status := &NodeStatus{BuildVersion: "0.0.6"} + status.ComputerBuildVersionCode() + t.Log(status.BuildVersion, status.BuildVersionCode) + } + + { + status := &NodeStatus{BuildVersion: "0.0.6.1"} + status.ComputerBuildVersionCode() + t.Log(status.BuildVersion, status.BuildVersionCode) + } + + { + status := &NodeStatus{BuildVersion: "0.0.7"} + status.ComputerBuildVersionCode() + t.Log(status.BuildVersion, status.BuildVersionCode) + } + + { + status := &NodeStatus{BuildVersion: "0.7"} + status.ComputerBuildVersionCode() + t.Log(status.BuildVersion, status.BuildVersionCode) + } + { + status := &NodeStatus{BuildVersion: "7"} + status.ComputerBuildVersionCode() + t.Log(status.BuildVersion, status.BuildVersionCode) + } + { + status := &NodeStatus{BuildVersion: "7.0.1"} + status.ComputerBuildVersionCode() + t.Log(status.BuildVersion, status.BuildVersionCode) + } +} diff --git a/pkg/rpc/dao/http_web_dao.go b/pkg/rpc/dao/http_web_dao.go index 2e016c9..d73b660 100644 --- a/pkg/rpc/dao/http_web_dao.go +++ b/pkg/rpc/dao/http_web_dao.go @@ -58,13 +58,12 @@ func (this *HTTPWebDAO) FindWebConfigWithId(ctx context.Context, webId int64) (* } // 初始化防火墙设置 -func (this *HTTPWebDAO) InitHTTPFirewallPolicy(ctx context.Context, webId int64) (int64, error) { +func (this *HTTPWebDAO) InitEmptyHTTPFirewallPolicy(ctx context.Context, webId int64, isOn bool) (int64, error) { // 创建FirewallPolicy - firewallPolicyIdResp, err := this.RPC().HTTPFirewallPolicyRPC().CreateHTTPFirewallPolicy(ctx, &pb.CreateHTTPFirewallPolicyRequest{ - IsOn: true, - Name: "用户自定义", - Description: "", - HttpFirewallGroupCodes: nil, + firewallPolicyIdResp, err := this.RPC().HTTPFirewallPolicyRPC().CreateEmptyHTTPFirewallPolicy(ctx, &pb.CreateEmptyHTTPFirewallPolicyRequest{ + IsOn: true, + Name: "用户自定义", + Description: "", }) if err != nil { return 0, errors.Wrap(err) @@ -74,7 +73,7 @@ func (this *HTTPWebDAO) InitHTTPFirewallPolicy(ctx context.Context, webId int64) firewallRef := &firewallconfigs.HTTPFirewallRef{ IsPrior: false, - IsOn: true, + IsOn: isOn, FirewallPolicyId: policyId, } firewallRefJSON, err := json.Marshal(firewallRef) diff --git a/pkg/rpc/dao/ip_list_dao.go b/pkg/rpc/dao/ip_list_dao.go index fda620d..013704c 100644 --- a/pkg/rpc/dao/ip_list_dao.go +++ b/pkg/rpc/dao/ip_list_dao.go @@ -55,7 +55,8 @@ func (this *IPListDAO) CreateIPListForServerId(ctx context.Context, serverId int return 0, nil } if webConfig.FirewallPolicy == nil || webConfig.FirewallPolicy.Id == 0 { - _, err = SharedHTTPWebDAO.InitHTTPFirewallPolicy(ctx, webConfig.Id) + isOn := webConfig.FirewallRef != nil && webConfig.FirewallRef.IsOn + _, err = SharedHTTPWebDAO.InitEmptyHTTPFirewallPolicy(ctx, webConfig.Id, isOn) if err != nil { return 0, errors.Wrap(err) } diff --git a/pkg/rpc/pb/service_http_firewall_policy.pb.go b/pkg/rpc/pb/service_http_firewall_policy.pb.go index 1a18bd3..f699dc4 100644 --- a/pkg/rpc/pb/service_http_firewall_policy.pb.go +++ b/pkg/rpc/pb/service_http_firewall_policy.pb.go @@ -234,6 +234,117 @@ func (x *CreateHTTPFirewallPolicyResponse) GetHttpFirewallPolicyId() int64 { return 0 } +// 创建空防火墙策略 +type CreateEmptyHTTPFirewallPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsOn bool `protobuf:"varint,1,opt,name=isOn,proto3" json:"isOn,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` +} + +func (x *CreateEmptyHTTPFirewallPolicyRequest) Reset() { + *x = CreateEmptyHTTPFirewallPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_http_firewall_policy_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateEmptyHTTPFirewallPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateEmptyHTTPFirewallPolicyRequest) ProtoMessage() {} + +func (x *CreateEmptyHTTPFirewallPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_http_firewall_policy_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateEmptyHTTPFirewallPolicyRequest.ProtoReflect.Descriptor instead. +func (*CreateEmptyHTTPFirewallPolicyRequest) Descriptor() ([]byte, []int) { + return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{4} +} + +func (x *CreateEmptyHTTPFirewallPolicyRequest) GetIsOn() bool { + if x != nil { + return x.IsOn + } + return false +} + +func (x *CreateEmptyHTTPFirewallPolicyRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateEmptyHTTPFirewallPolicyRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +type CreateEmptyHTTPFirewallPolicyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HttpFirewallPolicyId int64 `protobuf:"varint,1,opt,name=httpFirewallPolicyId,proto3" json:"httpFirewallPolicyId,omitempty"` +} + +func (x *CreateEmptyHTTPFirewallPolicyResponse) Reset() { + *x = CreateEmptyHTTPFirewallPolicyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_http_firewall_policy_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateEmptyHTTPFirewallPolicyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateEmptyHTTPFirewallPolicyResponse) ProtoMessage() {} + +func (x *CreateEmptyHTTPFirewallPolicyResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_http_firewall_policy_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateEmptyHTTPFirewallPolicyResponse.ProtoReflect.Descriptor instead. +func (*CreateEmptyHTTPFirewallPolicyResponse) Descriptor() ([]byte, []int) { + return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{5} +} + +func (x *CreateEmptyHTTPFirewallPolicyResponse) GetHttpFirewallPolicyId() int64 { + if x != nil { + return x.HttpFirewallPolicyId + } + return 0 +} + // 修改防火墙策略 type UpdateHTTPFirewallPolicyRequest struct { state protoimpl.MessageState @@ -251,7 +362,7 @@ type UpdateHTTPFirewallPolicyRequest struct { func (x *UpdateHTTPFirewallPolicyRequest) Reset() { *x = UpdateHTTPFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_firewall_policy_proto_msgTypes[4] + mi := &file_service_http_firewall_policy_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -264,7 +375,7 @@ func (x *UpdateHTTPFirewallPolicyRequest) String() string { func (*UpdateHTTPFirewallPolicyRequest) ProtoMessage() {} func (x *UpdateHTTPFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_firewall_policy_proto_msgTypes[4] + mi := &file_service_http_firewall_policy_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -277,7 +388,7 @@ func (x *UpdateHTTPFirewallPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHTTPFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{4} + return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{6} } func (x *UpdateHTTPFirewallPolicyRequest) GetHttpFirewallPolicyId() int64 { @@ -336,7 +447,7 @@ type UpdateHTTPFirewallPolicyGroupsRequest struct { func (x *UpdateHTTPFirewallPolicyGroupsRequest) Reset() { *x = UpdateHTTPFirewallPolicyGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_firewall_policy_proto_msgTypes[5] + mi := &file_service_http_firewall_policy_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -349,7 +460,7 @@ func (x *UpdateHTTPFirewallPolicyGroupsRequest) String() string { func (*UpdateHTTPFirewallPolicyGroupsRequest) ProtoMessage() {} func (x *UpdateHTTPFirewallPolicyGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_firewall_policy_proto_msgTypes[5] + mi := &file_service_http_firewall_policy_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -362,7 +473,7 @@ func (x *UpdateHTTPFirewallPolicyGroupsRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use UpdateHTTPFirewallPolicyGroupsRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPFirewallPolicyGroupsRequest) Descriptor() ([]byte, []int) { - return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{5} + return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{7} } func (x *UpdateHTTPFirewallPolicyGroupsRequest) GetHttpFirewallPolicyId() int64 { @@ -399,7 +510,7 @@ type UpdateHTTPFirewallInboundConfigRequest struct { func (x *UpdateHTTPFirewallInboundConfigRequest) Reset() { *x = UpdateHTTPFirewallInboundConfigRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_firewall_policy_proto_msgTypes[6] + mi := &file_service_http_firewall_policy_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -412,7 +523,7 @@ func (x *UpdateHTTPFirewallInboundConfigRequest) String() string { func (*UpdateHTTPFirewallInboundConfigRequest) ProtoMessage() {} func (x *UpdateHTTPFirewallInboundConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_firewall_policy_proto_msgTypes[6] + mi := &file_service_http_firewall_policy_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -425,7 +536,7 @@ func (x *UpdateHTTPFirewallInboundConfigRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use UpdateHTTPFirewallInboundConfigRequest.ProtoReflect.Descriptor instead. func (*UpdateHTTPFirewallInboundConfigRequest) Descriptor() ([]byte, []int) { - return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{6} + return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{8} } func (x *UpdateHTTPFirewallInboundConfigRequest) GetHttpFirewallPolicyId() int64 { @@ -452,7 +563,7 @@ type CountAllEnabledHTTPFirewallPoliciesRequest struct { func (x *CountAllEnabledHTTPFirewallPoliciesRequest) Reset() { *x = CountAllEnabledHTTPFirewallPoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_firewall_policy_proto_msgTypes[7] + mi := &file_service_http_firewall_policy_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -465,7 +576,7 @@ func (x *CountAllEnabledHTTPFirewallPoliciesRequest) String() string { func (*CountAllEnabledHTTPFirewallPoliciesRequest) ProtoMessage() {} func (x *CountAllEnabledHTTPFirewallPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_firewall_policy_proto_msgTypes[7] + mi := &file_service_http_firewall_policy_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -478,7 +589,7 @@ func (x *CountAllEnabledHTTPFirewallPoliciesRequest) ProtoReflect() protoreflect // Deprecated: Use CountAllEnabledHTTPFirewallPoliciesRequest.ProtoReflect.Descriptor instead. func (*CountAllEnabledHTTPFirewallPoliciesRequest) Descriptor() ([]byte, []int) { - return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{7} + return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{9} } // 列出单页的防火墙策略 @@ -494,7 +605,7 @@ type ListEnabledHTTPFirewallPoliciesRequest struct { func (x *ListEnabledHTTPFirewallPoliciesRequest) Reset() { *x = ListEnabledHTTPFirewallPoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_firewall_policy_proto_msgTypes[8] + mi := &file_service_http_firewall_policy_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -507,7 +618,7 @@ func (x *ListEnabledHTTPFirewallPoliciesRequest) String() string { func (*ListEnabledHTTPFirewallPoliciesRequest) ProtoMessage() {} func (x *ListEnabledHTTPFirewallPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_firewall_policy_proto_msgTypes[8] + mi := &file_service_http_firewall_policy_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -520,7 +631,7 @@ func (x *ListEnabledHTTPFirewallPoliciesRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use ListEnabledHTTPFirewallPoliciesRequest.ProtoReflect.Descriptor instead. func (*ListEnabledHTTPFirewallPoliciesRequest) Descriptor() ([]byte, []int) { - return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{8} + return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{10} } func (x *ListEnabledHTTPFirewallPoliciesRequest) GetOffset() int64 { @@ -548,7 +659,7 @@ type ListEnabledHTTPFirewallPoliciesResponse struct { func (x *ListEnabledHTTPFirewallPoliciesResponse) Reset() { *x = ListEnabledHTTPFirewallPoliciesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_firewall_policy_proto_msgTypes[9] + mi := &file_service_http_firewall_policy_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -561,7 +672,7 @@ func (x *ListEnabledHTTPFirewallPoliciesResponse) String() string { func (*ListEnabledHTTPFirewallPoliciesResponse) ProtoMessage() {} func (x *ListEnabledHTTPFirewallPoliciesResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_http_firewall_policy_proto_msgTypes[9] + mi := &file_service_http_firewall_policy_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -574,7 +685,7 @@ func (x *ListEnabledHTTPFirewallPoliciesResponse) ProtoReflect() protoreflect.Me // Deprecated: Use ListEnabledHTTPFirewallPoliciesResponse.ProtoReflect.Descriptor instead. func (*ListEnabledHTTPFirewallPoliciesResponse) Descriptor() ([]byte, []int) { - return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{9} + return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{11} } func (x *ListEnabledHTTPFirewallPoliciesResponse) GetHttpFirewallPolicies() []*HTTPFirewallPolicy { @@ -596,7 +707,7 @@ type DeleteHTTPFirewallPolicyRequest struct { func (x *DeleteHTTPFirewallPolicyRequest) Reset() { *x = DeleteHTTPFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_firewall_policy_proto_msgTypes[10] + mi := &file_service_http_firewall_policy_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -609,7 +720,7 @@ func (x *DeleteHTTPFirewallPolicyRequest) String() string { func (*DeleteHTTPFirewallPolicyRequest) ProtoMessage() {} func (x *DeleteHTTPFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_firewall_policy_proto_msgTypes[10] + mi := &file_service_http_firewall_policy_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -622,7 +733,7 @@ func (x *DeleteHTTPFirewallPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteHTTPFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*DeleteHTTPFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{10} + return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{12} } func (x *DeleteHTTPFirewallPolicyRequest) GetHttpFirewallPolicyId() int64 { @@ -644,7 +755,7 @@ type FindEnabledHTTPFirewallPolicyConfigRequest struct { func (x *FindEnabledHTTPFirewallPolicyConfigRequest) Reset() { *x = FindEnabledHTTPFirewallPolicyConfigRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_firewall_policy_proto_msgTypes[11] + mi := &file_service_http_firewall_policy_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -657,7 +768,7 @@ func (x *FindEnabledHTTPFirewallPolicyConfigRequest) String() string { func (*FindEnabledHTTPFirewallPolicyConfigRequest) ProtoMessage() {} func (x *FindEnabledHTTPFirewallPolicyConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_firewall_policy_proto_msgTypes[11] + mi := &file_service_http_firewall_policy_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -670,7 +781,7 @@ func (x *FindEnabledHTTPFirewallPolicyConfigRequest) ProtoReflect() protoreflect // Deprecated: Use FindEnabledHTTPFirewallPolicyConfigRequest.ProtoReflect.Descriptor instead. func (*FindEnabledHTTPFirewallPolicyConfigRequest) Descriptor() ([]byte, []int) { - return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{11} + return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{13} } func (x *FindEnabledHTTPFirewallPolicyConfigRequest) GetHttpFirewallPolicyId() int64 { @@ -691,7 +802,7 @@ type FindEnabledHTTPFirewallPolicyConfigResponse struct { func (x *FindEnabledHTTPFirewallPolicyConfigResponse) Reset() { *x = FindEnabledHTTPFirewallPolicyConfigResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_firewall_policy_proto_msgTypes[12] + mi := &file_service_http_firewall_policy_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -704,7 +815,7 @@ func (x *FindEnabledHTTPFirewallPolicyConfigResponse) String() string { func (*FindEnabledHTTPFirewallPolicyConfigResponse) ProtoMessage() {} func (x *FindEnabledHTTPFirewallPolicyConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_http_firewall_policy_proto_msgTypes[12] + mi := &file_service_http_firewall_policy_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -717,7 +828,7 @@ func (x *FindEnabledHTTPFirewallPolicyConfigResponse) ProtoReflect() protoreflec // Deprecated: Use FindEnabledHTTPFirewallPolicyConfigResponse.ProtoReflect.Descriptor instead. func (*FindEnabledHTTPFirewallPolicyConfigResponse) Descriptor() ([]byte, []int) { - return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{12} + return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{14} } func (x *FindEnabledHTTPFirewallPolicyConfigResponse) GetHttpFirewallPolicyJSON() []byte { @@ -739,7 +850,7 @@ type FindEnabledHTTPFirewallPolicyRequest struct { func (x *FindEnabledHTTPFirewallPolicyRequest) Reset() { *x = FindEnabledHTTPFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_firewall_policy_proto_msgTypes[13] + mi := &file_service_http_firewall_policy_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -752,7 +863,7 @@ func (x *FindEnabledHTTPFirewallPolicyRequest) String() string { func (*FindEnabledHTTPFirewallPolicyRequest) ProtoMessage() {} func (x *FindEnabledHTTPFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_firewall_policy_proto_msgTypes[13] + mi := &file_service_http_firewall_policy_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -765,7 +876,7 @@ func (x *FindEnabledHTTPFirewallPolicyRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use FindEnabledHTTPFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*FindEnabledHTTPFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{13} + return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{15} } func (x *FindEnabledHTTPFirewallPolicyRequest) GetHttpFirewallPolicyId() int64 { @@ -786,7 +897,7 @@ type FindEnabledHTTPFirewallPolicyResponse struct { func (x *FindEnabledHTTPFirewallPolicyResponse) Reset() { *x = FindEnabledHTTPFirewallPolicyResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_firewall_policy_proto_msgTypes[14] + mi := &file_service_http_firewall_policy_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -799,7 +910,7 @@ func (x *FindEnabledHTTPFirewallPolicyResponse) String() string { func (*FindEnabledHTTPFirewallPolicyResponse) ProtoMessage() {} func (x *FindEnabledHTTPFirewallPolicyResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_http_firewall_policy_proto_msgTypes[14] + mi := &file_service_http_firewall_policy_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -812,7 +923,7 @@ func (x *FindEnabledHTTPFirewallPolicyResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use FindEnabledHTTPFirewallPolicyResponse.ProtoReflect.Descriptor instead. func (*FindEnabledHTTPFirewallPolicyResponse) Descriptor() ([]byte, []int) { - return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{14} + return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{16} } func (x *FindEnabledHTTPFirewallPolicyResponse) GetHttpFirewallPolicy() *HTTPFirewallPolicy { @@ -835,7 +946,7 @@ type ImportHTTPFirewallPolicyRequest struct { func (x *ImportHTTPFirewallPolicyRequest) Reset() { *x = ImportHTTPFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_http_firewall_policy_proto_msgTypes[15] + mi := &file_service_http_firewall_policy_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -848,7 +959,7 @@ func (x *ImportHTTPFirewallPolicyRequest) String() string { func (*ImportHTTPFirewallPolicyRequest) ProtoMessage() {} func (x *ImportHTTPFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_http_firewall_policy_proto_msgTypes[15] + mi := &file_service_http_firewall_policy_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -861,7 +972,7 @@ func (x *ImportHTTPFirewallPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ImportHTTPFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*ImportHTTPFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{15} + return file_service_http_firewall_policy_proto_rawDescGZIP(), []int{17} } func (x *ImportHTTPFirewallPolicyRequest) GetHttpFirewallPolicyId() int64 { @@ -912,172 +1023,192 @@ var file_service_http_firewall_policy_proto_rawDesc = []byte{ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0xfb, 0x01, 0x0a, 0x1f, + 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x70, 0x0a, 0x24, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5b, 0x0a, + 0x25, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x54, 0x54, 0x50, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0xfb, 0x01, 0x0a, 0x1f, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, + 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, + 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x12, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0xa1, 0x01, 0x0a, 0x25, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, + 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x69, 0x6e, 0x62, + 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x62, + 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, + 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x7e, 0x0a, 0x26, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x2c, 0x0a, 0x2a, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, + 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x54, 0x0a, 0x26, 0x4c, 0x69, + 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x22, 0x75, 0x0a, 0x27, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, + 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x14, 0x68, + 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x48, + 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x55, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, + 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x60, + 0x0a, 0x2a, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, + 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, + 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, + 0x22, 0x65, 0x0a, 0x2b, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, + 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x36, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x5a, 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, - 0x12, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, - 0x64, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x2a, 0x0a, - 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, - 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0xa1, 0x01, 0x0a, 0x25, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x69, 0x6e, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x75, 0x74, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0c, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x7e, 0x0a, - 0x26, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, - 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x2c, 0x0a, - 0x2a, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x54, 0x0a, 0x26, 0x4c, - 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, - 0x65, 0x22, 0x75, 0x0a, 0x27, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x14, + 0x79, 0x49, 0x64, 0x22, 0x6f, 0x0a, 0x25, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, - 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x55, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, - 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, - 0x60, 0x0a, 0x2a, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, + 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, - 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, - 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, - 0x64, 0x22, 0x65, 0x0a, 0x2b, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x36, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x5a, 0x0a, 0x24, 0x46, 0x69, 0x6e, 0x64, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, - 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x49, 0x64, 0x22, 0x6f, 0x0a, 0x25, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, - 0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x48, + 0x52, 0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x22, 0x8d, 0x01, 0x0a, 0x1f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x12, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x8d, 0x01, 0x0a, 0x1f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, - 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, - 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x36, 0x0a, - 0x16, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x68, - 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0x9f, 0x09, 0x0a, 0x19, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x22, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, - 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, - 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x68, 0x74, 0x74, 0x70, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x16, + 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x68, 0x74, + 0x74, 0x70, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0x95, 0x0a, 0x0a, 0x19, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x22, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4f, 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x2e, 0x70, - 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x5b, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x74, 0x0a, 0x1d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x54, + 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x54, 0x54, 0x50, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, - 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5d, - 0x0a, 0x1f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, + 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, + 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x5b, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x5d, 0x0a, 0x1f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, - 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x6b, 0x0a, - 0x23, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x1f, 0x6c, 0x69, - 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2a, 0x2e, - 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x49, 0x6e, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x6b, 0x0a, 0x23, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x18, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x54, - 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x23, 0x66, 0x69, 0x6e, 0x64, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x74, 0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, + 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x7a, 0x0a, 0x1f, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, + 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x12, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, + 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x70, 0x62, - 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x18, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, - 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x54, - 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x18, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, + 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x86, 0x01, 0x0a, + 0x23, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x1d, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x28, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x29, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x18, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x49, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x48, 0x54, 0x54, 0x50, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, + 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x06, 0x5a, 0x04, + 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1092,56 +1223,60 @@ func file_service_http_firewall_policy_proto_rawDescGZIP() []byte { return file_service_http_firewall_policy_proto_rawDescData } -var file_service_http_firewall_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_service_http_firewall_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_service_http_firewall_policy_proto_goTypes = []interface{}{ (*FindAllEnabledHTTPFirewallPoliciesRequest)(nil), // 0: pb.FindAllEnabledHTTPFirewallPoliciesRequest (*FindAllEnabledHTTPFirewallPoliciesResponse)(nil), // 1: pb.FindAllEnabledHTTPFirewallPoliciesResponse (*CreateHTTPFirewallPolicyRequest)(nil), // 2: pb.CreateHTTPFirewallPolicyRequest (*CreateHTTPFirewallPolicyResponse)(nil), // 3: pb.CreateHTTPFirewallPolicyResponse - (*UpdateHTTPFirewallPolicyRequest)(nil), // 4: pb.UpdateHTTPFirewallPolicyRequest - (*UpdateHTTPFirewallPolicyGroupsRequest)(nil), // 5: pb.UpdateHTTPFirewallPolicyGroupsRequest - (*UpdateHTTPFirewallInboundConfigRequest)(nil), // 6: pb.UpdateHTTPFirewallInboundConfigRequest - (*CountAllEnabledHTTPFirewallPoliciesRequest)(nil), // 7: pb.CountAllEnabledHTTPFirewallPoliciesRequest - (*ListEnabledHTTPFirewallPoliciesRequest)(nil), // 8: pb.ListEnabledHTTPFirewallPoliciesRequest - (*ListEnabledHTTPFirewallPoliciesResponse)(nil), // 9: pb.ListEnabledHTTPFirewallPoliciesResponse - (*DeleteHTTPFirewallPolicyRequest)(nil), // 10: pb.DeleteHTTPFirewallPolicyRequest - (*FindEnabledHTTPFirewallPolicyConfigRequest)(nil), // 11: pb.FindEnabledHTTPFirewallPolicyConfigRequest - (*FindEnabledHTTPFirewallPolicyConfigResponse)(nil), // 12: pb.FindEnabledHTTPFirewallPolicyConfigResponse - (*FindEnabledHTTPFirewallPolicyRequest)(nil), // 13: pb.FindEnabledHTTPFirewallPolicyRequest - (*FindEnabledHTTPFirewallPolicyResponse)(nil), // 14: pb.FindEnabledHTTPFirewallPolicyResponse - (*ImportHTTPFirewallPolicyRequest)(nil), // 15: pb.ImportHTTPFirewallPolicyRequest - (*HTTPFirewallPolicy)(nil), // 16: pb.HTTPFirewallPolicy - (*RPCSuccess)(nil), // 17: pb.RPCSuccess - (*RPCCountResponse)(nil), // 18: pb.RPCCountResponse + (*CreateEmptyHTTPFirewallPolicyRequest)(nil), // 4: pb.CreateEmptyHTTPFirewallPolicyRequest + (*CreateEmptyHTTPFirewallPolicyResponse)(nil), // 5: pb.CreateEmptyHTTPFirewallPolicyResponse + (*UpdateHTTPFirewallPolicyRequest)(nil), // 6: pb.UpdateHTTPFirewallPolicyRequest + (*UpdateHTTPFirewallPolicyGroupsRequest)(nil), // 7: pb.UpdateHTTPFirewallPolicyGroupsRequest + (*UpdateHTTPFirewallInboundConfigRequest)(nil), // 8: pb.UpdateHTTPFirewallInboundConfigRequest + (*CountAllEnabledHTTPFirewallPoliciesRequest)(nil), // 9: pb.CountAllEnabledHTTPFirewallPoliciesRequest + (*ListEnabledHTTPFirewallPoliciesRequest)(nil), // 10: pb.ListEnabledHTTPFirewallPoliciesRequest + (*ListEnabledHTTPFirewallPoliciesResponse)(nil), // 11: pb.ListEnabledHTTPFirewallPoliciesResponse + (*DeleteHTTPFirewallPolicyRequest)(nil), // 12: pb.DeleteHTTPFirewallPolicyRequest + (*FindEnabledHTTPFirewallPolicyConfigRequest)(nil), // 13: pb.FindEnabledHTTPFirewallPolicyConfigRequest + (*FindEnabledHTTPFirewallPolicyConfigResponse)(nil), // 14: pb.FindEnabledHTTPFirewallPolicyConfigResponse + (*FindEnabledHTTPFirewallPolicyRequest)(nil), // 15: pb.FindEnabledHTTPFirewallPolicyRequest + (*FindEnabledHTTPFirewallPolicyResponse)(nil), // 16: pb.FindEnabledHTTPFirewallPolicyResponse + (*ImportHTTPFirewallPolicyRequest)(nil), // 17: pb.ImportHTTPFirewallPolicyRequest + (*HTTPFirewallPolicy)(nil), // 18: pb.HTTPFirewallPolicy + (*RPCSuccess)(nil), // 19: pb.RPCSuccess + (*RPCCountResponse)(nil), // 20: pb.RPCCountResponse } var file_service_http_firewall_policy_proto_depIdxs = []int32{ - 16, // 0: pb.FindAllEnabledHTTPFirewallPoliciesResponse.firewallPolicies:type_name -> pb.HTTPFirewallPolicy - 16, // 1: pb.ListEnabledHTTPFirewallPoliciesResponse.httpFirewallPolicies:type_name -> pb.HTTPFirewallPolicy - 16, // 2: pb.FindEnabledHTTPFirewallPolicyResponse.httpFirewallPolicy:type_name -> pb.HTTPFirewallPolicy + 18, // 0: pb.FindAllEnabledHTTPFirewallPoliciesResponse.firewallPolicies:type_name -> pb.HTTPFirewallPolicy + 18, // 1: pb.ListEnabledHTTPFirewallPoliciesResponse.httpFirewallPolicies:type_name -> pb.HTTPFirewallPolicy + 18, // 2: pb.FindEnabledHTTPFirewallPolicyResponse.httpFirewallPolicy:type_name -> pb.HTTPFirewallPolicy 0, // 3: pb.HTTPFirewallPolicyService.findAllEnabledHTTPFirewallPolicies:input_type -> pb.FindAllEnabledHTTPFirewallPoliciesRequest 2, // 4: pb.HTTPFirewallPolicyService.createHTTPFirewallPolicy:input_type -> pb.CreateHTTPFirewallPolicyRequest - 4, // 5: pb.HTTPFirewallPolicyService.updateHTTPFirewallPolicy:input_type -> pb.UpdateHTTPFirewallPolicyRequest - 5, // 6: pb.HTTPFirewallPolicyService.updateHTTPFirewallPolicyGroups:input_type -> pb.UpdateHTTPFirewallPolicyGroupsRequest - 6, // 7: pb.HTTPFirewallPolicyService.updateHTTPFirewallInboundConfig:input_type -> pb.UpdateHTTPFirewallInboundConfigRequest - 7, // 8: pb.HTTPFirewallPolicyService.countAllEnabledHTTPFirewallPolicies:input_type -> pb.CountAllEnabledHTTPFirewallPoliciesRequest - 8, // 9: pb.HTTPFirewallPolicyService.listEnabledHTTPFirewallPolicies:input_type -> pb.ListEnabledHTTPFirewallPoliciesRequest - 10, // 10: pb.HTTPFirewallPolicyService.deleteHTTPFirewallPolicy:input_type -> pb.DeleteHTTPFirewallPolicyRequest - 11, // 11: pb.HTTPFirewallPolicyService.findEnabledHTTPFirewallPolicyConfig:input_type -> pb.FindEnabledHTTPFirewallPolicyConfigRequest - 13, // 12: pb.HTTPFirewallPolicyService.findEnabledHTTPFirewallPolicy:input_type -> pb.FindEnabledHTTPFirewallPolicyRequest - 15, // 13: pb.HTTPFirewallPolicyService.importHTTPFirewallPolicy:input_type -> pb.ImportHTTPFirewallPolicyRequest - 1, // 14: pb.HTTPFirewallPolicyService.findAllEnabledHTTPFirewallPolicies:output_type -> pb.FindAllEnabledHTTPFirewallPoliciesResponse - 3, // 15: pb.HTTPFirewallPolicyService.createHTTPFirewallPolicy:output_type -> pb.CreateHTTPFirewallPolicyResponse - 17, // 16: pb.HTTPFirewallPolicyService.updateHTTPFirewallPolicy:output_type -> pb.RPCSuccess - 17, // 17: pb.HTTPFirewallPolicyService.updateHTTPFirewallPolicyGroups:output_type -> pb.RPCSuccess - 17, // 18: pb.HTTPFirewallPolicyService.updateHTTPFirewallInboundConfig:output_type -> pb.RPCSuccess - 18, // 19: pb.HTTPFirewallPolicyService.countAllEnabledHTTPFirewallPolicies:output_type -> pb.RPCCountResponse - 9, // 20: pb.HTTPFirewallPolicyService.listEnabledHTTPFirewallPolicies:output_type -> pb.ListEnabledHTTPFirewallPoliciesResponse - 17, // 21: pb.HTTPFirewallPolicyService.deleteHTTPFirewallPolicy:output_type -> pb.RPCSuccess - 12, // 22: pb.HTTPFirewallPolicyService.findEnabledHTTPFirewallPolicyConfig:output_type -> pb.FindEnabledHTTPFirewallPolicyConfigResponse - 14, // 23: pb.HTTPFirewallPolicyService.findEnabledHTTPFirewallPolicy:output_type -> pb.FindEnabledHTTPFirewallPolicyResponse - 17, // 24: pb.HTTPFirewallPolicyService.importHTTPFirewallPolicy:output_type -> pb.RPCSuccess - 14, // [14:25] is the sub-list for method output_type - 3, // [3:14] is the sub-list for method input_type + 4, // 5: pb.HTTPFirewallPolicyService.createEmptyHTTPFirewallPolicy:input_type -> pb.CreateEmptyHTTPFirewallPolicyRequest + 6, // 6: pb.HTTPFirewallPolicyService.updateHTTPFirewallPolicy:input_type -> pb.UpdateHTTPFirewallPolicyRequest + 7, // 7: pb.HTTPFirewallPolicyService.updateHTTPFirewallPolicyGroups:input_type -> pb.UpdateHTTPFirewallPolicyGroupsRequest + 8, // 8: pb.HTTPFirewallPolicyService.updateHTTPFirewallInboundConfig:input_type -> pb.UpdateHTTPFirewallInboundConfigRequest + 9, // 9: pb.HTTPFirewallPolicyService.countAllEnabledHTTPFirewallPolicies:input_type -> pb.CountAllEnabledHTTPFirewallPoliciesRequest + 10, // 10: pb.HTTPFirewallPolicyService.listEnabledHTTPFirewallPolicies:input_type -> pb.ListEnabledHTTPFirewallPoliciesRequest + 12, // 11: pb.HTTPFirewallPolicyService.deleteHTTPFirewallPolicy:input_type -> pb.DeleteHTTPFirewallPolicyRequest + 13, // 12: pb.HTTPFirewallPolicyService.findEnabledHTTPFirewallPolicyConfig:input_type -> pb.FindEnabledHTTPFirewallPolicyConfigRequest + 15, // 13: pb.HTTPFirewallPolicyService.findEnabledHTTPFirewallPolicy:input_type -> pb.FindEnabledHTTPFirewallPolicyRequest + 17, // 14: pb.HTTPFirewallPolicyService.importHTTPFirewallPolicy:input_type -> pb.ImportHTTPFirewallPolicyRequest + 1, // 15: pb.HTTPFirewallPolicyService.findAllEnabledHTTPFirewallPolicies:output_type -> pb.FindAllEnabledHTTPFirewallPoliciesResponse + 3, // 16: pb.HTTPFirewallPolicyService.createHTTPFirewallPolicy:output_type -> pb.CreateHTTPFirewallPolicyResponse + 5, // 17: pb.HTTPFirewallPolicyService.createEmptyHTTPFirewallPolicy:output_type -> pb.CreateEmptyHTTPFirewallPolicyResponse + 19, // 18: pb.HTTPFirewallPolicyService.updateHTTPFirewallPolicy:output_type -> pb.RPCSuccess + 19, // 19: pb.HTTPFirewallPolicyService.updateHTTPFirewallPolicyGroups:output_type -> pb.RPCSuccess + 19, // 20: pb.HTTPFirewallPolicyService.updateHTTPFirewallInboundConfig:output_type -> pb.RPCSuccess + 20, // 21: pb.HTTPFirewallPolicyService.countAllEnabledHTTPFirewallPolicies:output_type -> pb.RPCCountResponse + 11, // 22: pb.HTTPFirewallPolicyService.listEnabledHTTPFirewallPolicies:output_type -> pb.ListEnabledHTTPFirewallPoliciesResponse + 19, // 23: pb.HTTPFirewallPolicyService.deleteHTTPFirewallPolicy:output_type -> pb.RPCSuccess + 14, // 24: pb.HTTPFirewallPolicyService.findEnabledHTTPFirewallPolicyConfig:output_type -> pb.FindEnabledHTTPFirewallPolicyConfigResponse + 16, // 25: pb.HTTPFirewallPolicyService.findEnabledHTTPFirewallPolicy:output_type -> pb.FindEnabledHTTPFirewallPolicyResponse + 19, // 26: pb.HTTPFirewallPolicyService.importHTTPFirewallPolicy:output_type -> pb.RPCSuccess + 15, // [15:27] is the sub-list for method output_type + 3, // [3:15] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name @@ -1204,7 +1339,7 @@ func file_service_http_firewall_policy_proto_init() { } } file_service_http_firewall_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPFirewallPolicyRequest); i { + switch v := v.(*CreateEmptyHTTPFirewallPolicyRequest); i { case 0: return &v.state case 1: @@ -1216,7 +1351,7 @@ func file_service_http_firewall_policy_proto_init() { } } file_service_http_firewall_policy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPFirewallPolicyGroupsRequest); i { + switch v := v.(*CreateEmptyHTTPFirewallPolicyResponse); i { case 0: return &v.state case 1: @@ -1228,7 +1363,7 @@ func file_service_http_firewall_policy_proto_init() { } } file_service_http_firewall_policy_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateHTTPFirewallInboundConfigRequest); i { + switch v := v.(*UpdateHTTPFirewallPolicyRequest); i { case 0: return &v.state case 1: @@ -1240,7 +1375,7 @@ func file_service_http_firewall_policy_proto_init() { } } file_service_http_firewall_policy_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CountAllEnabledHTTPFirewallPoliciesRequest); i { + switch v := v.(*UpdateHTTPFirewallPolicyGroupsRequest); i { case 0: return &v.state case 1: @@ -1252,7 +1387,7 @@ func file_service_http_firewall_policy_proto_init() { } } file_service_http_firewall_policy_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListEnabledHTTPFirewallPoliciesRequest); i { + switch v := v.(*UpdateHTTPFirewallInboundConfigRequest); i { case 0: return &v.state case 1: @@ -1264,7 +1399,7 @@ func file_service_http_firewall_policy_proto_init() { } } file_service_http_firewall_policy_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListEnabledHTTPFirewallPoliciesResponse); i { + switch v := v.(*CountAllEnabledHTTPFirewallPoliciesRequest); i { case 0: return &v.state case 1: @@ -1276,7 +1411,7 @@ func file_service_http_firewall_policy_proto_init() { } } file_service_http_firewall_policy_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteHTTPFirewallPolicyRequest); i { + switch v := v.(*ListEnabledHTTPFirewallPoliciesRequest); i { case 0: return &v.state case 1: @@ -1288,7 +1423,7 @@ func file_service_http_firewall_policy_proto_init() { } } file_service_http_firewall_policy_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindEnabledHTTPFirewallPolicyConfigRequest); i { + switch v := v.(*ListEnabledHTTPFirewallPoliciesResponse); i { case 0: return &v.state case 1: @@ -1300,7 +1435,7 @@ func file_service_http_firewall_policy_proto_init() { } } file_service_http_firewall_policy_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindEnabledHTTPFirewallPolicyConfigResponse); i { + switch v := v.(*DeleteHTTPFirewallPolicyRequest); i { case 0: return &v.state case 1: @@ -1312,7 +1447,7 @@ func file_service_http_firewall_policy_proto_init() { } } file_service_http_firewall_policy_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindEnabledHTTPFirewallPolicyRequest); i { + switch v := v.(*FindEnabledHTTPFirewallPolicyConfigRequest); i { case 0: return &v.state case 1: @@ -1324,7 +1459,7 @@ func file_service_http_firewall_policy_proto_init() { } } file_service_http_firewall_policy_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindEnabledHTTPFirewallPolicyResponse); i { + switch v := v.(*FindEnabledHTTPFirewallPolicyConfigResponse); i { case 0: return &v.state case 1: @@ -1336,6 +1471,30 @@ func file_service_http_firewall_policy_proto_init() { } } file_service_http_firewall_policy_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindEnabledHTTPFirewallPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_http_firewall_policy_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindEnabledHTTPFirewallPolicyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_http_firewall_policy_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ImportHTTPFirewallPolicyRequest); i { case 0: return &v.state @@ -1354,7 +1513,7 @@ func file_service_http_firewall_policy_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_http_firewall_policy_proto_rawDesc, NumEnums: 0, - NumMessages: 16, + NumMessages: 18, NumExtensions: 0, NumServices: 1, }, @@ -1384,6 +1543,8 @@ type HTTPFirewallPolicyServiceClient interface { FindAllEnabledHTTPFirewallPolicies(ctx context.Context, in *FindAllEnabledHTTPFirewallPoliciesRequest, opts ...grpc.CallOption) (*FindAllEnabledHTTPFirewallPoliciesResponse, error) // 创建防火墙策略 CreateHTTPFirewallPolicy(ctx context.Context, in *CreateHTTPFirewallPolicyRequest, opts ...grpc.CallOption) (*CreateHTTPFirewallPolicyResponse, error) + // 创建空防火墙策略 + CreateEmptyHTTPFirewallPolicy(ctx context.Context, in *CreateEmptyHTTPFirewallPolicyRequest, opts ...grpc.CallOption) (*CreateEmptyHTTPFirewallPolicyResponse, error) // 修改防火墙策略 UpdateHTTPFirewallPolicy(ctx context.Context, in *UpdateHTTPFirewallPolicyRequest, opts ...grpc.CallOption) (*RPCSuccess, error) // 修改分组信息 @@ -1430,6 +1591,15 @@ func (c *hTTPFirewallPolicyServiceClient) CreateHTTPFirewallPolicy(ctx context.C return out, nil } +func (c *hTTPFirewallPolicyServiceClient) CreateEmptyHTTPFirewallPolicy(ctx context.Context, in *CreateEmptyHTTPFirewallPolicyRequest, opts ...grpc.CallOption) (*CreateEmptyHTTPFirewallPolicyResponse, error) { + out := new(CreateEmptyHTTPFirewallPolicyResponse) + err := c.cc.Invoke(ctx, "/pb.HTTPFirewallPolicyService/createEmptyHTTPFirewallPolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *hTTPFirewallPolicyServiceClient) UpdateHTTPFirewallPolicy(ctx context.Context, in *UpdateHTTPFirewallPolicyRequest, opts ...grpc.CallOption) (*RPCSuccess, error) { out := new(RPCSuccess) err := c.cc.Invoke(ctx, "/pb.HTTPFirewallPolicyService/updateHTTPFirewallPolicy", in, out, opts...) @@ -1517,6 +1687,8 @@ type HTTPFirewallPolicyServiceServer interface { FindAllEnabledHTTPFirewallPolicies(context.Context, *FindAllEnabledHTTPFirewallPoliciesRequest) (*FindAllEnabledHTTPFirewallPoliciesResponse, error) // 创建防火墙策略 CreateHTTPFirewallPolicy(context.Context, *CreateHTTPFirewallPolicyRequest) (*CreateHTTPFirewallPolicyResponse, error) + // 创建空防火墙策略 + CreateEmptyHTTPFirewallPolicy(context.Context, *CreateEmptyHTTPFirewallPolicyRequest) (*CreateEmptyHTTPFirewallPolicyResponse, error) // 修改防火墙策略 UpdateHTTPFirewallPolicy(context.Context, *UpdateHTTPFirewallPolicyRequest) (*RPCSuccess, error) // 修改分组信息 @@ -1547,6 +1719,9 @@ func (*UnimplementedHTTPFirewallPolicyServiceServer) FindAllEnabledHTTPFirewallP func (*UnimplementedHTTPFirewallPolicyServiceServer) CreateHTTPFirewallPolicy(context.Context, *CreateHTTPFirewallPolicyRequest) (*CreateHTTPFirewallPolicyResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateHTTPFirewallPolicy not implemented") } +func (*UnimplementedHTTPFirewallPolicyServiceServer) CreateEmptyHTTPFirewallPolicy(context.Context, *CreateEmptyHTTPFirewallPolicyRequest) (*CreateEmptyHTTPFirewallPolicyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateEmptyHTTPFirewallPolicy not implemented") +} func (*UnimplementedHTTPFirewallPolicyServiceServer) UpdateHTTPFirewallPolicy(context.Context, *UpdateHTTPFirewallPolicyRequest) (*RPCSuccess, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateHTTPFirewallPolicy not implemented") } @@ -1615,6 +1790,24 @@ func _HTTPFirewallPolicyService_CreateHTTPFirewallPolicy_Handler(srv interface{} return interceptor(ctx, in, info, handler) } +func _HTTPFirewallPolicyService_CreateEmptyHTTPFirewallPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateEmptyHTTPFirewallPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(HTTPFirewallPolicyServiceServer).CreateEmptyHTTPFirewallPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.HTTPFirewallPolicyService/CreateEmptyHTTPFirewallPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(HTTPFirewallPolicyServiceServer).CreateEmptyHTTPFirewallPolicy(ctx, req.(*CreateEmptyHTTPFirewallPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _HTTPFirewallPolicyService_UpdateHTTPFirewallPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateHTTPFirewallPolicyRequest) if err := dec(in); err != nil { @@ -1789,6 +1982,10 @@ var _HTTPFirewallPolicyService_serviceDesc = grpc.ServiceDesc{ MethodName: "createHTTPFirewallPolicy", Handler: _HTTPFirewallPolicyService_CreateHTTPFirewallPolicy_Handler, }, + { + MethodName: "createEmptyHTTPFirewallPolicy", + Handler: _HTTPFirewallPolicyService_CreateEmptyHTTPFirewallPolicy_Handler, + }, { MethodName: "updateHTTPFirewallPolicy", Handler: _HTTPFirewallPolicyService_UpdateHTTPFirewallPolicy_Handler, diff --git a/pkg/rpc/protos/service_http_firewall_policy.proto b/pkg/rpc/protos/service_http_firewall_policy.proto index 682c952..d0f6609 100644 --- a/pkg/rpc/protos/service_http_firewall_policy.proto +++ b/pkg/rpc/protos/service_http_firewall_policy.proto @@ -13,6 +13,9 @@ service HTTPFirewallPolicyService { // 创建防火墙策略 rpc createHTTPFirewallPolicy (CreateHTTPFirewallPolicyRequest) returns (CreateHTTPFirewallPolicyResponse); + // 创建空防火墙策略 + rpc createEmptyHTTPFirewallPolicy (CreateEmptyHTTPFirewallPolicyRequest) returns (CreateEmptyHTTPFirewallPolicyResponse); + // 修改防火墙策略 rpc updateHTTPFirewallPolicy (UpdateHTTPFirewallPolicyRequest) returns (RPCSuccess); @@ -62,6 +65,17 @@ message CreateHTTPFirewallPolicyResponse { int64 httpFirewallPolicyId = 1; } +// 创建空防火墙策略 +message CreateEmptyHTTPFirewallPolicyRequest { + bool isOn = 1; + string name = 2; + string description = 3; +} + +message CreateEmptyHTTPFirewallPolicyResponse { + int64 httpFirewallPolicyId = 1; +} + // 修改防火墙策略 message UpdateHTTPFirewallPolicyRequest { int64 httpFirewallPolicyId = 1;