mirror of
https://gitee.com/rainbond/Rainbond.git
synced 2024-12-02 11:47:36 +08:00
146 lines
4.5 KiB
Go
146 lines
4.5 KiB
Go
// Copyright (C) 2014-2018 Goodrain Co., Ltd.
|
|
// RAINBOND, Application Management Platform
|
|
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version. For any non-GPL usage of Rainbond,
|
|
// one or multiple Commercial Licenses authorized by Goodrain Co., Ltd.
|
|
// must be obtained first.
|
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
package model
|
|
|
|
//SetNetDownStreamRuleStruct SetNetDownStreamRuleStruct
|
|
//swagger:parameters setNetDownStreamRuleStruct
|
|
type SetNetDownStreamRuleStruct struct {
|
|
// in: path
|
|
// required: true
|
|
TenantName string `json:"tenant_name"`
|
|
// in: path
|
|
// required: true
|
|
ServiceAlias string `json:"service_alias"`
|
|
// in: body
|
|
Body struct {
|
|
//in: body
|
|
//required: true
|
|
DestService string `json:"dest_service" validate:"dest_service"`
|
|
//下游服务别名
|
|
//in: body
|
|
//required: true
|
|
DestServiceAlias string `json:"dest_service_alias" validate:"dest_service_alias"`
|
|
//端口
|
|
//in: body
|
|
//required: true
|
|
Port int `json:"port" validate:"port"`
|
|
//协议
|
|
//in: body
|
|
//required: true
|
|
Protocol string `json:"protocol" validate:"protocol|between:tcp,http"`
|
|
//规则体
|
|
//in: body
|
|
//required: true
|
|
Rules *NetDownStreamRules `json:"rules" validate:"rules"`
|
|
}
|
|
}
|
|
|
|
//NetRulesDownStreamBody NetRulesDownStreamBody
|
|
type NetRulesDownStreamBody struct {
|
|
DestService string `json:"dest_service"`
|
|
DestServiceAlias string `json:"dest_service_alias"`
|
|
Port int `json:"port"`
|
|
Protocol string `json:"protocol"`
|
|
Rules *NetDownStreamRules `json:"rules"`
|
|
}
|
|
|
|
//NetDownStreamRules NetDownStreamRules
|
|
type NetDownStreamRules struct {
|
|
//限流值 max_connections
|
|
Limit int `json:"limit" validate:"limit|numeric_between:0,1024"`
|
|
MaxPendingRequests int `json:"max_pending_requests"`
|
|
MaxRequests int `json:"max_requests"`
|
|
MaxRetries int `json:"max_retries"`
|
|
//请求头
|
|
//in: body
|
|
//required: false
|
|
Header []HeaderRules `json:"header" validate:"header"`
|
|
//域名转发
|
|
//in: body
|
|
//required: false
|
|
Domain []string `json:"domain" validate:"domain"`
|
|
//path规则
|
|
//in: body
|
|
//required: false
|
|
Prefix string `json:"prefix" validate:"prefix"`
|
|
ServiceAlias string `json:"service_alias"`
|
|
ServiceID string `json:"service_id" validate:"service_id"`
|
|
}
|
|
|
|
//NetUpStreamRules NetUpStreamRules
|
|
type NetUpStreamRules struct {
|
|
NetDownStreamRules
|
|
SourcePort int32 `json:"source_port"`
|
|
MapPort int32 `json:"map_port"`
|
|
}
|
|
|
|
//HeaderRules HeaderRules
|
|
type HeaderRules struct {
|
|
Key string `json:"key"`
|
|
Value string `json:"value"`
|
|
}
|
|
|
|
//GetNetDownStreamRuleStruct GetNetDownStreamRuleStruct
|
|
//swagger:parameters getNetDownStreamRuleStruct
|
|
type GetNetDownStreamRuleStruct struct {
|
|
// in: path
|
|
// required: true
|
|
TenantName string `json:"tenant_name" validate:"tenant_name"`
|
|
// in: path
|
|
// required: true
|
|
ServiceAlias string `json:"service_alias" validate:"service_alias"`
|
|
// in: path
|
|
// required: true
|
|
DestServiceAlias string `json:"dest_service_alias" validate:"dest_service_alias"`
|
|
// in: path
|
|
// required: true
|
|
Port int `json:"port" validate:"port|numeric_between:1,65535"`
|
|
}
|
|
|
|
//UpdateNetDownStreamRuleStruct UpdateNetDownStreamRuleStruct
|
|
//swagger:parameters updateNetDownStreamRuleStruct
|
|
type UpdateNetDownStreamRuleStruct struct {
|
|
// in: path
|
|
// required: true
|
|
TenantName string `json:"tenant_name" validate:"tenant_name"`
|
|
// in: path
|
|
// required: true
|
|
ServiceAlias string `json:"service_alias" validate:"service_alias"`
|
|
// in: path
|
|
// required: true
|
|
DestServiceAlias string `json:"dest_service_alias" validate:"dest_service_alias"`
|
|
// in: path
|
|
// required: true
|
|
Port int `json:"port" validate:"port|numeric_between:1,65535"`
|
|
// in: body
|
|
Body struct {
|
|
//in: body
|
|
//required: true
|
|
DestService string `json:"dest_service" validate:"dest_service"`
|
|
//协议
|
|
//in: body
|
|
//required: true
|
|
Protocol string `json:"protocol" validate:"protocol|between:tcp,http"`
|
|
//规则体
|
|
//in: body
|
|
//required: true
|
|
Rules *NetDownStreamRules `json:"rules" validate:"rules"`
|
|
}
|
|
}
|