2018-03-14 14:12:26 +08:00
|
|
|
|
// Copyright (C) 2014-2018 Goodrain Co., Ltd.
|
2017-11-19 18:59:41 +08:00
|
|
|
|
// RAINBOND, Application Management Platform
|
2018-03-14 14:33:31 +08:00
|
|
|
|
|
2017-11-19 18:59:41 +08:00
|
|
|
|
// 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.
|
2018-03-14 14:33:31 +08:00
|
|
|
|
|
2017-11-19 18:59:41 +08:00
|
|
|
|
// 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.
|
2018-03-14 14:33:31 +08:00
|
|
|
|
|
2017-11-19 18:59:41 +08:00
|
|
|
|
// 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
|
|
|
|
|
|
|
|
|
|
//SetDefineSourcesStruct SetDefineSourcesStruct
|
2017-11-22 15:09:28 +08:00
|
|
|
|
//swagger:parameters setDefineSource
|
2017-11-19 18:59:41 +08:00
|
|
|
|
type SetDefineSourcesStruct struct {
|
|
|
|
|
// in: path
|
|
|
|
|
// required: true
|
2017-11-20 15:26:32 +08:00
|
|
|
|
TenantName string `json:"tenant_name" validate:"tenant_name"`
|
2017-11-19 18:59:41 +08:00
|
|
|
|
// in: path
|
|
|
|
|
// required: true
|
2017-11-20 15:26:32 +08:00
|
|
|
|
SourceAlias string `json:"source_alias" validate:"source_alias"`
|
|
|
|
|
// in: body
|
|
|
|
|
Body struct {
|
|
|
|
|
//in: body
|
|
|
|
|
//required: true
|
|
|
|
|
SourceSpec *SourceSpec `json:"source_spec" validate:"source_spec"`
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//DeleteDefineSourcesStruct DeleteDefineSourcesStruct
|
|
|
|
|
//swagger:parameters deleteDefineSource getDefineSource
|
|
|
|
|
type DeleteDefineSourcesStruct struct {
|
|
|
|
|
// in: path
|
|
|
|
|
// required: true
|
|
|
|
|
TenantName string `json:"tenant_name" validate:"tenant_name"`
|
|
|
|
|
// in: path
|
|
|
|
|
// required: true
|
|
|
|
|
SourceAlias string `json:"source_alias" validate:"source_alias"`
|
|
|
|
|
// in: path
|
|
|
|
|
// required: true
|
|
|
|
|
EnvName string `json:"env_name" validate:"env_name"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//UpdateDefineSourcesStruct UpdateDefineSourcesStruct
|
2017-11-22 15:09:28 +08:00
|
|
|
|
//swagger:parameters deleteDefineSource updateDefineSource
|
2017-11-20 15:26:32 +08:00
|
|
|
|
type UpdateDefineSourcesStruct struct {
|
|
|
|
|
// in: path
|
|
|
|
|
// required: true
|
|
|
|
|
TenantName string `json:"tenant_name" validate:"tenant_name"`
|
|
|
|
|
// in: path
|
|
|
|
|
// required: true
|
|
|
|
|
SourceAlias string `json:"source_alias" validate:"source_alias"`
|
|
|
|
|
// in: path
|
|
|
|
|
// required: true
|
|
|
|
|
EnvName string `json:"env_name" validate:"env_name"`
|
2017-11-19 18:59:41 +08:00
|
|
|
|
// in: body
|
|
|
|
|
Body struct {
|
|
|
|
|
//in: body
|
|
|
|
|
//required: true
|
|
|
|
|
SourceSpec *SourceSpec `json:"source_spec" validate:"source_spec"`
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//SourceSpec SourceSpec
|
|
|
|
|
type SourceSpec struct {
|
|
|
|
|
Alias string `json:"source_alias" validate:"source_alias"`
|
|
|
|
|
Info string `json:"source_info" validate:"source_info"`
|
|
|
|
|
CreateTime string `json:"create_time" validate:"create_time"`
|
|
|
|
|
Operator string `json:"operator" validate:"operator"`
|
|
|
|
|
SourceBody *SoureBody `json:"source_body" validate:"source_body"`
|
|
|
|
|
Additions map[string]*Addition `json:"additons" validate:"additions"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//SoureBody SoureBody
|
|
|
|
|
type SoureBody struct {
|
2017-11-23 12:12:00 +08:00
|
|
|
|
EnvName string `json:"env_name" validate:"env_name"`
|
|
|
|
|
EnvVal interface{} `json:"env_value" validate:"env_value"`
|
2017-11-19 18:59:41 +08:00
|
|
|
|
//json format
|
|
|
|
|
}
|
|
|
|
|
|
2017-12-14 16:33:45 +08:00
|
|
|
|
//ResourceSpec 资源结构体
|
|
|
|
|
type ResourceSpec struct {
|
|
|
|
|
BasePorts []*BasePort `json:"base_ports"`
|
|
|
|
|
BaseServices []*BaseService `json:"base_services"`
|
|
|
|
|
BaseNormal BaseEnv `json:"base_normal"`
|
|
|
|
|
}
|
|
|
|
|
|
2018-04-14 13:53:05 +08:00
|
|
|
|
//BasePort base of current app ports
|
2017-12-14 16:33:45 +08:00
|
|
|
|
type BasePort struct {
|
2018-04-14 13:53:05 +08:00
|
|
|
|
ServiceAlias string `json:"service_alias"`
|
|
|
|
|
ServiceID string `json:"service_id"`
|
|
|
|
|
//Port is the real app port
|
|
|
|
|
Port int `json:"port"`
|
|
|
|
|
//ListenPort is mesh listen port, proxy connetion to real app port
|
|
|
|
|
ListenPort int `json:"listen_port"`
|
|
|
|
|
Protocol string `json:"protocol"`
|
|
|
|
|
Options map[string]interface{} `json:"options"`
|
2017-12-14 16:33:45 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//BaseService 基于依赖应用及端口结构
|
|
|
|
|
type BaseService struct {
|
|
|
|
|
ServiceAlias string `json:"service_alias"`
|
|
|
|
|
ServiceID string `json:"service_id"`
|
|
|
|
|
DependServiceAlias string `json:"depend_service_alias"`
|
|
|
|
|
DependServiceID string `json:"depend_service_id"`
|
|
|
|
|
Port int `json:"port"`
|
|
|
|
|
Protocol string `json:"protocol"`
|
|
|
|
|
Options map[string]interface{} `json:"options"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//BaseEnv 无平台定义类型,普通kv
|
|
|
|
|
type BaseEnv struct {
|
|
|
|
|
Options map[string]interface{} `json:"options"`
|
|
|
|
|
}
|
|
|
|
|
|
2017-11-19 18:59:41 +08:00
|
|
|
|
//Item source值,键值对形式
|
|
|
|
|
type Item struct {
|
|
|
|
|
Key string `json:"key" validate:"key"`
|
|
|
|
|
Value interface{} `json:"value" validate:"value"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//Addition 存储附加信息
|
|
|
|
|
type Addition struct {
|
|
|
|
|
Desc string `json:"desc" validate:"desc"`
|
|
|
|
|
Items []*Item `json:"items" validate:"items"`
|
|
|
|
|
}
|